From 092541dd02c641563d43127d1d04075cc93d1e3e Mon Sep 17 00:00:00 2001 From: Michael McMaster Date: Fri, 30 May 2014 23:35:19 +1000 Subject: [PATCH] Fix DMA transfer bug. --- readme.txt | 11 +- .../Generated_Source/PSoC5/cyfitter.h | 174 +- .../Generated_Source/PSoC5/cyfitter_cfg.c | 2091 +++++++++-------- .../Generated_Source/PSoC5/cyfittergnu.inc | 174 +- .../Generated_Source/PSoC5/cyfitteriar.inc | 174 +- .../Generated_Source/PSoC5/cyfitterrv.inc | 174 +- .../Generated_Source/PSoC5/project.h | 2 - software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx | 49 +- software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cyfit | Bin 244148 -> 242695 bytes software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cyprj | 12 +- software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.svd | 44 +- .../SCSI2SD.cydsn/TopDesign/TopDesign.cysch | Bin 203382 -> 195925 bytes software/SCSI2SD/src/config.c | 2 + software/SCSI2SD/src/disk.c | 4 + software/SCSI2SD/src/scsi.h | 3 +- software/SCSI2SD/src/sd.c | 3 +- 16 files changed, 1446 insertions(+), 1471 deletions(-) diff --git a/readme.txt b/readme.txt index a57e4511..b6d848d3 100644 --- a/readme.txt +++ b/readme.txt @@ -45,15 +45,20 @@ Performance As currently implemented: -Sequential read: 2.5MB/s Sequential write: 900kb/sec +Transfer size: 512 2048 8192 65536 +------------------------------------------------------- +read: 2MB/s 2.1MB/s 2.5MB/s 2.6MB/s +write: 125kB/s 441kB/s 1.5MB/s 2.3MB/s +------------------------------------------------------- + Tested with a 16GB class 10 SD card, via the commands: # WRITE TEST - sudo dd bs=8192 count=100 if=/dev/zero of=/dev/sdX oflag=dsync + sudo dd bs=${SIZE} count=100 if=/dev/zero of=/dev/sdX oflag=dsync # READ TEST - sudo dd bs=8192 count=100 if=/dev/sdX of=/dev/null + sudo dd bs=${SIZE} count=100 if=/dev/sdX of=/dev/null Compatibility diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h index bd7996bb..2ce57f82 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h +++ b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h @@ -84,28 +84,28 @@ /* SCSI_CTL_PHASE */ #define SCSI_CTL_PHASE_Sync_ctrl_reg__0__MASK 0x01u #define SCSI_CTL_PHASE_Sync_ctrl_reg__0__POS 0 -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB02_03_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB02_03_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB02_03_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB02_03_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB02_03_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB02_03_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB02_03_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB02_03_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB02_03_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB05_06_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB05_06_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB05_06_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB05_06_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB05_06_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB05_06_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB05_06_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB05_06_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB05_06_MSK #define SCSI_CTL_PHASE_Sync_ctrl_reg__1__MASK 0x02u #define SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS 1 #define SCSI_CTL_PHASE_Sync_ctrl_reg__2__MASK 0x04u #define SCSI_CTL_PHASE_Sync_ctrl_reg__2__POS 2 -#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB02_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB02_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB02_ST_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB02_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB02_ST_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB05_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB05_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB05_ST_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB05_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB05_ST_CTL #define SCSI_CTL_PHASE_Sync_ctrl_reg__MASK 0x07u -#define SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB02_MSK_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB02_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB02_MSK_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB05_MSK_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB05_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB05_MSK_ACTL /* SCSI_Out_Bits */ #define SCSI_Out_Bits_Sync_ctrl_reg__0__MASK 0x01u @@ -630,34 +630,34 @@ #define SCSI_RST_ISR__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 /* SDCard_BSPIM */ -#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB06_07_ACTL -#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG CYREG_B1_UDB06_07_ST -#define SDCard_BSPIM_BitCounter_ST__MASK_REG CYREG_B1_UDB06_MSK -#define SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG CYREG_B1_UDB06_ACTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG CYREG_B1_UDB06_ST_CTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG CYREG_B1_UDB06_ST_CTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_REG CYREG_B1_UDB06_ST -#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG CYREG_B1_UDB06_07_ACTL -#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG CYREG_B1_UDB06_07_CTL -#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG CYREG_B1_UDB06_07_CTL -#define SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG CYREG_B1_UDB06_07_CTL -#define SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG CYREG_B1_UDB06_07_CTL -#define SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG CYREG_B1_UDB06_07_MSK -#define SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG CYREG_B1_UDB06_07_MSK -#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG CYREG_B1_UDB06_07_MSK -#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG CYREG_B1_UDB06_07_MSK -#define SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG CYREG_B1_UDB06_ACTL -#define SDCard_BSPIM_BitCounter__CONTROL_REG CYREG_B1_UDB06_CTL -#define SDCard_BSPIM_BitCounter__CONTROL_ST_REG CYREG_B1_UDB06_ST_CTL -#define SDCard_BSPIM_BitCounter__COUNT_REG CYREG_B1_UDB06_CTL -#define SDCard_BSPIM_BitCounter__COUNT_ST_REG CYREG_B1_UDB06_ST_CTL -#define SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define SDCard_BSPIM_BitCounter__PERIOD_REG CYREG_B1_UDB06_MSK -#define SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB07_08_ACTL -#define SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG CYREG_B0_UDB07_08_ST +#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB06_07_ACTL +#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG CYREG_B0_UDB06_07_ST +#define SDCard_BSPIM_BitCounter_ST__MASK_REG CYREG_B0_UDB06_MSK +#define SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG CYREG_B0_UDB06_MSK_ACTL +#define SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG CYREG_B0_UDB06_MSK_ACTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG CYREG_B0_UDB06_ACTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG CYREG_B0_UDB06_ST_CTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG CYREG_B0_UDB06_ST_CTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_REG CYREG_B0_UDB06_ST +#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB06_07_ACTL +#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB06_07_CTL +#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB06_07_CTL +#define SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB06_07_CTL +#define SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG CYREG_B0_UDB06_07_CTL +#define SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG CYREG_B0_UDB06_07_MSK +#define SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG CYREG_B0_UDB06_07_MSK +#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG CYREG_B0_UDB06_07_MSK +#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB06_07_MSK +#define SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG CYREG_B0_UDB06_ACTL +#define SDCard_BSPIM_BitCounter__CONTROL_REG CYREG_B0_UDB06_CTL +#define SDCard_BSPIM_BitCounter__CONTROL_ST_REG CYREG_B0_UDB06_ST_CTL +#define SDCard_BSPIM_BitCounter__COUNT_REG CYREG_B0_UDB06_CTL +#define SDCard_BSPIM_BitCounter__COUNT_ST_REG CYREG_B0_UDB06_ST_CTL +#define SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB06_MSK_ACTL +#define SDCard_BSPIM_BitCounter__PERIOD_REG CYREG_B0_UDB06_MSK +#define SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG CYREG_B0_UDB06_MSK_ACTL +#define SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB05_06_ACTL +#define SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG CYREG_B0_UDB05_06_ST #define SDCard_BSPIM_RxStsReg__4__MASK 0x10u #define SDCard_BSPIM_RxStsReg__4__POS 4 #define SDCard_BSPIM_RxStsReg__5__MASK 0x20u @@ -665,13 +665,17 @@ #define SDCard_BSPIM_RxStsReg__6__MASK 0x40u #define SDCard_BSPIM_RxStsReg__6__POS 6 #define SDCard_BSPIM_RxStsReg__MASK 0x70u -#define SDCard_BSPIM_RxStsReg__MASK_REG CYREG_B0_UDB07_MSK -#define SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG CYREG_B0_UDB07_ACTL -#define SDCard_BSPIM_RxStsReg__STATUS_REG CYREG_B0_UDB07_ST +#define SDCard_BSPIM_RxStsReg__MASK_REG CYREG_B0_UDB05_MSK +#define SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG CYREG_B0_UDB05_MSK_ACTL +#define SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG CYREG_B0_UDB05_MSK_ACTL +#define SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG CYREG_B0_UDB05_ACTL +#define SDCard_BSPIM_RxStsReg__STATUS_CNT_REG CYREG_B0_UDB05_ST_CTL +#define SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG CYREG_B0_UDB05_ST_CTL +#define SDCard_BSPIM_RxStsReg__STATUS_REG CYREG_B0_UDB05_ST #define SDCard_BSPIM_TxStsReg__0__MASK 0x01u #define SDCard_BSPIM_TxStsReg__0__POS 0 -#define SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB07_08_ACTL -#define SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG CYREG_B1_UDB07_08_ST +#define SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB06_07_ACTL +#define SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG CYREG_B1_UDB06_07_ST #define SDCard_BSPIM_TxStsReg__1__MASK 0x02u #define SDCard_BSPIM_TxStsReg__1__POS 1 #define SDCard_BSPIM_TxStsReg__2__MASK 0x04u @@ -681,30 +685,28 @@ #define SDCard_BSPIM_TxStsReg__4__MASK 0x10u #define SDCard_BSPIM_TxStsReg__4__POS 4 #define SDCard_BSPIM_TxStsReg__MASK 0x1Fu -#define SDCard_BSPIM_TxStsReg__MASK_REG CYREG_B1_UDB07_MSK -#define SDCard_BSPIM_TxStsReg__MASK_ST_AUX_CTL_REG CYREG_B1_UDB07_MSK_ACTL -#define SDCard_BSPIM_TxStsReg__PER_ST_AUX_CTL_REG CYREG_B1_UDB07_MSK_ACTL -#define SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG CYREG_B1_UDB07_ACTL -#define SDCard_BSPIM_TxStsReg__STATUS_CNT_REG CYREG_B1_UDB07_ST_CTL -#define SDCard_BSPIM_TxStsReg__STATUS_CONTROL_REG CYREG_B1_UDB07_ST_CTL -#define SDCard_BSPIM_TxStsReg__STATUS_REG CYREG_B1_UDB07_ST -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG CYREG_B0_UDB04_05_A0 -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG CYREG_B0_UDB04_05_A1 -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG CYREG_B0_UDB04_05_D0 -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG CYREG_B0_UDB04_05_D1 -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG CYREG_B0_UDB04_05_ACTL -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG CYREG_B0_UDB04_05_F0 -#define SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG CYREG_B0_UDB04_05_F1 -#define SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG CYREG_B0_UDB04_A0_A1 -#define SDCard_BSPIM_sR8_Dp_u0__A0_REG CYREG_B0_UDB04_A0 -#define SDCard_BSPIM_sR8_Dp_u0__A1_REG CYREG_B0_UDB04_A1 -#define SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG CYREG_B0_UDB04_D0_D1 -#define SDCard_BSPIM_sR8_Dp_u0__D0_REG CYREG_B0_UDB04_D0 -#define SDCard_BSPIM_sR8_Dp_u0__D1_REG CYREG_B0_UDB04_D1 -#define SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG CYREG_B0_UDB04_ACTL -#define SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG CYREG_B0_UDB04_F0_F1 -#define SDCard_BSPIM_sR8_Dp_u0__F0_REG CYREG_B0_UDB04_F0 -#define SDCard_BSPIM_sR8_Dp_u0__F1_REG CYREG_B0_UDB04_F1 +#define SDCard_BSPIM_TxStsReg__MASK_REG CYREG_B1_UDB06_MSK +#define SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG CYREG_B1_UDB06_ACTL +#define SDCard_BSPIM_TxStsReg__STATUS_REG CYREG_B1_UDB06_ST +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG CYREG_B0_UDB05_06_A0 +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG CYREG_B0_UDB05_06_A1 +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG CYREG_B0_UDB05_06_D0 +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG CYREG_B0_UDB05_06_D1 +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG CYREG_B0_UDB05_06_ACTL +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG CYREG_B0_UDB05_06_F0 +#define SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG CYREG_B0_UDB05_06_F1 +#define SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG CYREG_B0_UDB05_A0_A1 +#define SDCard_BSPIM_sR8_Dp_u0__A0_REG CYREG_B0_UDB05_A0 +#define SDCard_BSPIM_sR8_Dp_u0__A1_REG CYREG_B0_UDB05_A1 +#define SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG CYREG_B0_UDB05_D0_D1 +#define SDCard_BSPIM_sR8_Dp_u0__D0_REG CYREG_B0_UDB05_D0 +#define SDCard_BSPIM_sR8_Dp_u0__D1_REG CYREG_B0_UDB05_D1 +#define SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG CYREG_B0_UDB05_ACTL +#define SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG CYREG_B0_UDB05_F0_F1 +#define SDCard_BSPIM_sR8_Dp_u0__F0_REG CYREG_B0_UDB05_F0 +#define SDCard_BSPIM_sR8_Dp_u0__F1_REG CYREG_B0_UDB05_F1 +#define SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG CYREG_B0_UDB05_MSK_ACTL +#define SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG CYREG_B0_UDB05_MSK_ACTL /* USBFS_dp_int */ #define USBFS_dp_int__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 @@ -1183,17 +1185,6 @@ #define SD_Data_Clk__PM_STBY_CFG CYREG_PM_STBY_CFG2 #define SD_Data_Clk__PM_STBY_MSK 0x01u -/* SD_Init_Clk */ -#define SD_Init_Clk__CFG0 CYREG_CLKDIST_DCFG3_CFG0 -#define SD_Init_Clk__CFG1 CYREG_CLKDIST_DCFG3_CFG1 -#define SD_Init_Clk__CFG2 CYREG_CLKDIST_DCFG3_CFG2 -#define SD_Init_Clk__CFG2_SRC_SEL_MASK 0x07u -#define SD_Init_Clk__INDEX 0x03u -#define SD_Init_Clk__PM_ACT_CFG CYREG_PM_ACT_CFG2 -#define SD_Init_Clk__PM_ACT_MSK 0x08u -#define SD_Init_Clk__PM_STBY_CFG CYREG_PM_STBY_CFG2 -#define SD_Init_Clk__PM_STBY_MSK 0x08u - /* timer_clock */ #define timer_clock__CFG0 CYREG_CLKDIST_DCFG2_CFG0 #define timer_clock__CFG1 CYREG_CLKDIST_DCFG2_CFG1 @@ -1208,8 +1199,8 @@ /* scsiTarget */ #define scsiTarget_StatusReg__0__MASK 0x01u #define scsiTarget_StatusReg__0__POS 0 -#define scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB04_05_ACTL -#define scsiTarget_StatusReg__16BIT_STATUS_REG CYREG_B0_UDB04_05_ST +#define scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB00_01_ACTL +#define scsiTarget_StatusReg__16BIT_STATUS_REG CYREG_B0_UDB00_01_ST #define scsiTarget_StatusReg__1__MASK 0x02u #define scsiTarget_StatusReg__1__POS 1 #define scsiTarget_StatusReg__2__MASK 0x04u @@ -1219,9 +1210,9 @@ #define scsiTarget_StatusReg__4__MASK 0x10u #define scsiTarget_StatusReg__4__POS 4 #define scsiTarget_StatusReg__MASK 0x1Fu -#define scsiTarget_StatusReg__MASK_REG CYREG_B0_UDB04_MSK -#define scsiTarget_StatusReg__STATUS_AUX_CTL_REG CYREG_B0_UDB04_ACTL -#define scsiTarget_StatusReg__STATUS_REG CYREG_B0_UDB04_ST +#define scsiTarget_StatusReg__MASK_REG CYREG_B0_UDB00_MSK +#define scsiTarget_StatusReg__STATUS_AUX_CTL_REG CYREG_B0_UDB00_ACTL +#define scsiTarget_StatusReg__STATUS_REG CYREG_B0_UDB00_ST #define scsiTarget_datapath_PI__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB03_04_ACTL #define scsiTarget_datapath_PI__16BIT_STATUS_REG CYREG_B0_UDB03_04_ST #define scsiTarget_datapath_PI__MASK_REG CYREG_B0_UDB03_MSK @@ -1268,9 +1259,6 @@ #define scsiTarget_datapath__MSK_DP_AUX_CTL_REG CYREG_B0_UDB03_MSK_ACTL #define scsiTarget_datapath__PER_DP_AUX_CTL_REG CYREG_B0_UDB03_MSK_ACTL -/* SD_Clk_Ctl */ -#define SD_Clk_Ctl_Sync_ctrl_reg__REMOVED 1u - /* USBFS_ep_0 */ #define USBFS_ep_0__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define USBFS_ep_0__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c index f2497a0b..081c1e28 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c +++ b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c @@ -121,7 +121,7 @@ static void CyClockStartupError(uint8 errorCode) } #endif -#define CY_CFG_BASE_ADDR_COUNT 37u +#define CY_CFG_BASE_ADDR_COUNT 36u CYPACKED typedef struct { uint8 offset; @@ -193,8 +193,6 @@ static void ClockSetup(void) CY_SET_XTND_REG8((void CYFAR *)(CYREG_CLKDIST_DCFG1_CFG0 + 0x2u), 0x58u); CY_SET_XTND_REG16((void CYFAR *)(CYREG_CLKDIST_DCFG2_CFG0), 0x0017u); CY_SET_XTND_REG8((void CYFAR *)(CYREG_CLKDIST_DCFG2_CFG0 + 0x2u), 0x19u); - CY_SET_XTND_REG16((void CYFAR *)(CYREG_CLKDIST_DCFG3_CFG0), 0x001Du); - CY_SET_XTND_REG8((void CYFAR *)(CYREG_CLKDIST_DCFG3_CFG0 + 0x2u), 0x19u); /* Configure ILO based on settings from Clock DWR */ CY_SET_XTND_REG8((void CYFAR *)(CYREG_SLOWCLK_ILO_CR0), 0x06u); @@ -230,7 +228,7 @@ static void ClockSetup(void) CY_SET_XTND_REG8((void CYFAR *)(CYREG_CLKDIST_UCFG), 0x00u); CY_SET_XTND_REG8((void CYFAR *)(CYREG_CLKDIST_LD), 0x02u); - CY_SET_XTND_REG8((void CYFAR *)(CYREG_PM_ACT_CFG2), ((CY_GET_XTND_REG8((void CYFAR *)CYREG_PM_ACT_CFG2) | 0x0Fu))); + CY_SET_XTND_REG8((void CYFAR *)(CYREG_PM_ACT_CFG2), ((CY_GET_XTND_REG8((void CYFAR *)CYREG_PM_ACT_CFG2) | 0x07u))); } @@ -383,39 +381,38 @@ void cyfitter_cfg(void) 0x40004502u, /* Base address: 0x40004500 Count: 2 */ 0x40004F02u, /* Base address: 0x40004F00 Count: 2 */ 0x4000520Au, /* Base address: 0x40005200 Count: 10 */ - 0x40006401u, /* Base address: 0x40006400 Count: 1 */ - 0x40006501u, /* Base address: 0x40006500 Count: 1 */ - 0x40010052u, /* Base address: 0x40010000 Count: 82 */ - 0x40010139u, /* Base address: 0x40010100 Count: 57 */ - 0x40010241u, /* Base address: 0x40010200 Count: 65 */ - 0x4001035Cu, /* Base address: 0x40010300 Count: 92 */ - 0x40010417u, /* Base address: 0x40010400 Count: 23 */ - 0x40010560u, /* Base address: 0x40010500 Count: 96 */ - 0x4001065Du, /* Base address: 0x40010600 Count: 93 */ - 0x40010754u, /* Base address: 0x40010700 Count: 84 */ - 0x40010804u, /* Base address: 0x40010800 Count: 4 */ - 0x4001090Eu, /* Base address: 0x40010900 Count: 14 */ - 0x40010B12u, /* Base address: 0x40010B00 Count: 18 */ - 0x40010C47u, /* Base address: 0x40010C00 Count: 71 */ - 0x40010D45u, /* Base address: 0x40010D00 Count: 69 */ - 0x40010F05u, /* Base address: 0x40010F00 Count: 5 */ - 0x40011505u, /* Base address: 0x40011500 Count: 5 */ - 0x4001164Cu, /* Base address: 0x40011600 Count: 76 */ - 0x4001174Bu, /* Base address: 0x40011700 Count: 75 */ - 0x4001190Au, /* Base address: 0x40011900 Count: 10 */ - 0x40011B03u, /* Base address: 0x40011B00 Count: 3 */ - 0x40014019u, /* Base address: 0x40014000 Count: 25 */ - 0x40014117u, /* Base address: 0x40014100 Count: 23 */ - 0x4001420Fu, /* Base address: 0x40014200 Count: 15 */ - 0x4001430Du, /* Base address: 0x40014300 Count: 13 */ - 0x4001440Du, /* Base address: 0x40014400 Count: 13 */ - 0x40014516u, /* Base address: 0x40014500 Count: 22 */ - 0x40014608u, /* Base address: 0x40014600 Count: 8 */ - 0x40014705u, /* Base address: 0x40014700 Count: 5 */ + 0x40006402u, /* Base address: 0x40006400 Count: 2 */ + 0x4001004Bu, /* Base address: 0x40010000 Count: 75 */ + 0x40010138u, /* Base address: 0x40010100 Count: 56 */ + 0x40010248u, /* Base address: 0x40010200 Count: 72 */ + 0x4001035Au, /* Base address: 0x40010300 Count: 90 */ + 0x40010462u, /* Base address: 0x40010400 Count: 98 */ + 0x40010551u, /* Base address: 0x40010500 Count: 81 */ + 0x40010657u, /* Base address: 0x40010600 Count: 87 */ + 0x40010752u, /* Base address: 0x40010700 Count: 82 */ + 0x4001090Au, /* Base address: 0x40010900 Count: 10 */ + 0x40010A04u, /* Base address: 0x40010A00 Count: 4 */ + 0x40010B1Au, /* Base address: 0x40010B00 Count: 26 */ + 0x40010C3Eu, /* Base address: 0x40010C00 Count: 62 */ + 0x40010D42u, /* Base address: 0x40010D00 Count: 66 */ + 0x40010F06u, /* Base address: 0x40010F00 Count: 6 */ + 0x40011506u, /* Base address: 0x40011500 Count: 6 */ + 0x40011652u, /* Base address: 0x40011600 Count: 82 */ + 0x4001174Eu, /* Base address: 0x40011700 Count: 78 */ + 0x40011907u, /* Base address: 0x40011900 Count: 7 */ + 0x40011B05u, /* Base address: 0x40011B00 Count: 5 */ + 0x40014017u, /* Base address: 0x40014000 Count: 23 */ + 0x40014116u, /* Base address: 0x40014100 Count: 22 */ + 0x40014210u, /* Base address: 0x40014200 Count: 16 */ + 0x4001430Bu, /* Base address: 0x40014300 Count: 11 */ + 0x4001440Cu, /* Base address: 0x40014400 Count: 12 */ + 0x40014518u, /* Base address: 0x40014500 Count: 24 */ + 0x40014607u, /* Base address: 0x40014600 Count: 7 */ + 0x4001470Au, /* Base address: 0x40014700 Count: 10 */ 0x40014807u, /* Base address: 0x40014800 Count: 7 */ - 0x4001490Au, /* Base address: 0x40014900 Count: 10 */ + 0x40014909u, /* Base address: 0x40014900 Count: 9 */ 0x40014C01u, /* Base address: 0x40014C00 Count: 1 */ - 0x40015005u, /* Base address: 0x40015000 Count: 5 */ + 0x40015006u, /* Base address: 0x40015000 Count: 6 */ 0x40015104u, /* Base address: 0x40015100 Count: 4 */ }; @@ -423,205 +420,204 @@ void cyfitter_cfg(void) {0x36u, 0x02u}, {0x7Eu, 0x02u}, {0x01u, 0x20u}, - {0x0Au, 0x1Bu}, - {0x00u, 0x14u}, - {0x01u, 0x01u}, + {0x0Au, 0x4Bu}, + {0x00u, 0x05u}, + {0x01u, 0x13u}, {0x18u, 0x0Cu}, {0x19u, 0x08u}, {0x1Cu, 0x61u}, - {0x20u, 0x60u}, - {0x21u, 0xC0u}, + {0x20u, 0x90u}, + {0x21u, 0x58u}, {0x30u, 0x06u}, {0x31u, 0x0Cu}, {0x7Cu, 0x40u}, {0x23u, 0x02u}, {0x86u, 0x0Fu}, - {0x00u, 0x03u}, {0x01u, 0x09u}, - {0x02u, 0x0Cu}, {0x03u, 0x24u}, - {0x04u, 0x09u}, - {0x06u, 0x06u}, - {0x07u, 0x09u}, - {0x08u, 0xFFu}, - {0x09u, 0x40u}, - {0x0Cu, 0x90u}, - {0x0Eu, 0x60u}, - {0x0Fu, 0x30u}, - {0x10u, 0xFFu}, - {0x11u, 0x09u}, - {0x13u, 0x12u}, - {0x14u, 0x05u}, - {0x15u, 0x40u}, - {0x16u, 0x0Au}, + {0x05u, 0x09u}, + {0x06u, 0x0Eu}, + {0x07u, 0x12u}, + {0x0Bu, 0x30u}, + {0x0Cu, 0x21u}, + {0x0Eu, 0x84u}, + {0x0Fu, 0x46u}, + {0x12u, 0x21u}, + {0x16u, 0xC0u}, + {0x18u, 0x21u}, + {0x1Au, 0x42u}, {0x1Bu, 0x01u}, - {0x1Cu, 0x0Fu}, - {0x1Eu, 0xF0u}, - {0x1Fu, 0x06u}, - {0x20u, 0x50u}, - {0x22u, 0xA0u}, - {0x23u, 0x08u}, - {0x25u, 0x80u}, - {0x26u, 0xFFu}, - {0x29u, 0x40u}, - {0x2Cu, 0x30u}, - {0x2Du, 0x40u}, - {0x2Eu, 0xC0u}, - {0x31u, 0x38u}, - {0x32u, 0xFFu}, - {0x33u, 0x40u}, - {0x35u, 0x80u}, - {0x37u, 0x07u}, - {0x39u, 0x08u}, - {0x3Eu, 0x04u}, - {0x3Fu, 0x14u}, + {0x1Eu, 0x20u}, + {0x1Fu, 0x08u}, + {0x21u, 0x40u}, + {0x22u, 0x10u}, + {0x23u, 0x80u}, + {0x26u, 0x01u}, + {0x2Bu, 0x80u}, + {0x2Cu, 0x08u}, + {0x2Eu, 0x10u}, + {0x2Fu, 0x09u}, + {0x30u, 0x18u}, + {0x31u, 0x07u}, + {0x32u, 0xE0u}, + {0x33u, 0xC0u}, + {0x34u, 0x07u}, + {0x35u, 0x38u}, + {0x3Eu, 0x01u}, + {0x3Fu, 0x04u}, {0x58u, 0x04u}, {0x59u, 0x04u}, - {0x5Cu, 0x10u}, + {0x5Bu, 0x04u}, + {0x5Cu, 0x11u}, {0x5Fu, 0x01u}, - {0x81u, 0x10u}, - {0x83u, 0x20u}, - {0x85u, 0x43u}, - {0x86u, 0xC1u}, + {0x80u, 0x30u}, + {0x81u, 0x01u}, + {0x82u, 0xC0u}, + {0x84u, 0x09u}, + {0x85u, 0x02u}, + {0x86u, 0x06u}, {0x87u, 0x04u}, - {0x89u, 0x45u}, - {0x8Au, 0x04u}, + {0x88u, 0xFFu}, {0x8Bu, 0x02u}, - {0x8Du, 0x08u}, - {0x8Eu, 0x02u}, - {0x90u, 0x24u}, - {0x91u, 0x41u}, - {0x92u, 0x90u}, - {0x93u, 0x06u}, - {0x95u, 0x04u}, - {0x96u, 0x24u}, - {0x97u, 0x03u}, - {0x9Au, 0x18u}, - {0x9Fu, 0x10u}, - {0xA0u, 0x01u}, - {0xA2u, 0x02u}, - {0xA6u, 0x20u}, - {0xA8u, 0x24u}, - {0xAAu, 0x48u}, - {0xABu, 0x20u}, - {0xB1u, 0x08u}, - {0xB2u, 0xE0u}, - {0xB3u, 0x07u}, - {0xB4u, 0x1Cu}, - {0xB5u, 0x30u}, - {0xB6u, 0x03u}, - {0xB7u, 0x40u}, - {0xBBu, 0x08u}, + {0x8Cu, 0x50u}, + {0x8Du, 0x02u}, + {0x8Eu, 0xA0u}, + {0x8Fu, 0x08u}, + {0x91u, 0x01u}, + {0x94u, 0x03u}, + {0x96u, 0x0Cu}, + {0x97u, 0x0Cu}, + {0x98u, 0x90u}, + {0x9Au, 0x60u}, + {0x9Cu, 0xFFu}, + {0x9Fu, 0x02u}, + {0xA4u, 0x05u}, + {0xA5u, 0x01u}, + {0xA6u, 0x0Au}, + {0xA9u, 0x01u}, + {0xAAu, 0xFFu}, + {0xACu, 0x0Fu}, + {0xAEu, 0xF0u}, + {0xB5u, 0x0Eu}, + {0xB6u, 0xFFu}, + {0xB7u, 0x01u}, + {0xB9u, 0x80u}, {0xBEu, 0x40u}, - {0xBFu, 0x51u}, + {0xBFu, 0x40u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, - {0xDCu, 0x01u}, + {0xDCu, 0x10u}, {0xDFu, 0x01u}, - {0x00u, 0x80u}, - {0x02u, 0xA0u}, - {0x03u, 0x08u}, - {0x05u, 0x14u}, - {0x07u, 0x01u}, - {0x08u, 0x40u}, - {0x09u, 0x05u}, - {0x0Au, 0x01u}, - {0x0Du, 0x25u}, - {0x0Fu, 0x08u}, - {0x11u, 0x84u}, - {0x12u, 0x04u}, - {0x13u, 0x22u}, - {0x14u, 0x40u}, - {0x15u, 0x20u}, - {0x16u, 0x20u}, - {0x18u, 0x10u}, - {0x1Du, 0x24u}, - {0x1Eu, 0x20u}, - {0x1Fu, 0x80u}, - {0x20u, 0x20u}, - {0x22u, 0xD0u}, - {0x23u, 0xC0u}, - {0x24u, 0x40u}, - {0x25u, 0x80u}, - {0x26u, 0x04u}, - {0x27u, 0x28u}, - {0x28u, 0x08u}, - {0x2Au, 0x02u}, - {0x2Bu, 0x22u}, - {0x2Cu, 0x04u}, - {0x31u, 0x01u}, - {0x32u, 0x44u}, - {0x33u, 0x10u}, - {0x36u, 0x06u}, - {0x37u, 0x80u}, - {0x38u, 0x10u}, - {0x39u, 0x0Au}, - {0x3Bu, 0x40u}, + {0x00u, 0x88u}, + {0x03u, 0x20u}, + {0x05u, 0x20u}, + {0x06u, 0x42u}, + {0x07u, 0x60u}, + {0x08u, 0x01u}, + {0x0Au, 0x24u}, + {0x0Bu, 0x01u}, + {0x0Eu, 0x08u}, + {0x0Fu, 0x22u}, + {0x11u, 0x44u}, + {0x12u, 0x40u}, + {0x15u, 0xC0u}, + {0x16u, 0x01u}, + {0x17u, 0x18u}, + {0x19u, 0x02u}, + {0x1Au, 0x20u}, + {0x1Bu, 0x30u}, + {0x1Eu, 0x01u}, + {0x20u, 0x40u}, + {0x21u, 0x18u}, + {0x22u, 0x01u}, + {0x24u, 0x02u}, + {0x27u, 0x08u}, + {0x28u, 0x05u}, + {0x29u, 0x40u}, + {0x2Au, 0x11u}, + {0x2Du, 0x08u}, + {0x2Eu, 0x10u}, + {0x30u, 0xA0u}, + {0x35u, 0x40u}, + {0x36u, 0x02u}, + {0x37u, 0x08u}, + {0x38u, 0x44u}, + {0x39u, 0x22u}, + {0x3Cu, 0x80u}, + {0x3Du, 0x10u}, {0x3Eu, 0x05u}, - {0x3Fu, 0x90u}, - {0x46u, 0x40u}, - {0x47u, 0x01u}, - {0x86u, 0x20u}, - {0x87u, 0x02u}, - {0x88u, 0x08u}, - {0x8Cu, 0x40u}, - {0x8Du, 0x01u}, - {0x8Fu, 0x08u}, - {0xC0u, 0xEFu}, - {0xC2u, 0x7Du}, - {0xC4u, 0x7Du}, - {0xCAu, 0x2Fu}, - {0xCCu, 0xDFu}, + {0x58u, 0x82u}, + {0x59u, 0x14u}, + {0x61u, 0x80u}, + {0x81u, 0x10u}, + {0x82u, 0x80u}, + {0x84u, 0x04u}, + {0x89u, 0x10u}, + {0x8Cu, 0x01u}, + {0xC0u, 0xF5u}, + {0xC2u, 0xEFu}, + {0xC4u, 0xEDu}, + {0xCAu, 0x6Du}, + {0xCCu, 0xDCu}, {0xCEu, 0xFFu}, - {0xE2u, 0x08u}, - {0xE6u, 0x72u}, - {0x21u, 0x01u}, - {0x35u, 0x01u}, - {0x3Fu, 0x10u}, + {0xD6u, 0x0Fu}, + {0xD8u, 0x08u}, + {0xE2u, 0x48u}, + {0xE6u, 0x02u}, + {0x06u, 0xFFu}, + {0x08u, 0xFFu}, + {0x0Cu, 0x50u}, + {0x0Du, 0x04u}, + {0x0Eu, 0xA0u}, + {0x0Fu, 0x03u}, + {0x11u, 0x01u}, + {0x12u, 0xFFu}, + {0x13u, 0x06u}, + {0x14u, 0x03u}, + {0x15u, 0x03u}, + {0x16u, 0x0Cu}, + {0x17u, 0x04u}, + {0x18u, 0x60u}, + {0x19u, 0x05u}, + {0x1Au, 0x90u}, + {0x1Bu, 0x02u}, + {0x1Cu, 0x0Fu}, + {0x1Eu, 0xF0u}, + {0x24u, 0x05u}, + {0x26u, 0x0Au}, + {0x28u, 0x06u}, + {0x2Au, 0x09u}, + {0x2Cu, 0x30u}, + {0x2Eu, 0xC0u}, + {0x32u, 0xFFu}, + {0x37u, 0x07u}, + {0x3Bu, 0x80u}, + {0x3Eu, 0x04u}, + {0x58u, 0x04u}, {0x59u, 0x04u}, - {0x5Bu, 0x04u}, {0x5Fu, 0x01u}, - {0x80u, 0x80u}, - {0x81u, 0x40u}, - {0x84u, 0x02u}, - {0x85u, 0x01u}, - {0x8Au, 0x1Fu}, - {0x8Bu, 0x20u}, - {0x8Cu, 0x5Bu}, - {0x8Du, 0x80u}, - {0x8Eu, 0x24u}, - {0x94u, 0x03u}, - {0x95u, 0x08u}, - {0x96u, 0x0Cu}, - {0x97u, 0x12u}, - {0x98u, 0x58u}, - {0x99u, 0x0Bu}, - {0x9Au, 0x24u}, - {0x9Bu, 0x24u}, - {0xA0u, 0x0Cu}, - {0xA1u, 0x34u}, - {0xA2u, 0x40u}, - {0xA3u, 0x0Bu}, - {0xA6u, 0x01u}, - {0xA8u, 0x40u}, - {0xAAu, 0x37u}, - {0xABu, 0x3Fu}, - {0xB0u, 0x1Fu}, - {0xB1u, 0x80u}, - {0xB2u, 0x20u}, - {0xB3u, 0x38u}, - {0xB4u, 0x80u}, - {0xB5u, 0x07u}, - {0xB6u, 0x40u}, - {0xB7u, 0x40u}, - {0xBEu, 0x54u}, - {0xBFu, 0x41u}, - {0xC0u, 0x64u}, + {0x82u, 0x3Fu}, + {0x84u, 0x01u}, + {0x89u, 0x01u}, + {0x8Cu, 0x34u}, + {0x8Eu, 0x4Bu}, + {0x98u, 0x0Bu}, + {0x9Au, 0x64u}, + {0x9Cu, 0x08u}, + {0x9Eu, 0x52u}, + {0xA6u, 0x20u}, + {0xB2u, 0x40u}, + {0xB4u, 0x07u}, + {0xB6u, 0x38u}, + {0xB7u, 0x01u}, + {0xBEu, 0x04u}, + {0xBFu, 0x40u}, + {0xC0u, 0x54u}, {0xC1u, 0x02u}, {0xC2u, 0x30u}, - {0xC5u, 0xCDu}, - {0xC6u, 0x2Eu}, - {0xC7u, 0x0Fu}, + {0xC5u, 0xE2u}, + {0xC6u, 0xCFu}, + {0xC7u, 0x0Du}, {0xC8u, 0x1Fu}, {0xC9u, 0xFFu}, {0xCAu, 0xFFu}, @@ -632,7 +628,7 @@ void cyfitter_cfg(void) {0xD9u, 0x04u}, {0xDAu, 0x04u}, {0xDBu, 0x04u}, - {0xDCu, 0x11u}, + {0xDCu, 0x01u}, {0xDDu, 0x01u}, {0xDFu, 0x01u}, {0xE2u, 0xC0u}, @@ -640,891 +636,944 @@ void cyfitter_cfg(void) {0xE8u, 0x40u}, {0xE9u, 0x40u}, {0xEEu, 0x08u}, - {0x00u, 0x02u}, - {0x01u, 0x08u}, - {0x03u, 0x0Au}, - {0x09u, 0x20u}, - {0x0Bu, 0x20u}, - {0x10u, 0x80u}, - {0x11u, 0x04u}, - {0x12u, 0x08u}, - {0x18u, 0x04u}, - {0x19u, 0x42u}, - {0x1Au, 0x10u}, - {0x1Bu, 0x02u}, - {0x21u, 0x34u}, - {0x22u, 0x09u}, - {0x23u, 0x05u}, - {0x27u, 0x04u}, - {0x29u, 0x02u}, - {0x2Bu, 0x08u}, - {0x2Cu, 0x08u}, - {0x2Du, 0x20u}, - {0x2Fu, 0x80u}, - {0x31u, 0x20u}, - {0x32u, 0x08u}, - {0x38u, 0x20u}, - {0x39u, 0x85u}, - {0x41u, 0x11u}, - {0x42u, 0x10u}, - {0x43u, 0x02u}, - {0x48u, 0x90u}, - {0x49u, 0x08u}, - {0x4Au, 0x08u}, - {0x50u, 0x58u}, - {0x5Au, 0xA2u}, - {0x5Bu, 0x04u}, - {0x60u, 0x44u}, - {0x61u, 0x08u}, - {0x63u, 0x01u}, - {0x69u, 0x10u}, - {0x6Au, 0x40u}, - {0x6Bu, 0x50u}, - {0x6Du, 0x64u}, - {0x71u, 0x10u}, - {0x72u, 0x22u}, - {0x73u, 0x40u}, - {0x81u, 0x40u}, - {0x82u, 0x40u}, - {0x87u, 0x80u}, - {0x89u, 0x05u}, - {0x8Au, 0x80u}, - {0x8Bu, 0x80u}, - {0x8Cu, 0x08u}, + {0x00u, 0x80u}, + {0x02u, 0x40u}, + {0x03u, 0x10u}, + {0x05u, 0x20u}, + {0x06u, 0x02u}, + {0x07u, 0x10u}, + {0x0Au, 0x05u}, + {0x0Cu, 0x01u}, + {0x0Du, 0x40u}, + {0x0Eu, 0x08u}, + {0x0Fu, 0x20u}, + {0x13u, 0x04u}, + {0x14u, 0x08u}, + {0x16u, 0x01u}, + {0x17u, 0x68u}, + {0x18u, 0x14u}, + {0x19u, 0x40u}, + {0x1Au, 0x0Du}, + {0x1Bu, 0x80u}, + {0x1Eu, 0x10u}, + {0x22u, 0x40u}, + {0x25u, 0x40u}, + {0x28u, 0x01u}, + {0x29u, 0x04u}, + {0x2Bu, 0x21u}, + {0x35u, 0x11u}, + {0x36u, 0x08u}, + {0x3Au, 0x20u}, + {0x3Du, 0x80u}, + {0x3Eu, 0x80u}, + {0x40u, 0x14u}, + {0x41u, 0x01u}, + {0x49u, 0x40u}, + {0x4Au, 0x40u}, + {0x4Bu, 0x04u}, + {0x51u, 0x10u}, + {0x52u, 0x80u}, + {0x53u, 0x28u}, + {0x58u, 0x14u}, + {0x59u, 0x02u}, + {0x5Au, 0x80u}, + {0x60u, 0x02u}, + {0x62u, 0x04u}, + {0x63u, 0x88u}, + {0x68u, 0x80u}, + {0x69u, 0x54u}, + {0x70u, 0x20u}, + {0x73u, 0x51u}, + {0x83u, 0x04u}, + {0x84u, 0x80u}, + {0x86u, 0x42u}, + {0x88u, 0x02u}, + {0x89u, 0x02u}, + {0x8Cu, 0x04u}, {0x8Du, 0x40u}, - {0x8Fu, 0x08u}, - {0x90u, 0x40u}, - {0x92u, 0x20u}, - {0x93u, 0x20u}, - {0x94u, 0x80u}, - {0x95u, 0x2Eu}, - {0x96u, 0x0Du}, - {0x97u, 0x10u}, - {0x9Au, 0x44u}, - {0x9Bu, 0x80u}, - {0x9Cu, 0x08u}, - {0x9Du, 0x11u}, - {0x9Eu, 0x22u}, - {0x9Fu, 0x12u}, - {0xA1u, 0x80u}, - {0xA2u, 0x90u}, - {0xA3u, 0x04u}, - {0xA4u, 0x48u}, - {0xA5u, 0x44u}, - {0xA6u, 0x02u}, - {0xA7u, 0x20u}, - {0xABu, 0x40u}, - {0xACu, 0x10u}, - {0xAFu, 0x91u}, - {0xB0u, 0x04u}, - {0xB7u, 0x08u}, - {0xC0u, 0x0Fu}, - {0xC2u, 0x06u}, - {0xC4u, 0x0Eu}, - {0xCAu, 0x85u}, - {0xCCu, 0x06u}, - {0xCEu, 0x0Fu}, + {0x92u, 0x02u}, + {0x94u, 0x04u}, + {0x95u, 0x96u}, + {0x96u, 0x14u}, + {0x97u, 0x81u}, + {0x9Au, 0x30u}, + {0x9Bu, 0x08u}, + {0x9Cu, 0x80u}, + {0x9Du, 0x6Cu}, + {0x9Eu, 0x02u}, + {0x9Fu, 0x70u}, + {0xA0u, 0x04u}, + {0xA3u, 0x10u}, + {0xA4u, 0xE0u}, + {0xA5u, 0x80u}, + {0xA6u, 0x86u}, + {0xA7u, 0x09u}, + {0xAAu, 0x30u}, + {0xAFu, 0x40u}, + {0xB0u, 0x02u}, + {0xB1u, 0x0Au}, + {0xB3u, 0x08u}, + {0xC0u, 0xEDu}, + {0xC2u, 0xF3u}, + {0xC4u, 0xE4u}, + {0xCCu, 0xE0u}, + {0xCEu, 0x14u}, {0xD0u, 0x07u}, - {0xD2u, 0x04u}, + {0xD2u, 0x08u}, {0xD6u, 0x0Fu}, {0xD8u, 0x0Fu}, - {0xE2u, 0x20u}, - {0xE6u, 0x09u}, - {0xEAu, 0x06u}, - {0xEEu, 0x02u}, - {0x85u, 0x02u}, - {0x87u, 0x05u}, - {0x8Fu, 0x02u}, - {0x97u, 0x03u}, - {0x9Au, 0x01u}, - {0x9Fu, 0x0Cu}, - {0xA1u, 0x02u}, - {0xA2u, 0x04u}, - {0xA3u, 0x08u}, - {0xA4u, 0x05u}, - {0xA6u, 0x0Au}, - {0xAAu, 0x02u}, - {0xAEu, 0x08u}, - {0xB1u, 0x0Eu}, - {0xB4u, 0x0Cu}, - {0xB5u, 0x01u}, - {0xB6u, 0x03u}, - {0xBEu, 0x50u}, + {0xE6u, 0x0Cu}, + {0xEAu, 0x04u}, + {0xECu, 0x04u}, + {0xEEu, 0x21u}, + {0x01u, 0x9Bu}, + {0x03u, 0x04u}, + {0x04u, 0x03u}, + {0x06u, 0x0Cu}, + {0x07u, 0x40u}, + {0x08u, 0x30u}, + {0x09u, 0x0Cu}, + {0x0Au, 0xC0u}, + {0x0Bu, 0x80u}, + {0x0Cu, 0x0Fu}, + {0x0Du, 0x20u}, + {0x0Eu, 0xF0u}, + {0x0Fu, 0x40u}, + {0x10u, 0x50u}, + {0x12u, 0xA0u}, + {0x15u, 0x98u}, + {0x17u, 0x04u}, + {0x1Bu, 0x01u}, + {0x1Cu, 0x06u}, + {0x1Du, 0x80u}, + {0x1Eu, 0x09u}, + {0x1Fu, 0x17u}, + {0x20u, 0x05u}, + {0x22u, 0x0Au}, + {0x23u, 0x20u}, + {0x24u, 0x60u}, + {0x25u, 0x03u}, + {0x26u, 0x90u}, + {0x27u, 0x0Cu}, + {0x29u, 0x02u}, + {0x2Fu, 0x1Fu}, + {0x31u, 0x1Fu}, + {0x34u, 0xFFu}, + {0x35u, 0x60u}, + {0x37u, 0x80u}, + {0x3Eu, 0x10u}, + {0x3Fu, 0x50u}, + {0x58u, 0x04u}, + {0x59u, 0x04u}, + {0x5Cu, 0x10u}, + {0x5Fu, 0x01u}, + {0x81u, 0x35u}, + {0x89u, 0x39u}, + {0x8Bu, 0x42u}, + {0x8Fu, 0x04u}, + {0x91u, 0x20u}, + {0x95u, 0x4Au}, + {0x97u, 0x31u}, + {0x99u, 0x0Bu}, + {0x9Bu, 0x70u}, + {0x9Du, 0x12u}, + {0x9Fu, 0x01u}, + {0xA1u, 0x35u}, + {0xA5u, 0x15u}, + {0xA7u, 0x20u}, + {0xA9u, 0x05u}, + {0xABu, 0x30u}, + {0xADu, 0x30u}, + {0xAFu, 0x05u}, + {0xB3u, 0x78u}, + {0xB5u, 0x04u}, + {0xB7u, 0x03u}, + {0xB9u, 0x08u}, + {0xBBu, 0x80u}, {0xBFu, 0x10u}, - {0xD8u, 0x04u}, + {0xC0u, 0x62u}, + {0xC1u, 0x04u}, + {0xC2u, 0x10u}, + {0xC4u, 0x05u}, + {0xC5u, 0xCEu}, + {0xC6u, 0xFDu}, + {0xC7u, 0x0Bu}, + {0xC8u, 0x1Fu}, + {0xC9u, 0xFFu}, + {0xCAu, 0xFFu}, + {0xCBu, 0xFFu}, + {0xCCu, 0x22u}, + {0xCEu, 0xF0u}, + {0xCFu, 0x08u}, + {0xD0u, 0x04u}, + {0xD4u, 0x40u}, + {0xD6u, 0x04u}, {0xD9u, 0x04u}, - {0xDCu, 0x10u}, + {0xDAu, 0x04u}, + {0xDBu, 0x04u}, {0xDFu, 0x01u}, - {0x01u, 0x41u}, - {0x03u, 0x18u}, - {0x04u, 0x80u}, - {0x05u, 0x80u}, - {0x08u, 0x48u}, - {0x0Au, 0x86u}, - {0x0Du, 0x80u}, - {0x0Fu, 0x0Au}, - {0x10u, 0x80u}, - {0x12u, 0x02u}, - {0x13u, 0x10u}, - {0x14u, 0x01u}, - {0x15u, 0x02u}, - {0x17u, 0x28u}, - {0x1Au, 0x82u}, - {0x1Bu, 0x10u}, - {0x1Fu, 0x90u}, - {0x20u, 0x40u}, + {0xE2u, 0xC0u}, + {0xE4u, 0x40u}, + {0xE5u, 0x01u}, + {0xE6u, 0x10u}, + {0xE7u, 0x11u}, + {0xE8u, 0xC0u}, + {0xE9u, 0x01u}, + {0xEBu, 0x11u}, + {0xECu, 0x40u}, + {0xEDu, 0x01u}, + {0xEEu, 0x40u}, + {0xEFu, 0x01u}, + {0x00u, 0x64u}, + {0x09u, 0x01u}, + {0x0Au, 0x02u}, + {0x10u, 0x40u}, + {0x12u, 0x10u}, + {0x19u, 0x20u}, + {0x20u, 0x80u}, + {0x21u, 0x81u}, {0x22u, 0x10u}, - {0x27u, 0x84u}, - {0x29u, 0x02u}, - {0x2Du, 0x02u}, - {0x32u, 0x18u}, - {0x33u, 0x40u}, - {0x36u, 0x08u}, - {0x37u, 0x80u}, - {0x38u, 0x40u}, - {0x39u, 0x10u}, - {0x3Bu, 0x04u}, - {0x3Fu, 0x44u}, - {0x40u, 0x20u}, - {0x42u, 0x04u}, - {0x43u, 0x02u}, - {0x49u, 0x04u}, - {0x4Au, 0x02u}, - {0x4Bu, 0x11u}, - {0x50u, 0x08u}, - {0x51u, 0x60u}, - {0x53u, 0x01u}, - {0x58u, 0x04u}, - {0x59u, 0xA0u}, - {0x5Au, 0x01u}, - {0x61u, 0x40u}, + {0x24u, 0x02u}, + {0x26u, 0xACu}, + {0x28u, 0xC1u}, + {0x2Au, 0x48u}, + {0x2Bu, 0x08u}, + {0x2Du, 0x40u}, + {0x2Eu, 0x12u}, + {0x2Fu, 0x20u}, + {0x30u, 0x10u}, + {0x32u, 0x04u}, + {0x33u, 0x90u}, + {0x35u, 0x12u}, + {0x36u, 0x88u}, + {0x38u, 0x48u}, + {0x39u, 0xA2u}, + {0x3Du, 0x21u}, + {0x3Fu, 0x80u}, + {0x45u, 0x62u}, + {0x4Du, 0x82u}, + {0x4Eu, 0x08u}, + {0x4Fu, 0x05u}, + {0x55u, 0x04u}, + {0x56u, 0x24u}, + {0x57u, 0x40u}, {0x64u, 0x02u}, - {0x67u, 0x02u}, - {0x79u, 0x02u}, - {0x7Au, 0x80u}, - {0x7Du, 0x08u}, - {0x7Eu, 0x10u}, - {0x80u, 0x08u}, - {0x83u, 0x05u}, - {0x85u, 0x40u}, - {0x88u, 0x20u}, - {0x8Bu, 0x10u}, - {0x8Fu, 0x80u}, - {0x90u, 0x80u}, - {0x91u, 0x14u}, - {0x92u, 0x40u}, - {0x93u, 0x44u}, - {0x96u, 0x0Cu}, - {0x97u, 0x10u}, - {0x98u, 0x04u}, - {0x99u, 0x62u}, - {0x9Au, 0x44u}, - {0x9Bu, 0x68u}, - {0xA0u, 0x10u}, - {0xA1u, 0x80u}, - {0xA2u, 0x98u}, - {0xA3u, 0x04u}, + {0x66u, 0x20u}, + {0x67u, 0xA0u}, + {0x6Eu, 0x40u}, + {0x6Fu, 0x14u}, + {0x78u, 0x02u}, + {0x7Bu, 0x40u}, + {0x7Eu, 0x20u}, + {0x7Fu, 0x10u}, + {0x82u, 0x40u}, + {0x88u, 0x40u}, + {0x8Eu, 0x19u}, + {0x91u, 0x20u}, + {0x92u, 0x0Eu}, + {0x93u, 0x50u}, + {0x95u, 0x82u}, + {0x97u, 0x80u}, + {0x9Au, 0x90u}, + {0x9Bu, 0x08u}, + {0x9Cu, 0x08u}, + {0x9Du, 0x39u}, + {0x9Eu, 0x41u}, + {0x9Fu, 0x14u}, + {0xA0u, 0x04u}, + {0xA3u, 0x88u}, {0xA4u, 0x40u}, - {0xA5u, 0x04u}, - {0xA6u, 0x02u}, - {0xA7u, 0x40u}, - {0xA9u, 0x29u}, - {0xABu, 0x20u}, - {0xACu, 0x84u}, - {0xADu, 0x40u}, - {0xB0u, 0x01u}, - {0xB2u, 0x01u}, - {0xB3u, 0x28u}, - {0xB5u, 0x10u}, - {0xB7u, 0x42u}, - {0xC0u, 0x0Fu}, - {0xC2u, 0x4Fu}, - {0xC4u, 0xFBu}, - {0xCAu, 0x81u}, - {0xCCu, 0x5Eu}, - {0xCEu, 0x5Eu}, - {0xD0u, 0x07u}, - {0xD2u, 0x0Cu}, - {0xD6u, 0x0Fu}, - {0xD8u, 0x08u}, - {0xE0u, 0x80u}, - {0xE2u, 0x40u}, - {0xEAu, 0x03u}, - {0xEEu, 0x54u}, - {0x00u, 0x01u}, - {0x03u, 0x9Fu}, - {0x04u, 0x01u}, - {0x07u, 0xFFu}, - {0x08u, 0x04u}, - {0x09u, 0x7Fu}, - {0x0Bu, 0x80u}, - {0x0Cu, 0x01u}, - {0x0Du, 0x90u}, - {0x0Fu, 0x40u}, - {0x11u, 0x1Fu}, - {0x12u, 0x40u}, - {0x13u, 0x20u}, - {0x14u, 0xA2u}, - {0x15u, 0x80u}, - {0x16u, 0x08u}, - {0x18u, 0x08u}, - {0x1Au, 0x61u}, - {0x1Bu, 0x60u}, - {0x1Cu, 0x01u}, - {0x1Du, 0xC0u}, - {0x1Fu, 0x02u}, - {0x20u, 0x07u}, - {0x21u, 0xC0u}, - {0x22u, 0xD8u}, - {0x23u, 0x01u}, - {0x25u, 0xC0u}, - {0x27u, 0x04u}, - {0x28u, 0x01u}, - {0x29u, 0xC0u}, - {0x2Bu, 0x08u}, - {0x2Cu, 0x10u}, - {0x30u, 0xE0u}, - {0x36u, 0x3Fu}, - {0x37u, 0xFFu}, - {0x38u, 0x80u}, + {0xA5u, 0x80u}, + {0xA6u, 0x0Au}, + {0xAAu, 0x04u}, + {0xABu, 0x14u}, + {0xACu, 0x15u}, + {0xB1u, 0x40u}, + {0xB3u, 0x08u}, + {0xB5u, 0x40u}, + {0xB6u, 0x04u}, + {0xB7u, 0x40u}, + {0xC0u, 0x07u}, + {0xC2u, 0x09u}, + {0xC4u, 0x0Cu}, + {0xCAu, 0xFFu}, + {0xCCu, 0xFEu}, + {0xCEu, 0xBFu}, + {0xD0u, 0xB0u}, + {0xD2u, 0x30u}, + {0xD8u, 0xF0u}, + {0xE2u, 0x41u}, + {0xEAu, 0x0Au}, + {0xEEu, 0x06u}, + {0x00u, 0x24u}, + {0x01u, 0x01u}, + {0x04u, 0x6Cu}, + {0x05u, 0x10u}, + {0x0Au, 0x2Fu}, + {0x0Bu, 0x40u}, + {0x0Cu, 0x2Cu}, + {0x0Eu, 0x40u}, + {0x10u, 0x31u}, + {0x11u, 0x07u}, + {0x12u, 0x02u}, + {0x13u, 0xD8u}, + {0x14u, 0x40u}, + {0x15u, 0x08u}, + {0x16u, 0x2Cu}, + {0x17u, 0x61u}, + {0x18u, 0x11u}, + {0x19u, 0xA2u}, + {0x1Au, 0x0Eu}, + {0x1Bu, 0x08u}, + {0x1Cu, 0x08u}, + {0x1Du, 0x01u}, + {0x1Eu, 0x10u}, + {0x20u, 0x6Cu}, + {0x21u, 0x01u}, + {0x24u, 0x80u}, + {0x25u, 0x01u}, + {0x28u, 0x64u}, + {0x29u, 0x04u}, + {0x2Au, 0x08u}, + {0x2Cu, 0x80u}, + {0x2Du, 0x01u}, + {0x30u, 0x0Fu}, + {0x31u, 0x3Fu}, + {0x32u, 0x80u}, + {0x34u, 0x31u}, + {0x35u, 0xE0u}, + {0x36u, 0x40u}, + {0x37u, 0x08u}, + {0x38u, 0x08u}, + {0x39u, 0x02u}, + {0x3Au, 0x30u}, {0x3Eu, 0x40u}, - {0x3Fu, 0x40u}, + {0x3Fu, 0x41u}, + {0x56u, 0x02u}, + {0x57u, 0x20u}, {0x58u, 0x04u}, {0x59u, 0x04u}, + {0x5Bu, 0x04u}, {0x5Fu, 0x01u}, - {0x80u, 0x56u}, - {0x81u, 0x64u}, - {0x84u, 0x52u}, - {0x85u, 0x83u}, - {0x86u, 0x04u}, - {0x87u, 0x70u}, - {0x88u, 0x50u}, - {0x8Au, 0x06u}, - {0x8Bu, 0xF5u}, - {0x8Cu, 0x17u}, - {0x8Du, 0x64u}, - {0x8Eu, 0x28u}, - {0x91u, 0x07u}, - {0x93u, 0x90u}, - {0x94u, 0x31u}, - {0x95u, 0x40u}, - {0x96u, 0x0Eu}, - {0x97u, 0x02u}, - {0x98u, 0x29u}, - {0x99u, 0x24u}, - {0x9Au, 0x16u}, - {0x9Bu, 0x40u}, - {0x9Du, 0x08u}, - {0xA0u, 0x56u}, - {0xA1u, 0x64u}, - {0xA4u, 0x22u}, - {0xA5u, 0x24u}, - {0xA6u, 0x10u}, - {0xA8u, 0x04u}, - {0xABu, 0x64u}, - {0xACu, 0x06u}, - {0xADu, 0x08u}, - {0xAEu, 0x50u}, + {0x81u, 0xC0u}, + {0x82u, 0x49u}, + {0x83u, 0x01u}, + {0x86u, 0x06u}, + {0x87u, 0x9Fu}, + {0x89u, 0xC0u}, + {0x8Bu, 0x08u}, + {0x8Cu, 0x09u}, + {0x8Du, 0xC0u}, + {0x8Eu, 0x24u}, + {0x8Fu, 0x02u}, + {0x91u, 0x90u}, + {0x93u, 0x40u}, + {0x97u, 0xFFu}, + {0x98u, 0x09u}, + {0x99u, 0xC0u}, + {0x9Au, 0x52u}, + {0x9Bu, 0x04u}, + {0x9Du, 0x80u}, + {0x9Eu, 0x30u}, + {0xA1u, 0x1Fu}, + {0xA3u, 0x20u}, + {0xA7u, 0x60u}, + {0xA9u, 0x7Fu}, + {0xAAu, 0x08u}, + {0xABu, 0x80u}, + {0xAEu, 0x01u}, {0xB0u, 0x40u}, - {0xB1u, 0x71u}, - {0xB2u, 0x30u}, - {0xB3u, 0x07u}, - {0xB4u, 0x0Fu}, - {0xB5u, 0x08u}, - {0xB7u, 0x80u}, - {0xB8u, 0x20u}, - {0xB9u, 0x20u}, - {0xBAu, 0x08u}, - {0xBBu, 0x0Cu}, + {0xB3u, 0xFFu}, + {0xB4u, 0x07u}, + {0xB6u, 0x38u}, {0xBEu, 0x01u}, - {0xBFu, 0x40u}, - {0xD4u, 0x40u}, - {0xD6u, 0x04u}, + {0xBFu, 0x04u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, - {0xDBu, 0x04u}, + {0xDCu, 0x01u}, {0xDFu, 0x01u}, - {0x01u, 0x01u}, - {0x02u, 0x02u}, - {0x03u, 0x18u}, - {0x05u, 0x08u}, - {0x07u, 0x49u}, - {0x0Au, 0x04u}, - {0x0Bu, 0x10u}, - {0x0Cu, 0x80u}, - {0x0Eu, 0x84u}, - {0x0Fu, 0x10u}, - {0x10u, 0x98u}, - {0x11u, 0x40u}, - {0x15u, 0x82u}, - {0x17u, 0x10u}, - {0x18u, 0x08u}, - {0x19u, 0x09u}, - {0x1Au, 0x04u}, - {0x1Bu, 0x02u}, - {0x1Du, 0x40u}, - {0x1Eu, 0x80u}, - {0x21u, 0x01u}, - {0x22u, 0x62u}, - {0x23u, 0x18u}, - {0x25u, 0x80u}, - {0x28u, 0x10u}, - {0x29u, 0x48u}, - {0x2Bu, 0x88u}, - {0x2Cu, 0xA0u}, - {0x2Fu, 0x08u}, - {0x30u, 0x28u}, - {0x31u, 0x80u}, - {0x32u, 0x02u}, - {0x35u, 0x08u}, - {0x36u, 0x22u}, - {0x37u, 0x40u}, - {0x38u, 0x08u}, - {0x39u, 0x40u}, - {0x3Au, 0x02u}, - {0x3Bu, 0x10u}, - {0x3Du, 0x40u}, - {0x3Eu, 0x04u}, - {0x3Fu, 0x11u}, - {0x48u, 0x08u}, - {0x49u, 0x20u}, - {0x60u, 0x02u}, - {0x61u, 0x20u}, - {0x63u, 0xA0u}, - {0x86u, 0x40u}, - {0x88u, 0x01u}, - {0x91u, 0x84u}, - {0x92u, 0x60u}, - {0x93u, 0x05u}, - {0x95u, 0x41u}, - {0x96u, 0x0Cu}, - {0x97u, 0x10u}, - {0x98u, 0x42u}, - {0x99u, 0x06u}, - {0x9Au, 0xC4u}, - {0x9Bu, 0xA0u}, - {0x9Cu, 0x01u}, - {0x9Fu, 0x10u}, - {0xA0u, 0x08u}, - {0xA1u, 0x20u}, - {0xA2u, 0x98u}, - {0xA3u, 0x15u}, - {0xA4u, 0x80u}, - {0xA5u, 0x40u}, + {0x00u, 0x84u}, + {0x03u, 0x80u}, + {0x04u, 0x02u}, + {0x05u, 0x10u}, + {0x06u, 0x20u}, + {0x07u, 0x01u}, + {0x08u, 0x80u}, + {0x0Au, 0x05u}, + {0x0Du, 0x02u}, + {0x0Eu, 0x18u}, + {0x0Fu, 0x01u}, + {0x13u, 0x50u}, + {0x15u, 0x09u}, + {0x17u, 0x50u}, + {0x18u, 0x04u}, + {0x1Au, 0x01u}, + {0x1Bu, 0x01u}, + {0x1Du, 0xB7u}, + {0x1Eu, 0x02u}, + {0x1Fu, 0x08u}, + {0x21u, 0x04u}, + {0x25u, 0x10u}, + {0x26u, 0x50u}, + {0x27u, 0x40u}, + {0x29u, 0x15u}, + {0x2Du, 0x40u}, + {0x2Eu, 0x02u}, + {0x2Fu, 0x28u}, + {0x32u, 0x88u}, + {0x33u, 0x11u}, + {0x35u, 0x11u}, + {0x36u, 0x88u}, + {0x38u, 0x80u}, + {0x39u, 0x10u}, + {0x3Au, 0x06u}, + {0x3Du, 0x29u}, + {0x45u, 0xC0u}, + {0x66u, 0x80u}, + {0x6Cu, 0x40u}, + {0x6Du, 0x51u}, + {0x6Eu, 0x10u}, + {0x6Fu, 0x31u}, + {0x75u, 0x80u}, + {0x76u, 0x02u}, + {0x81u, 0x80u}, + {0x82u, 0x20u}, + {0x8Bu, 0x01u}, + {0x90u, 0x02u}, + {0x92u, 0x04u}, + {0x93u, 0x55u}, + {0x94u, 0x04u}, + {0x95u, 0xC1u}, + {0x96u, 0x10u}, + {0x98u, 0x10u}, + {0x99u, 0x20u}, + {0x9Au, 0x85u}, + {0x9Bu, 0x08u}, + {0x9Cu, 0x88u}, + {0x9Du, 0x19u}, + {0x9Eu, 0x02u}, + {0xA0u, 0x44u}, + {0xA1u, 0x04u}, + {0xA2u, 0x8Cu}, + {0xA3u, 0x80u}, + {0xA5u, 0x62u}, {0xA6u, 0x02u}, - {0xA7u, 0x4Au}, - {0xAAu, 0x10u}, - {0xACu, 0x50u}, - {0xAEu, 0x81u}, - {0xB4u, 0x40u}, - {0xC0u, 0xFFu}, - {0xC2u, 0xF6u}, - {0xC4u, 0xDFu}, - {0xCAu, 0xEFu}, + {0xA7u, 0x20u}, + {0xA8u, 0x04u}, + {0xA9u, 0x93u}, + {0xACu, 0x10u}, + {0xB0u, 0x01u}, + {0xC0u, 0xFDu}, + {0xC2u, 0xF3u}, + {0xC4u, 0xF3u}, + {0xCAu, 0xF7u}, {0xCCu, 0xFFu}, - {0xCEu, 0xFFu}, - {0xD8u, 0x0Fu}, - {0xE2u, 0x09u}, - {0xE6u, 0x08u}, - {0xEAu, 0x02u}, - {0xECu, 0x04u}, - {0x38u, 0x80u}, - {0x3Eu, 0x40u}, - {0x58u, 0x04u}, - {0x5Fu, 0x01u}, - {0x1Fu, 0x80u}, - {0x8Au, 0x04u}, - {0x92u, 0x0Cu}, - {0x97u, 0x01u}, - {0x9Bu, 0x80u}, - {0x9Cu, 0x02u}, - {0x9Du, 0x20u}, - {0xA3u, 0x08u}, - {0xAAu, 0x04u}, - {0xADu, 0x40u}, - {0xB5u, 0x08u}, - {0xE2u, 0x09u}, - {0xE6u, 0x28u}, - {0xE8u, 0x40u}, - {0x92u, 0x0Cu}, - {0x97u, 0x01u}, - {0x9Bu, 0x80u}, - {0x9Cu, 0x02u}, - {0x9Du, 0x28u}, - {0xA1u, 0x40u}, - {0xA3u, 0x08u}, - {0xA6u, 0x04u}, - {0xA8u, 0x40u}, + {0xCEu, 0xEFu}, + {0xD8u, 0x10u}, + {0xE2u, 0x89u}, + {0xE6u, 0x20u}, + {0xEAu, 0x08u}, + {0xEEu, 0x01u}, + {0x90u, 0x08u}, + {0x91u, 0x40u}, + {0x9Bu, 0x01u}, + {0x9Eu, 0x20u}, + {0xA2u, 0x10u}, {0xA9u, 0x04u}, - {0xAEu, 0x04u}, - {0xB0u, 0x20u}, - {0xB1u, 0x01u}, - {0xB6u, 0x08u}, - {0xB7u, 0x08u}, - {0xE0u, 0x20u}, - {0xEAu, 0x94u}, - {0xEEu, 0xA4u}, - {0x01u, 0x0Fu}, - {0x03u, 0xF0u}, - {0x04u, 0x50u}, - {0x05u, 0x30u}, - {0x06u, 0xA0u}, - {0x07u, 0xC0u}, - {0x08u, 0x06u}, - {0x09u, 0x50u}, - {0x0Au, 0x09u}, - {0x0Bu, 0xA0u}, - {0x0Cu, 0x03u}, - {0x0Du, 0x60u}, - {0x0Eu, 0x0Cu}, - {0x0Fu, 0x90u}, - {0x11u, 0xFFu}, - {0x12u, 0xFFu}, - {0x14u, 0xFFu}, - {0x15u, 0x05u}, - {0x17u, 0x0Au}, - {0x18u, 0x05u}, - {0x19u, 0x06u}, - {0x1Au, 0x0Au}, - {0x1Bu, 0x09u}, - {0x1Cu, 0x0Fu}, - {0x1Eu, 0xF0u}, - {0x1Fu, 0xFFu}, - {0x21u, 0x03u}, - {0x22u, 0xFFu}, - {0x23u, 0x0Cu}, - {0x24u, 0x30u}, - {0x26u, 0xC0u}, - {0x27u, 0xFFu}, - {0x2Cu, 0x60u}, - {0x2Eu, 0x90u}, - {0x35u, 0xFFu}, - {0x36u, 0xFFu}, - {0x3Eu, 0x40u}, - {0x3Fu, 0x10u}, + {0xAEu, 0x40u}, + {0xE2u, 0x09u}, + {0xE6u, 0x20u}, + {0xEEu, 0x20u}, + {0xB9u, 0x08u}, + {0xBFu, 0x04u}, + {0xD9u, 0x04u}, + {0xDFu, 0x01u}, + {0x27u, 0x20u}, + {0x83u, 0x20u}, + {0x8Bu, 0x04u}, + {0x8Fu, 0x10u}, + {0x90u, 0x08u}, + {0x91u, 0x40u}, + {0x97u, 0x04u}, + {0x99u, 0x04u}, + {0x9Au, 0x40u}, + {0x9Bu, 0x11u}, + {0x9Eu, 0x20u}, + {0xA2u, 0x10u}, + {0xA9u, 0x54u}, + {0xADu, 0x05u}, + {0xAFu, 0x01u}, + {0xB1u, 0x02u}, + {0xB2u, 0x18u}, + {0xB4u, 0x40u}, + {0xB5u, 0x41u}, + {0xE2u, 0x10u}, + {0xE4u, 0x20u}, + {0xE6u, 0x40u}, + {0xE8u, 0xC4u}, + {0xEAu, 0x01u}, + {0xECu, 0x80u}, + {0xEEu, 0x50u}, + {0x02u, 0x04u}, + {0x06u, 0x20u}, + {0x08u, 0x21u}, + {0x0Au, 0x42u}, + {0x0Eu, 0x04u}, + {0x11u, 0x20u}, + {0x13u, 0x90u}, + {0x15u, 0x04u}, + {0x16u, 0x18u}, + {0x17u, 0x08u}, + {0x18u, 0x04u}, + {0x1Au, 0x10u}, + {0x1Bu, 0x01u}, + {0x1Eu, 0x02u}, + {0x21u, 0x10u}, + {0x22u, 0x40u}, + {0x23u, 0x20u}, + {0x24u, 0x04u}, + {0x25u, 0x08u}, + {0x26u, 0x08u}, + {0x27u, 0x44u}, + {0x29u, 0x4Du}, + {0x2Au, 0x01u}, + {0x2Bu, 0xB2u}, + {0x2Cu, 0x80u}, + {0x2Fu, 0x02u}, + {0x30u, 0x03u}, + {0x31u, 0xC0u}, + {0x32u, 0x1Cu}, + {0x33u, 0x03u}, + {0x34u, 0x80u}, + {0x36u, 0x60u}, + {0x37u, 0x3Cu}, + {0x3Eu, 0x51u}, + {0x3Fu, 0x45u}, {0x58u, 0x04u}, {0x59u, 0x04u}, {0x5Bu, 0x04u}, + {0x5Cu, 0x01u}, {0x5Fu, 0x01u}, - {0x84u, 0x10u}, - {0x86u, 0x09u}, - {0x87u, 0x10u}, {0x8Bu, 0x08u}, - {0x8Du, 0x0Au}, - {0x8Fu, 0x14u}, - {0x90u, 0x08u}, - {0x92u, 0x10u}, - {0x93u, 0x04u}, - {0x94u, 0x04u}, - {0x95u, 0x01u}, - {0x9Cu, 0x19u}, - {0x9Eu, 0x62u}, - {0xA0u, 0x40u}, - {0xA2u, 0x22u}, - {0xABu, 0x02u}, - {0xACu, 0x20u}, - {0xAEu, 0x40u}, - {0xB0u, 0x04u}, - {0xB1u, 0x06u}, - {0xB2u, 0x03u}, - {0xB3u, 0x18u}, - {0xB4u, 0x78u}, - {0xB5u, 0x01u}, - {0xBEu, 0x15u}, - {0xBFu, 0x15u}, + {0x8Cu, 0x01u}, + {0x8Du, 0x10u}, + {0x91u, 0x04u}, + {0x93u, 0x08u}, + {0x97u, 0x04u}, + {0x98u, 0x02u}, + {0xA5u, 0x01u}, + {0xA9u, 0x02u}, + {0xACu, 0x04u}, + {0xB0u, 0x02u}, + {0xB1u, 0x02u}, + {0xB3u, 0x10u}, + {0xB4u, 0x01u}, + {0xB5u, 0x0Cu}, + {0xB6u, 0x04u}, + {0xB7u, 0x01u}, + {0xBEu, 0x51u}, + {0xBFu, 0x55u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDFu, 0x01u}, - {0x01u, 0x08u}, - {0x04u, 0x08u}, - {0x05u, 0x20u}, - {0x06u, 0x02u}, - {0x09u, 0x06u}, - {0x0Bu, 0x01u}, - {0x0Cu, 0x01u}, - {0x0Du, 0x50u}, - {0x0Eu, 0x08u}, - {0x0Fu, 0x21u}, - {0x11u, 0x02u}, - {0x12u, 0x01u}, - {0x14u, 0x80u}, - {0x15u, 0x44u}, - {0x18u, 0xA0u}, - {0x1Au, 0x08u}, - {0x1Bu, 0x30u}, - {0x1Fu, 0x80u}, - {0x22u, 0x2Au}, - {0x27u, 0x08u}, - {0x29u, 0x20u}, - {0x2Eu, 0x02u}, - {0x2Fu, 0x20u}, - {0x31u, 0x08u}, - {0x33u, 0x02u}, - {0x34u, 0x83u}, - {0x35u, 0x20u}, - {0x36u, 0x04u}, - {0x38u, 0x08u}, - {0x39u, 0xA0u}, - {0x3Du, 0x91u}, - {0x3Eu, 0x04u}, - {0x3Fu, 0x01u}, + {0x03u, 0x02u}, + {0x04u, 0x40u}, + {0x05u, 0x02u}, + {0x06u, 0x24u}, + {0x09u, 0x10u}, + {0x0Cu, 0x80u}, + {0x0Eu, 0x20u}, + {0x0Fu, 0x04u}, + {0x10u, 0x01u}, + {0x14u, 0x08u}, + {0x16u, 0x40u}, + {0x17u, 0x48u}, + {0x19u, 0x61u}, + {0x1Du, 0x90u}, + {0x1Eu, 0xA0u}, + {0x21u, 0x45u}, + {0x22u, 0x10u}, + {0x24u, 0x80u}, + {0x25u, 0x04u}, + {0x27u, 0x01u}, + {0x2Au, 0x18u}, + {0x2Cu, 0xA8u}, + {0x2Du, 0x40u}, + {0x31u, 0x02u}, + {0x32u, 0x08u}, + {0x34u, 0x08u}, + {0x36u, 0x11u}, + {0x39u, 0x10u}, + {0x3Au, 0x80u}, {0x6Cu, 0x04u}, - {0x6Du, 0xD6u}, - {0x6Eu, 0x04u}, - {0x6Fu, 0x0Au}, - {0x74u, 0x20u}, - {0x75u, 0x80u}, - {0x76u, 0x11u}, - {0x77u, 0x80u}, - {0x82u, 0x20u}, - {0x86u, 0x02u}, - {0x88u, 0x80u}, - {0x89u, 0x02u}, - {0x8Au, 0x02u}, - {0x8Cu, 0x10u}, - {0x8Fu, 0x80u}, - {0x9Cu, 0x02u}, - {0x9Du, 0xA0u}, - {0x9Eu, 0x10u}, - {0x9Fu, 0x08u}, - {0xA1u, 0x08u}, - {0xA7u, 0x10u}, - {0xAEu, 0x10u}, - {0xB1u, 0x80u}, - {0xB7u, 0x10u}, - {0xC0u, 0xE4u}, - {0xC2u, 0xFDu}, - {0xC4u, 0xB9u}, - {0xCAu, 0xC4u}, - {0xCCu, 0xF3u}, - {0xCEu, 0xFEu}, - {0xE0u, 0xA2u}, - {0xE2u, 0x50u}, + {0x6Du, 0x50u}, + {0x6Eu, 0x02u}, + {0x6Fu, 0x10u}, + {0x74u, 0x90u}, + {0x75u, 0x04u}, + {0x76u, 0x40u}, + {0x81u, 0x10u}, + {0x83u, 0x40u}, + {0x84u, 0x01u}, + {0x85u, 0x10u}, + {0x87u, 0x02u}, + {0x89u, 0x60u}, + {0x8Au, 0x80u}, + {0x8Cu, 0x08u}, + {0x8Du, 0x02u}, + {0x8Eu, 0x1Cu}, + {0x8Fu, 0x08u}, + {0x94u, 0x80u}, + {0x98u, 0x08u}, + {0xA0u, 0x20u}, + {0xA4u, 0x10u}, + {0xA5u, 0x80u}, + {0xA6u, 0x40u}, + {0xA8u, 0x08u}, + {0xA9u, 0x80u}, + {0xC0u, 0xF1u}, + {0xC2u, 0xE2u}, + {0xC4u, 0xF1u}, + {0xCAu, 0xF6u}, + {0xCCu, 0xE3u}, + {0xCEu, 0x0Cu}, + {0xE2u, 0xAAu}, + {0xE4u, 0x50u}, + {0xE6u, 0x01u}, + {0xE8u, 0x80u}, + {0xEAu, 0x04u}, + {0x80u, 0x40u}, + {0x84u, 0x10u}, + {0x86u, 0x40u}, + {0x88u, 0x20u}, + {0xE0u, 0x01u}, {0xE4u, 0x20u}, - {0xE6u, 0x98u}, - {0xEAu, 0x14u}, - {0xEEu, 0x82u}, - {0x85u, 0x20u}, - {0x87u, 0x08u}, - {0x8Cu, 0x02u}, - {0x8Du, 0x08u}, - {0xE2u, 0x10u}, - {0xAFu, 0x10u}, - {0xB2u, 0x20u}, - {0xB4u, 0x40u}, - {0xEAu, 0x40u}, - {0xECu, 0x02u}, - {0x00u, 0x03u}, - {0x02u, 0x0Cu}, - {0x04u, 0x60u}, - {0x05u, 0x01u}, - {0x06u, 0x90u}, - {0x07u, 0x02u}, - {0x0Bu, 0x10u}, - {0x0Cu, 0x0Fu}, - {0x0Eu, 0xF0u}, - {0x11u, 0x08u}, - {0x13u, 0x10u}, - {0x14u, 0x05u}, - {0x16u, 0x0Au}, - {0x17u, 0x01u}, - {0x18u, 0x06u}, - {0x1Au, 0x09u}, - {0x1Bu, 0x06u}, - {0x1Fu, 0x08u}, - {0x20u, 0x50u}, - {0x21u, 0x01u}, - {0x22u, 0xA0u}, - {0x23u, 0x04u}, - {0x24u, 0x30u}, - {0x26u, 0xC0u}, - {0x2Fu, 0x01u}, - {0x34u, 0xFFu}, - {0x35u, 0x07u}, - {0x37u, 0x18u}, - {0x3Eu, 0x10u}, + {0xABu, 0x21u}, + {0xAFu, 0x80u}, + {0xB0u, 0x08u}, + {0xB1u, 0x40u}, + {0xB2u, 0x10u}, + {0xB7u, 0x40u}, + {0x00u, 0x21u}, + {0x01u, 0x02u}, + {0x02u, 0x02u}, + {0x03u, 0x0Du}, + {0x04u, 0xE0u}, + {0x05u, 0x60u}, + {0x08u, 0x88u}, + {0x09u, 0x0Du}, + {0x0Au, 0x03u}, + {0x0Eu, 0x01u}, + {0x11u, 0x91u}, + {0x13u, 0x22u}, + {0x15u, 0x92u}, + {0x16u, 0xECu}, + {0x17u, 0x44u}, + {0x18u, 0x04u}, + {0x19u, 0xA2u}, + {0x1Au, 0x43u}, + {0x1Bu, 0x18u}, + {0x1Du, 0x0Du}, + {0x21u, 0x0Du}, + {0x25u, 0x0Du}, + {0x2Au, 0x12u}, + {0x2Du, 0x0Du}, + {0x30u, 0x10u}, + {0x31u, 0x0Fu}, + {0x32u, 0x0Fu}, + {0x35u, 0x70u}, + {0x36u, 0xE0u}, + {0x37u, 0x80u}, + {0x39u, 0x20u}, + {0x3Bu, 0x02u}, + {0x3Eu, 0x40u}, {0x3Fu, 0x40u}, - {0x56u, 0x02u}, - {0x57u, 0x28u}, + {0x54u, 0x09u}, + {0x56u, 0x04u}, {0x58u, 0x04u}, {0x59u, 0x04u}, {0x5Bu, 0x04u}, - {0x5Cu, 0x10u}, {0x5Fu, 0x01u}, - {0x86u, 0xECu}, - {0x87u, 0xFFu}, - {0x8Bu, 0xFFu}, - {0x8Du, 0x0Fu}, - {0x8Eu, 0x01u}, - {0x8Fu, 0xF0u}, - {0x91u, 0x30u}, - {0x93u, 0xC0u}, - {0x98u, 0x04u}, + {0x80u, 0x50u}, + {0x81u, 0x30u}, + {0x82u, 0xA0u}, + {0x83u, 0xC0u}, + {0x84u, 0x03u}, + {0x85u, 0x06u}, + {0x86u, 0x0Cu}, + {0x87u, 0x09u}, + {0x89u, 0xFFu}, + {0x8Au, 0xFFu}, + {0x8Cu, 0x30u}, + {0x8Eu, 0xC0u}, + {0x90u, 0x0Fu}, + {0x92u, 0xF0u}, + {0x94u, 0x09u}, + {0x95u, 0x03u}, + {0x96u, 0x06u}, + {0x97u, 0x0Cu}, {0x99u, 0x05u}, - {0x9Au, 0x43u}, + {0x9Au, 0xFFu}, {0x9Bu, 0x0Au}, - {0x9Du, 0x03u}, - {0x9Eu, 0x12u}, - {0x9Fu, 0x0Cu}, - {0xA0u, 0xE0u}, + {0x9Du, 0x0Fu}, + {0x9Eu, 0xFFu}, + {0x9Fu, 0xF0u}, + {0xA0u, 0x90u}, {0xA1u, 0x50u}, + {0xA2u, 0x60u}, {0xA3u, 0xA0u}, + {0xA4u, 0x05u}, + {0xA6u, 0x0Au}, {0xA7u, 0xFFu}, - {0xA8u, 0x88u}, - {0xA9u, 0x09u}, - {0xAAu, 0x03u}, - {0xABu, 0x06u}, - {0xACu, 0x21u}, - {0xADu, 0x90u}, - {0xAEu, 0x02u}, - {0xAFu, 0x60u}, - {0xB0u, 0xE0u}, - {0xB3u, 0xFFu}, - {0xB4u, 0x0Fu}, - {0xB6u, 0x10u}, - {0xBEu, 0x01u}, - {0xBFu, 0x04u}, - {0xD4u, 0x09u}, - {0xD6u, 0x04u}, + {0xABu, 0xFFu}, + {0xADu, 0x60u}, + {0xAFu, 0x90u}, + {0xB1u, 0xFFu}, + {0xB2u, 0xFFu}, + {0xBEu, 0x04u}, + {0xBFu, 0x01u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDBu, 0x04u}, {0xDFu, 0x01u}, - {0x00u, 0x04u}, - {0x01u, 0x80u}, - {0x07u, 0xA2u}, - {0x0Au, 0x04u}, - {0x0Bu, 0x01u}, - {0x0Eu, 0x20u}, - {0x0Fu, 0x08u}, - {0x10u, 0x40u}, - {0x12u, 0x02u}, - {0x13u, 0x10u}, - {0x16u, 0x60u}, - {0x18u, 0x44u}, - {0x19u, 0x80u}, - {0x1Fu, 0x10u}, - {0x22u, 0x04u}, - {0x25u, 0x40u}, - {0x26u, 0x20u}, - {0x28u, 0xA0u}, - {0x29u, 0x10u}, - {0x2Au, 0x80u}, - {0x2Du, 0x02u}, - {0x2Eu, 0x40u}, - {0x30u, 0x01u}, - {0x32u, 0x90u}, - {0x35u, 0x10u}, - {0x36u, 0x28u}, - {0x37u, 0x82u}, - {0x39u, 0x84u}, - {0x3Bu, 0x20u}, - {0x3Du, 0x20u}, - {0x3Eu, 0x20u}, - {0x3Fu, 0x04u}, - {0x59u, 0x25u}, - {0x5Au, 0x80u}, - {0x63u, 0x82u}, - {0x66u, 0x04u}, + {0x00u, 0x08u}, + {0x01u, 0x22u}, + {0x02u, 0x01u}, + {0x03u, 0x40u}, + {0x04u, 0x44u}, + {0x05u, 0x11u}, + {0x08u, 0x18u}, + {0x09u, 0x40u}, + {0x0Au, 0x80u}, + {0x0Eu, 0x28u}, + {0x10u, 0x20u}, + {0x12u, 0xC0u}, + {0x13u, 0x08u}, + {0x16u, 0x04u}, + {0x19u, 0x08u}, + {0x1Cu, 0x40u}, + {0x1Eu, 0x20u}, + {0x1Fu, 0x80u}, + {0x22u, 0x02u}, + {0x24u, 0x04u}, + {0x25u, 0x01u}, + {0x27u, 0x01u}, + {0x28u, 0x10u}, + {0x29u, 0x22u}, + {0x2Au, 0x40u}, + {0x2Du, 0x41u}, + {0x2Fu, 0x20u}, + {0x30u, 0x20u}, + {0x32u, 0x48u}, + {0x35u, 0x91u}, + {0x36u, 0x04u}, + {0x3Au, 0x11u}, + {0x3Bu, 0x08u}, + {0x3Cu, 0x04u}, + {0x3Du, 0x02u}, + {0x3Eu, 0x10u}, + {0x46u, 0x80u}, + {0x47u, 0x01u}, + {0x48u, 0x04u}, + {0x4Au, 0x08u}, + {0x5Eu, 0x82u}, + {0x5Fu, 0x24u}, + {0x64u, 0x08u}, + {0x66u, 0x82u}, + {0x67u, 0x08u}, {0x69u, 0x80u}, - {0x6Bu, 0x02u}, - {0x6Cu, 0x20u}, - {0x6Du, 0x41u}, - {0x6Fu, 0xD9u}, - {0x74u, 0x80u}, - {0x76u, 0x02u}, + {0x6Au, 0x80u}, + {0x82u, 0x80u}, + {0x8Au, 0x02u}, + {0x91u, 0x41u}, + {0x92u, 0x10u}, + {0x93u, 0x05u}, + {0x95u, 0x80u}, + {0x98u, 0x10u}, + {0x99u, 0xB1u}, + {0x9Au, 0x05u}, + {0x9Bu, 0x08u}, + {0x9Cu, 0x08u}, + {0x9Du, 0x08u}, + {0xA0u, 0x04u}, + {0xA2u, 0x45u}, + {0xA3u, 0x20u}, + {0xA6u, 0x02u}, + {0xA8u, 0x04u}, + {0xB2u, 0x10u}, + {0xC0u, 0xFFu}, + {0xC2u, 0x6Fu}, + {0xC4u, 0x4Cu}, + {0xCAu, 0xDFu}, + {0xCCu, 0xFEu}, + {0xCEu, 0xE7u}, + {0xD6u, 0xF0u}, + {0xD8u, 0x90u}, + {0xE2u, 0x80u}, + {0xE6u, 0x04u}, + {0xE8u, 0x04u}, + {0xEAu, 0x80u}, + {0xEEu, 0x02u}, {0x81u, 0x40u}, - {0x8Fu, 0x40u}, - {0x91u, 0x04u}, - {0x92u, 0xE4u}, - {0x93u, 0x15u}, - {0x95u, 0x41u}, - {0x96u, 0x08u}, - {0x98u, 0xE1u}, - {0x99u, 0x27u}, - {0x9Au, 0xC4u}, - {0x9Bu, 0xA0u}, - {0x9Eu, 0x02u}, - {0x9Fu, 0x51u}, - {0xA1u, 0x10u}, - {0xA2u, 0x9Au}, - {0xA3u, 0x05u}, - {0xA4u, 0xA0u}, - {0xA5u, 0x40u}, - {0xA7u, 0x88u}, - {0xB0u, 0xA0u}, - {0xB5u, 0x10u}, - {0xC0u, 0xB5u}, - {0xC2u, 0x63u}, - {0xC4u, 0x3Bu}, - {0xCAu, 0x9Fu}, - {0xCCu, 0xFDu}, - {0xCEu, 0x6Eu}, - {0xD6u, 0x0Fu}, - {0xD8u, 0x49u}, - {0xE0u, 0x01u}, - {0xE6u, 0x40u}, - {0xEEu, 0x06u}, - {0x83u, 0x01u}, - {0x97u, 0x01u}, - {0x9Cu, 0x02u}, - {0x9Du, 0x20u}, - {0xABu, 0x80u}, - {0xB2u, 0x04u}, - {0xB3u, 0x08u}, - {0xB7u, 0x80u}, - {0xEAu, 0xA0u}, - {0xEEu, 0x12u}, - {0xACu, 0x02u}, - {0xB1u, 0x20u}, - {0xE8u, 0x20u}, + {0x90u, 0x08u}, + {0x91u, 0x40u}, + {0x9Bu, 0x01u}, + {0xA2u, 0x10u}, + {0xAAu, 0x20u}, + {0xEEu, 0x02u}, + {0xB2u, 0x10u}, + {0xB3u, 0x01u}, + {0xB4u, 0x04u}, + {0xEAu, 0x90u}, + {0xEEu, 0x20u}, {0x12u, 0x08u}, {0x15u, 0x80u}, {0x17u, 0x01u}, {0x33u, 0x01u}, {0x36u, 0x88u}, - {0x38u, 0x01u}, - {0x39u, 0x80u}, - {0x3Cu, 0x04u}, - {0x3Du, 0x80u}, - {0x43u, 0x10u}, - {0x50u, 0x80u}, - {0x5Au, 0x04u}, - {0x5Du, 0x02u}, - {0x61u, 0x20u}, - {0x64u, 0x08u}, - {0x89u, 0x40u}, - {0x8Cu, 0x01u}, - {0x8Du, 0x20u}, + {0x39u, 0x84u}, + {0x3Du, 0x41u}, + {0x40u, 0x08u}, + {0x59u, 0x12u}, + {0x5Fu, 0x02u}, + {0x61u, 0x02u}, + {0x65u, 0x04u}, + {0x81u, 0x40u}, + {0x87u, 0x02u}, + {0x8Du, 0x10u}, {0xC4u, 0xE0u}, {0xCCu, 0xE0u}, {0xCEu, 0xF0u}, {0xD0u, 0x10u}, - {0xD4u, 0x20u}, + {0xD4u, 0x80u}, {0xD6u, 0xC0u}, {0xD8u, 0xC0u}, - {0x31u, 0x20u}, - {0x32u, 0x04u}, + {0xE6u, 0x60u}, + {0x31u, 0x22u}, {0x36u, 0x40u}, {0x37u, 0x04u}, - {0x50u, 0x08u}, - {0x51u, 0x01u}, - {0x55u, 0x08u}, - {0x5Du, 0x02u}, - {0x81u, 0x02u}, - {0x89u, 0x01u}, - {0x94u, 0x04u}, - {0x96u, 0x04u}, + {0x54u, 0x02u}, + {0x56u, 0x80u}, + {0x59u, 0x40u}, + {0x63u, 0x80u}, + {0x85u, 0x04u}, + {0x95u, 0x04u}, {0x9Cu, 0x08u}, - {0x9Fu, 0x10u}, + {0x9Du, 0x02u}, {0xA6u, 0x80u}, - {0xACu, 0x80u}, - {0xADu, 0x02u}, + {0xA9u, 0x04u}, + {0xADu, 0x01u}, + {0xB1u, 0x02u}, {0xCCu, 0xF0u}, - {0xD4u, 0xE0u}, - {0xD6u, 0x80u}, - {0xE6u, 0x20u}, + {0xD4u, 0xC0u}, + {0xD6u, 0x20u}, + {0xD8u, 0x40u}, + {0xE6u, 0x40u}, {0xEAu, 0x10u}, - {0xEEu, 0x10u}, + {0xEEu, 0x80u}, {0x12u, 0x80u}, - {0x80u, 0x08u}, - {0x86u, 0x04u}, - {0x89u, 0x02u}, - {0x8Cu, 0x08u}, - {0x96u, 0x0Cu}, + {0x63u, 0x01u}, + {0x83u, 0x41u}, + {0x8Du, 0x02u}, {0x9Cu, 0x08u}, - {0x9Fu, 0x14u}, - {0xA4u, 0x08u}, - {0xA5u, 0x20u}, + {0x9Du, 0x42u}, + {0x9Fu, 0x04u}, + {0xA5u, 0x22u}, {0xA6u, 0xC0u}, - {0xB4u, 0x04u}, - {0xB5u, 0x08u}, + {0xA7u, 0x40u}, + {0xA8u, 0x02u}, + {0xAAu, 0x80u}, {0xC4u, 0x10u}, - {0xE2u, 0xC0u}, - {0x63u, 0x08u}, + {0xD6u, 0x40u}, + {0xE2u, 0xA0u}, + {0xEAu, 0xA0u}, {0x83u, 0x04u}, {0x85u, 0x20u}, - {0x86u, 0x04u}, - {0x87u, 0x08u}, - {0x96u, 0x08u}, - {0x9Du, 0x02u}, - {0x9Fu, 0x14u}, - {0xA5u, 0x20u}, + {0x89u, 0x42u}, + {0x9Cu, 0x08u}, + {0x9Du, 0x41u}, + {0x9Fu, 0x04u}, + {0xA5u, 0x22u}, {0xA6u, 0x40u}, - {0xD8u, 0x40u}, + {0xA9u, 0x01u}, {0xE2u, 0x90u}, - {0xE6u, 0x50u}, - {0x09u, 0x80u}, - {0x0Eu, 0x80u}, - {0x13u, 0x01u}, - {0x50u, 0x80u}, - {0x51u, 0x02u}, - {0x54u, 0x04u}, - {0x56u, 0x01u}, - {0x8Fu, 0x01u}, + {0xE8u, 0x20u}, + {0x09u, 0x40u}, + {0x0Fu, 0x20u}, + {0x13u, 0x08u}, + {0x51u, 0x08u}, + {0x53u, 0x02u}, + {0x57u, 0x20u}, + {0x5Cu, 0x40u}, + {0x81u, 0x08u}, {0xC2u, 0x06u}, {0xC4u, 0x08u}, {0xD4u, 0x07u}, {0xD6u, 0x04u}, - {0xE6u, 0x08u}, - {0x02u, 0x08u}, - {0x05u, 0x40u}, - {0x06u, 0x20u}, - {0x08u, 0x24u}, - {0x0Du, 0x08u}, - {0x0Eu, 0x08u}, - {0x84u, 0x20u}, - {0x85u, 0x02u}, - {0x88u, 0x04u}, - {0x8Cu, 0x80u}, - {0x8Du, 0x88u}, - {0x9Eu, 0x21u}, - {0xA1u, 0x80u}, - {0xA4u, 0x84u}, - {0xA5u, 0x02u}, - {0xAAu, 0x20u}, - {0xAEu, 0x40u}, + {0x03u, 0x08u}, + {0x06u, 0x08u}, + {0x07u, 0x80u}, + {0x0Bu, 0x84u}, + {0x0Cu, 0x08u}, + {0x0Du, 0x10u}, + {0x82u, 0x08u}, + {0x84u, 0x08u}, + {0x87u, 0x40u}, + {0x8Bu, 0x04u}, + {0x8Cu, 0x40u}, + {0x8Fu, 0x08u}, + {0x94u, 0x40u}, + {0xA1u, 0x40u}, + {0xA3u, 0x10u}, + {0xA7u, 0x02u}, + {0xABu, 0x08u}, + {0xB3u, 0x20u}, {0xC0u, 0x07u}, {0xC2u, 0x0Fu}, + {0xE0u, 0x02u}, {0xE2u, 0x08u}, - {0xE4u, 0x02u}, - {0xE6u, 0x09u}, - {0x88u, 0x04u}, - {0xA4u, 0x04u}, - {0xAAu, 0x0Cu}, - {0xB1u, 0x40u}, - {0xB6u, 0x01u}, - {0xE0u, 0x04u}, - {0xEAu, 0x01u}, - {0xECu, 0x02u}, - {0x0Bu, 0x88u}, + {0xE6u, 0x04u}, + {0xE8u, 0x01u}, + {0x8Fu, 0x10u}, + {0xA1u, 0x40u}, + {0xA3u, 0x10u}, + {0xABu, 0x82u}, + {0xB1u, 0x10u}, + {0xE2u, 0x08u}, + {0xEEu, 0x04u}, + {0x09u, 0x40u}, + {0x0Bu, 0x80u}, {0x0Fu, 0x41u}, {0x83u, 0x01u}, - {0x87u, 0x44u}, + {0x87u, 0x40u}, + {0x89u, 0x40u}, + {0xB1u, 0x40u}, {0xC2u, 0x0Fu}, - {0x8Fu, 0x10u}, - {0x9Du, 0x02u}, - {0x9Fu, 0x10u}, - {0xA3u, 0x08u}, - {0xABu, 0x04u}, + {0xE6u, 0x04u}, + {0xEEu, 0x04u}, + {0x88u, 0x08u}, + {0x9Cu, 0x08u}, + {0x9Du, 0x01u}, + {0xA3u, 0x20u}, {0xAEu, 0x40u}, - {0xEEu, 0x60u}, - {0x05u, 0x02u}, - {0x57u, 0x08u}, - {0x5Du, 0x40u}, - {0x91u, 0x40u}, - {0x9Du, 0x02u}, - {0xA3u, 0x08u}, - {0xB5u, 0x40u}, + {0xB3u, 0x20u}, + {0xEEu, 0x40u}, + {0x05u, 0x01u}, + {0x57u, 0x21u}, + {0x9Du, 0x01u}, + {0xA3u, 0x21u}, + {0xAFu, 0x01u}, {0xC0u, 0x20u}, {0xD4u, 0x40u}, {0xD6u, 0x20u}, + {0xEEu, 0x10u}, {0xAFu, 0x40u}, {0x00u, 0x03u}, {0x08u, 0x03u}, {0x0Au, 0x03u}, - {0x10u, 0x03u}, - {0x1Au, 0x03u}, + {0x0Eu, 0x02u}, + {0x10u, 0x01u}, + {0x1Au, 0x01u}, {0x00u, 0xFDu}, {0x01u, 0xABu}, {0x02u, 0x02u}, @@ -1538,41 +1587,17 @@ void cyfitter_cfg(void) uint16 size; } CYPACKED_ATTR cfg_memset_t; - - CYPACKED typedef struct { - void CYFAR *dest; - const void CYCODE *src; - uint16 size; - } CYPACKED_ATTR cfg_memcpy_t; - static const cfg_memset_t CYCODE cfg_memset_list [] = { /* address, size */ {(void CYFAR *)(CYREG_TMR0_CFG0), 12u}, {(void CYFAR *)(CYREG_PRT1_DR), 16u}, - {(void CYFAR *)(CYDEV_UCFG_B0_P0_U0_BASE), 1024u}, - {(void CYFAR *)(CYDEV_UCFG_B0_P2_U1_BASE), 2944u}, + {(void CYFAR *)(CYDEV_UCFG_B0_P0_U0_BASE), 4096u}, {(void CYFAR *)(CYDEV_UCFG_B1_P2_U0_BASE), 2048u}, {(void CYFAR *)(CYDEV_UCFG_DSI0_BASE), 2560u}, {(void CYFAR *)(CYDEV_UCFG_DSI12_BASE), 512u}, {(void CYFAR *)(CYREG_BCTL0_MDCLK_EN), 32u}, }; - /* UDB_1_3_0_CONFIG Address: CYDEV_UCFG_B0_P2_U0_BASE Size (bytes): 128 */ - static const uint8 CYCODE BS_UDB_1_3_0_CONFIG_VAL[] = { - 0x8Du, 0x00u, 0x00u, 0x00u, 0x8Du, 0x09u, 0x00u, 0x12u, 0x8Du, 0x00u, 0x00u, 0x01u, 0x0Du, 0x00u, 0x80u, 0x30u, - 0x02u, 0x00u, 0x0Du, 0x00u, 0x00u, 0x00u, 0x80u, 0x09u, 0x12u, 0x00u, 0x44u, 0x06u, 0x60u, 0x00u, 0x00u, 0x08u, - 0x8Du, 0x09u, 0x00u, 0x24u, 0x00u, 0x00u, 0x00u, 0x00u, 0x22u, 0x00u, 0x18u, 0x00u, 0x11u, 0x00u, 0x22u, 0x00u, - 0x0Fu, 0x38u, 0x00u, 0x00u, 0x80u, 0x07u, 0x70u, 0x00u, 0x80u, 0x00u, 0x02u, 0x00u, 0x00u, 0x00u, 0x10u, 0x00u, - 0x26u, 0x05u, 0x40u, 0x00u, 0x03u, 0xBEu, 0xFBu, 0xDCu, 0x3Fu, 0xFFu, 0xFFu, 0xFFu, 0x22u, 0x00u, 0xF0u, 0x08u, - 0x04u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x04u, 0x04u, 0x04u, 0x04u, 0x10u, 0x00u, 0x00u, 0x01u, - 0x00u, 0x00u, 0xC0u, 0x00u, 0x40u, 0x01u, 0x10u, 0x11u, 0xC0u, 0x01u, 0x00u, 0x11u, 0x40u, 0x01u, 0x40u, 0x01u, - 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u}; - - static const cfg_memcpy_t CYCODE cfg_memcpy_list [] = { - /* dest, src, size */ - {(void CYFAR *)(CYDEV_UCFG_B0_P2_U0_BASE), BS_UDB_1_3_0_CONFIG_VAL, 128u}, - }; - uint8 CYDATA i; /* Zero out critical memory blocks before beginning configuration */ @@ -1582,16 +1607,6 @@ void cyfitter_cfg(void) CYMEMZERO(ms->address, (uint32)(ms->size)); } - /* Copy device configuration data into registers */ - for (i = 0u; i < (sizeof(cfg_memcpy_list)/sizeof(cfg_memcpy_list[0])); i++) - { - const cfg_memcpy_t CYCODE * CYDATA mc = &cfg_memcpy_list[i]; - void * CYDATA destPtr = mc->dest; - const void CYCODE * CYDATA srcPtr = mc->src; - uint16 CYDATA numBytes = mc->size; - CYCONFIGCPYCODE(destPtr, srcPtr, numBytes); - } - cfg_write_bytes32(cy_cfg_addr_table, cy_cfg_data_table); /* Perform normal device configuration. Order is not critical for these items. */ diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc index b4c3cb67..9362175a 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc +++ b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc @@ -84,28 +84,28 @@ /* SCSI_CTL_PHASE */ .set SCSI_CTL_PHASE_Sync_ctrl_reg__0__MASK, 0x01 .set SCSI_CTL_PHASE_Sync_ctrl_reg__0__POS, 0 -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB02_03_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB02_03_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB02_03_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB02_03_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB02_03_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB02_03_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB02_03_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB02_03_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB02_03_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB05_06_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB05_06_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB05_06_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB05_06_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB05_06_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB05_06_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB05_06_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB05_06_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB05_06_MSK .set SCSI_CTL_PHASE_Sync_ctrl_reg__1__MASK, 0x02 .set SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS, 1 .set SCSI_CTL_PHASE_Sync_ctrl_reg__2__MASK, 0x04 .set SCSI_CTL_PHASE_Sync_ctrl_reg__2__POS, 2 -.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB02_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB02_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB02_ST_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB02_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB02_ST_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB05_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB05_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB05_ST_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB05_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB05_ST_CTL .set SCSI_CTL_PHASE_Sync_ctrl_reg__MASK, 0x07 -.set SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB02_MSK_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB02_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB02_MSK_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB05_MSK_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB05_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB05_MSK_ACTL /* SCSI_Out_Bits */ .set SCSI_Out_Bits_Sync_ctrl_reg__0__MASK, 0x01 @@ -630,34 +630,34 @@ .set SCSI_RST_ISR__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 /* SDCard_BSPIM */ -.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB06_07_ACTL -.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG, CYREG_B1_UDB06_07_ST -.set SDCard_BSPIM_BitCounter_ST__MASK_REG, CYREG_B1_UDB06_MSK -.set SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG, CYREG_B1_UDB06_ACTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG, CYREG_B1_UDB06_ST_CTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG, CYREG_B1_UDB06_ST_CTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_REG, CYREG_B1_UDB06_ST -.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG, CYREG_B1_UDB06_07_ACTL -.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG, CYREG_B1_UDB06_07_CTL -.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG, CYREG_B1_UDB06_07_CTL -.set SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG, CYREG_B1_UDB06_07_CTL -.set SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG, CYREG_B1_UDB06_07_CTL -.set SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG, CYREG_B1_UDB06_07_MSK -.set SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG, CYREG_B1_UDB06_07_MSK -.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG, CYREG_B1_UDB06_07_MSK -.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG, CYREG_B1_UDB06_07_MSK -.set SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG, CYREG_B1_UDB06_ACTL -.set SDCard_BSPIM_BitCounter__CONTROL_REG, CYREG_B1_UDB06_CTL -.set SDCard_BSPIM_BitCounter__CONTROL_ST_REG, CYREG_B1_UDB06_ST_CTL -.set SDCard_BSPIM_BitCounter__COUNT_REG, CYREG_B1_UDB06_CTL -.set SDCard_BSPIM_BitCounter__COUNT_ST_REG, CYREG_B1_UDB06_ST_CTL -.set SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set SDCard_BSPIM_BitCounter__PERIOD_REG, CYREG_B1_UDB06_MSK -.set SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB07_08_ACTL -.set SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG, CYREG_B0_UDB07_08_ST +.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB06_07_ACTL +.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG, CYREG_B0_UDB06_07_ST +.set SDCard_BSPIM_BitCounter_ST__MASK_REG, CYREG_B0_UDB06_MSK +.set SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB06_MSK_ACTL +.set SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG, CYREG_B0_UDB06_MSK_ACTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG, CYREG_B0_UDB06_ACTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG, CYREG_B0_UDB06_ST_CTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG, CYREG_B0_UDB06_ST_CTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_REG, CYREG_B0_UDB06_ST +.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB06_07_ACTL +.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB06_07_CTL +.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB06_07_CTL +.set SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB06_07_CTL +.set SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB06_07_CTL +.set SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG, CYREG_B0_UDB06_07_MSK +.set SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB06_07_MSK +.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB06_07_MSK +.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB06_07_MSK +.set SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG, CYREG_B0_UDB06_ACTL +.set SDCard_BSPIM_BitCounter__CONTROL_REG, CYREG_B0_UDB06_CTL +.set SDCard_BSPIM_BitCounter__CONTROL_ST_REG, CYREG_B0_UDB06_ST_CTL +.set SDCard_BSPIM_BitCounter__COUNT_REG, CYREG_B0_UDB06_CTL +.set SDCard_BSPIM_BitCounter__COUNT_ST_REG, CYREG_B0_UDB06_ST_CTL +.set SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB06_MSK_ACTL +.set SDCard_BSPIM_BitCounter__PERIOD_REG, CYREG_B0_UDB06_MSK +.set SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB06_MSK_ACTL +.set SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB05_06_ACTL +.set SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG, CYREG_B0_UDB05_06_ST .set SDCard_BSPIM_RxStsReg__4__MASK, 0x10 .set SDCard_BSPIM_RxStsReg__4__POS, 4 .set SDCard_BSPIM_RxStsReg__5__MASK, 0x20 @@ -665,13 +665,17 @@ .set SDCard_BSPIM_RxStsReg__6__MASK, 0x40 .set SDCard_BSPIM_RxStsReg__6__POS, 6 .set SDCard_BSPIM_RxStsReg__MASK, 0x70 -.set SDCard_BSPIM_RxStsReg__MASK_REG, CYREG_B0_UDB07_MSK -.set SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB07_ACTL -.set SDCard_BSPIM_RxStsReg__STATUS_REG, CYREG_B0_UDB07_ST +.set SDCard_BSPIM_RxStsReg__MASK_REG, CYREG_B0_UDB05_MSK +.set SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB05_MSK_ACTL +.set SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG, CYREG_B0_UDB05_MSK_ACTL +.set SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB05_ACTL +.set SDCard_BSPIM_RxStsReg__STATUS_CNT_REG, CYREG_B0_UDB05_ST_CTL +.set SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG, CYREG_B0_UDB05_ST_CTL +.set SDCard_BSPIM_RxStsReg__STATUS_REG, CYREG_B0_UDB05_ST .set SDCard_BSPIM_TxStsReg__0__MASK, 0x01 .set SDCard_BSPIM_TxStsReg__0__POS, 0 -.set SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB07_08_ACTL -.set SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG, CYREG_B1_UDB07_08_ST +.set SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB06_07_ACTL +.set SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG, CYREG_B1_UDB06_07_ST .set SDCard_BSPIM_TxStsReg__1__MASK, 0x02 .set SDCard_BSPIM_TxStsReg__1__POS, 1 .set SDCard_BSPIM_TxStsReg__2__MASK, 0x04 @@ -681,30 +685,28 @@ .set SDCard_BSPIM_TxStsReg__4__MASK, 0x10 .set SDCard_BSPIM_TxStsReg__4__POS, 4 .set SDCard_BSPIM_TxStsReg__MASK, 0x1F -.set SDCard_BSPIM_TxStsReg__MASK_REG, CYREG_B1_UDB07_MSK -.set SDCard_BSPIM_TxStsReg__MASK_ST_AUX_CTL_REG, CYREG_B1_UDB07_MSK_ACTL -.set SDCard_BSPIM_TxStsReg__PER_ST_AUX_CTL_REG, CYREG_B1_UDB07_MSK_ACTL -.set SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG, CYREG_B1_UDB07_ACTL -.set SDCard_BSPIM_TxStsReg__STATUS_CNT_REG, CYREG_B1_UDB07_ST_CTL -.set SDCard_BSPIM_TxStsReg__STATUS_CONTROL_REG, CYREG_B1_UDB07_ST_CTL -.set SDCard_BSPIM_TxStsReg__STATUS_REG, CYREG_B1_UDB07_ST -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG, CYREG_B0_UDB04_05_A0 -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG, CYREG_B0_UDB04_05_A1 -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG, CYREG_B0_UDB04_05_D0 -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG, CYREG_B0_UDB04_05_D1 -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG, CYREG_B0_UDB04_05_ACTL -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG, CYREG_B0_UDB04_05_F0 -.set SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG, CYREG_B0_UDB04_05_F1 -.set SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG, CYREG_B0_UDB04_A0_A1 -.set SDCard_BSPIM_sR8_Dp_u0__A0_REG, CYREG_B0_UDB04_A0 -.set SDCard_BSPIM_sR8_Dp_u0__A1_REG, CYREG_B0_UDB04_A1 -.set SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG, CYREG_B0_UDB04_D0_D1 -.set SDCard_BSPIM_sR8_Dp_u0__D0_REG, CYREG_B0_UDB04_D0 -.set SDCard_BSPIM_sR8_Dp_u0__D1_REG, CYREG_B0_UDB04_D1 -.set SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG, CYREG_B0_UDB04_ACTL -.set SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG, CYREG_B0_UDB04_F0_F1 -.set SDCard_BSPIM_sR8_Dp_u0__F0_REG, CYREG_B0_UDB04_F0 -.set SDCard_BSPIM_sR8_Dp_u0__F1_REG, CYREG_B0_UDB04_F1 +.set SDCard_BSPIM_TxStsReg__MASK_REG, CYREG_B1_UDB06_MSK +.set SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG, CYREG_B1_UDB06_ACTL +.set SDCard_BSPIM_TxStsReg__STATUS_REG, CYREG_B1_UDB06_ST +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG, CYREG_B0_UDB05_06_A0 +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG, CYREG_B0_UDB05_06_A1 +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG, CYREG_B0_UDB05_06_D0 +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG, CYREG_B0_UDB05_06_D1 +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG, CYREG_B0_UDB05_06_ACTL +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG, CYREG_B0_UDB05_06_F0 +.set SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG, CYREG_B0_UDB05_06_F1 +.set SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG, CYREG_B0_UDB05_A0_A1 +.set SDCard_BSPIM_sR8_Dp_u0__A0_REG, CYREG_B0_UDB05_A0 +.set SDCard_BSPIM_sR8_Dp_u0__A1_REG, CYREG_B0_UDB05_A1 +.set SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG, CYREG_B0_UDB05_D0_D1 +.set SDCard_BSPIM_sR8_Dp_u0__D0_REG, CYREG_B0_UDB05_D0 +.set SDCard_BSPIM_sR8_Dp_u0__D1_REG, CYREG_B0_UDB05_D1 +.set SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG, CYREG_B0_UDB05_ACTL +.set SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG, CYREG_B0_UDB05_F0_F1 +.set SDCard_BSPIM_sR8_Dp_u0__F0_REG, CYREG_B0_UDB05_F0 +.set SDCard_BSPIM_sR8_Dp_u0__F1_REG, CYREG_B0_UDB05_F1 +.set SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG, CYREG_B0_UDB05_MSK_ACTL +.set SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG, CYREG_B0_UDB05_MSK_ACTL /* USBFS_dp_int */ .set USBFS_dp_int__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 @@ -1183,17 +1185,6 @@ .set SD_Data_Clk__PM_STBY_CFG, CYREG_PM_STBY_CFG2 .set SD_Data_Clk__PM_STBY_MSK, 0x01 -/* SD_Init_Clk */ -.set SD_Init_Clk__CFG0, CYREG_CLKDIST_DCFG3_CFG0 -.set SD_Init_Clk__CFG1, CYREG_CLKDIST_DCFG3_CFG1 -.set SD_Init_Clk__CFG2, CYREG_CLKDIST_DCFG3_CFG2 -.set SD_Init_Clk__CFG2_SRC_SEL_MASK, 0x07 -.set SD_Init_Clk__INDEX, 0x03 -.set SD_Init_Clk__PM_ACT_CFG, CYREG_PM_ACT_CFG2 -.set SD_Init_Clk__PM_ACT_MSK, 0x08 -.set SD_Init_Clk__PM_STBY_CFG, CYREG_PM_STBY_CFG2 -.set SD_Init_Clk__PM_STBY_MSK, 0x08 - /* timer_clock */ .set timer_clock__CFG0, CYREG_CLKDIST_DCFG2_CFG0 .set timer_clock__CFG1, CYREG_CLKDIST_DCFG2_CFG1 @@ -1208,8 +1199,8 @@ /* scsiTarget */ .set scsiTarget_StatusReg__0__MASK, 0x01 .set scsiTarget_StatusReg__0__POS, 0 -.set scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB04_05_ACTL -.set scsiTarget_StatusReg__16BIT_STATUS_REG, CYREG_B0_UDB04_05_ST +.set scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB00_01_ACTL +.set scsiTarget_StatusReg__16BIT_STATUS_REG, CYREG_B0_UDB00_01_ST .set scsiTarget_StatusReg__1__MASK, 0x02 .set scsiTarget_StatusReg__1__POS, 1 .set scsiTarget_StatusReg__2__MASK, 0x04 @@ -1219,9 +1210,9 @@ .set scsiTarget_StatusReg__4__MASK, 0x10 .set scsiTarget_StatusReg__4__POS, 4 .set scsiTarget_StatusReg__MASK, 0x1F -.set scsiTarget_StatusReg__MASK_REG, CYREG_B0_UDB04_MSK -.set scsiTarget_StatusReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB04_ACTL -.set scsiTarget_StatusReg__STATUS_REG, CYREG_B0_UDB04_ST +.set scsiTarget_StatusReg__MASK_REG, CYREG_B0_UDB00_MSK +.set scsiTarget_StatusReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB00_ACTL +.set scsiTarget_StatusReg__STATUS_REG, CYREG_B0_UDB00_ST .set scsiTarget_datapath_PI__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB03_04_ACTL .set scsiTarget_datapath_PI__16BIT_STATUS_REG, CYREG_B0_UDB03_04_ST .set scsiTarget_datapath_PI__MASK_REG, CYREG_B0_UDB03_MSK @@ -1268,9 +1259,6 @@ .set scsiTarget_datapath__MSK_DP_AUX_CTL_REG, CYREG_B0_UDB03_MSK_ACTL .set scsiTarget_datapath__PER_DP_AUX_CTL_REG, CYREG_B0_UDB03_MSK_ACTL -/* SD_Clk_Ctl */ -.set SD_Clk_Ctl_Sync_ctrl_reg__REMOVED, 1 - /* USBFS_ep_0 */ .set USBFS_ep_0__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set USBFS_ep_0__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc index b9e9e28b..aefac3b5 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc +++ b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc @@ -84,28 +84,28 @@ USBFS_bus_reset__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 /* SCSI_CTL_PHASE */ SCSI_CTL_PHASE_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_CTL_PHASE_Sync_ctrl_reg__0__POS EQU 0 -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB02_03_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB02_03_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB02_03_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB02_03_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB02_03_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB05_06_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB05_06_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB05_06_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB05_06_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB05_06_MSK SCSI_CTL_PHASE_Sync_ctrl_reg__1__MASK EQU 0x02 SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS EQU 1 SCSI_CTL_PHASE_Sync_ctrl_reg__2__MASK EQU 0x04 SCSI_CTL_PHASE_Sync_ctrl_reg__2__POS EQU 2 -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB02_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB02_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB02_ST_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB02_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB02_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB05_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB05_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB05_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB05_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB05_ST_CTL SCSI_CTL_PHASE_Sync_ctrl_reg__MASK EQU 0x07 -SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB02_MSK_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB02_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB02_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB05_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL /* SCSI_Out_Bits */ SCSI_Out_Bits_Sync_ctrl_reg__0__MASK EQU 0x01 @@ -630,34 +630,34 @@ SCSI_RST_ISR__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_RST_ISR__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 /* SDCard_BSPIM */ -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B1_UDB06_07_ST -SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B1_UDB06_MSK -SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B1_UDB06_ST -SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B1_UDB06_CTL -SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B1_UDB06_CTL -SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B1_UDB06_MSK -SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB07_08_ACTL -SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B0_UDB07_08_ST +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_07_ACTL +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B0_UDB06_07_ST +SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B0_UDB06_MSK +SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B0_UDB06_ST +SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB06_07_ACTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB06_ACTL +SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B0_UDB06_CTL +SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B0_UDB06_CTL +SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B0_UDB06_MSK +SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB05_06_ACTL +SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B0_UDB05_06_ST SDCard_BSPIM_RxStsReg__4__MASK EQU 0x10 SDCard_BSPIM_RxStsReg__4__POS EQU 4 SDCard_BSPIM_RxStsReg__5__MASK EQU 0x20 @@ -665,13 +665,17 @@ SDCard_BSPIM_RxStsReg__5__POS EQU 5 SDCard_BSPIM_RxStsReg__6__MASK EQU 0x40 SDCard_BSPIM_RxStsReg__6__POS EQU 6 SDCard_BSPIM_RxStsReg__MASK EQU 0x70 -SDCard_BSPIM_RxStsReg__MASK_REG EQU CYREG_B0_UDB07_MSK -SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB07_ACTL -SDCard_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B0_UDB07_ST +SDCard_BSPIM_RxStsReg__MASK_REG EQU CYREG_B0_UDB05_MSK +SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB05_ACTL +SDCard_BSPIM_RxStsReg__STATUS_CNT_REG EQU CYREG_B0_UDB05_ST_CTL +SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG EQU CYREG_B0_UDB05_ST_CTL +SDCard_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B0_UDB05_ST SDCard_BSPIM_TxStsReg__0__MASK EQU 0x01 SDCard_BSPIM_TxStsReg__0__POS EQU 0 -SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_08_ACTL -SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB07_08_ST +SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL +SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB06_07_ST SDCard_BSPIM_TxStsReg__1__MASK EQU 0x02 SDCard_BSPIM_TxStsReg__1__POS EQU 1 SDCard_BSPIM_TxStsReg__2__MASK EQU 0x04 @@ -681,30 +685,28 @@ SDCard_BSPIM_TxStsReg__3__POS EQU 3 SDCard_BSPIM_TxStsReg__4__MASK EQU 0x10 SDCard_BSPIM_TxStsReg__4__POS EQU 4 SDCard_BSPIM_TxStsReg__MASK EQU 0x1F -SDCard_BSPIM_TxStsReg__MASK_REG EQU CYREG_B1_UDB07_MSK -SDCard_BSPIM_TxStsReg__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB07_MSK_ACTL -SDCard_BSPIM_TxStsReg__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB07_MSK_ACTL -SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_ACTL -SDCard_BSPIM_TxStsReg__STATUS_CNT_REG EQU CYREG_B1_UDB07_ST_CTL -SDCard_BSPIM_TxStsReg__STATUS_CONTROL_REG EQU CYREG_B1_UDB07_ST_CTL -SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B1_UDB07_ST -SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B0_UDB04_05_A0 -SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B0_UDB04_05_A1 -SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG EQU CYREG_B0_UDB04_05_D0 -SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG EQU CYREG_B0_UDB04_05_D1 -SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL -SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG EQU CYREG_B0_UDB04_05_F0 -SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG EQU CYREG_B0_UDB04_05_F1 -SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG EQU CYREG_B0_UDB04_A0_A1 -SDCard_BSPIM_sR8_Dp_u0__A0_REG EQU CYREG_B0_UDB04_A0 -SDCard_BSPIM_sR8_Dp_u0__A1_REG EQU CYREG_B0_UDB04_A1 -SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG EQU CYREG_B0_UDB04_D0_D1 -SDCard_BSPIM_sR8_Dp_u0__D0_REG EQU CYREG_B0_UDB04_D0 -SDCard_BSPIM_sR8_Dp_u0__D1_REG EQU CYREG_B0_UDB04_D1 -SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL -SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B0_UDB04_F0_F1 -SDCard_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B0_UDB04_F0 -SDCard_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B0_UDB04_F1 +SDCard_BSPIM_TxStsReg__MASK_REG EQU CYREG_B1_UDB06_MSK +SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL +SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B1_UDB06_ST +SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B0_UDB05_06_A0 +SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B0_UDB05_06_A1 +SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG EQU CYREG_B0_UDB05_06_D0 +SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG EQU CYREG_B0_UDB05_06_D1 +SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG EQU CYREG_B0_UDB05_06_ACTL +SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG EQU CYREG_B0_UDB05_06_F0 +SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG EQU CYREG_B0_UDB05_06_F1 +SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG EQU CYREG_B0_UDB05_A0_A1 +SDCard_BSPIM_sR8_Dp_u0__A0_REG EQU CYREG_B0_UDB05_A0 +SDCard_BSPIM_sR8_Dp_u0__A1_REG EQU CYREG_B0_UDB05_A1 +SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG EQU CYREG_B0_UDB05_D0_D1 +SDCard_BSPIM_sR8_Dp_u0__D0_REG EQU CYREG_B0_UDB05_D0 +SDCard_BSPIM_sR8_Dp_u0__D1_REG EQU CYREG_B0_UDB05_D1 +SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B0_UDB05_ACTL +SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B0_UDB05_F0_F1 +SDCard_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B0_UDB05_F0 +SDCard_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B0_UDB05_F1 +SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL /* USBFS_dp_int */ USBFS_dp_int__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 @@ -1183,17 +1185,6 @@ SD_Data_Clk__PM_ACT_MSK EQU 0x01 SD_Data_Clk__PM_STBY_CFG EQU CYREG_PM_STBY_CFG2 SD_Data_Clk__PM_STBY_MSK EQU 0x01 -/* SD_Init_Clk */ -SD_Init_Clk__CFG0 EQU CYREG_CLKDIST_DCFG3_CFG0 -SD_Init_Clk__CFG1 EQU CYREG_CLKDIST_DCFG3_CFG1 -SD_Init_Clk__CFG2 EQU CYREG_CLKDIST_DCFG3_CFG2 -SD_Init_Clk__CFG2_SRC_SEL_MASK EQU 0x07 -SD_Init_Clk__INDEX EQU 0x03 -SD_Init_Clk__PM_ACT_CFG EQU CYREG_PM_ACT_CFG2 -SD_Init_Clk__PM_ACT_MSK EQU 0x08 -SD_Init_Clk__PM_STBY_CFG EQU CYREG_PM_STBY_CFG2 -SD_Init_Clk__PM_STBY_MSK EQU 0x08 - /* timer_clock */ timer_clock__CFG0 EQU CYREG_CLKDIST_DCFG2_CFG0 timer_clock__CFG1 EQU CYREG_CLKDIST_DCFG2_CFG1 @@ -1208,8 +1199,8 @@ timer_clock__PM_STBY_MSK EQU 0x04 /* scsiTarget */ scsiTarget_StatusReg__0__MASK EQU 0x01 scsiTarget_StatusReg__0__POS EQU 0 -scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL -scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB04_05_ST +scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB00_01_ACTL +scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB00_01_ST scsiTarget_StatusReg__1__MASK EQU 0x02 scsiTarget_StatusReg__1__POS EQU 1 scsiTarget_StatusReg__2__MASK EQU 0x04 @@ -1219,9 +1210,9 @@ scsiTarget_StatusReg__3__POS EQU 3 scsiTarget_StatusReg__4__MASK EQU 0x10 scsiTarget_StatusReg__4__POS EQU 4 scsiTarget_StatusReg__MASK EQU 0x1F -scsiTarget_StatusReg__MASK_REG EQU CYREG_B0_UDB04_MSK -scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL -scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB04_ST +scsiTarget_StatusReg__MASK_REG EQU CYREG_B0_UDB00_MSK +scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB00_ACTL +scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB00_ST scsiTarget_datapath_PI__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB03_04_ACTL scsiTarget_datapath_PI__16BIT_STATUS_REG EQU CYREG_B0_UDB03_04_ST scsiTarget_datapath_PI__MASK_REG EQU CYREG_B0_UDB03_MSK @@ -1268,9 +1259,6 @@ scsiTarget_datapath__F1_REG EQU CYREG_B0_UDB03_F1 scsiTarget_datapath__MSK_DP_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL scsiTarget_datapath__PER_DP_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -/* SD_Clk_Ctl */ -SD_Clk_Ctl_Sync_ctrl_reg__REMOVED EQU 1 - /* USBFS_ep_0 */ USBFS_ep_0__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_0__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc index 79c7a64b..2145cf34 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc +++ b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc @@ -84,28 +84,28 @@ USBFS_bus_reset__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 ; SCSI_CTL_PHASE SCSI_CTL_PHASE_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_CTL_PHASE_Sync_ctrl_reg__0__POS EQU 0 -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB02_03_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB02_03_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB02_03_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB02_03_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB02_03_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB02_03_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB05_06_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB05_06_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB05_06_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB05_06_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB05_06_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB05_06_MSK SCSI_CTL_PHASE_Sync_ctrl_reg__1__MASK EQU 0x02 SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS EQU 1 SCSI_CTL_PHASE_Sync_ctrl_reg__2__MASK EQU 0x04 SCSI_CTL_PHASE_Sync_ctrl_reg__2__POS EQU 2 -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB02_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB02_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB02_ST_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB02_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB02_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB05_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB05_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB05_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB05_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB05_ST_CTL SCSI_CTL_PHASE_Sync_ctrl_reg__MASK EQU 0x07 -SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB02_MSK_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB02_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB02_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB05_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL ; SCSI_Out_Bits SCSI_Out_Bits_Sync_ctrl_reg__0__MASK EQU 0x01 @@ -630,34 +630,34 @@ SCSI_RST_ISR__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_RST_ISR__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 ; SDCard_BSPIM -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B1_UDB06_07_ST -SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B1_UDB06_MSK -SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B1_UDB06_ST -SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B1_UDB06_CTL -SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B1_UDB06_CTL -SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B1_UDB06_MSK -SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB07_08_ACTL -SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B0_UDB07_08_ST +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_07_ACTL +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B0_UDB06_07_ST +SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B0_UDB06_MSK +SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B0_UDB06_ST +SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB06_07_ACTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB06_07_CTL +SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB06_07_MSK +SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB06_ACTL +SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B0_UDB06_CTL +SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B0_UDB06_CTL +SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B0_UDB06_ST_CTL +SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B0_UDB06_MSK +SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB06_MSK_ACTL +SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB05_06_ACTL +SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B0_UDB05_06_ST SDCard_BSPIM_RxStsReg__4__MASK EQU 0x10 SDCard_BSPIM_RxStsReg__4__POS EQU 4 SDCard_BSPIM_RxStsReg__5__MASK EQU 0x20 @@ -665,13 +665,17 @@ SDCard_BSPIM_RxStsReg__5__POS EQU 5 SDCard_BSPIM_RxStsReg__6__MASK EQU 0x40 SDCard_BSPIM_RxStsReg__6__POS EQU 6 SDCard_BSPIM_RxStsReg__MASK EQU 0x70 -SDCard_BSPIM_RxStsReg__MASK_REG EQU CYREG_B0_UDB07_MSK -SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB07_ACTL -SDCard_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B0_UDB07_ST +SDCard_BSPIM_RxStsReg__MASK_REG EQU CYREG_B0_UDB05_MSK +SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB05_ACTL +SDCard_BSPIM_RxStsReg__STATUS_CNT_REG EQU CYREG_B0_UDB05_ST_CTL +SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG EQU CYREG_B0_UDB05_ST_CTL +SDCard_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B0_UDB05_ST SDCard_BSPIM_TxStsReg__0__MASK EQU 0x01 SDCard_BSPIM_TxStsReg__0__POS EQU 0 -SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_08_ACTL -SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB07_08_ST +SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL +SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB06_07_ST SDCard_BSPIM_TxStsReg__1__MASK EQU 0x02 SDCard_BSPIM_TxStsReg__1__POS EQU 1 SDCard_BSPIM_TxStsReg__2__MASK EQU 0x04 @@ -681,30 +685,28 @@ SDCard_BSPIM_TxStsReg__3__POS EQU 3 SDCard_BSPIM_TxStsReg__4__MASK EQU 0x10 SDCard_BSPIM_TxStsReg__4__POS EQU 4 SDCard_BSPIM_TxStsReg__MASK EQU 0x1F -SDCard_BSPIM_TxStsReg__MASK_REG EQU CYREG_B1_UDB07_MSK -SDCard_BSPIM_TxStsReg__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB07_MSK_ACTL -SDCard_BSPIM_TxStsReg__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB07_MSK_ACTL -SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_ACTL -SDCard_BSPIM_TxStsReg__STATUS_CNT_REG EQU CYREG_B1_UDB07_ST_CTL -SDCard_BSPIM_TxStsReg__STATUS_CONTROL_REG EQU CYREG_B1_UDB07_ST_CTL -SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B1_UDB07_ST -SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B0_UDB04_05_A0 -SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B0_UDB04_05_A1 -SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG EQU CYREG_B0_UDB04_05_D0 -SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG EQU CYREG_B0_UDB04_05_D1 -SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL -SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG EQU CYREG_B0_UDB04_05_F0 -SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG EQU CYREG_B0_UDB04_05_F1 -SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG EQU CYREG_B0_UDB04_A0_A1 -SDCard_BSPIM_sR8_Dp_u0__A0_REG EQU CYREG_B0_UDB04_A0 -SDCard_BSPIM_sR8_Dp_u0__A1_REG EQU CYREG_B0_UDB04_A1 -SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG EQU CYREG_B0_UDB04_D0_D1 -SDCard_BSPIM_sR8_Dp_u0__D0_REG EQU CYREG_B0_UDB04_D0 -SDCard_BSPIM_sR8_Dp_u0__D1_REG EQU CYREG_B0_UDB04_D1 -SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL -SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B0_UDB04_F0_F1 -SDCard_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B0_UDB04_F0 -SDCard_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B0_UDB04_F1 +SDCard_BSPIM_TxStsReg__MASK_REG EQU CYREG_B1_UDB06_MSK +SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL +SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B1_UDB06_ST +SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B0_UDB05_06_A0 +SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B0_UDB05_06_A1 +SDCard_BSPIM_sR8_Dp_u0__16BIT_D0_REG EQU CYREG_B0_UDB05_06_D0 +SDCard_BSPIM_sR8_Dp_u0__16BIT_D1_REG EQU CYREG_B0_UDB05_06_D1 +SDCard_BSPIM_sR8_Dp_u0__16BIT_DP_AUX_CTL_REG EQU CYREG_B0_UDB05_06_ACTL +SDCard_BSPIM_sR8_Dp_u0__16BIT_F0_REG EQU CYREG_B0_UDB05_06_F0 +SDCard_BSPIM_sR8_Dp_u0__16BIT_F1_REG EQU CYREG_B0_UDB05_06_F1 +SDCard_BSPIM_sR8_Dp_u0__A0_A1_REG EQU CYREG_B0_UDB05_A0_A1 +SDCard_BSPIM_sR8_Dp_u0__A0_REG EQU CYREG_B0_UDB05_A0 +SDCard_BSPIM_sR8_Dp_u0__A1_REG EQU CYREG_B0_UDB05_A1 +SDCard_BSPIM_sR8_Dp_u0__D0_D1_REG EQU CYREG_B0_UDB05_D0_D1 +SDCard_BSPIM_sR8_Dp_u0__D0_REG EQU CYREG_B0_UDB05_D0 +SDCard_BSPIM_sR8_Dp_u0__D1_REG EQU CYREG_B0_UDB05_D1 +SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B0_UDB05_ACTL +SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B0_UDB05_F0_F1 +SDCard_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B0_UDB05_F0 +SDCard_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B0_UDB05_F1 +SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL +SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG EQU CYREG_B0_UDB05_MSK_ACTL ; USBFS_dp_int USBFS_dp_int__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 @@ -1183,17 +1185,6 @@ SD_Data_Clk__PM_ACT_MSK EQU 0x01 SD_Data_Clk__PM_STBY_CFG EQU CYREG_PM_STBY_CFG2 SD_Data_Clk__PM_STBY_MSK EQU 0x01 -; SD_Init_Clk -SD_Init_Clk__CFG0 EQU CYREG_CLKDIST_DCFG3_CFG0 -SD_Init_Clk__CFG1 EQU CYREG_CLKDIST_DCFG3_CFG1 -SD_Init_Clk__CFG2 EQU CYREG_CLKDIST_DCFG3_CFG2 -SD_Init_Clk__CFG2_SRC_SEL_MASK EQU 0x07 -SD_Init_Clk__INDEX EQU 0x03 -SD_Init_Clk__PM_ACT_CFG EQU CYREG_PM_ACT_CFG2 -SD_Init_Clk__PM_ACT_MSK EQU 0x08 -SD_Init_Clk__PM_STBY_CFG EQU CYREG_PM_STBY_CFG2 -SD_Init_Clk__PM_STBY_MSK EQU 0x08 - ; timer_clock timer_clock__CFG0 EQU CYREG_CLKDIST_DCFG2_CFG0 timer_clock__CFG1 EQU CYREG_CLKDIST_DCFG2_CFG1 @@ -1208,8 +1199,8 @@ timer_clock__PM_STBY_MSK EQU 0x04 ; scsiTarget scsiTarget_StatusReg__0__MASK EQU 0x01 scsiTarget_StatusReg__0__POS EQU 0 -scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL -scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB04_05_ST +scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB00_01_ACTL +scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB00_01_ST scsiTarget_StatusReg__1__MASK EQU 0x02 scsiTarget_StatusReg__1__POS EQU 1 scsiTarget_StatusReg__2__MASK EQU 0x04 @@ -1219,9 +1210,9 @@ scsiTarget_StatusReg__3__POS EQU 3 scsiTarget_StatusReg__4__MASK EQU 0x10 scsiTarget_StatusReg__4__POS EQU 4 scsiTarget_StatusReg__MASK EQU 0x1F -scsiTarget_StatusReg__MASK_REG EQU CYREG_B0_UDB04_MSK -scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL -scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB04_ST +scsiTarget_StatusReg__MASK_REG EQU CYREG_B0_UDB00_MSK +scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB00_ACTL +scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB00_ST scsiTarget_datapath_PI__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB03_04_ACTL scsiTarget_datapath_PI__16BIT_STATUS_REG EQU CYREG_B0_UDB03_04_ST scsiTarget_datapath_PI__MASK_REG EQU CYREG_B0_UDB03_MSK @@ -1268,9 +1259,6 @@ scsiTarget_datapath__F1_REG EQU CYREG_B0_UDB03_F1 scsiTarget_datapath__MSK_DP_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL scsiTarget_datapath__PER_DP_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -; SD_Clk_Ctl -SD_Clk_Ctl_Sync_ctrl_reg__REMOVED EQU 1 - ; USBFS_ep_0 USBFS_ep_0__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_0__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 diff --git a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h index b47a2048..d49b3af1 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h +++ b/software/SCSI2SD/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h @@ -21,9 +21,7 @@ #include #include #include -#include #include -#include #include #include #include diff --git a/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx b/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx index 4acdeea3..e13d32d6 100644 --- a/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx +++ b/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cycdx @@ -1,10 +1,12 @@ - - + + + + @@ -62,11 +64,8 @@ - - - - - + + @@ -74,6 +73,7 @@ + @@ -154,39 +154,36 @@ - - - - + + - - + + - - - + - + + + + - + - - - - + + + - - - + + + - \ No newline at end of file diff --git a/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cyfit b/software/SCSI2SD/SCSI2SD.cydsn/SCSI2SD.cyfit index 1850b93d9acd788cde192030cb71af50af11b118..f9a091377059933b8173cd0d8a70eeb9bbbaf42e 100644 GIT binary patch delta 223617 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