From 125d1d9e82d82ea63a854755f1bc98421a002140 Mon Sep 17 00:00:00 2001 From: Michael McMaster Date: Sat, 2 Jan 2021 22:51:19 +1000 Subject: [PATCH] Add SPI NOR Flash as a backend storage device --- software/SCSI2SD/src/cdrom.c | 15 +- software/SCSI2SD/src/config.c | 150 +- software/SCSI2SD/src/config.h | 6 +- software/SCSI2SD/src/diagnostic.c | 22 +- software/SCSI2SD/src/disk.c | 179 +- software/SCSI2SD/src/disk.h | 14 - software/SCSI2SD/src/flash.c | 453 ++ software/SCSI2SD/src/flash.h | 25 + software/SCSI2SD/src/geometry.c | 9 +- software/SCSI2SD/src/geometry.h | 4 +- software/SCSI2SD/src/inquiry.c | 18 +- software/SCSI2SD/src/main.c | 17 +- software/SCSI2SD/src/mode.c | 50 +- software/SCSI2SD/src/mode.h | 2 +- software/SCSI2SD/src/scsi.c | 176 +- software/SCSI2SD/src/scsi.h | 33 +- software/SCSI2SD/src/sd.c | 217 +- software/SCSI2SD/src/sd.h | 16 +- software/SCSI2SD/src/sense.h | 4 +- software/SCSI2SD/src/storedevice.c | 100 + software/SCSI2SD/src/storedevice.h | 98 + .../Generated_Source/PSoC5/NOR_SPI.h | 4 +- .../Generated_Source/PSoC5/cydevice.h | 4 +- .../Generated_Source/PSoC5/cydevice_trm.h | 4 +- .../Generated_Source/PSoC5/cydevicegnu.inc | 4 +- .../PSoC5/cydevicegnu_trm.inc | 4 +- .../Generated_Source/PSoC5/cydeviceiar.inc | 4 +- .../PSoC5/cydeviceiar_trm.inc | 4 +- .../Generated_Source/PSoC5/cydevicerv.inc | 4 +- .../Generated_Source/PSoC5/cydevicerv_trm.inc | 4 +- .../Generated_Source/PSoC5/cyfitter.h | 526 +-- .../Generated_Source/PSoC5/cyfitter_cfg.c | 3803 +++++++++-------- .../Generated_Source/PSoC5/cyfitter_cfg.h | 4 +- .../Generated_Source/PSoC5/cyfittergnu.inc | 524 +-- .../Generated_Source/PSoC5/cyfitteriar.inc | 524 +-- .../Generated_Source/PSoC5/cyfitterrv.inc | 524 +-- .../Generated_Source/PSoC5/cymetadata.c | 4 +- .../Generated_Source/PSoC5/project.h | 9 +- .../SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cycdx | 174 +- .../SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyfit | Bin 275822 -> 280718 bytes .../SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyprj | 144 +- .../SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.svd | 349 +- .../SCSI2SD.cydsn/TopDesign/TopDesign.cysch | Bin 339357 -> 343270 bytes .../Generated_Source/PSoC5/LED.c | 202 +- .../Generated_Source/PSoC5/LED.h | 100 +- .../Generated_Source/PSoC5/LED_aliases.h | 18 +- .../PSoC5/SCSI_Out_DBx_aliases.h | 72 +- .../Generated_Source/PSoC5/SCSI_Out_aliases.h | 72 +- .../Generated_Source/PSoC5/SD_PULLUP.c | 210 +- .../Generated_Source/PSoC5/SD_PULLUP.h | 102 +- .../PSoC5/SD_PULLUP_aliases.h | 26 +- .../Generated_Source/PSoC5/SPI_PULLUP.c | 210 +- .../Generated_Source/PSoC5/SPI_PULLUP.h | 102 +- .../Generated_Source/PSoC5/SPI_PULLUP_1.c | 202 +- .../Generated_Source/PSoC5/SPI_PULLUP_1.h | 100 +- .../PSoC5/SPI_PULLUP_1_aliases.h | 18 +- .../PSoC5/SPI_PULLUP_aliases.h | 26 +- .../Generated_Source/PSoC5/cydevice.h | 4 +- .../Generated_Source/PSoC5/cydevice_trm.h | 4 +- .../Generated_Source/PSoC5/cydevicegnu.inc | 4 +- .../PSoC5/cydevicegnu_trm.inc | 4 +- .../Generated_Source/PSoC5/cydeviceiar.inc | 4 +- .../PSoC5/cydeviceiar_trm.inc | 4 +- .../Generated_Source/PSoC5/cydevicerv.inc | 4 +- .../Generated_Source/PSoC5/cydevicerv_trm.inc | 4 +- .../Generated_Source/PSoC5/cyfitter.h | 72 +- .../Generated_Source/PSoC5/cyfitter_cfg.c | 4 +- .../Generated_Source/PSoC5/cyfitter_cfg.h | 4 +- .../Generated_Source/PSoC5/cyfittergnu.inc | 70 +- .../Generated_Source/PSoC5/cyfitteriar.inc | 70 +- .../Generated_Source/PSoC5/cyfitterrv.inc | 70 +- .../Generated_Source/PSoC5/cymetadata.c | 4 +- .../Generated_Source/PSoC5/project.h | 4 +- .../TopDesign/TopDesign.cysch | Bin 112905 -> 113138 bytes .../USB_Bootloader.cydsn/USB_Bootloader.cyfit | Bin 150966 -> 151151 bytes .../USB_Bootloader.cydsn/USB_Bootloader.cyprj | 4 +- .../USB_Bootloader.cydsn/USB_Bootloader.rpt | 162 +- .../USB_Bootloader_timing.html | 2 +- software/include/hidpacket.h | 6 +- software/include/scsi2sd.h | 98 +- 80 files changed, 6181 insertions(+), 4110 deletions(-) create mode 100644 software/SCSI2SD/src/flash.c create mode 100644 software/SCSI2SD/src/flash.h create mode 100644 software/SCSI2SD/src/storedevice.c create mode 100644 software/SCSI2SD/src/storedevice.h diff --git a/software/SCSI2SD/src/cdrom.c b/software/SCSI2SD/src/cdrom.c index 9b40859..9b28326 100755 --- a/software/SCSI2SD/src/cdrom.c +++ b/software/SCSI2SD/src/cdrom.c @@ -152,8 +152,8 @@ static void doReadTOC(int MSF, uint8_t track, uint16_t allocationLength) if (track > 1) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } else @@ -162,8 +162,9 @@ static void doReadTOC(int MSF, uint8_t track, uint16_t allocationLength) memcpy(scsiDev.data, SimpleTOC, len); uint32_t capacity = getScsiCapacity( + scsiDev.target->device, scsiDev.target->cfg->sdSectorStart, - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->scsiSectors); // Replace start of leadout track @@ -213,8 +214,8 @@ static void doReadFullTOC(int convertBCD, uint8_t session, uint16_t allocationLe if (session > 1) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } else @@ -297,8 +298,8 @@ int scsiCDRomCommand() default: { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } } diff --git a/software/SCSI2SD/src/config.c b/software/SCSI2SD/src/config.c index cc3233e..e7176e8 100755 --- a/software/SCSI2SD/src/config.c +++ b/software/SCSI2SD/src/config.c @@ -31,7 +31,7 @@ #include -static const uint16_t FIRMWARE_VERSION = 0x0484; +static const uint16_t FIRMWARE_VERSION = 0x0485; // 1 flash row static const uint8_t DEFAULT_CONFIG[256] = @@ -63,7 +63,7 @@ static int usbInEpState; static int usbDebugEpState; static int usbReady; -static void initBoardConfig(BoardConfig* config) { +static void initBoardConfig(S2S_BoardConfig* config) { memcpy( config, ( @@ -71,7 +71,7 @@ static void initBoardConfig(BoardConfig* config) { (CY_FLASH_SIZEOF_ARRAY * (size_t) SCSI_CONFIG_ARRAY) + (CY_FLASH_SIZEOF_ROW * SCSI_CONFIG_BOARD_ROW) ), - sizeof(BoardConfig)); + sizeof(S2S_BoardConfig)); if (memcmp(config->magic, "BCFG", 4)) { // Set a default from the deprecated flags, or 0 if @@ -83,7 +83,7 @@ static void initBoardConfig(BoardConfig* config) { } } -void configInit(BoardConfig* config) +void configInit(S2S_BoardConfig* config) { // The USB block will be powered by an internal 3.3V regulator. // The PSoC must be operating between 4.6V and 5V for the regulator @@ -93,7 +93,7 @@ void configInit(BoardConfig* config) usbReady = 0; // We don't know if host is connected yet. int invalid = 1; - uint8_t* rawConfig = getConfigByIndex(0); + uint8_t* rawConfig = (uint8_t*)getConfigByIndex(0); int i; for (i = 0; i < 64; ++i) { @@ -175,9 +175,9 @@ pingCommand() static void sdInfoCommand() { - uint8_t response[sizeof(sdDev.csd) + sizeof(sdDev.cid)]; - memcpy(response, sdDev.csd, sizeof(sdDev.csd)); - memcpy(response + sizeof(sdDev.csd), sdDev.cid, sizeof(sdDev.cid)); + uint8_t response[sizeof(sdCard.csd) + sizeof(sdCard.cid)]; + memcpy(response, sdCard.csd, sizeof(sdCard.csd)); + memcpy(response + sizeof(sdCard.csd), sdCard.cid, sizeof(sdCard.cid)); hidPacket_send(response, sizeof(response)); } @@ -195,6 +195,100 @@ scsiTestCommand() hidPacket_send(response, sizeof(response)); } +static void +deviceListCommand() +{ + int deviceCount; + S2S_Device** devices = s2s_GetDevices(&deviceCount); + + uint8_t response[16] = // Make larger if there can be more than 2 devices + { + deviceCount + }; + + int pos = 1; + + for (int i = 0; i < deviceCount; ++i) + { + response[pos++] = devices[i]->deviceType; + + uint32_t capacity = devices[i]->getCapacity(devices[i]); + response[pos++] = capacity >> 24; + response[pos++] = capacity >> 16; + response[pos++] = capacity >> 8; + response[pos++] = capacity; + } + + hidPacket_send(response, pos); +} + +static void +deviceEraseCommand(const uint8_t* cmd) +{ + int deviceCount; + S2S_Device** devices = s2s_GetDevices(&deviceCount); + + uint32_t sectorNum = + ((uint32_t)cmd[2]) << 24 | + ((uint32_t)cmd[3]) << 16 | + ((uint32_t)cmd[4]) << 8 | + ((uint32_t)cmd[5]); + + uint32_t count = + ((uint32_t)cmd[6]) << 24 | + ((uint32_t)cmd[7]) << 16 | + ((uint32_t)cmd[8]) << 8 | + ((uint32_t)cmd[9]); + + devices[cmd[1]]->erase(devices[cmd[1]], sectorNum, count); + + uint8_t response[] = + { + CONFIG_STATUS_GOOD + }; + hidPacket_send(response, sizeof(response)); +} + +static void +deviceWriteCommand(const uint8_t* cmd) +{ + int deviceCount; + S2S_Device** devices = s2s_GetDevices(&deviceCount); + + uint32_t sectorNum = + ((uint32_t)cmd[2]) << 24 | + ((uint32_t)cmd[3]) << 16 | + ((uint32_t)cmd[4]) << 8 | + ((uint32_t)cmd[5]); + + devices[cmd[1]]->write(devices[cmd[1]], sectorNum, 1, &cmd[6]); + + uint8_t response[] = + { + CONFIG_STATUS_GOOD + }; + hidPacket_send(response, sizeof(response)); +} + + +static void +deviceReadCommand(const uint8_t* cmd) +{ + int deviceCount; + S2S_Device** devices = s2s_GetDevices(&deviceCount); + + uint32_t sectorNum = + ((uint32_t)cmd[2]) << 24 | + ((uint32_t)cmd[3]) << 16 | + ((uint32_t)cmd[4]) << 8 | + ((uint32_t)cmd[5]); + + uint8_t response[512]; + devices[cmd[1]]->read(devices[cmd[1]], sectorNum, 1, &response[0]); + + hidPacket_send(&response[0], 512); +} + static void processCommand(const uint8_t* cmd, size_t cmdSize) { @@ -224,6 +318,22 @@ processCommand(const uint8_t* cmd, size_t cmdSize) scsiTestCommand(); break; + case S2S_CMD_DEV_LIST: + deviceListCommand(); + break; + + case S2S_CMD_DEV_ERASE: + deviceEraseCommand(cmd); + break; + + case S2S_CMD_DEV_WRITE: + deviceWriteCommand(cmd); + break; + + case S2S_CMD_DEV_READ: + deviceReadCommand(cmd); + break; + case CONFIG_NONE: // invalid default: break; @@ -340,16 +450,16 @@ void debugPoll() hidBuffer[23] = scsiDev.msgCount; hidBuffer[24] = scsiDev.cmdCount; hidBuffer[25] = scsiDev.watchdogTick; - hidBuffer[26] = blockDev.state; + hidBuffer[26] = 0; // OBSOLETE. Previously media state hidBuffer[27] = scsiDev.lastSenseASC >> 8; hidBuffer[28] = scsiDev.lastSenseASC; hidBuffer[29] = scsiReadDBxPins(); hidBuffer[30] = LastTrace; - hidBuffer[58] = sdDev.capacity >> 24; - hidBuffer[59] = sdDev.capacity >> 16; - hidBuffer[60] = sdDev.capacity >> 8; - hidBuffer[61] = sdDev.capacity; + hidBuffer[58] = sdCard.capacity >> 24; + hidBuffer[59] = sdCard.capacity >> 16; + hidBuffer[60] = sdCard.capacity >> 8; + hidBuffer[61] = sdCard.capacity; hidBuffer[62] = FIRMWARE_VERSION >> 8; hidBuffer[63] = FIRMWARE_VERSION; @@ -404,14 +514,14 @@ void configSave(int scsiId, uint16_t bytesPerSector) int cfgIdx; for (cfgIdx = 0; cfgIdx < MAX_SCSI_TARGETS; ++cfgIdx) { - const TargetConfig* tgt = getConfigByIndex(cfgIdx); + const S2S_TargetCfg* tgt = getConfigByIndex(cfgIdx); if ((tgt->scsiId & CONFIG_TARGET_ID_BITS) == scsiId) { // Save row to flash // We only save the first row of the configuration // this contains the parameters changeable by a MODE SELECT command uint8_t rowData[CYDEV_FLS_ROW_SIZE]; - TargetConfig* rowCfgData = (TargetConfig*)&rowData; + S2S_TargetCfg* rowCfgData = (S2S_TargetCfg*)&rowData; memcpy(rowCfgData, tgt, sizeof(rowData)); rowCfgData->bytesPerSector = bytesPerSector; @@ -426,12 +536,12 @@ void configSave(int scsiId, uint16_t bytesPerSector) } -const TargetConfig* getConfigByIndex(int i) +const S2S_TargetCfg* getConfigByIndex(int i) { if (i <= 3) { size_t row = SCSI_CONFIG_0_ROW + (i * SCSI_CONFIG_ROWS); - return (const TargetConfig*) + return (const S2S_TargetCfg*) ( CY_FLASH_BASE + (CY_FLASH_SIZEOF_ARRAY * (size_t) SCSI_CONFIG_ARRAY) + @@ -439,7 +549,7 @@ const TargetConfig* getConfigByIndex(int i) ); } else { size_t row = SCSI_CONFIG_4_ROW + ((i-4) * SCSI_CONFIG_ROWS); - return (const TargetConfig*) + return (const S2S_TargetCfg*) ( CY_FLASH_BASE + (CY_FLASH_SIZEOF_ARRAY * (size_t) SCSI_CONFIG_ARRAY) + @@ -448,12 +558,12 @@ const TargetConfig* getConfigByIndex(int i) } } -const TargetConfig* getConfigById(int scsiId) +const S2S_TargetCfg* getConfigById(int scsiId) { int i; for (i = 0; i < MAX_SCSI_TARGETS; ++i) { - const TargetConfig* tgt = getConfigByIndex(i); + const S2S_TargetCfg* tgt = getConfigByIndex(i); if ((tgt->scsiId & CONFIG_TARGET_ID_BITS) == scsiId) { return tgt; diff --git a/software/SCSI2SD/src/config.h b/software/SCSI2SD/src/config.h index 2c47a1e..42b0fc5 100755 --- a/software/SCSI2SD/src/config.h +++ b/software/SCSI2SD/src/config.h @@ -20,12 +20,12 @@ #include "device.h" #include "scsi2sd.h" -void configInit(BoardConfig* config); +void configInit(S2S_BoardConfig* config); void debugInit(void); void configPoll(void); void configSave(int scsiId, uint16_t byesPerSector); -const TargetConfig* getConfigByIndex(int index); -const TargetConfig* getConfigById(int scsiId); +const S2S_TargetCfg* getConfigByIndex(int index); +const S2S_TargetCfg* getConfigById(int scsiId); #endif diff --git a/software/SCSI2SD/src/diagnostic.c b/software/SCSI2SD/src/diagnostic.c index d8f6477..a359df3 100755 --- a/software/SCSI2SD/src/diagnostic.c +++ b/software/SCSI2SD/src/diagnostic.c @@ -50,8 +50,8 @@ void scsiSendDiagnostic() // Nowhere to store this data! // Shouldn't happen - our buffer should be many magnitudes larger // than the required size for diagnostic parameters. - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.status = CHECK_CONDITION; scsiDev.phase = STATUS; } @@ -95,14 +95,14 @@ void scsiReceiveDiagnostic() // 64bit linear address, then convert back again. uint64 fromByteAddr = scsiByteAddress( - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->headsPerCylinder, scsiDev.target->cfg->sectorsPerTrack, suppliedFmt, &scsiDev.data[6]); scsiSaveByteAddress( - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->headsPerCylinder, scsiDev.target->cfg->sectorsPerTrack, translateFmt, @@ -121,8 +121,8 @@ void scsiReceiveDiagnostic() { // error. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } @@ -169,8 +169,8 @@ void scsiReadBuffer() { // error. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } } @@ -208,8 +208,8 @@ void scsiWriteBuffer() { // error. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } } @@ -219,7 +219,7 @@ void scsiWriteBuffer() // Section 4.3.14 void scsiWriteSectorBuffer() { - scsiDev.dataLen = scsiDev.target->liveCfg.bytesPerSector; + scsiDev.dataLen = scsiDev.target->state.bytesPerSector; scsiDev.phase = DATA_OUT; scsiDev.postDataOutHook = doWriteBuffer; } diff --git a/software/SCSI2SD/src/disk.c b/software/SCSI2SD/src/disk.c index 5c5a1de..540d098 100755 --- a/software/SCSI2SD/src/disk.c +++ b/software/SCSI2SD/src/disk.c @@ -28,24 +28,8 @@ #include // Global -BlockDevice blockDev; Transfer transfer; -static int doSdInit() -{ - int result = 0; - if (blockDev.state & DISK_PRESENT) - { - result = sdInit(); - - if (result) - { - blockDev.state = blockDev.state | DISK_INITIALISED; - } - } - return result; -} - // Callback once all data has been read in the data out phase. static void doFormatUnitComplete(void) { @@ -92,8 +76,8 @@ static void doFormatUnitHeader(void) { // Save the "MODE SELECT savable parameters" configSave( - scsiDev.target->targetId, - scsiDev.target->liveCfg.bytesPerSector); + scsiDev.target->cfg->scsiId & CONFIG_TARGET_ID_BITS, + scsiDev.target->state.bytesPerSector); } if (IP) @@ -123,8 +107,9 @@ static void doReadCapacity() int pmi = scsiDev.cdb[8] & 1; uint32_t capacity = getScsiCapacity( + scsiDev.target->device, scsiDev.target->cfg->sdSectorStart, - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->scsiSectors); if (!pmi && lba) @@ -134,8 +119,8 @@ static void doReadCapacity() // assume that delays are constant across each block. But the spec // says we must return this error if pmi is specified incorrectly. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } else if (capacity > 0) @@ -147,7 +132,7 @@ static void doReadCapacity() scsiDev.data[2] = highestBlock >> 8; scsiDev.data[3] = highestBlock; - uint32_t bytesPerSector = scsiDev.target->liveCfg.bytesPerSector; + uint32_t bytesPerSector = scsiDev.target->state.bytesPerSector; scsiDev.data[4] = bytesPerSector >> 24; scsiDev.data[5] = bytesPerSector >> 16; scsiDev.data[6] = bytesPerSector >> 8; @@ -158,8 +143,8 @@ static void doReadCapacity() else { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = NOT_READY; - scsiDev.target->sense.asc = MEDIUM_NOT_PRESENT; + scsiDev.target->state.sense.code = NOT_READY; + scsiDev.target->state.sense.asc = MEDIUM_NOT_PRESENT; scsiDev.phase = STATUS; } } @@ -172,19 +157,22 @@ static void doWrite(uint32 lba, uint32 blocks) CyDelay(10); } - uint32_t bytesPerSector = scsiDev.target->liveCfg.bytesPerSector; + uint32_t bytesPerSector = scsiDev.target->state.bytesPerSector; + MEDIA_STATE* mediaState = &(scsiDev.target->device->mediaState); - if (unlikely(blockDev.state & DISK_WP) || - unlikely(scsiDev.target->cfg->deviceType == CONFIG_OPTICAL)) + if (unlikely(*mediaState & MEDIA_WP) || + unlikely(scsiDev.target->cfg->deviceType == CONFIG_OPTICAL) || + (scsiDev.target->cfg->storageDevice != CONFIG_STOREDEVICE_SD)) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = WRITE_PROTECTED; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = WRITE_PROTECTED; scsiDev.phase = STATUS; } else if (unlikely(((uint64) lba) + blocks > getScsiCapacity( + scsiDev.target->device, scsiDev.target->cfg->sdSectorStart, bytesPerSector, scsiDev.target->cfg->scsiSectors @@ -192,8 +180,8 @@ static void doWrite(uint32 lba, uint32 blocks) )) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE; scsiDev.phase = STATUS; } else @@ -230,14 +218,15 @@ static void doRead(uint32 lba, uint32 blocks) } uint32_t capacity = getScsiCapacity( + scsiDev.target->device, scsiDev.target->cfg->sdSectorStart, - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->scsiSectors); if (unlikely(((uint64) lba) + blocks > capacity)) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE; scsiDev.phase = STATUS; } else @@ -248,7 +237,7 @@ static void doRead(uint32 lba, uint32 blocks) scsiDev.phase = DATA_IN; scsiDev.dataLen = 0; // No data yet - uint32_t bytesPerSector = scsiDev.target->liveCfg.bytesPerSector; + uint32_t bytesPerSector = scsiDev.target->state.bytesPerSector; uint32_t sdSectorPerSCSISector = SDSectorsPerSCSISector(bytesPerSector); uint32_t sdSectors = blocks * sdSectorPerSCSISector; @@ -257,7 +246,8 @@ static void doRead(uint32 lba, uint32 blocks) (sdSectors == 1) && !(scsiDev.boardCfg.flags & CONFIG_ENABLE_CACHE) ) || - unlikely(((uint64) lba) + blocks == capacity) + unlikely(((uint64) lba) + blocks == capacity) || + (scsiDev.target->cfg->storageDevice != CONFIG_STOREDEVICE_SD) ) { // We get errors on reading the last sector using a multi-sector @@ -283,14 +273,15 @@ static void doSeek(uint32 lba) { if (lba >= getScsiCapacity( + scsiDev.target->device, scsiDev.target->cfg->sdSectorStart, - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->scsiSectors) ) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE; scsiDev.phase = STATUS; } else @@ -301,33 +292,35 @@ static void doSeek(uint32 lba) static int doTestUnitReady() { + MEDIA_STATE* mediaState = &(scsiDev.target->device->mediaState); + int ready = 1; - if (likely(blockDev.state == (DISK_STARTED | DISK_PRESENT | DISK_INITIALISED))) + if (likely(*mediaState == (MEDIA_STARTED | MEDIA_PRESENT | MEDIA_INITIALISED))) { // nothing to do. } - else if (unlikely(!(blockDev.state & DISK_STARTED))) + else if (unlikely(!(*mediaState & MEDIA_STARTED))) { ready = 0; scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = NOT_READY; - scsiDev.target->sense.asc = LOGICAL_UNIT_NOT_READY_INITIALIZING_COMMAND_REQUIRED; + scsiDev.target->state.sense.code = NOT_READY; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_NOT_READY_INITIALIZING_COMMAND_REQUIRED; scsiDev.phase = STATUS; } - else if (unlikely(!(blockDev.state & DISK_PRESENT))) + else if (unlikely(!(*mediaState & MEDIA_PRESENT))) { ready = 0; scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = NOT_READY; - scsiDev.target->sense.asc = MEDIUM_NOT_PRESENT; + scsiDev.target->state.sense.code = NOT_READY; + scsiDev.target->state.sense.asc = MEDIUM_NOT_PRESENT; scsiDev.phase = STATUS; } - else if (unlikely(!(blockDev.state & DISK_INITIALISED))) + else if (unlikely(!(*mediaState & MEDIA_INITIALISED))) { ready = 0; scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = NOT_READY; - scsiDev.target->sense.asc = LOGICAL_UNIT_NOT_READY_CAUSE_NOT_REPORTABLE; + scsiDev.target->state.sense.code = NOT_READY; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_NOT_READY_CAUSE_NOT_REPORTABLE; scsiDev.phase = STATUS; } return ready; @@ -347,17 +340,21 @@ int scsiDiskCommand() //int immed = scsiDev.cdb[1] & 1; int start = scsiDev.cdb[4] & 1; + MEDIA_STATE* mediaState = &(scsiDev.target->device->mediaState); if (start) { - blockDev.state = blockDev.state | DISK_STARTED; - if (!(blockDev.state & DISK_INITIALISED)) + *mediaState = *mediaState | MEDIA_STARTED; + if (!(*mediaState & MEDIA_INITIALISED)) { - doSdInit(); + if (*mediaState & MEDIA_PRESENT) + { + *mediaState = *mediaState | MEDIA_INITIALISED; + } } } else { - blockDev.state &= ~DISK_STARTED; + *mediaState &= ~MEDIA_STARTED; } } else if (unlikely(command == 0x00)) @@ -514,8 +511,8 @@ int scsiDiskCommand() // TODO. This means they are supplying data to verify against. // Technically we should probably grab the data and compare it. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } } @@ -548,7 +545,7 @@ int scsiDiskCommand() void scsiDiskPoll() { - uint32_t bytesPerSector = scsiDev.target->liveCfg.bytesPerSector; + uint32_t bytesPerSector = scsiDev.target->state.bytesPerSector; if (scsiDev.phase == DATA_IN && transfer.currentBlock != transfer.blocks) @@ -569,6 +566,9 @@ void scsiDiskPoll() int i = 0; int scsiActive = 0; int sdActive = 0; + + int isSDDevice = scsiDev.target->cfg->storageDevice == CONFIG_STOREDEVICE_SD; + while ((i < totalSDSectors) && likely(scsiDev.phase == DATA_IN) && likely(!scsiDev.resetFlag)) @@ -590,11 +590,23 @@ void scsiDiskPoll() CyExitCriticalSection(intr); } - if (sdActive && !sdBusy && sdReadSectorDMAPoll()) - { - sdActive = 0; - prep++; - } + if (isSDDevice) + { + if (sdActive && !sdBusy && sdReadSectorDMAPoll()) + { + sdActive = 0; + prep++; + } + } + else + { + S2S_Device* device = scsiDev.target->device; + if (sdActive && device->readAsyncPoll(device)) + { + sdActive = 0; + prep++; + } + } // Usually SD is slower than the SCSI interface. // Prioritise starting the read of the next sector over starting a @@ -604,16 +616,26 @@ void scsiDiskPoll() (prep - i < buffers) && (prep < totalSDSectors)) { - // Start an SD transfer if we have space. - if (transfer.multiBlock) - { - sdReadMultiSectorDMA(&scsiDev.data[SD_SECTOR_SIZE * (prep % buffers)]); - } - else - { - sdReadSingleSectorDMA(sdLBA + prep, &scsiDev.data[SD_SECTOR_SIZE * (prep % buffers)]); - } - sdActive = 1; + if (isSDDevice) + { + // Start an SD transfer if we have space. + if (transfer.multiBlock) + { + sdReadMultiSectorDMA(&scsiDev.data[SD_SECTOR_SIZE * (prep % buffers)]); + } + else + { + sdReadSingleSectorDMA(sdLBA + prep, &scsiDev.data[SD_SECTOR_SIZE * (prep % buffers)]); + } + sdActive = 1; + } + else + { + // Sync Read onboard flash + S2S_Device* device = scsiDev.target->device; + device->readAsync(device, sdLBA + prep, 1, &scsiDev.data[SD_SECTOR_SIZE * (prep % buffers)]); + sdActive = 1; + } } if (scsiActive && !scsiBusy && scsiWriteDMAPoll()) @@ -638,6 +660,15 @@ void scsiDiskPoll() scsiDev.phase = STATUS; } scsiDiskReset(); + + // Wait for current DMA transfer done then deselect (if reset encountered) + if (!isSDDevice) + { + S2S_Device* device = scsiDev.target->device; + while (!device->readAsyncPoll(device)) + { + } + } } else if (scsiDev.phase == DATA_OUT && transfer.currentBlock != transfer.blocks) @@ -799,8 +830,8 @@ void scsiDiskPoll() (scsiDev.boardCfg.flags & CONFIG_ENABLE_PARITY) && (scsiDev.compatMode >= COMPAT_SCSI2)) { - scsiDev.target->sense.code = ABORTED_COMMAND; - scsiDev.target->sense.asc = SCSI_PARITY_ERROR; + scsiDev.target->state.sense.code = ABORTED_COMMAND; + scsiDev.target->state.sense.asc = SCSI_PARITY_ERROR; scsiDev.status = CHECK_CONDITION;; } scsiDev.phase = STATUS; @@ -834,8 +865,6 @@ void scsiDiskInit() { scsiDiskReset(); - // Don't require the host to send us a START STOP UNIT command - blockDev.state = DISK_STARTED; // WP pin not available for micro-sd // TODO read card WP register #if 0 diff --git a/software/SCSI2SD/src/disk.h b/software/SCSI2SD/src/disk.h index df197d7..f78b032 100755 --- a/software/SCSI2SD/src/disk.h +++ b/software/SCSI2SD/src/disk.h @@ -17,25 +17,12 @@ #ifndef DISK_H #define DISK_H -typedef enum -{ - DISK_STARTED = 1, // Controlled via START STOP UNIT - DISK_PRESENT = 2, // SD card is physically present - DISK_INITIALISED = 4, // SD card responded to init sequence - DISK_WP = 8 // Write-protect. -} DISK_STATE; - typedef enum { TRANSFER_READ, TRANSFER_WRITE } TRANSFER_DIR; -typedef struct -{ - int state; -} BlockDevice; - typedef struct { int multiBlock; // True if we're using a multi-block SPI transfer. @@ -45,7 +32,6 @@ typedef struct uint32 currentBlock; } Transfer; -extern BlockDevice blockDev; extern Transfer transfer; void scsiDiskInit(void); diff --git a/software/SCSI2SD/src/flash.c b/software/SCSI2SD/src/flash.c new file mode 100644 index 0000000..0e8783c --- /dev/null +++ b/software/SCSI2SD/src/flash.c @@ -0,0 +1,453 @@ +// Copyright (C) 2013 Michael McMaster +// +// This file is part of SCSI2SD. +// +// SCSI2SD is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// SCSI2SD is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with SCSI2SD. If not, see . + +#include "device.h" +#include "flash.h" + +#include "config.h" +#include "led.h" +#include "time.h" + +typedef struct +{ + S2S_Device dev; + + S2S_Target targets[MAX_SCSI_TARGETS]; + + uint32_t capacity; // in 512 byte blocks + + // CFI info + uint8_t manufacturerID; + uint8_t deviceID[2]; + + +} SpiFlash; + +static void spiFlash_earlyInit(S2S_Device* dev); +static void spiFlash_init(S2S_Device* dev); +static S2S_Target* spiFlash_getTargets(S2S_Device* dev, int* count); +static uint32_t spiFlash_getCapacity(S2S_Device* dev); +static int spiFlash_pollMediaChange(S2S_Device* dev); +static void spiFlash_pollMediaBusy(S2S_Device* dev); +static void spiFlash_erase(S2S_Device* dev, uint32_t sectorNumber, uint32_t count); +static void spiFlash_read(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); +static void spiFlash_readAsync(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); +static int spiFlash_readAsyncPoll(S2S_Device* dev); +static void spiFlash_write(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); + +SpiFlash spiFlash = { + { + spiFlash_earlyInit, + spiFlash_init, + spiFlash_getTargets, + spiFlash_getCapacity, + spiFlash_pollMediaChange, + spiFlash_pollMediaBusy, + spiFlash_erase, + spiFlash_read, + spiFlash_readAsync, + spiFlash_readAsyncPoll, + spiFlash_write, + 0, // initial mediaState + CONFIG_STOREDEVICE_FLASH + } +}; + +S2S_Device* spiFlashDevice = &(spiFlash.dev); + +// Private DMA variables. +static uint8 spiFlashDMARxChan = CY_DMA_INVALID_CHANNEL; +static uint8 spiFlashDMATxChan = CY_DMA_INVALID_CHANNEL; +static uint8_t spiFlashDmaRxTd[2] = { CY_DMA_INVALID_TD, CY_DMA_INVALID_TD }; +static uint8_t spiFlashDmaTxTd[2] = { CY_DMA_INVALID_TD, CY_DMA_INVALID_TD }; + +// Source of dummy SPI bytes for DMA +static uint8_t dummyBuffer[2] __attribute__((aligned(4))) = {0xFF, 0xFF}; +// Dummy location for DMA to sink usless data to +static uint8 discardBuffer[2] __attribute__((aligned(4))); + + +volatile uint8_t spiFlashRxDMAComplete = 1; +volatile uint8_t spiFlashTxDMAComplete = 1; + +CY_ISR_PROTO(spiFlashRxISR); +CY_ISR(spiFlashRxISR) +{ + spiFlashRxDMAComplete = 1; +} +CY_ISR_PROTO(spiFlashTxISR); +CY_ISR(spiFlashTxISR) +{ + spiFlashTxDMAComplete = 1; +} + +// Read and write 1 byte. +static uint8_t spiFlashByte(uint8_t value) +{ + NOR_SPI_WriteTxData(value); + while (!(NOR_SPI_ReadRxStatus() & NOR_SPI_STS_RX_FIFO_NOT_EMPTY)) {} + return NOR_SPI_ReadRxData(); +} + +static void spiFlash_earlyInit(S2S_Device* dev) +{ + SpiFlash* spiFlash = (SpiFlash*)dev; + + for (int i = 0; i < MAX_SCSI_TARGETS; ++i) + { + spiFlash->targets[i].device = dev; + + const S2S_TargetCfg* cfg = getConfigByIndex(i); + if (cfg->storageDevice == CONFIG_STOREDEVICE_FLASH) + { + spiFlash->targets[i].cfg = (S2S_TargetCfg*)cfg; + } + else + { + spiFlash->targets[i].cfg = NULL; + } + } + + // Don't require the host to send us a START STOP UNIT command + spiFlash->dev.mediaState = MEDIA_STARTED; + + // DMA stuff + spiFlashDMATxChan = + NOR_TX_DMA_DmaInitialize( + 2, // Bytes per burst + 1, // request per burst + HI16(CYDEV_SRAM_BASE), + HI16(CYDEV_PERIPH_BASE) + ); + + spiFlashDMARxChan = + NOR_RX_DMA_DmaInitialize( + 1, // Bytes per burst + 1, // request per burst + HI16(CYDEV_PERIPH_BASE), + HI16(CYDEV_SRAM_BASE) + ); + + CyDmaChDisable(spiFlashDMATxChan); + CyDmaChDisable(spiFlashDMARxChan); + + NOR_RX_DMA_COMPLETE_StartEx(spiFlashRxISR); + NOR_TX_DMA_COMPLETE_StartEx(spiFlashTxISR); + + spiFlashDmaRxTd[0] = CyDmaTdAllocate(); + spiFlashDmaRxTd[1] = CyDmaTdAllocate(); + + spiFlashDmaTxTd[0] = CyDmaTdAllocate(); + spiFlashDmaTxTd[1] = CyDmaTdAllocate(); +} + +static void spiFlash_init(S2S_Device* dev) +{ + SpiFlash* spiFlash = (SpiFlash*)dev; + spiFlash->capacity = 0; + + nNOR_WP_Write(1); // We don't need write Protect + nNOR_CS_Write(1); // Deselect + + NOR_SPI_Start(); + CyDelayUs(1); + + nNOR_CS_Write(0); // Select + CyDelayCycles(4); // Tiny delay + + // JEDEC standard "Read Identification" command + // returns CFI information + spiFlashByte(0x9F); + + // 1 byte manufacturer ID + spiFlash->manufacturerID = spiFlashByte(0xFF); + + // 2 bytes device ID + spiFlash->deviceID[0] = spiFlashByte(0xFF); + spiFlash->deviceID[1] = spiFlashByte(0xFF); + + uint8_t bytesFollowing = spiFlashByte(0xFF); + + // Chances are this says 0, which means up to 512 bytes. + // But ignore it for now and just get the capacity. + for (int i = 0; i < 0x23; ++i) + { + spiFlashByte(0xFF); + } + + // Capacity is 2^n at offset 0x27 + //spiFlash->capacity = (1 << spiFlashByte(0xFF)) / 512; + // Record value in 512-byte sectors. + spiFlash->capacity = 1 << (spiFlashByte(0xFF) - 9); + + if (spiFlash->capacity > 0) + { + spiFlash->dev.mediaState |= MEDIA_PRESENT | MEDIA_INITIALISED; + } + + // Don't bother reading the rest. Deselecting will cancel the command. + + nNOR_CS_Write(1); // Deselect +} + +static S2S_Target* spiFlash_getTargets(S2S_Device* dev, int* count) +{ + SpiFlash* spiFlash = (SpiFlash*)dev; + *count = MAX_SCSI_TARGETS; + return spiFlash->targets; +} + +static uint32_t spiFlash_getCapacity(S2S_Device* dev) +{ + SpiFlash* spiFlash = (SpiFlash*)dev; + return spiFlash->capacity; +} + +static int spiFlash_pollMediaChange(S2S_Device* dev) +{ + // Non-removable + return 0; +} + +static void spiFlash_pollMediaBusy(S2S_Device* dev) +{ + // Non-removable +} + +static void spiFlash_WaitForWIP() +{ + int inProgress = 1; + while (inProgress) + { + nNOR_CS_Write(0); + uint8_t status = spiFlashByte(0x05); // Read Status Register 1; + inProgress = status & 1; + nNOR_CS_Write(1); + } +} + +static void spiFlash_erase(S2S_Device* dev, uint32_t sectorNumber, uint32_t count) +{ + // SpiFlash* spiFlash = (SpiFlash*)dev; + + nNOR_CS_Write(0); // Select + + // Send the WREN - Write Enable command + spiFlashByte(0x06); + + // We NEED to deselect the device now for writes to work + nNOR_CS_Write(1); + + // For now we assume 256kb sectors. This needs to be expanded to cater for + // different sector sizes. We safely assume it will always be >= 512 bytes. + const uint32_t flashSectorSize = 256*1024; + + // We don't have enough memory to do a read-modify-write cycle, so the caller + // had better line these up on sector boundaries. + for (uint32_t linearAddress = sectorNumber * 512; + linearAddress < (sectorNumber + count) * 512; + linearAddress += flashSectorSize) + { + nNOR_CS_Write(0); + + spiFlashByte(0xDC); + + // 4-byte address + spiFlashByte(linearAddress >> 24); + spiFlashByte(linearAddress >> 16); + spiFlashByte(linearAddress >> 8); + spiFlashByte(linearAddress); + + // Initiate erase + nNOR_CS_Write(1); + + spiFlash_WaitForWIP(); + } + + nNOR_CS_Write(0); + + // Send the WREN - Write Disable command + spiFlashByte(0x04); + + nNOR_CS_Write(1); // Deselect +} + +static void spiFlash_write(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer) +{ + // SpiFlash* spiFlash = (SpiFlash*)dev; + + nNOR_CS_Write(0); // Select + + // Send the WREN - Write Enable command + spiFlashByte(0x06); + + // We NEED to deselect the device now for writes to work + nNOR_CS_Write(1); + + // We're assuming here that the page size is 512 bytes or more. + for (unsigned int i = 0; i < count; ++i) + { + nNOR_CS_Write(0); + + spiFlashByte(0x12); + + uint32_t linearAddress = (sectorNumber + i) * 512; + spiFlashByte(linearAddress >> 24); + spiFlashByte(linearAddress >> 16); + spiFlashByte(linearAddress >> 8); + spiFlashByte(linearAddress); + + for (int off = 0; off < 512; ++off) + { + spiFlashByte(buffer[i * 512 + off]); + } + + // Initiate write + nNOR_CS_Write(1); + + spiFlash_WaitForWIP(); + } + + nNOR_CS_Write(0); + + // Send the WREN - Write Disable command + spiFlashByte(0x04); + + nNOR_CS_Write(1); // Deselect +} + +static void spiFlash_read(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer) +{ + // SpiFlash* spiFlash = (SpiFlash*)dev; + + nNOR_CS_Write(0); // Select + spiFlashByte(0x13); + + uint32_t linearAddress = sectorNumber * 512; + spiFlashByte(linearAddress >> 24); + spiFlashByte(linearAddress >> 16); + spiFlashByte(linearAddress >> 8); + spiFlashByte(linearAddress); + + // There's no harm in reading -extra- data, so keep the FIFO + // one step ahead. + NOR_SPI_WriteTxData(0xFF); + NOR_SPI_WriteTxData(0xFF); + NOR_SPI_WriteTxData(0xFF); + + for (int off = 0; off < count * 512; ++off) + { + NOR_SPI_WriteTxData(0xFF); + + while (!(NOR_SPI_ReadRxStatus() & NOR_SPI_STS_RX_FIFO_NOT_EMPTY)) {} + buffer[off] = NOR_SPI_ReadRxData(); + } + + // Read and discard the extra bytes of data. It was only used to improve + // performance with a full FIFO. + for (int i = 0; i < 3; ++i) + { + while (!(NOR_SPI_ReadRxStatus() & NOR_SPI_STS_RX_FIFO_NOT_EMPTY)) {} + NOR_SPI_ReadRxData(); + } + + nNOR_CS_Write(1); // Deselect +} + +static void spiFlash_readAsync(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer) +{ + // SpiFlash* spiFlash = (SpiFlash*)dev; + + nNOR_CS_Write(0); // Select + spiFlashByte(0x13); + + uint32_t linearAddress = sectorNumber * 512; + + // DMA implementation + // send is static as the address must remain consistent for the static + // DMA descriptors to work. + // Size must be divisible by 2 to suit 2-byte-burst TX DMA channel. + static uint8_t send[4] __attribute__((aligned(4))); + send[0] = linearAddress >> 24; + send[1] = linearAddress >> 16; + send[2] = linearAddress >> 8; + send[3] = linearAddress; + + // Prepare DMA transfer + CyDmaTdSetConfiguration(spiFlashDmaTxTd[0], sizeof(send), spiFlashDmaTxTd[1], TD_INC_SRC_ADR); + CyDmaTdSetAddress(spiFlashDmaTxTd[0], LO16((uint32)&send), LO16((uint32)NOR_SPI_TXDATA_PTR)); + + CyDmaTdSetConfiguration( + spiFlashDmaTxTd[1], + count * 512, + CY_DMA_DISABLE_TD, // Disable the DMA channel when TD completes count bytes + NOR_TX_DMA__TD_TERMOUT_EN // Trigger interrupt when complete + ); + CyDmaTdSetAddress( + spiFlashDmaTxTd[1], + LO16((uint32)&dummyBuffer), + LO16((uint32)NOR_SPI_TXDATA_PTR)); + + CyDmaTdSetConfiguration(spiFlashDmaRxTd[0], sizeof(send), spiFlashDmaRxTd[1], 0); + CyDmaTdSetAddress(spiFlashDmaRxTd[0], LO16((uint32)NOR_SPI_RXDATA_PTR), LO16((uint32)&discardBuffer)); + + CyDmaTdSetConfiguration( + spiFlashDmaRxTd[1], + count * 512, + CY_DMA_DISABLE_TD, // Disable the DMA channel when TD completes count bytes + TD_INC_DST_ADR | + NOR_RX_DMA__TD_TERMOUT_EN // Trigger interrupt when complete + ); + + CyDmaTdSetAddress( + spiFlashDmaRxTd[1], + LO16((uint32)NOR_SPI_RXDATA_PTR), + LO16((uint32)buffer) + ); + + CyDmaChSetInitialTd(spiFlashDMATxChan, spiFlashDmaTxTd[0]); + CyDmaChSetInitialTd(spiFlashDMARxChan, spiFlashDmaRxTd[0]); + + // The DMA controller is a bit trigger-happy. It will retain + // a drq request that was triggered while the channel was + // disabled. + CyDmaChSetRequest(spiFlashDMATxChan, CY_DMA_CPU_REQ); + CyDmaClearPendingDrq(spiFlashDMARxChan); + + spiFlashTxDMAComplete = 0; + spiFlashRxDMAComplete = 0; + + CyDmaChEnable(spiFlashDMARxChan, 1); + CyDmaChEnable(spiFlashDMATxChan, 1); +} + +static int spiFlash_readAsyncPoll(S2S_Device* dev) +{ + // SpiFlash* spiFlash = (SpiFlash*)dev; + + int allComplete = 0; + uint8_t intr = CyEnterCriticalSection(); + allComplete = spiFlashTxDMAComplete && spiFlashRxDMAComplete; + CyExitCriticalSection(intr); + + if (allComplete) + { + nNOR_CS_Write(1); // Deselect + } + + return allComplete; +} \ No newline at end of file diff --git a/software/SCSI2SD/src/flash.h b/software/SCSI2SD/src/flash.h new file mode 100644 index 0000000..5daf3ba --- /dev/null +++ b/software/SCSI2SD/src/flash.h @@ -0,0 +1,25 @@ +// Copyright (C) 2020 Michael McMaster +// +// This file is part of SCSI2SD. +// +// SCSI2SD is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// SCSI2SD is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with SCSI2SD. If not, see . +#ifndef S2S_FLASH_H +#define S2S_FLASH_H + +#include "storedevice.h" + +extern S2S_Device* spiFlashDevice; + + +#endif diff --git a/software/SCSI2SD/src/geometry.c b/software/SCSI2SD/src/geometry.c index c3c6bb7..7d4d4e6 100755 --- a/software/SCSI2SD/src/geometry.c +++ b/software/SCSI2SD/src/geometry.c @@ -21,19 +21,22 @@ #include uint32_t getScsiCapacity( + S2S_Device* device, uint32_t sdSectorStart, uint16_t bytesPerSector, uint32_t scsiSectors) { + uint32_t devCapacity = device->getCapacity(device); + uint32_t capacity = - (sdDev.capacity - sdSectorStart) / + (devCapacity - sdSectorStart) / SDSectorsPerSCSISector(bytesPerSector); - if (sdDev.capacity == 0) + if (devCapacity == 0) { capacity = 0; } - else if (sdSectorStart >= sdDev.capacity) + else if (sdSectorStart >= devCapacity) { capacity = 0; } diff --git a/software/SCSI2SD/src/geometry.h b/software/SCSI2SD/src/geometry.h index 8df3d4c..26fda1a 100755 --- a/software/SCSI2SD/src/geometry.h +++ b/software/SCSI2SD/src/geometry.h @@ -20,8 +20,9 @@ #include "device.h" #include "config.h" +#include "storedevice.h" #include "sd.h" - + typedef enum { ADDRESS_BLOCK = 0, @@ -35,6 +36,7 @@ static inline int SDSectorsPerSCSISector(uint16_t bytesPerSector) } uint32_t getScsiCapacity( + S2S_Device* device, uint32_t sdSectorStart, uint16_t bytesPerSector, uint32_t scsiSectors); diff --git a/software/SCSI2SD/src/inquiry.c b/software/SCSI2SD/src/inquiry.c index 3b84c52..e1778a4 100755 --- a/software/SCSI2SD/src/inquiry.c +++ b/software/SCSI2SD/src/inquiry.c @@ -91,7 +91,7 @@ static const uint8 AscImpOperatingDefinition[] = 'S','C','S','I','-','2' }; -static void useCustomVPD(const TargetConfig* cfg, int pageCode) +static void useCustomVPD(const S2S_TargetCfg* cfg, int pageCode) { int cfgIdx = 0; int found = 0; @@ -116,8 +116,8 @@ static void useCustomVPD(const TargetConfig* cfg, int pageCode) { // error. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } } @@ -141,13 +141,13 @@ void scsiInquiry() { // error. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } else { - const TargetConfig* config = scsiDev.target->cfg; + const S2S_TargetCfg* config = scsiDev.target->cfg; memcpy(scsiDev.data, StandardResponse, sizeof(StandardResponse)); scsiDev.data[1] = scsiDev.target->cfg->deviceTypeModifier; @@ -180,7 +180,7 @@ void scsiInquiry() { memcpy(scsiDev.data, UnitSerialNumber, sizeof(UnitSerialNumber)); scsiDev.dataLen = sizeof(UnitSerialNumber); - const TargetConfig* config = scsiDev.target->cfg; + const S2S_TargetCfg* config = scsiDev.target->cfg; memcpy(&scsiDev.data[4], config->serial, sizeof(config->serial)); scsiDev.phase = DATA_IN; } @@ -206,8 +206,8 @@ void scsiInquiry() { // error. scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } diff --git a/software/SCSI2SD/src/main.c b/software/SCSI2SD/src/main.c index aa144bd..5e93e70 100755 --- a/software/SCSI2SD/src/main.c +++ b/software/SCSI2SD/src/main.c @@ -29,6 +29,7 @@ int main() { timeInit(); ledInit(); + s2s_deviceEarlyInit(); traceInit(); // Enable global interrupts. @@ -60,8 +61,7 @@ int main() ++delaySeconds; } - uint32_t lastSDPoll = getTime_ms(); - sdCheckPresent(); + s2s_deviceInit(); while (1) { @@ -74,10 +74,10 @@ int main() if (unlikely(scsiDev.phase == BUS_FREE)) { - if (unlikely(elapsedTime_ms(lastSDPoll) > 200)) + if (s2s_pollMediaChange()) { - lastSDPoll = getTime_ms(); - sdCheckPresent(); + scsiPhyConfig(); + scsiInit(); } else { @@ -94,10 +94,11 @@ int main() CyExitCriticalSection(interruptState); } } - else if ((scsiDev.phase >= 0) && (blockDev.state & DISK_PRESENT)) + else if ((scsiDev.phase >= 0) && + scsiDev.target && + (scsiDev.target->device->mediaState & MEDIA_PRESENT)) { - // don't waste time scanning SD cards while we're doing disk IO - lastSDPoll = getTime_ms(); + scsiDev.target->device->pollMediaBusy(scsiDev.target->device); } } return 0; diff --git a/software/SCSI2SD/src/mode.c b/software/SCSI2SD/src/mode.c index bb16cf7..0a5056d 100755 --- a/software/SCSI2SD/src/mode.c +++ b/software/SCSI2SD/src/mode.c @@ -241,7 +241,7 @@ static void pageIn(int pc, int dataIdx, const uint8* pageData, int pageLen) } } -static int useCustomPages(const TargetConfig* cfg, int pc, int pageCode, int* idx) +static int useCustomPages(const S2S_TargetCfg* cfg, int pc, int pageCode, int* idx) { int found = 0; int cfgIdx = 0; @@ -269,7 +269,12 @@ static int useCustomPages(const TargetConfig* cfg, int pc, int pageCode, int* id } static void doModeSense( - int sixByteCmd, int dbd, int pc, int pageCode, int allocLength) + S2S_Device* dev, + int sixByteCmd, + int dbd, + int pc, + int pageCode, + int allocLength) { ////////////// Mode Parameter Header //////////////////////////////////// @@ -288,14 +293,14 @@ static void doModeSense( mediumType = 0; // We should support various floppy types here! // Contains cache bits (0) and a Write-Protect bit. deviceSpecificParam = - (blockDev.state & DISK_WP) ? 0x80 : 0; + (dev->mediaState & MEDIA_WP) ? 0x80 : 0; density = 0; // reserved for direct access break; case CONFIG_FLOPPY_14MB: mediumType = 0x1E; // 90mm/3.5" deviceSpecificParam = - (blockDev.state & DISK_WP) ? 0x80 : 0; + (dev->mediaState & MEDIA_WP) ? 0x80 : 0; density = 0; // reserved for direct access break; @@ -308,14 +313,14 @@ static void doModeSense( case CONFIG_SEQUENTIAL: mediumType = 0; // reserved deviceSpecificParam = - (blockDev.state & DISK_WP) ? 0x80 : 0; - density = 0x13; // DAT Data Storage, X3B5/88-185A + (dev->mediaState & MEDIA_WP) ? 0x80 : 0; + density = 0x13; // DAT Data Storage, X3B5/88-185A break; case CONFIG_MO: - mediumType = 0x03; // Optical reversible or erasable medium + mediumType = 0x03; // Optical reversible or erasable medium deviceSpecificParam = - (blockDev.state & DISK_WP) ? 0x80 : 0; + (dev->mediaState & MEDIA_WP) ? 0x80 : 0; density = 0x00; // Default break; @@ -368,7 +373,7 @@ static void doModeSense( scsiDev.data[idx++] = 0; // reserved // Block length - uint32_t bytesPerSector = scsiDev.target->liveCfg.bytesPerSector; + uint32_t bytesPerSector = scsiDev.target->state.bytesPerSector; scsiDev.data[idx++] = bytesPerSector >> 16; scsiDev.data[idx++] = bytesPerSector >> 8; scsiDev.data[idx++] = bytesPerSector & 0xFF; @@ -423,7 +428,7 @@ static void doModeSense( scsiDev.data[idx+11] = sectorsPerTrack & 0xFF; // Fill out the configured bytes-per-sector - uint32_t bytesPerSector = scsiDev.target->liveCfg.bytesPerSector; + uint32_t bytesPerSector = scsiDev.target->state.bytesPerSector; scsiDev.data[idx+12] = bytesPerSector >> 8; scsiDev.data[idx+13] = bytesPerSector & 0xFF; } @@ -457,8 +462,9 @@ static void doModeSense( uint32 sector; LBA2CHS( getScsiCapacity( + scsiDev.target->device, scsiDev.target->cfg->sdSectorStart, - scsiDev.target->liveCfg.bytesPerSector, + scsiDev.target->state.bytesPerSector, scsiDev.target->cfg->scsiSectors), &cyl, &head, @@ -557,8 +563,8 @@ static void doModeSense( // Unknown Page Code pageFound = 0; scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; scsiDev.phase = STATUS; } else @@ -617,10 +623,10 @@ static void doModeSelect(void) } else { - scsiDev.target->liveCfg.bytesPerSector = bytesPerSector; + scsiDev.target->state.bytesPerSector = bytesPerSector; if (bytesPerSector != scsiDev.target->cfg->bytesPerSector) { - configSave(scsiDev.target->targetId, bytesPerSector); + configSave(scsiDev.target->cfg->scsiId & CONFIG_TARGET_ID_BITS, bytesPerSector); } } } @@ -650,10 +656,10 @@ static void doModeSelect(void) goto bad; } - scsiDev.target->liveCfg.bytesPerSector = bytesPerSector; + scsiDev.target->state.bytesPerSector = bytesPerSector; if (scsiDev.cdb[1] & 1) // SP Save Pages flag { - configSave(scsiDev.target->targetId, bytesPerSector); + configSave(scsiDev.target->cfg->scsiId & CONFIG_TARGET_ID_BITS, bytesPerSector); } } break; @@ -669,14 +675,14 @@ static void doModeSelect(void) goto out; bad: scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_PARAMETER_LIST; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_PARAMETER_LIST; out: scsiDev.phase = STATUS; } -int scsiModeCommand() +int scsiModeCommand(S2S_Device* dev) { int commandHandled = 1; @@ -696,7 +702,7 @@ int scsiModeCommand() // SCSI1 standard: (CCS X3T9.2/86-52) // "An Allocation Length of zero indicates that no MODE SENSE data shall // be transferred. This condition shall not be considered as an error." - doModeSense(1, dbd, pc, pageCode, allocLength); + doModeSense(dev, 1, dbd, pc, pageCode, allocLength); } else if (command == 0x5A) { @@ -707,7 +713,7 @@ int scsiModeCommand() int allocLength = (((uint16) scsiDev.cdb[7]) << 8) + scsiDev.cdb[8]; - doModeSense(0, dbd, pc, pageCode, allocLength); + doModeSense(dev, 0, dbd, pc, pageCode, allocLength); } else if (command == 0x15) { diff --git a/software/SCSI2SD/src/mode.h b/software/SCSI2SD/src/mode.h index 819b1f5..887e91a 100755 --- a/software/SCSI2SD/src/mode.h +++ b/software/SCSI2SD/src/mode.h @@ -17,6 +17,6 @@ #ifndef MODE_H #define MODE_H -int scsiModeCommand(void); +int scsiModeCommand(S2S_Device* dev); #endif diff --git a/software/SCSI2SD/src/scsi.c b/software/SCSI2SD/src/scsi.c index dc39968..b25bf13 100755 --- a/software/SCSI2SD/src/scsi.c +++ b/software/SCSI2SD/src/scsi.c @@ -132,8 +132,8 @@ static void enter_Status(uint8 status) scsiDev.phase = STATUS; scsiDev.lastStatus = scsiDev.status; - scsiDev.lastSense = scsiDev.target->sense.code; - scsiDev.lastSenseASC = scsiDev.target->sense.asc; + scsiDev.lastSense = scsiDev.target->state.sense.code; + scsiDev.lastSenseASC = scsiDev.target->state.sense.asc; } void process_Status() @@ -192,7 +192,7 @@ void process_Status() } else if (scsiDev.target->cfg->quirks == CONFIG_QUIRKS_OMTI) { - scsiDev.status |= (scsiDev.target->targetId & 0x03) << 5; + scsiDev.status |= (scsiDev.target->cfg->scsiId & 0x03) << 5; scsiWriteByte(scsiDev.status); } else @@ -201,8 +201,8 @@ void process_Status() } scsiDev.lastStatus = scsiDev.status; - scsiDev.lastSense = scsiDev.target->sense.code; - scsiDev.lastSenseASC = scsiDev.target->sense.asc; + scsiDev.lastSense = scsiDev.target->state.sense.code; + scsiDev.lastSenseASC = scsiDev.target->state.sense.asc; // Command Complete occurs AFTER a valid status has been @@ -262,8 +262,8 @@ static void process_DataOut() (scsiDev.boardCfg.flags & CONFIG_ENABLE_PARITY) && (scsiDev.compatMode >= COMPAT_SCSI2)) { - scsiDev.target->sense.code = ABORTED_COMMAND; - scsiDev.target->sense.asc = SCSI_PARITY_ERROR; + scsiDev.target->state.sense.code = ABORTED_COMMAND; + scsiDev.target->state.sense.asc = SCSI_PARITY_ERROR; enter_Status(CHECK_CONDITION); } } @@ -318,15 +318,11 @@ static void process_Command() // http://bitsavers.trailing-edge.com/pdf/xebec/104524C_S1410Man_Aug83.pdf if ((scsiDev.lun > 0) && (scsiDev.boardCfg.flags & CONFIG_MAP_LUNS_TO_IDS)) { - int tgtIndex; - for (tgtIndex = 0; tgtIndex < MAX_SCSI_TARGETS; ++tgtIndex) + S2S_Target* lunTarget = s2s_DeviceFindByScsiId(scsiDev.lun); + if (lunTarget != NULL) { - if (scsiDev.targets[tgtIndex].targetId == scsiDev.lun) - { - scsiDev.target = &scsiDev.targets[tgtIndex]; - scsiDev.lun = 0; - break; - } + scsiDev.target = lunTarget; + scsiDev.lun = 0; } } @@ -334,7 +330,7 @@ static void process_Command() control = scsiDev.cdb[scsiDev.cdbLen - 1]; scsiDev.cmdCount++; - const TargetConfig* cfg = scsiDev.target->cfg; + const S2S_TargetCfg* cfg = scsiDev.target->cfg; if (unlikely(scsiDev.resetFlag)) { @@ -347,8 +343,8 @@ static void process_Command() (scsiDev.boardCfg.flags & CONFIG_ENABLE_PARITY) && (scsiDev.compatMode >= COMPAT_SCSI2)) { - scsiDev.target->sense.code = ABORTED_COMMAND; - scsiDev.target->sense.asc = SCSI_PARITY_ERROR; + scsiDev.target->state.sense.code = ABORTED_COMMAND; + scsiDev.target->state.sense.asc = SCSI_PARITY_ERROR; enter_Status(CHECK_CONDITION); } else if ((control & 0x02) && ((control & 0x01) == 0) && @@ -356,8 +352,8 @@ static void process_Command() likely(scsiDev.target->cfg->quirks != CONFIG_QUIRKS_XEBEC)) { // FLAG set without LINK flag. - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; enter_Status(CHECK_CONDITION); } else if (command == 0x12) @@ -373,11 +369,11 @@ static void process_Command() { // Completely non-standard allocLength = 4; - if (scsiDev.target->sense.code == NO_SENSE) + if (scsiDev.target->state.sense.code == NO_SENSE) scsiDev.data[0] = 0; - else if (scsiDev.target->sense.code == ILLEGAL_REQUEST) + else if (scsiDev.target->state.sense.code == ILLEGAL_REQUEST) scsiDev.data[0] = 0x20; // Illegal command - else if (scsiDev.target->sense.code == NOT_READY) + else if (scsiDev.target->state.sense.code == NOT_READY) scsiDev.data[0] = 0x04; // Drive not ready else scsiDev.data[0] = 0x11; // Uncorrectable data error @@ -395,7 +391,7 @@ static void process_Command() memset(scsiDev.data, 0, 256); // Max possible alloc length scsiDev.data[0] = 0xF0; - scsiDev.data[2] = scsiDev.target->sense.code & 0x0F; + scsiDev.data[2] = scsiDev.target->state.sense.code & 0x0F; scsiDev.data[3] = transfer.lba >> 24; scsiDev.data[4] = transfer.lba >> 16; @@ -404,45 +400,45 @@ static void process_Command() // Additional bytes if there are errors to report scsiDev.data[7] = 10; // additional length - scsiDev.data[12] = scsiDev.target->sense.asc >> 8; - scsiDev.data[13] = scsiDev.target->sense.asc; + scsiDev.data[12] = scsiDev.target->state.sense.asc >> 8; + scsiDev.data[13] = scsiDev.target->state.sense.asc; } // Silently truncate results. SCSI-2 spec 8.2.14. enter_DataIn(allocLength); // This is a good time to clear out old sense information. - scsiDev.target->sense.code = NO_SENSE; - scsiDev.target->sense.asc = NO_ADDITIONAL_SENSE_INFORMATION; + scsiDev.target->state.sense.code = NO_SENSE; + scsiDev.target->state.sense.asc = NO_ADDITIONAL_SENSE_INFORMATION; } // Some old SCSI drivers do NOT properly support // unitAttention. eg. the Mac Plus would trigger a SCSI reset // on receiving the unit attention response on boot, thus // triggering another unit attention condition. - else if (scsiDev.target->unitAttention && + else if (scsiDev.target->state.unitAttention && (scsiDev.boardCfg.flags & CONFIG_ENABLE_UNIT_ATTENTION)) { - scsiDev.target->sense.code = UNIT_ATTENTION; - scsiDev.target->sense.asc = scsiDev.target->unitAttention; + scsiDev.target->state.sense.code = UNIT_ATTENTION; + scsiDev.target->state.sense.asc = scsiDev.target->state.unitAttention; // If initiator doesn't do REQUEST SENSE for the next command, then // data is lost. - scsiDev.target->unitAttention = 0; + scsiDev.target->state.unitAttention = 0; enter_Status(CHECK_CONDITION); } else if (scsiDev.lun) { - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = LOGICAL_UNIT_NOT_SUPPORTED; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_NOT_SUPPORTED; enter_Status(CHECK_CONDITION); } else if (command == 0x17 || command == 0x16) { doReserveRelease(); } - else if ((scsiDev.target->reservedId >= 0) && - (scsiDev.target->reservedId != scsiDev.initiatorId)) + else if ((scsiDev.target->state.reservedId >= 0) && + (scsiDev.target->state.reservedId != scsiDev.initiatorId)) { enter_Status(CONFLICT); } @@ -481,10 +477,10 @@ static void process_Command() { scsiReadBuffer(); } - else if (!scsiModeCommand() && !scsiVendorCommand()) + else if (!scsiModeCommand(scsiDev.target->device) && !scsiVendorCommand()) { - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_COMMAND_OPERATION_CODE; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_COMMAND_OPERATION_CODE; enter_Status(CHECK_CONDITION); } @@ -504,25 +500,25 @@ static void doReserveRelease() uint8 command = scsiDev.cdb[0]; int canRelease = - (!thirdPty && (scsiDev.initiatorId == scsiDev.target->reservedId)) || + (!thirdPty && (scsiDev.initiatorId == scsiDev.target->state.reservedId)) || (thirdPty && - (scsiDev.target->reserverId == scsiDev.initiatorId) && - (scsiDev.target->reservedId == thirdPtyId) + (scsiDev.target->state.reserverId == scsiDev.initiatorId) && + (scsiDev.target->state.reservedId == thirdPtyId) ); if (extentReservation) { // Not supported. - scsiDev.target->sense.code = ILLEGAL_REQUEST; - scsiDev.target->sense.asc = INVALID_FIELD_IN_CDB; + scsiDev.target->state.sense.code = ILLEGAL_REQUEST; + scsiDev.target->state.sense.asc = INVALID_FIELD_IN_CDB; enter_Status(CHECK_CONDITION); } else if (command == 0x17) // release { - if ((scsiDev.target->reservedId < 0) || canRelease) + if ((scsiDev.target->state.reservedId < 0) || canRelease) { - scsiDev.target->reservedId = -1; - scsiDev.target->reserverId = -1; + scsiDev.target->state.reservedId = -1; + scsiDev.target->state.reserverId = -1; } else { @@ -531,16 +527,16 @@ static void doReserveRelease() } else // assume reserve. { - if ((scsiDev.target->reservedId < 0) || canRelease) + if ((scsiDev.target->state.reservedId < 0) || canRelease) { - scsiDev.target->reserverId = scsiDev.initiatorId; + scsiDev.target->state.reserverId = scsiDev.initiatorId; if (thirdPty) { - scsiDev.target->reservedId = thirdPtyId; + scsiDev.target->state.reservedId = thirdPtyId; } else { - scsiDev.target->reservedId = scsiDev.initiatorId; + scsiDev.target->state.reservedId = scsiDev.initiatorId; } } else @@ -569,14 +565,14 @@ static void scsiReset() if (scsiDev.target) { - if (scsiDev.target->unitAttention != POWER_ON_RESET) + if (scsiDev.target->state.unitAttention != POWER_ON_RESET) { - scsiDev.target->unitAttention = SCSI_BUS_RESET; + scsiDev.target->state.unitAttention = SCSI_BUS_RESET; } - scsiDev.target->reservedId = -1; - scsiDev.target->reserverId = -1; - scsiDev.target->sense.code = NO_SENSE; - scsiDev.target->sense.asc = NO_ADDITIONAL_SENSE_INFORMATION; + scsiDev.target->state.reservedId = -1; + scsiDev.target->state.reserverId = -1; + scsiDev.target->state.sense.code = NO_SENSE; + scsiDev.target->state.sense.asc = NO_ADDITIONAL_SENSE_INFORMATION; } scsiDev.target = NULL; scsiDiskReset(); @@ -666,16 +662,19 @@ static void process_SelectionPhase() int goodParity = (Lookup_OddParity[mask] == SCSI_ReadPin(SCSI_In_DBP)); int atnFlag = SCSI_ReadFilt(SCSI_Filt_ATN); - int tgtIndex; - TargetState* target = NULL; - for (tgtIndex = 0; tgtIndex < MAX_SCSI_TARGETS; ++tgtIndex) + S2S_Target* target = NULL; + for (int testIdx = 0; testIdx < 8; ++testIdx) { - if (mask & (1 << scsiDev.targets[tgtIndex].targetId)) - { - target = &scsiDev.targets[tgtIndex]; - break; - } + if (mask & (1 << testIdx)) + { + target = s2s_DeviceFindByScsiId(testIdx); + if (target) + { + break; + } + } } + sel &= (selLatchCfg && scsiDev.selFlag) || SCSI_ReadFilt(SCSI_Filt_SEL); bsy |= SCSI_ReadFilt(SCSI_Filt_BSY); #ifdef SCSI_In_IO @@ -709,7 +708,7 @@ static void process_SelectionPhase() // controllers don't generate parity bits. if (!scsiDev.atnFlag) { - target->unitAttention = 0; + target->state.unitAttention = 0; scsiDev.compatMode = COMPAT_SCSI1; } else if (!(scsiDev.boardCfg.flags & CONFIG_ENABLE_SCSI2)) @@ -729,7 +728,7 @@ static void process_SelectionPhase() // SCSI1/SASI initiators may not set their own ID. { int i; - uint8_t initiatorMask = mask ^ (1 << target->targetId); + uint8_t initiatorMask = mask ^ (1 << (target->cfg->scsiId & CONFIG_TARGET_ID_BITS)); scsiDev.initiatorId = -1; for (i = 0; i < 8; ++i) { @@ -816,11 +815,11 @@ static void process_MessageOut() scsiDiskReset(); - scsiDev.target->unitAttention = SCSI_BUS_RESET; + scsiDev.target->state.unitAttention = SCSI_BUS_RESET; // ANY initiator can reset the reservation state via this message. - scsiDev.target->reservedId = -1; - scsiDev.target->reserverId = -1; + scsiDev.target->state.reservedId = -1; + scsiDev.target->state.reserverId = -1; enter_BusFree(); } else if (scsiDev.msgOut == 0x05) @@ -1055,27 +1054,28 @@ void scsiInit() scsiDev.target = NULL; scsiDev.compatMode = COMPAT_UNKNOWN; - int i; - for (i = 0; i < MAX_SCSI_TARGETS; ++i) + int deviceCount; + S2S_Device** allDevices = s2s_GetDevices(&deviceCount); + for (int devIdx = 0; devIdx < deviceCount; ++devIdx) { - const TargetConfig* cfg = getConfigByIndex(i); - if (cfg && (cfg->scsiId & CONFIG_TARGET_ENABLED)) - { - scsiDev.targets[i].targetId = cfg->scsiId & CONFIG_TARGET_ID_BITS; - scsiDev.targets[i].cfg = cfg; + int targetCount; + S2S_Target* targets = allDevices[devIdx]->getTargets(allDevices[devIdx], &targetCount); - scsiDev.targets[i].liveCfg.bytesPerSector = cfg->bytesPerSector; - } - else + for (int i = 0; i < targetCount; ++i) { - scsiDev.targets[i].targetId = 0xff; - scsiDev.targets[i].cfg = NULL; + S2S_TargetState* state = &(targets[i].state); + + state->reservedId = -1; + state->reserverId = -1; + state->unitAttention = POWER_ON_RESET; + state->sense.code = NO_SENSE; + state->sense.asc = NO_ADDITIONAL_SENSE_INFORMATION; + + if (targets[i].cfg) + { + state->bytesPerSector = targets[i].cfg->bytesPerSector; + } } - scsiDev.targets[i].reservedId = -1; - scsiDev.targets[i].reserverId = -1; - scsiDev.targets[i].unitAttention = POWER_ON_RESET; - scsiDev.targets[i].sense.code = NO_SENSE; - scsiDev.targets[i].sense.asc = NO_ADDITIONAL_SENSE_INFORMATION; } } @@ -1111,7 +1111,7 @@ int scsiReconnect() { // Arbitrate. ledOn(); - uint8_t scsiIdMask = 1 << scsiDev.target->targetId; + uint8_t scsiIdMask = 1 << (scsiDev.target->cfg->scsiId & CONFIG_TARGET_ID_BITS); SCSI_Out_Bits_Write(scsiIdMask); SCSI_Out_Ctl_Write(1); // Write bits manually. SCSI_SetPin(SCSI_Out_BSY); diff --git a/software/SCSI2SD/src/scsi.h b/software/SCSI2SD/src/scsi.h index d1a9f54..f353e58 100755 --- a/software/SCSI2SD/src/scsi.h +++ b/software/SCSI2SD/src/scsi.h @@ -17,8 +17,8 @@ #ifndef SCSI_H #define SCSI_H +#include "storedevice.h" #include "geometry.h" -#include "sense.h" typedef enum { @@ -73,37 +73,10 @@ typedef enum #define MAX_SECTOR_SIZE 8192 #define MIN_SECTOR_SIZE 64 -// Shadow parameters, possibly not saved to flash yet. -// Set via Mode Select typedef struct { - uint16_t bytesPerSector; -} LiveCfg; - -typedef struct -{ - uint8_t targetId; - - const TargetConfig* cfg; - - LiveCfg liveCfg; - - ScsiSense sense; - - uint16 unitAttention; // Set to the sense qualifier key to be returned. - - // Only let the reserved initiator talk to us. - // A 3rd party may be sending the RESERVE/RELEASE commands - int reservedId; // 0 -> 7 if reserved. -1 if not reserved. - int reserverId; // 0 -> 7 if reserved. -1 if not reserved. -} TargetState; - -typedef struct -{ - TargetState targets[MAX_SCSI_TARGETS]; - TargetState* target; - BoardConfig boardCfg; - + S2S_Target* target; + S2S_BoardConfig boardCfg; // Set to true (1) if the ATN flag was set, and we need to // enter the MESSAGE_OUT phase. diff --git a/software/SCSI2SD/src/sd.c b/software/SCSI2SD/src/sd.c index 6cd9029..536318a 100755 --- a/software/SCSI2SD/src/sd.c +++ b/software/SCSI2SD/src/sd.c @@ -28,8 +28,38 @@ #include +static void sd_earlyInit(S2S_Device* dev); +static void sd_deviceInit(S2S_Device* dev); +static S2S_Target* sd_getTargets(S2S_Device* dev, int* count); +static uint32_t sd_getCapacity(S2S_Device* dev); +static int sd_pollMediaChange(S2S_Device* dev); +static void sd_pollMediaBusy(S2S_Device* dev); +static void sd_erase(S2S_Device* dev, uint32_t sectorNumber, uint32_t count); +static void sd_read(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); +static void sd_readAsync(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); +static int sd_readAsyncPoll(S2S_Device* dev); +static void sd_write(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); + + // Global -SdDevice sdDev; +SdCard sdCard = { + { + sd_earlyInit, + sd_deviceInit, + sd_getTargets, + sd_getCapacity, + sd_pollMediaChange, + sd_pollMediaBusy, + sd_erase, + sd_read, + sd_readAsync, + sd_readAsyncPoll, + sd_write, + 0, // initial mediaState + CONFIG_STOREDEVICE_SD + } +}; +S2S_Device* sdDevice = &(sdCard.dev); enum SD_CMD_STATE { CMD_STATE_IDLE, CMD_STATE_READ, CMD_STATE_WRITE }; static int sdCmdState = CMD_STATE_IDLE; @@ -268,7 +298,7 @@ sdReadMultiSectorPrep(uint32_t sdLBA, uint32_t sdSectors) { uint32_t tmpNextLBA = sdLBA + sdSectors; - if (!sdDev.ccs) + if (!sdCard.ccs) { sdLBA = sdLBA * SD_SECTOR_SIZE; tmpNextLBA = tmpNextLBA * SD_SECTOR_SIZE; @@ -291,8 +321,8 @@ sdReadMultiSectorPrep(uint32_t sdLBA, uint32_t sdSectors) sdClearStatus(); scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; scsiDev.phase = STATUS; } else @@ -330,8 +360,8 @@ dmaReadSector(uint8_t* outputBuffer) if (scsiDev.status != CHECK_CONDITION) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = UNRECOVERED_READ_ERROR; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = UNRECOVERED_READ_ERROR; scsiDev.phase = STATUS; } sdClearStatus(); @@ -399,7 +429,7 @@ void sdReadSingleSectorDMA(uint32_t lba, uint8_t* outputBuffer) sdPreCmdState(CMD_STATE_READ); uint8 v; - if (!sdDev.ccs) + if (!sdCard.ccs) { lba = lba * SD_SECTOR_SIZE; } @@ -410,8 +440,8 @@ void sdReadSingleSectorDMA(uint32_t lba, uint8_t* outputBuffer) sdClearStatus(); scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; scsiDev.phase = STATUS; } else @@ -446,8 +476,8 @@ static void sdCompleteRead() if (unlikely(r1b) && (scsiDev.phase == DATA_IN)) { scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = UNRECOVERED_READ_ERROR; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = UNRECOVERED_READ_ERROR; scsiDev.phase = STATUS; } } @@ -544,8 +574,8 @@ sdWriteSectorDMAPoll() sdClearStatus(); scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; scsiDev.phase = STATUS; } else @@ -599,8 +629,8 @@ static void sdCompleteWrite() { sdClearStatus(); scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = WRITE_ERROR_AUTO_REALLOCATION_FAILED; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = WRITE_ERROR_AUTO_REALLOCATION_FAILED; scsiDev.phase = STATUS; } } @@ -627,7 +657,7 @@ static int sendIfCond() if (status == SD_R1_IDLE) { // Version 2 card. - sdDev.version = 2; + sdCard.version = 2; // Read 32bit response. Should contain the same bytes that // we sent in the command parameter. sdSpiByte(0xFF); @@ -639,7 +669,7 @@ static int sendIfCond() else if (status & SD_R1_ILLEGAL) { // Version 1 card. - sdDev.version = 1; + sdCard.version = 1; sdClearStatus(); break; } @@ -688,7 +718,7 @@ static int sdReadOCR() buf[i] = sdSpiByte(0xFF); } - sdDev.ccs = (buf[0] & 0x40) ? 1 : 0; + sdCard.ccs = (buf[0] & 0x40) ? 1 : 0; complete = (buf[0] & 0x80); } while (!status && @@ -715,7 +745,7 @@ static void sdReadCID() for (i = 0; i < 16; ++i) { - sdDev.cid[i] = sdSpiByte(0xFF); + sdCard.cid[i] = sdSpiByte(0xFF); } sdSpiByte(0xFF); // CRC sdSpiByte(0xFF); // CRC @@ -738,30 +768,30 @@ static int sdReadCSD() for (i = 0; i < 16; ++i) { - sdDev.csd[i] = sdSpiByte(0xFF); + sdCard.csd[i] = sdSpiByte(0xFF); } sdSpiByte(0xFF); // CRC sdSpiByte(0xFF); // CRC - if ((sdDev.csd[0] >> 6) == 0x00) + if ((sdCard.csd[0] >> 6) == 0x00) { // CSD version 1 // C_SIZE in bits [73:62] - uint32 c_size = (((((uint32)sdDev.csd[6]) & 0x3) << 16) | (((uint32)sdDev.csd[7]) << 8) | sdDev.csd[8]) >> 6; - uint32 c_mult = (((((uint32)sdDev.csd[9]) & 0x3) << 8) | ((uint32)sdDev.csd[0xa])) >> 7; - uint32 sectorSize = sdDev.csd[5] & 0x0F; - sdDev.capacity = ((c_size+1) * ((uint64)1 << (c_mult+2)) * ((uint64)1 << sectorSize)) / SD_SECTOR_SIZE; + uint32 c_size = (((((uint32)sdCard.csd[6]) & 0x3) << 16) | (((uint32)sdCard.csd[7]) << 8) | sdCard.csd[8]) >> 6; + uint32 c_mult = (((((uint32)sdCard.csd[9]) & 0x3) << 8) | ((uint32)sdCard.csd[0xa])) >> 7; + uint32 sectorSize = sdCard.csd[5] & 0x0F; + sdCard.capacity = ((c_size+1) * ((uint64)1 << (c_mult+2)) * ((uint64)1 << sectorSize)) / SD_SECTOR_SIZE; } - else if ((sdDev.csd[0] >> 6) == 0x01) + else if ((sdCard.csd[0] >> 6) == 0x01) { // CSD version 2 // C_SIZE in bits [69:48] uint32 c_size = - ((((uint32)sdDev.csd[7]) & 0x3F) << 16) | - (((uint32)sdDev.csd[8]) << 8) | - ((uint32)sdDev.csd[7]); - sdDev.capacity = (c_size + 1) * 1024; + ((((uint32)sdCard.csd[7]) & 0x3F) << 16) | + (((uint32)sdCard.csd[8]) << 8) | + ((uint32)sdCard.csd[7]); + sdCard.capacity = (c_size + 1) * 1024; } else { @@ -809,11 +839,11 @@ int sdInit() uint8 v; sdCmdState = CMD_STATE_IDLE; - sdDev.version = 0; - sdDev.ccs = 0; - sdDev.capacity = 0; - memset(sdDev.csd, 0, sizeof(sdDev.csd)); - memset(sdDev.cid, 0, sizeof(sdDev.cid)); + sdCard.version = 0; + sdCard.ccs = 0; + sdCard.capacity = 0; + memset(sdCard.csd, 0, sizeof(sdCard.csd)); + memset(sdCard.cid, 0, sizeof(sdCard.cid)); sdInitDMA(); @@ -848,7 +878,7 @@ int sdInit() if (!sdOpCond()) goto bad; // ACMD41. Wait for init completes. if (!sdReadOCR()) goto bad; // CMD58. Get CCS flag. Only valid after init. - // This command will be ignored if sdDev.ccs is set. + // This command will be ignored if sdCard.ccs is set. // SDHC and SDXC are always 512bytes. v = sdCRCCommandAndResponse(SD_SET_BLOCKLEN, SD_SECTOR_SIZE); //Force sector size if(v){goto bad;} @@ -882,7 +912,7 @@ int sdInit() bad: SD_Data_Clk_SetDivider(clkDiv25MHz); // Restore the clock for our next retry - sdDev.capacity = 0; + sdCard.capacity = 0; out: sdClearStatus(); @@ -895,7 +925,7 @@ void sdWriteMultiSectorPrep(uint32_t sdLBA, uint32_t sdSectors) { uint32_t tmpNextLBA = sdLBA + sdSectors; - if (!sdDev.ccs) + if (!sdCard.ccs) { sdLBA = sdLBA * SD_SECTOR_SIZE; tmpNextLBA = tmpNextLBA * SD_SECTOR_SIZE; @@ -924,8 +954,8 @@ void sdWriteMultiSectorPrep(uint32_t sdLBA, uint32_t sdSectors) scsiDiskReset(); sdClearStatus(); scsiDev.status = CHECK_CONDITION; - scsiDev.target->sense.code = HARDWARE_ERROR; - scsiDev.target->sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; + scsiDev.target->state.sense.code = HARDWARE_ERROR; + scsiDev.target->state.sense.asc = LOGICAL_UNIT_COMMUNICATION_FAILURE; scsiDev.phase = STATUS; } else @@ -968,7 +998,7 @@ void sdCheckPresent() uint8_t cs = SD_CS_Read(); SD_CS_SetDriveMode(SD_CS_DM_STRONG) ; - if (cs && !(blockDev.state & DISK_PRESENT)) + if (cs && !(sdCard.dev.mediaState & MEDIA_PRESENT)) { static int firstInit = 1; @@ -981,38 +1011,127 @@ void sdCheckPresent() if (sdInit()) { - blockDev.state |= DISK_PRESENT | DISK_INITIALISED; + sdCard.dev.mediaState |= MEDIA_PRESENT | MEDIA_INITIALISED; // Always "start" the device. Many systems (eg. Apple System 7) // won't respond properly to // LOGICAL_UNIT_NOT_READY_INITIALIZING_COMMAND_REQUIRED sense // code, even if they stopped it first with // START STOP UNIT command. - blockDev.state |= DISK_STARTED; + sdCard.dev.mediaState |= MEDIA_STARTED; if (!firstInit) { int i; for (i = 0; i < MAX_SCSI_TARGETS; ++i) { - scsiDev.targets[i].unitAttention = PARAMETERS_CHANGED; + sdCard.targets[i].state.unitAttention = PARAMETERS_CHANGED; } } firstInit = 0; } } - else if (!cs && (blockDev.state & DISK_PRESENT)) + else if (!cs && (sdCard.dev.mediaState & MEDIA_PRESENT)) { - sdDev.capacity = 0; - blockDev.state &= ~DISK_PRESENT; - blockDev.state &= ~DISK_INITIALISED; + sdCard.capacity = 0; + sdCard.dev.mediaState &= ~MEDIA_PRESENT; + sdCard.dev.mediaState &= ~MEDIA_INITIALISED; int i; for (i = 0; i < MAX_SCSI_TARGETS; ++i) { - scsiDev.targets[i].unitAttention = PARAMETERS_CHANGED; + sdCard.targets[i].state.unitAttention = PARAMETERS_CHANGED; } } } firstCheck = 0; } +static void sd_earlyInit(S2S_Device* dev) +{ + SdCard* sdCardDevice = (SdCard*)dev; + + for (int i = 0; i < MAX_SCSI_TARGETS; ++i) + { + sdCardDevice->targets[i].device = dev; + + const S2S_TargetCfg* cfg = getConfigByIndex(i); + if (cfg->storageDevice == CONFIG_STOREDEVICE_SD) + { + sdCardDevice->targets[i].cfg = (S2S_TargetCfg*)cfg; + } + else + { + sdCardDevice->targets[i].cfg = NULL; + } + } + sdCardDevice->lastPollMediaTime = getTime_ms(); + + // Don't require the host to send us a START STOP UNIT command + sdCardDevice->dev.mediaState = MEDIA_STARTED; +} + +static void sd_deviceInit(S2S_Device* dev) +{ + sdCheckPresent(); +} + +static S2S_Target* sd_getTargets(S2S_Device* dev, int* count) +{ + SdCard* sdCardDevice = (SdCard*)dev; + *count = MAX_SCSI_TARGETS; + return sdCardDevice->targets; +} + +static uint32_t sd_getCapacity(S2S_Device* dev) +{ + SdCard* sdCardDevice = (SdCard*)dev; + return sdCardDevice->capacity; +} + +static int sd_pollMediaChange(S2S_Device* dev) +{ + SdCard* sdCardDevice = (SdCard*)dev; + if (elapsedTime_ms(sdCardDevice->lastPollMediaTime) > 200) + { + sdCardDevice->lastPollMediaTime = getTime_ms(); + sdCheckPresent(); + return 0; + } + else + { + return 0; + } +} + +static void sd_pollMediaBusy(S2S_Device* dev) +{ + SdCard* sdCardDevice = (SdCard*)dev; + sdCardDevice->lastPollMediaTime = getTime_ms(); +} + +static void sd_erase(S2S_Device* dev, uint32_t sectorNumber, uint32_t count) +{ + // TODO +} + +static void sd_read(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer) +{ + // TODO +} + +static void sd_readAsync(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer) +{ + // TODO +} + + +static int sd_readAsyncPoll(S2S_Device* dev) +{ + return 1; +} + + +static void sd_write(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer) +{ + // TODO +} diff --git a/software/SCSI2SD/src/sd.h b/software/SCSI2SD/src/sd.h index 8ffcee7..602f938 100755 --- a/software/SCSI2SD/src/sd.h +++ b/software/SCSI2SD/src/sd.h @@ -17,6 +17,8 @@ #ifndef SD_H #define SD_H +#include "storedevice.h" + #define SD_SECTOR_SIZE 512 typedef enum @@ -52,15 +54,23 @@ typedef enum typedef struct { + S2S_Device dev; + + S2S_Target targets[MAX_SCSI_TARGETS]; + int version; // SDHC = version 2. int ccs; // Card Capacity Status. 1 = SDHC or SDXC - uint32 capacity; // in 512 byte blocks + uint32_t capacity; // in 512 byte blocks uint8_t csd[16]; // Unparsed CSD uint8_t cid[16]; // Unparsed CID -} SdDevice; -extern SdDevice sdDev; + uint32_t lastPollMediaTime; +} SdCard; + +extern SdCard sdCard; +extern S2S_Device* sdDevice; + extern volatile uint8_t sdRxDMAComplete; extern volatile uint8_t sdTxDMAComplete; diff --git a/software/SCSI2SD/src/sense.h b/software/SCSI2SD/src/sense.h index 7852868..e73631f 100755 --- a/software/SCSI2SD/src/sense.h +++ b/software/SCSI2SD/src/sense.h @@ -169,8 +169,8 @@ typedef enum typedef struct { - uint8 code; - uint16 asc; + uint8_t code; + uint16_t asc; } ScsiSense; #endif diff --git a/software/SCSI2SD/src/storedevice.c b/software/SCSI2SD/src/storedevice.c new file mode 100644 index 0000000..d00eb4e --- /dev/null +++ b/software/SCSI2SD/src/storedevice.c @@ -0,0 +1,100 @@ +// Copyright (C) 2020 Michael McMaster +// +// This file is part of SCSI2SD. +// +// SCSI2SD is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// SCSI2SD is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with SCSI2SD. If not, see . +#include "storedevice.h" + +#include "device.h" + +#ifdef NOR_SPI_DATA_WIDTH +#include "flash.h" +#endif + +#include "sd.h" + +#include +#include + +S2S_Target* s2s_DeviceFindByScsiId(int scsiId) +{ + int deviceCount; + S2S_Device** devices = s2s_GetDevices(&deviceCount); + for (int deviceIdx = 0; deviceIdx < deviceCount; ++deviceIdx) + { + int targetCount; + S2S_Target* targets = devices[deviceIdx]->getTargets(devices[deviceIdx], &targetCount); + for (int targetIdx = 0; targetIdx < targetCount; ++targetIdx) + { + S2S_Target* target = targets + targetIdx; + if (target && + target->cfg && + (target->cfg->scsiId & CONFIG_TARGET_ENABLED) && + ((target->cfg->scsiId & CONFIG_TARGET_ID_BITS) == scsiId)) + { + return target; + } + } + } + + return NULL; +} + +S2S_Device** s2s_GetDevices(int* count) +{ + static S2S_Device* allDevices[2]; + + *count = 1; + allDevices[0] = sdDevice; + + #ifdef NOR_SPI_DATA_WIDTH + *count = 2; + allDevices[1] = spiFlashDevice; + #endif + + return allDevices; +} + +void s2s_deviceEarlyInit() +{ + int count; + S2S_Device** devices = s2s_GetDevices(&count); + for (int i = 0; i < count; ++i) + { + devices[i]->earlyInit(devices[i]); + } +} + +void s2s_deviceInit() +{ + int count; + S2S_Device** devices = s2s_GetDevices(&count); + for (int i = 0; i < count; ++i) + { + devices[i]->init(devices[i]); + } +} + +int s2s_pollMediaChange() +{ + int result = 0; + int count; + S2S_Device** devices = s2s_GetDevices(&count); + for (int i = 0; i < count; ++i) + { + int devResult = devices[i]->pollMediaChange(devices[i]); + result = result || devResult; + } + return result; +} diff --git a/software/SCSI2SD/src/storedevice.h b/software/SCSI2SD/src/storedevice.h new file mode 100644 index 0000000..e66c640 --- /dev/null +++ b/software/SCSI2SD/src/storedevice.h @@ -0,0 +1,98 @@ +// Copyright (C) 2020 Michael McMaster +// +// This file is part of SCSI2SD. +// +// SCSI2SD is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// SCSI2SD is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with SCSI2SD. If not, see . +#ifndef S2S_DEVICE_H +#define S2S_DEVICE_H + +#include "scsi2sd.h" +#include "sense.h" + +#include + +struct S2S_DeviceStruct; +typedef struct S2S_DeviceStruct S2S_Device; + +struct S2S_TargetStruct; +typedef struct S2S_TargetStruct S2S_Target; + +struct S2S_TargetStateStruct; +typedef struct S2S_TargetStateStruct S2S_TargetState; + +typedef enum +{ + MEDIA_STARTED = 1, // Controlled via START STOP UNIT + MEDIA_PRESENT = 2, // SD card is physically present + MEDIA_INITIALISED = 4, // SD card responded to init sequence + MEDIA_WP = 8 // Write-protect. +} MEDIA_STATE; + +struct S2S_TargetStateStruct +{ + ScsiSense sense; + + uint16_t unitAttention; // Set to the sense qualifier key to be returned. + + // Only let the reserved initiator talk to us. + // A 3rd party may be sending the RESERVE/RELEASE commands + int reservedId; // 0 -> 7 if reserved. -1 if not reserved. + int reserverId; // 0 -> 7 if reserved. -1 if not reserved. + + // Shadow parameters, possibly not saved to flash yet. + // Set via Mode Select + uint16_t bytesPerSector; +}; + +struct S2S_TargetStruct +{ + S2S_Device* device; + S2S_TargetCfg* cfg; + + S2S_TargetState state; +}; + +struct S2S_DeviceStruct +{ + void (*earlyInit)(S2S_Device* dev); + void (*init)(S2S_Device* dev); + + S2S_Target* (*getTargets)(S2S_Device* dev, int* count); + + // Get the number of 512 byte blocks + uint32_t (*getCapacity)(S2S_Device* dev); + + int (*pollMediaChange)(S2S_Device* dev); + void (*pollMediaBusy)(S2S_Device* dev); + + void (*erase)(S2S_Device* dev, uint32_t sectorNumber, uint32_t count); + void (*read)(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); + void (*readAsync)(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); + int (*readAsyncPoll)(S2S_Device* dev); + void (*write)(S2S_Device* dev, uint32_t sectorNumber, uint32_t count, uint8_t* buffer); + + MEDIA_STATE mediaState; + CONFIG_STOREDEVICE deviceType; +}; + +S2S_Target* s2s_DeviceFindByScsiId(int scsiId); + +S2S_Device** s2s_GetDevices(int* count); + +void s2s_deviceEarlyInit(); +void s2s_deviceInit(); +int s2s_pollMediaChange(); +#endif + + diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/NOR_SPI.h b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/NOR_SPI.h index c0f90bd..53893b9 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/NOR_SPI.h +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/NOR_SPI.h @@ -135,7 +135,7 @@ extern uint8 NOR_SPI_initVar; ***************************************/ #define NOR_SPI_INT_ON_SPI_DONE ((uint8) (0u << NOR_SPI_STS_SPI_DONE_SHIFT)) -#define NOR_SPI_INT_ON_TX_EMPTY ((uint8) (0u << NOR_SPI_STS_TX_FIFO_EMPTY_SHIFT)) +#define NOR_SPI_INT_ON_TX_EMPTY ((uint8) (1u << NOR_SPI_STS_TX_FIFO_EMPTY_SHIFT)) #define NOR_SPI_INT_ON_TX_NOT_FULL ((uint8) (0u << \ NOR_SPI_STS_TX_FIFO_NOT_FULL_SHIFT)) #define NOR_SPI_INT_ON_BYTE_COMP ((uint8) (0u << NOR_SPI_STS_BYTE_COMPLETE_SHIFT)) @@ -154,7 +154,7 @@ extern uint8 NOR_SPI_initVar; #define NOR_SPI_INT_ON_RX_FULL ((uint8) (0u << \ NOR_SPI_STS_RX_FIFO_FULL_SHIFT)) -#define NOR_SPI_INT_ON_RX_NOT_EMPTY ((uint8) (0u << \ +#define NOR_SPI_INT_ON_RX_NOT_EMPTY ((uint8) (1u << \ NOR_SPI_STS_RX_FIFO_NOT_EMPTY_SHIFT)) #define NOR_SPI_INT_ON_RX_OVER ((uint8) (0u << \ NOR_SPI_STS_RX_FIFO_OVERRUN_SHIFT)) diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h index 59d3e2c..e7a420e 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevice.h * OBSOLETE: Do not use this file. Use the _trm version instead. -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h index b05fd82..e45bc3e 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevice_trm.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevice_trm.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc index 754b960..1346980 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu.inc @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevicegnu.inc * OBSOLETE: Do not use this file. Use the _trm version instead. -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc index e2e2aa7..7877dc7 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevicegnu_trm.inc * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc index 147a861..d8f2a6e 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar.inc @@ -1,13 +1,13 @@ ; ; File Name: cydeviceiar.inc ; OBSOLETE: Do not use this file. Use the _trm version instead. -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc index 30429cd..067042d 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc @@ -1,13 +1,13 @@ ; ; File Name: cydeviceiar_trm.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc index cff336b..fdafe7a 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv.inc @@ -1,13 +1,13 @@ ; ; File Name: cydevicerv.inc ; OBSOLETE: Do not use this file. Use the _trm version instead. -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc index fc79212..c7a64f2 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc @@ -1,13 +1,13 @@ ; ; File Name: cydevicerv_trm.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h index 6704c4a..c5ff31e 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cyfitter.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -192,34 +192,34 @@ #define USBFS_ep_0__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 #define USBFS_ep_1__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define USBFS_ep_1__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define USBFS_ep_1__INTC_MASK 0x80u -#define USBFS_ep_1__INTC_NUMBER 7u +#define USBFS_ep_1__INTC_MASK 0x200u +#define USBFS_ep_1__INTC_NUMBER 9u #define USBFS_ep_1__INTC_PRIOR_NUM 7u -#define USBFS_ep_1__INTC_PRIOR_REG CYREG_NVIC_PRI_7 +#define USBFS_ep_1__INTC_PRIOR_REG CYREG_NVIC_PRI_9 #define USBFS_ep_1__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define USBFS_ep_1__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 #define USBFS_ep_2__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define USBFS_ep_2__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define USBFS_ep_2__INTC_MASK 0x100u -#define USBFS_ep_2__INTC_NUMBER 8u +#define USBFS_ep_2__INTC_MASK 0x400u +#define USBFS_ep_2__INTC_NUMBER 10u #define USBFS_ep_2__INTC_PRIOR_NUM 7u -#define USBFS_ep_2__INTC_PRIOR_REG CYREG_NVIC_PRI_8 +#define USBFS_ep_2__INTC_PRIOR_REG CYREG_NVIC_PRI_10 #define USBFS_ep_2__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define USBFS_ep_2__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 #define USBFS_ep_3__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define USBFS_ep_3__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define USBFS_ep_3__INTC_MASK 0x200u -#define USBFS_ep_3__INTC_NUMBER 9u +#define USBFS_ep_3__INTC_MASK 0x800u +#define USBFS_ep_3__INTC_NUMBER 11u #define USBFS_ep_3__INTC_PRIOR_NUM 7u -#define USBFS_ep_3__INTC_PRIOR_REG CYREG_NVIC_PRI_9 +#define USBFS_ep_3__INTC_PRIOR_REG CYREG_NVIC_PRI_11 #define USBFS_ep_3__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define USBFS_ep_3__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 #define USBFS_ep_4__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define USBFS_ep_4__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define USBFS_ep_4__INTC_MASK 0x400u -#define USBFS_ep_4__INTC_NUMBER 10u +#define USBFS_ep_4__INTC_MASK 0x2000u +#define USBFS_ep_4__INTC_NUMBER 13u #define USBFS_ep_4__INTC_PRIOR_NUM 7u -#define USBFS_ep_4__INTC_PRIOR_REG CYREG_NVIC_PRI_10 +#define USBFS_ep_4__INTC_PRIOR_REG CYREG_NVIC_PRI_13 #define USBFS_ep_4__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define USBFS_ep_4__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 #define USBFS_sof_int__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 @@ -424,32 +424,32 @@ #define NOR_SO__SLW CYREG_PRT15_SLW /* SDCard */ -#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG CYREG_B1_UDB05_06_ACTL -#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG CYREG_B1_UDB05_06_CTL -#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG CYREG_B1_UDB05_06_CTL -#define SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG CYREG_B1_UDB05_06_CTL -#define SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG CYREG_B1_UDB05_06_CTL -#define SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG CYREG_B1_UDB05_06_MSK -#define SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG CYREG_B1_UDB05_06_MSK -#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG CYREG_B1_UDB05_06_MSK -#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG CYREG_B1_UDB05_06_MSK -#define SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG CYREG_B1_UDB05_ACTL -#define SDCard_BSPIM_BitCounter__CONTROL_REG CYREG_B1_UDB05_CTL -#define SDCard_BSPIM_BitCounter__CONTROL_ST_REG CYREG_B1_UDB05_ST_CTL -#define SDCard_BSPIM_BitCounter__COUNT_REG CYREG_B1_UDB05_CTL -#define SDCard_BSPIM_BitCounter__COUNT_ST_REG CYREG_B1_UDB05_ST_CTL -#define SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG CYREG_B1_UDB05_MSK_ACTL -#define SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG CYREG_B1_UDB05_MSK_ACTL -#define SDCard_BSPIM_BitCounter__PERIOD_REG CYREG_B1_UDB05_MSK -#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB05_06_ACTL -#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG CYREG_B1_UDB05_06_ST -#define SDCard_BSPIM_BitCounter_ST__MASK_REG CYREG_B1_UDB05_MSK -#define SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG CYREG_B1_UDB05_MSK_ACTL -#define SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG CYREG_B1_UDB05_MSK_ACTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG CYREG_B1_UDB05_ACTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG CYREG_B1_UDB05_ST_CTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG CYREG_B1_UDB05_ST_CTL -#define SDCard_BSPIM_BitCounter_ST__STATUS_REG CYREG_B1_UDB05_ST +#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB04_05_ACTL +#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB04_05_CTL +#define SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB04_05_CTL +#define SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB04_05_CTL +#define SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG CYREG_B0_UDB04_05_CTL +#define SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG CYREG_B0_UDB04_05_MSK +#define SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG CYREG_B0_UDB04_05_MSK +#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG CYREG_B0_UDB04_05_MSK +#define SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB04_05_MSK +#define SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG CYREG_B0_UDB04_ACTL +#define SDCard_BSPIM_BitCounter__CONTROL_REG CYREG_B0_UDB04_CTL +#define SDCard_BSPIM_BitCounter__CONTROL_ST_REG CYREG_B0_UDB04_ST_CTL +#define SDCard_BSPIM_BitCounter__COUNT_REG CYREG_B0_UDB04_CTL +#define SDCard_BSPIM_BitCounter__COUNT_ST_REG CYREG_B0_UDB04_ST_CTL +#define SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB04_MSK_ACTL +#define SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG CYREG_B0_UDB04_MSK_ACTL +#define SDCard_BSPIM_BitCounter__PERIOD_REG CYREG_B0_UDB04_MSK +#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB04_05_ACTL +#define SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG CYREG_B0_UDB04_05_ST +#define SDCard_BSPIM_BitCounter_ST__MASK_REG CYREG_B0_UDB04_MSK +#define SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG CYREG_B0_UDB04_MSK_ACTL +#define SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG CYREG_B0_UDB04_MSK_ACTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG CYREG_B0_UDB04_ACTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG CYREG_B0_UDB04_ST_CTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG CYREG_B0_UDB04_ST_CTL +#define SDCard_BSPIM_BitCounter_ST__STATUS_REG CYREG_B0_UDB04_ST #define SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB06_07_ACTL #define SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG CYREG_B1_UDB06_07_ST #define SDCard_BSPIM_RxStsReg__4__MASK 0x10u @@ -460,11 +460,7 @@ #define SDCard_BSPIM_RxStsReg__6__POS 6 #define SDCard_BSPIM_RxStsReg__MASK 0x70u #define SDCard_BSPIM_RxStsReg__MASK_REG CYREG_B1_UDB06_MSK -#define SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL #define SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG CYREG_B1_UDB06_ACTL -#define SDCard_BSPIM_RxStsReg__STATUS_CNT_REG CYREG_B1_UDB06_ST_CTL -#define SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG CYREG_B1_UDB06_ST_CTL #define SDCard_BSPIM_RxStsReg__STATUS_REG CYREG_B1_UDB06_ST #define SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG CYREG_B1_UDB04_05_A0 #define SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG CYREG_B1_UDB04_05_A1 @@ -483,12 +479,12 @@ #define SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG CYREG_B1_UDB04_F0_F1 #define SDCard_BSPIM_sR8_Dp_u0__F0_REG CYREG_B1_UDB04_F0 #define SDCard_BSPIM_sR8_Dp_u0__F1_REG CYREG_B1_UDB04_F1 +#define SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG CYREG_B1_UDB04_MSK_ACTL +#define SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG CYREG_B1_UDB04_MSK_ACTL #define SDCard_BSPIM_TxStsReg__0__MASK 0x01u #define SDCard_BSPIM_TxStsReg__0__POS 0 #define SDCard_BSPIM_TxStsReg__1__MASK 0x02u #define SDCard_BSPIM_TxStsReg__1__POS 1 -#define SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB06_07_ACTL -#define SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG CYREG_B0_UDB06_07_ST #define SDCard_BSPIM_TxStsReg__2__MASK 0x04u #define SDCard_BSPIM_TxStsReg__2__POS 2 #define SDCard_BSPIM_TxStsReg__3__MASK 0x08u @@ -496,9 +492,9 @@ #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_B0_UDB06_MSK -#define SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG CYREG_B0_UDB06_ACTL -#define SDCard_BSPIM_TxStsReg__STATUS_REG CYREG_B0_UDB06_ST +#define SDCard_BSPIM_TxStsReg__MASK_REG CYREG_B1_UDB11_MSK +#define SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG CYREG_B1_UDB11_ACTL +#define SDCard_BSPIM_TxStsReg__STATUS_REG CYREG_B1_UDB11_ST /* SD_SCK */ #define SD_SCK__0__INTTYPE CYREG_PICU3_INTTYPE1 @@ -534,30 +530,6 @@ #define SD_SCK__SHIFT 1u #define SD_SCK__SLW CYREG_PRT3_SLW -/* NOR_CTL */ -#define NOR_CTL_Sync_ctrl_reg__0__MASK 0x01u -#define NOR_CTL_Sync_ctrl_reg__0__POS 0 -#define NOR_CTL_Sync_ctrl_reg__1__MASK 0x02u -#define NOR_CTL_Sync_ctrl_reg__1__POS 1 -#define NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B1_UDB06_07_ACTL -#define NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B1_UDB06_07_CTL -#define NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B1_UDB06_07_CTL -#define NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B1_UDB06_07_CTL -#define NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B1_UDB06_07_CTL -#define NOR_CTL_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B1_UDB06_07_MSK -#define NOR_CTL_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B1_UDB06_07_MSK -#define NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B1_UDB06_07_MSK -#define NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B1_UDB06_07_MSK -#define NOR_CTL_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B1_UDB06_ACTL -#define NOR_CTL_Sync_ctrl_reg__CONTROL_REG CYREG_B1_UDB06_CTL -#define NOR_CTL_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B1_UDB06_ST_CTL -#define NOR_CTL_Sync_ctrl_reg__COUNT_REG CYREG_B1_UDB06_CTL -#define NOR_CTL_Sync_ctrl_reg__COUNT_ST_REG CYREG_B1_UDB06_ST_CTL -#define NOR_CTL_Sync_ctrl_reg__MASK 0x03u -#define NOR_CTL_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define NOR_CTL_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B1_UDB06_MSK_ACTL -#define NOR_CTL_Sync_ctrl_reg__PERIOD_REG CYREG_B1_UDB06_MSK - /* NOR_SCK */ #define NOR_SCK__0__INTTYPE CYREG_PICU3_INTTYPE7 #define NOR_SCK__0__MASK 0x80u @@ -593,34 +565,34 @@ #define NOR_SCK__SLW CYREG_PRT3_SLW /* NOR_SPI */ -#define NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB08_09_ACTL -#define NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB08_09_CTL -#define NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB08_09_CTL -#define NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB08_09_CTL -#define NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG CYREG_B0_UDB08_09_CTL -#define NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG CYREG_B0_UDB08_09_MSK -#define NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG CYREG_B0_UDB08_09_MSK -#define NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG CYREG_B0_UDB08_09_MSK -#define NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB08_09_MSK -#define NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG CYREG_B0_UDB08_ACTL -#define NOR_SPI_BSPIM_BitCounter__CONTROL_REG CYREG_B0_UDB08_CTL -#define NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG CYREG_B0_UDB08_ST_CTL -#define NOR_SPI_BSPIM_BitCounter__COUNT_REG CYREG_B0_UDB08_CTL -#define NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG CYREG_B0_UDB08_ST_CTL -#define NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL -#define NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL -#define NOR_SPI_BSPIM_BitCounter__PERIOD_REG CYREG_B0_UDB08_MSK -#define NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB08_09_ACTL -#define NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG CYREG_B0_UDB08_09_ST -#define NOR_SPI_BSPIM_BitCounter_ST__MASK_REG CYREG_B0_UDB08_MSK -#define NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL -#define NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL -#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG CYREG_B0_UDB08_ACTL -#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG CYREG_B0_UDB08_ST_CTL -#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG CYREG_B0_UDB08_ST_CTL -#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG CYREG_B0_UDB08_ST -#define NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB08_09_ACTL -#define NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG CYREG_B1_UDB08_09_ST +#define NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG CYREG_B1_UDB04_05_ACTL +#define NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG CYREG_B1_UDB04_05_CTL +#define NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG CYREG_B1_UDB04_05_CTL +#define NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG CYREG_B1_UDB04_05_CTL +#define NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG CYREG_B1_UDB04_05_CTL +#define NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG CYREG_B1_UDB04_05_MSK +#define NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG CYREG_B1_UDB04_05_MSK +#define NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG CYREG_B1_UDB04_05_MSK +#define NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG CYREG_B1_UDB04_05_MSK +#define NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG CYREG_B1_UDB04_ACTL +#define NOR_SPI_BSPIM_BitCounter__CONTROL_REG CYREG_B1_UDB04_CTL +#define NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG CYREG_B1_UDB04_ST_CTL +#define NOR_SPI_BSPIM_BitCounter__COUNT_REG CYREG_B1_UDB04_CTL +#define NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG CYREG_B1_UDB04_ST_CTL +#define NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG CYREG_B1_UDB04_MSK_ACTL +#define NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG CYREG_B1_UDB04_MSK_ACTL +#define NOR_SPI_BSPIM_BitCounter__PERIOD_REG CYREG_B1_UDB04_MSK +#define NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB04_05_ACTL +#define NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG CYREG_B1_UDB04_05_ST +#define NOR_SPI_BSPIM_BitCounter_ST__MASK_REG CYREG_B1_UDB04_MSK +#define NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG CYREG_B1_UDB04_MSK_ACTL +#define NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG CYREG_B1_UDB04_MSK_ACTL +#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG CYREG_B1_UDB04_ACTL +#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG CYREG_B1_UDB04_ST_CTL +#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG CYREG_B1_UDB04_ST_CTL +#define NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG CYREG_B1_UDB04_ST +#define NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG CYREG_B1_UDB07_08_ACTL +#define NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG CYREG_B1_UDB07_08_ST #define NOR_SPI_BSPIM_RxStsReg__4__MASK 0x10u #define NOR_SPI_BSPIM_RxStsReg__4__POS 4 #define NOR_SPI_BSPIM_RxStsReg__5__MASK 0x20u @@ -628,9 +600,9 @@ #define NOR_SPI_BSPIM_RxStsReg__6__MASK 0x40u #define NOR_SPI_BSPIM_RxStsReg__6__POS 6 #define NOR_SPI_BSPIM_RxStsReg__MASK 0x70u -#define NOR_SPI_BSPIM_RxStsReg__MASK_REG CYREG_B1_UDB08_MSK -#define NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG CYREG_B1_UDB08_ACTL -#define NOR_SPI_BSPIM_RxStsReg__STATUS_REG CYREG_B1_UDB08_ST +#define NOR_SPI_BSPIM_RxStsReg__MASK_REG CYREG_B1_UDB07_MSK +#define NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG CYREG_B1_UDB07_ACTL +#define NOR_SPI_BSPIM_RxStsReg__STATUS_REG CYREG_B1_UDB07_ST #define NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A0_REG CYREG_B0_UDB04_05_A0 #define NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A1_REG CYREG_B0_UDB04_05_A1 #define NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_D0_REG CYREG_B0_UDB04_05_D0 @@ -648,6 +620,8 @@ #define NOR_SPI_BSPIM_sR8_Dp_u0__F0_F1_REG CYREG_B0_UDB04_F0_F1 #define NOR_SPI_BSPIM_sR8_Dp_u0__F0_REG CYREG_B0_UDB04_F0 #define NOR_SPI_BSPIM_sR8_Dp_u0__F1_REG CYREG_B0_UDB04_F1 +#define NOR_SPI_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG CYREG_B0_UDB04_MSK_ACTL +#define NOR_SPI_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG CYREG_B0_UDB04_MSK_ACTL #define NOR_SPI_BSPIM_TxStsReg__0__MASK 0x01u #define NOR_SPI_BSPIM_TxStsReg__0__POS 0 #define NOR_SPI_BSPIM_TxStsReg__1__MASK 0x02u @@ -1784,15 +1758,15 @@ #define SCSI_Out_Bits_Sync_ctrl_reg__0__POS 0 #define SCSI_Out_Bits_Sync_ctrl_reg__1__MASK 0x02u #define SCSI_Out_Bits_Sync_ctrl_reg__1__POS 1 -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB09_10_ACTL -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB09_10_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB09_10_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB09_10_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB09_10_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB09_10_MSK -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB09_10_MSK -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB09_10_MSK -#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB09_10_MSK +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B1_UDB09_10_ACTL +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B1_UDB09_10_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B1_UDB09_10_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B1_UDB09_10_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B1_UDB09_10_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B1_UDB09_10_MSK +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B1_UDB09_10_MSK +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B1_UDB09_10_MSK +#define SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B1_UDB09_10_MSK #define SCSI_Out_Bits_Sync_ctrl_reg__2__MASK 0x04u #define SCSI_Out_Bits_Sync_ctrl_reg__2__POS 2 #define SCSI_Out_Bits_Sync_ctrl_reg__3__MASK 0x08u @@ -1805,35 +1779,35 @@ #define SCSI_Out_Bits_Sync_ctrl_reg__6__POS 6 #define SCSI_Out_Bits_Sync_ctrl_reg__7__MASK 0x80u #define SCSI_Out_Bits_Sync_ctrl_reg__7__POS 7 -#define SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB09_ACTL -#define SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB09_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB09_ST_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB09_CTL -#define SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB09_ST_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B1_UDB09_ACTL +#define SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG CYREG_B1_UDB09_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B1_UDB09_ST_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG CYREG_B1_UDB09_CTL +#define SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG CYREG_B1_UDB09_ST_CTL #define SCSI_Out_Bits_Sync_ctrl_reg__MASK 0xFFu -#define SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB09_MSK_ACTL -#define SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB09_MSK_ACTL -#define SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB09_MSK +#define SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B1_UDB09_MSK_ACTL +#define SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B1_UDB09_MSK_ACTL +#define SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG CYREG_B1_UDB09_MSK #define SCSI_Out_Ctl_Sync_ctrl_reg__0__MASK 0x01u #define SCSI_Out_Ctl_Sync_ctrl_reg__0__POS 0 -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB03_04_ACTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB03_04_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB03_04_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB03_04_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB03_04_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB03_04_MSK -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB03_04_MSK -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB03_04_MSK -#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB03_04_MSK -#define SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB03_ACTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB03_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB03_ST_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB03_CTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB03_ST_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB08_09_ACTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB08_09_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB08_09_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB08_09_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB08_09_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB08_09_MSK +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB08_09_MSK +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB08_09_MSK +#define SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB08_09_MSK +#define SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB08_ACTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB08_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB08_ST_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB08_CTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB08_ST_CTL #define SCSI_Out_Ctl_Sync_ctrl_reg__MASK 0x01u -#define SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB03_MSK_ACTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB03_MSK_ACTL -#define SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB03_MSK +#define SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL +#define SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB08_MSK #define SCSI_Out_DBx__0__AG CYREG_PRT6_AG #define SCSI_Out_DBx__0__AMUX CYREG_PRT6_AMUX #define SCSI_Out_DBx__0__BIE CYREG_PRT6_BIE @@ -2293,42 +2267,42 @@ #define NOR_Clock__PM_STBY_MSK 0x01u /* SD_RX_DMA */ -#define SD_RX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL0 -#define SD_RX_DMA__DRQ_NUMBER 2u +#define SD_RX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL1 +#define SD_RX_DMA__DRQ_NUMBER 4u #define SD_RX_DMA__NUMBEROF_TDS 0u #define SD_RX_DMA__PRIORITY 0u #define SD_RX_DMA__TERMIN_EN 0u #define SD_RX_DMA__TERMIN_SEL 0u #define SD_RX_DMA__TERMOUT0_EN 1u -#define SD_RX_DMA__TERMOUT0_SEL 2u +#define SD_RX_DMA__TERMOUT0_SEL 4u #define SD_RX_DMA__TERMOUT1_EN 0u #define SD_RX_DMA__TERMOUT1_SEL 0u #define SD_RX_DMA_COMPLETE__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define SD_RX_DMA_COMPLETE__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define SD_RX_DMA_COMPLETE__INTC_MASK 0x20u -#define SD_RX_DMA_COMPLETE__INTC_NUMBER 5u +#define SD_RX_DMA_COMPLETE__INTC_MASK 0x80u +#define SD_RX_DMA_COMPLETE__INTC_NUMBER 7u #define SD_RX_DMA_COMPLETE__INTC_PRIOR_NUM 7u -#define SD_RX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_5 +#define SD_RX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_7 #define SD_RX_DMA_COMPLETE__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define SD_RX_DMA_COMPLETE__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 /* SD_TX_DMA */ -#define SD_TX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL0 -#define SD_TX_DMA__DRQ_NUMBER 3u +#define SD_TX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL1 +#define SD_TX_DMA__DRQ_NUMBER 5u #define SD_TX_DMA__NUMBEROF_TDS 0u #define SD_TX_DMA__PRIORITY 1u #define SD_TX_DMA__TERMIN_EN 0u #define SD_TX_DMA__TERMIN_SEL 0u #define SD_TX_DMA__TERMOUT0_EN 1u -#define SD_TX_DMA__TERMOUT0_SEL 3u +#define SD_TX_DMA__TERMOUT0_SEL 5u #define SD_TX_DMA__TERMOUT1_EN 0u #define SD_TX_DMA__TERMOUT1_SEL 0u #define SD_TX_DMA_COMPLETE__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define SD_TX_DMA_COMPLETE__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define SD_TX_DMA_COMPLETE__INTC_MASK 0x40u -#define SD_TX_DMA_COMPLETE__INTC_NUMBER 6u +#define SD_TX_DMA_COMPLETE__INTC_MASK 0x100u +#define SD_TX_DMA_COMPLETE__INTC_NUMBER 8u #define SD_TX_DMA_COMPLETE__INTC_PRIOR_NUM 7u -#define SD_TX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_6 +#define SD_TX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_8 #define SD_TX_DMA_COMPLETE__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define SD_TX_DMA_COMPLETE__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 @@ -2365,6 +2339,46 @@ #define nNOR_HOLD__SIO_REG_HIFREQ CYREG_PRT12_SIO_REG_HIFREQ #define nNOR_HOLD__SLW CYREG_PRT12_SLW +/* NOR_RX_DMA */ +#define NOR_RX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL0 +#define NOR_RX_DMA__DRQ_NUMBER 0u +#define NOR_RX_DMA__NUMBEROF_TDS 0u +#define NOR_RX_DMA__PRIORITY 2u +#define NOR_RX_DMA__TERMIN_EN 0u +#define NOR_RX_DMA__TERMIN_SEL 0u +#define NOR_RX_DMA__TERMOUT0_EN 1u +#define NOR_RX_DMA__TERMOUT0_SEL 0u +#define NOR_RX_DMA__TERMOUT1_EN 0u +#define NOR_RX_DMA__TERMOUT1_SEL 0u +#define NOR_RX_DMA_COMPLETE__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 +#define NOR_RX_DMA_COMPLETE__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 +#define NOR_RX_DMA_COMPLETE__INTC_MASK 0x02u +#define NOR_RX_DMA_COMPLETE__INTC_NUMBER 1u +#define NOR_RX_DMA_COMPLETE__INTC_PRIOR_NUM 7u +#define NOR_RX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_1 +#define NOR_RX_DMA_COMPLETE__INTC_SET_EN_REG CYREG_NVIC_SETENA0 +#define NOR_RX_DMA_COMPLETE__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 + +/* NOR_TX_DMA */ +#define NOR_TX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL0 +#define NOR_TX_DMA__DRQ_NUMBER 1u +#define NOR_TX_DMA__NUMBEROF_TDS 0u +#define NOR_TX_DMA__PRIORITY 2u +#define NOR_TX_DMA__TERMIN_EN 0u +#define NOR_TX_DMA__TERMIN_SEL 0u +#define NOR_TX_DMA__TERMOUT0_EN 1u +#define NOR_TX_DMA__TERMOUT0_SEL 1u +#define NOR_TX_DMA__TERMOUT1_EN 0u +#define NOR_TX_DMA__TERMOUT1_SEL 0u +#define NOR_TX_DMA_COMPLETE__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 +#define NOR_TX_DMA_COMPLETE__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 +#define NOR_TX_DMA_COMPLETE__INTC_MASK 0x04u +#define NOR_TX_DMA_COMPLETE__INTC_NUMBER 2u +#define NOR_TX_DMA_COMPLETE__INTC_PRIOR_NUM 7u +#define NOR_TX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_2 +#define NOR_TX_DMA_COMPLETE__INTC_SET_EN_REG CYREG_NVIC_SETENA0 +#define NOR_TX_DMA_COMPLETE__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 + /* SCSI_Noise */ #define SCSI_Noise__0__AG CYREG_PRT4_AG #define SCSI_Noise__0__AMUX CYREG_PRT4_AMUX @@ -2697,8 +2711,8 @@ #define scsiTarget_StatusReg__0__POS 0 #define scsiTarget_StatusReg__1__MASK 0x02u #define scsiTarget_StatusReg__1__POS 1 -#define scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB03_04_ACTL -#define scsiTarget_StatusReg__16BIT_STATUS_REG CYREG_B0_UDB03_04_ST +#define scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB11_12_ACTL +#define scsiTarget_StatusReg__16BIT_STATUS_REG CYREG_B0_UDB11_12_ST #define scsiTarget_StatusReg__2__MASK 0x04u #define scsiTarget_StatusReg__2__POS 2 #define scsiTarget_StatusReg__3__MASK 0x08u @@ -2706,13 +2720,13 @@ #define scsiTarget_StatusReg__4__MASK 0x10u #define scsiTarget_StatusReg__4__POS 4 #define scsiTarget_StatusReg__MASK 0x1Fu -#define scsiTarget_StatusReg__MASK_REG CYREG_B0_UDB03_MSK -#define scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG CYREG_B0_UDB03_MSK_ACTL -#define scsiTarget_StatusReg__PER_ST_AUX_CTL_REG CYREG_B0_UDB03_MSK_ACTL -#define scsiTarget_StatusReg__STATUS_AUX_CTL_REG CYREG_B0_UDB03_ACTL -#define scsiTarget_StatusReg__STATUS_CNT_REG CYREG_B0_UDB03_ST_CTL -#define scsiTarget_StatusReg__STATUS_CONTROL_REG CYREG_B0_UDB03_ST_CTL -#define scsiTarget_StatusReg__STATUS_REG CYREG_B0_UDB03_ST +#define scsiTarget_StatusReg__MASK_REG CYREG_B0_UDB11_MSK +#define scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG CYREG_B0_UDB11_MSK_ACTL +#define scsiTarget_StatusReg__PER_ST_AUX_CTL_REG CYREG_B0_UDB11_MSK_ACTL +#define scsiTarget_StatusReg__STATUS_AUX_CTL_REG CYREG_B0_UDB11_ACTL +#define scsiTarget_StatusReg__STATUS_CNT_REG CYREG_B0_UDB11_ST_CTL +#define scsiTarget_StatusReg__STATUS_CONTROL_REG CYREG_B0_UDB11_ST_CTL +#define scsiTarget_StatusReg__STATUS_REG CYREG_B0_UDB11_ST /* Debug_Timer */ #define Debug_Timer_Interrupt__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 @@ -2742,41 +2756,41 @@ /* SCSI_RX_DMA */ #define SCSI_RX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL0 -#define SCSI_RX_DMA__DRQ_NUMBER 0u +#define SCSI_RX_DMA__DRQ_NUMBER 2u #define SCSI_RX_DMA__NUMBEROF_TDS 0u #define SCSI_RX_DMA__PRIORITY 2u #define SCSI_RX_DMA__TERMIN_EN 0u #define SCSI_RX_DMA__TERMIN_SEL 0u #define SCSI_RX_DMA__TERMOUT0_EN 1u -#define SCSI_RX_DMA__TERMOUT0_SEL 0u +#define SCSI_RX_DMA__TERMOUT0_SEL 2u #define SCSI_RX_DMA__TERMOUT1_EN 0u #define SCSI_RX_DMA__TERMOUT1_SEL 0u #define SCSI_RX_DMA_COMPLETE__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define SCSI_RX_DMA_COMPLETE__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define SCSI_RX_DMA_COMPLETE__INTC_MASK 0x04u -#define SCSI_RX_DMA_COMPLETE__INTC_NUMBER 2u +#define SCSI_RX_DMA_COMPLETE__INTC_MASK 0x10u +#define SCSI_RX_DMA_COMPLETE__INTC_NUMBER 4u #define SCSI_RX_DMA_COMPLETE__INTC_PRIOR_NUM 7u -#define SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_2 +#define SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_4 #define SCSI_RX_DMA_COMPLETE__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define SCSI_RX_DMA_COMPLETE__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 /* SCSI_TX_DMA */ #define SCSI_TX_DMA__DRQ_CTL CYREG_IDMUX_DRQ_CTL0 -#define SCSI_TX_DMA__DRQ_NUMBER 1u +#define SCSI_TX_DMA__DRQ_NUMBER 3u #define SCSI_TX_DMA__NUMBEROF_TDS 0u #define SCSI_TX_DMA__PRIORITY 2u #define SCSI_TX_DMA__TERMIN_EN 0u #define SCSI_TX_DMA__TERMIN_SEL 0u #define SCSI_TX_DMA__TERMOUT0_EN 1u -#define SCSI_TX_DMA__TERMOUT0_SEL 1u +#define SCSI_TX_DMA__TERMOUT0_SEL 3u #define SCSI_TX_DMA__TERMOUT1_EN 0u #define SCSI_TX_DMA__TERMOUT1_SEL 0u #define SCSI_TX_DMA_COMPLETE__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define SCSI_TX_DMA_COMPLETE__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define SCSI_TX_DMA_COMPLETE__INTC_MASK 0x10u -#define SCSI_TX_DMA_COMPLETE__INTC_NUMBER 4u +#define SCSI_TX_DMA_COMPLETE__INTC_MASK 0x40u +#define SCSI_TX_DMA_COMPLETE__INTC_NUMBER 6u #define SCSI_TX_DMA_COMPLETE__INTC_PRIOR_NUM 7u -#define SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_4 +#define SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG CYREG_NVIC_PRI_6 #define SCSI_TX_DMA_COMPLETE__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define SCSI_TX_DMA_COMPLETE__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 @@ -2805,20 +2819,20 @@ /* SCSI_RST_ISR */ #define SCSI_RST_ISR__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define SCSI_RST_ISR__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define SCSI_RST_ISR__INTC_MASK 0x02u -#define SCSI_RST_ISR__INTC_NUMBER 1u +#define SCSI_RST_ISR__INTC_MASK 0x08u +#define SCSI_RST_ISR__INTC_NUMBER 3u #define SCSI_RST_ISR__INTC_PRIOR_NUM 7u -#define SCSI_RST_ISR__INTC_PRIOR_REG CYREG_NVIC_PRI_1 +#define SCSI_RST_ISR__INTC_PRIOR_REG CYREG_NVIC_PRI_3 #define SCSI_RST_ISR__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define SCSI_RST_ISR__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 /* SCSI_SEL_ISR */ #define SCSI_SEL_ISR__INTC_CLR_EN_REG CYREG_NVIC_CLRENA0 #define SCSI_SEL_ISR__INTC_CLR_PD_REG CYREG_NVIC_CLRPEND0 -#define SCSI_SEL_ISR__INTC_MASK 0x08u -#define SCSI_SEL_ISR__INTC_NUMBER 3u +#define SCSI_SEL_ISR__INTC_MASK 0x20u +#define SCSI_SEL_ISR__INTC_NUMBER 5u #define SCSI_SEL_ISR__INTC_PRIOR_NUM 7u -#define SCSI_SEL_ISR__INTC_PRIOR_REG CYREG_NVIC_PRI_3 +#define SCSI_SEL_ISR__INTC_PRIOR_REG CYREG_NVIC_PRI_5 #define SCSI_SEL_ISR__INTC_SET_EN_REG CYREG_NVIC_SETENA0 #define SCSI_SEL_ISR__INTC_SET_PD_REG CYREG_NVIC_SETPEND0 @@ -2827,6 +2841,8 @@ #define SCSI_Filtered_sts_sts_reg__0__POS 0 #define SCSI_Filtered_sts_sts_reg__1__MASK 0x02u #define SCSI_Filtered_sts_sts_reg__1__POS 1 +#define SCSI_Filtered_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB08_09_ACTL +#define SCSI_Filtered_sts_sts_reg__16BIT_STATUS_REG CYREG_B0_UDB08_09_ST #define SCSI_Filtered_sts_sts_reg__2__MASK 0x04u #define SCSI_Filtered_sts_sts_reg__2__POS 2 #define SCSI_Filtered_sts_sts_reg__3__MASK 0x08u @@ -2834,76 +2850,80 @@ #define SCSI_Filtered_sts_sts_reg__4__MASK 0x10u #define SCSI_Filtered_sts_sts_reg__4__POS 4 #define SCSI_Filtered_sts_sts_reg__MASK 0x1Fu -#define SCSI_Filtered_sts_sts_reg__MASK_REG CYREG_B0_UDB15_MSK -#define SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG CYREG_B0_UDB15_ACTL -#define SCSI_Filtered_sts_sts_reg__STATUS_REG CYREG_B0_UDB15_ST +#define SCSI_Filtered_sts_sts_reg__MASK_REG CYREG_B0_UDB08_MSK +#define SCSI_Filtered_sts_sts_reg__MASK_ST_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL +#define SCSI_Filtered_sts_sts_reg__PER_ST_AUX_CTL_REG CYREG_B0_UDB08_MSK_ACTL +#define SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG CYREG_B0_UDB08_ACTL +#define SCSI_Filtered_sts_sts_reg__STATUS_CNT_REG CYREG_B0_UDB08_ST_CTL +#define SCSI_Filtered_sts_sts_reg__STATUS_CONTROL_REG CYREG_B0_UDB08_ST_CTL +#define SCSI_Filtered_sts_sts_reg__STATUS_REG CYREG_B0_UDB08_ST /* 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__1__MASK 0x02u #define SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS 1 -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB12_13_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB12_13_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB12_13_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB12_13_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB12_13_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB12_13_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB12_13_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB12_13_MSK -#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB12_13_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB11_12_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB11_12_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB11_12_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB11_12_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB11_12_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB11_12_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB11_12_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB11_12_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB11_12_MSK #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_UDB12_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB12_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB12_ST_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB12_CTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB12_ST_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB11_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB11_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB11_ST_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB11_CTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB11_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_UDB12_MSK_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB12_MSK_ACTL -#define SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB12_MSK +#define SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB11_MSK_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB11_MSK_ACTL +#define SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB11_MSK /* SCSI_Glitch_Ctl */ #define SCSI_Glitch_Ctl_Sync_ctrl_reg__0__MASK 0x01u #define SCSI_Glitch_Ctl_Sync_ctrl_reg__0__POS 0 -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB13_14_ACTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB13_14_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB13_14_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB13_14_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB13_14_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB13_14_MSK -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB13_14_MSK -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB13_14_MSK -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB13_14_MSK -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB13_ACTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB13_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB13_ST_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB13_CTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB13_ST_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG CYREG_B0_UDB10_11_ACTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG CYREG_B0_UDB10_11_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG CYREG_B0_UDB10_11_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG CYREG_B0_UDB10_11_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG CYREG_B0_UDB10_11_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG CYREG_B0_UDB10_11_MSK +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG CYREG_B0_UDB10_11_MSK +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG CYREG_B0_UDB10_11_MSK +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG CYREG_B0_UDB10_11_MSK +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG CYREG_B0_UDB10_ACTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG CYREG_B0_UDB10_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG CYREG_B0_UDB10_ST_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG CYREG_B0_UDB10_CTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG CYREG_B0_UDB10_ST_CTL #define SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK 0x01u -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB13_MSK_ACTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB13_MSK_ACTL -#define SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB13_MSK +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG CYREG_B0_UDB10_MSK_ACTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG CYREG_B0_UDB10_MSK_ACTL +#define SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG CYREG_B0_UDB10_MSK /* SCSI_Parity_Error */ #define SCSI_Parity_Error_sts_sts_reg__0__MASK 0x01u #define SCSI_Parity_Error_sts_sts_reg__0__POS 0 -#define SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB11_12_ACTL -#define SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG CYREG_B0_UDB11_12_ST +#define SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG CYREG_B0_UDB09_10_ACTL +#define SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG CYREG_B0_UDB09_10_ST #define SCSI_Parity_Error_sts_sts_reg__MASK 0x01u -#define SCSI_Parity_Error_sts_sts_reg__MASK_REG CYREG_B0_UDB11_MSK -#define SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG CYREG_B0_UDB11_ACTL -#define SCSI_Parity_Error_sts_sts_reg__STATUS_REG CYREG_B0_UDB11_ST +#define SCSI_Parity_Error_sts_sts_reg__MASK_REG CYREG_B0_UDB09_MSK +#define SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG CYREG_B0_UDB09_ACTL +#define SCSI_Parity_Error_sts_sts_reg__STATUS_REG CYREG_B0_UDB09_ST /* Miscellaneous */ #define BCLK__BUS_CLK__HZ 50000000U #define BCLK__BUS_CLK__KHZ 50000U #define BCLK__BUS_CLK__MHZ 50U #define CY_PROJECT_NAME "SCSI2SD" -#define CY_VERSION "PSoC Creator 4.2" +#define CY_VERSION "PSoC Creator 4.4" #define CYDEV_CHIP_DIE_LEOPARD 1u -#define CYDEV_CHIP_DIE_PSOC4A 18u +#define CYDEV_CHIP_DIE_PSOC4A 26u #define CYDEV_CHIP_DIE_PSOC5LP 2u #define CYDEV_CHIP_DIE_PSOC5TM 3u #define CYDEV_CHIP_DIE_TMA4 4u @@ -2919,34 +2939,43 @@ #define CYDEV_CHIP_FAMILY_USED CYDEV_CHIP_FAMILY_PSOC5 #define CYDEV_CHIP_JTAG_ID 0x2E133069u #define CYDEV_CHIP_MEMBER_3A 1u -#define CYDEV_CHIP_MEMBER_4A 18u -#define CYDEV_CHIP_MEMBER_4D 13u +#define CYDEV_CHIP_MEMBER_4A 26u +#define CYDEV_CHIP_MEMBER_4AA 25u +#define CYDEV_CHIP_MEMBER_4AB 30u +#define CYDEV_CHIP_MEMBER_4AC 14u +#define CYDEV_CHIP_MEMBER_4AD 15u +#define CYDEV_CHIP_MEMBER_4AE 16u +#define CYDEV_CHIP_MEMBER_4D 20u #define CYDEV_CHIP_MEMBER_4E 6u -#define CYDEV_CHIP_MEMBER_4F 19u +#define CYDEV_CHIP_MEMBER_4F 27u #define CYDEV_CHIP_MEMBER_4G 4u -#define CYDEV_CHIP_MEMBER_4H 17u -#define CYDEV_CHIP_MEMBER_4I 23u -#define CYDEV_CHIP_MEMBER_4J 14u -#define CYDEV_CHIP_MEMBER_4K 15u -#define CYDEV_CHIP_MEMBER_4L 22u -#define CYDEV_CHIP_MEMBER_4M 21u -#define CYDEV_CHIP_MEMBER_4N 10u -#define CYDEV_CHIP_MEMBER_4O 7u -#define CYDEV_CHIP_MEMBER_4P 20u -#define CYDEV_CHIP_MEMBER_4Q 12u -#define CYDEV_CHIP_MEMBER_4R 8u -#define CYDEV_CHIP_MEMBER_4S 11u -#define CYDEV_CHIP_MEMBER_4T 9u +#define CYDEV_CHIP_MEMBER_4H 24u +#define CYDEV_CHIP_MEMBER_4I 32u +#define CYDEV_CHIP_MEMBER_4J 21u +#define CYDEV_CHIP_MEMBER_4K 22u +#define CYDEV_CHIP_MEMBER_4L 31u +#define CYDEV_CHIP_MEMBER_4M 29u +#define CYDEV_CHIP_MEMBER_4N 11u +#define CYDEV_CHIP_MEMBER_4O 8u +#define CYDEV_CHIP_MEMBER_4P 28u +#define CYDEV_CHIP_MEMBER_4Q 17u +#define CYDEV_CHIP_MEMBER_4R 9u +#define CYDEV_CHIP_MEMBER_4S 12u +#define CYDEV_CHIP_MEMBER_4T 10u #define CYDEV_CHIP_MEMBER_4U 5u -#define CYDEV_CHIP_MEMBER_4V 16u +#define CYDEV_CHIP_MEMBER_4V 23u +#define CYDEV_CHIP_MEMBER_4W 13u +#define CYDEV_CHIP_MEMBER_4X 7u +#define CYDEV_CHIP_MEMBER_4Y 18u +#define CYDEV_CHIP_MEMBER_4Z 19u #define CYDEV_CHIP_MEMBER_5A 3u #define CYDEV_CHIP_MEMBER_5B 2u -#define CYDEV_CHIP_MEMBER_6A 24u -#define CYDEV_CHIP_MEMBER_FM3 28u -#define CYDEV_CHIP_MEMBER_FM4 29u -#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 25u -#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 26u -#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 27u +#define CYDEV_CHIP_MEMBER_6A 33u +#define CYDEV_CHIP_MEMBER_FM3 37u +#define CYDEV_CHIP_MEMBER_FM4 38u +#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 34u +#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 35u +#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 36u #define CYDEV_CHIP_MEMBER_UNKNOWN 0u #define CYDEV_CHIP_MEMBER_USED CYDEV_CHIP_MEMBER_5B #define CYDEV_CHIP_DIE_EXPECT CYDEV_CHIP_MEMBER_USED @@ -2971,6 +3000,11 @@ #define CYDEV_CHIP_REVISION_3A_PRODUCTION 3u #define CYDEV_CHIP_REVISION_4A_ES0 17u #define CYDEV_CHIP_REVISION_4A_PRODUCTION 17u +#define CYDEV_CHIP_REVISION_4AA_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AB_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AC_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AD_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AE_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4D_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD 0u #define CYDEV_CHIP_REVISION_4E_PRODUCTION 0u @@ -2995,6 +3029,10 @@ #define CYDEV_CHIP_REVISION_4T_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4U_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4V_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4W_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4X_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4Y_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4Z_PRODUCTION 0u #define CYDEV_CHIP_REVISION_5A_ES0 0u #define CYDEV_CHIP_REVISION_5A_ES1 1u #define CYDEV_CHIP_REVISION_5A_PRODUCTION 1u @@ -3034,7 +3072,7 @@ #define CYDEV_ECC_ENABLE 0 #define CYDEV_HEAP_SIZE 0x0400 #define CYDEV_INSTRUCT_CACHE_ENABLED 1 -#define CYDEV_INTR_RISING 0x0000007Fu +#define CYDEV_INTR_RISING 0x000001FFu #define CYDEV_IS_EXPORTING_CODE 0 #define CYDEV_IS_IMPORTING_CODE 0 #define CYDEV_PROJ_TYPE 2 @@ -3089,7 +3127,7 @@ #define CYIPBLOCK_S8_SAR_VERSION 0 #define CYIPBLOCK_S8_SIO_VERSION 0 #define CYIPBLOCK_S8_UDB_VERSION 0 -#define DMA_CHANNELS_USED__MASK0 0x0000000Fu +#define DMA_CHANNELS_USED__MASK0 0x0000003Fu #define CYDEV_BOOTLOADER_ENABLE 0 #endif /* INCLUDED_CYFITTER_H */ diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c index b9cd1c4..17daa0e 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c @@ -2,7 +2,7 @@ /******************************************************************************* * File Name: cyfitter_cfg.c * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file contains device initialization code. @@ -10,7 +10,7 @@ * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -149,7 +149,7 @@ static void CyClockStartupError(uint8 errorCode) } #endif -#define CY_CFG_BASE_ADDR_COUNT 42u +#define CY_CFG_BASE_ADDR_COUNT 43u CYPACKED typedef struct { uint8 offset; @@ -369,7 +369,7 @@ void cyfitter_cfg(void) /* IOPINS0_3 Address: CYREG_PRT3_DR Size (bytes): 10 */ static const uint8 CYCODE BS_IOPINS0_3_VAL[] = { - 0x08u, 0x00u, 0x01u, 0xFEu, 0xFEu, 0x02u, 0xF6u, 0x00u, 0x00u, 0x01u}; + 0x08u, 0x00u, 0x01u, 0xFEu, 0xFEu, 0x02u, 0xC6u, 0x00u, 0x00u, 0x01u}; /* IOPINS0_4 Address: CYREG_PRT4_DM0 Size (bytes): 8 */ static const uint8 CYCODE BS_IOPINS0_4_VAL[] = { @@ -391,6 +391,14 @@ void cyfitter_cfg(void) static const uint8 CYCODE BS_PHUB_CFGMEM3_VAL[] = { 0x00u, 0x03u, 0x00u, 0x00u}; + /* PHUB_CFGMEM4 Address: CYREG_PHUB_CFGMEM4_CFG0 Size (bytes): 4 */ + static const uint8 CYCODE BS_PHUB_CFGMEM4_VAL[] = { + 0x00u, 0x04u, 0x00u, 0x00u}; + + /* PHUB_CFGMEM5 Address: CYREG_PHUB_CFGMEM5_CFG0 Size (bytes): 4 */ + static const uint8 CYCODE BS_PHUB_CFGMEM5_VAL[] = { + 0x00u, 0x05u, 0x00u, 0x00u}; + #ifdef CYGlobalIntDisable /* Disable interrupts by default. Let user enable if/when they want. */ CYGlobalIntDisable @@ -410,93 +418,100 @@ void cyfitter_cfg(void) static const uint32 CYCODE cy_cfg_addr_table[] = { 0x40004501u, /* Base address: 0x40004500 Count: 1 */ 0x40004F02u, /* Base address: 0x40004F00 Count: 2 */ - 0x4000520Eu, /* Base address: 0x40005200 Count: 14 */ + 0x4000520Cu, /* Base address: 0x40005200 Count: 12 */ 0x40006402u, /* Base address: 0x40006400 Count: 2 */ - 0x40006502u, /* Base address: 0x40006500 Count: 2 */ - 0x40010045u, /* Base address: 0x40010000 Count: 69 */ - 0x4001013Au, /* Base address: 0x40010100 Count: 58 */ - 0x4001024Eu, /* Base address: 0x40010200 Count: 78 */ - 0x4001035Bu, /* Base address: 0x40010300 Count: 91 */ - 0x4001041Bu, /* Base address: 0x40010400 Count: 27 */ - 0x40010545u, /* Base address: 0x40010500 Count: 69 */ - 0x40010651u, /* Base address: 0x40010600 Count: 81 */ - 0x40010751u, /* Base address: 0x40010700 Count: 81 */ + 0x40006501u, /* Base address: 0x40006500 Count: 1 */ + 0x4001003Du, /* Base address: 0x40010000 Count: 61 */ + 0x4001013Fu, /* Base address: 0x40010100 Count: 63 */ + 0x4001025Au, /* Base address: 0x40010200 Count: 90 */ + 0x40010354u, /* Base address: 0x40010300 Count: 84 */ + 0x40010419u, /* Base address: 0x40010400 Count: 25 */ + 0x40010556u, /* Base address: 0x40010500 Count: 86 */ + 0x40010653u, /* Base address: 0x40010600 Count: 83 */ + 0x40010759u, /* Base address: 0x40010700 Count: 89 */ 0x4001084Eu, /* Base address: 0x40010800 Count: 78 */ - 0x4001095Fu, /* Base address: 0x40010900 Count: 95 */ - 0x40010A5Cu, /* Base address: 0x40010A00 Count: 92 */ - 0x40010B60u, /* Base address: 0x40010B00 Count: 96 */ - 0x40010C49u, /* Base address: 0x40010C00 Count: 73 */ - 0x40010D54u, /* Base address: 0x40010D00 Count: 84 */ - 0x40010E51u, /* Base address: 0x40010E00 Count: 81 */ - 0x40010F43u, /* Base address: 0x40010F00 Count: 67 */ - 0x40011462u, /* Base address: 0x40011400 Count: 98 */ - 0x40011540u, /* Base address: 0x40011500 Count: 64 */ - 0x40011651u, /* Base address: 0x40011600 Count: 81 */ - 0x4001174Cu, /* Base address: 0x40011700 Count: 76 */ - 0x40011855u, /* Base address: 0x40011800 Count: 85 */ - 0x40011948u, /* Base address: 0x40011900 Count: 72 */ - 0x40011B06u, /* Base address: 0x40011B00 Count: 6 */ - 0x4001401Du, /* Base address: 0x40014000 Count: 29 */ - 0x40014120u, /* Base address: 0x40014100 Count: 32 */ - 0x4001420Fu, /* Base address: 0x40014200 Count: 15 */ - 0x4001430Au, /* Base address: 0x40014300 Count: 10 */ - 0x40014411u, /* Base address: 0x40014400 Count: 17 */ - 0x40014517u, /* Base address: 0x40014500 Count: 23 */ - 0x4001460Fu, /* Base address: 0x40014600 Count: 15 */ - 0x4001470Cu, /* Base address: 0x40014700 Count: 12 */ - 0x4001480Du, /* Base address: 0x40014800 Count: 13 */ - 0x4001491Au, /* Base address: 0x40014900 Count: 26 */ - 0x40014C0Cu, /* Base address: 0x40014C00 Count: 12 */ + 0x4001095Eu, /* Base address: 0x40010900 Count: 94 */ + 0x40010A41u, /* Base address: 0x40010A00 Count: 65 */ + 0x40010B5Cu, /* Base address: 0x40010B00 Count: 92 */ + 0x40010C4Fu, /* Base address: 0x40010C00 Count: 79 */ + 0x40010D61u, /* Base address: 0x40010D00 Count: 97 */ + 0x40010E4Fu, /* Base address: 0x40010E00 Count: 79 */ + 0x40010F41u, /* Base address: 0x40010F00 Count: 65 */ + 0x40011411u, /* Base address: 0x40011400 Count: 17 */ + 0x40011550u, /* Base address: 0x40011500 Count: 80 */ + 0x40011650u, /* Base address: 0x40011600 Count: 80 */ + 0x40011754u, /* Base address: 0x40011700 Count: 84 */ + 0x40011848u, /* Base address: 0x40011800 Count: 72 */ + 0x40011954u, /* Base address: 0x40011900 Count: 84 */ + 0x40011A4Eu, /* Base address: 0x40011A00 Count: 78 */ + 0x40011B48u, /* Base address: 0x40011B00 Count: 72 */ + 0x4001401Cu, /* Base address: 0x40014000 Count: 28 */ + 0x4001411Fu, /* Base address: 0x40014100 Count: 31 */ + 0x40014218u, /* Base address: 0x40014200 Count: 24 */ + 0x40014312u, /* Base address: 0x40014300 Count: 18 */ + 0x40014412u, /* Base address: 0x40014400 Count: 18 */ + 0x40014515u, /* Base address: 0x40014500 Count: 21 */ + 0x4001460Du, /* Base address: 0x40014600 Count: 13 */ + 0x4001470Eu, /* Base address: 0x40014700 Count: 14 */ + 0x40014817u, /* Base address: 0x40014800 Count: 23 */ + 0x40014914u, /* Base address: 0x40014900 Count: 20 */ + 0x40014C04u, /* Base address: 0x40014C00 Count: 4 */ 0x40014D07u, /* Base address: 0x40014D00 Count: 7 */ - 0x40015005u, /* Base address: 0x40015000 Count: 5 */ - 0x40015104u, /* Base address: 0x40015100 Count: 4 */ + 0x40015006u, /* Base address: 0x40015000 Count: 6 */ + 0x40015102u, /* Base address: 0x40015100 Count: 2 */ }; static const cy_cfg_addrvalue_t CYCODE cy_cfg_data_table[] = { {0x7Eu, 0x02u}, {0x01u, 0x30u}, - {0x0Au, 0x4Bu}, - {0x00u, 0x02u}, - {0x01u, 0x20u}, - {0x10u, 0xA8u}, - {0x11u, 0x2Au}, - {0x18u, 0x62u}, - {0x19u, 0x38u}, + {0x0Au, 0x36u}, + {0x00u, 0x22u}, + {0x10u, 0x0Au}, + {0x11u, 0x88u}, + {0x18u, 0xC2u}, + {0x19u, 0x44u}, {0x1Cu, 0x08u}, {0x20u, 0x01u}, - {0x30u, 0x84u}, - {0x31u, 0x20u}, - {0x61u, 0x20u}, + {0x31u, 0x84u}, + {0x60u, 0x20u}, + {0x61u, 0x22u}, {0x78u, 0x20u}, - {0x79u, 0x20u}, {0x7Cu, 0x40u}, {0x20u, 0x01u}, - {0x88u, 0x0Fu}, - {0x76u, 0x01u}, - {0x85u, 0x0Fu}, - {0x00u, 0x0Au}, - {0x02u, 0x55u}, - {0x06u, 0x7Fu}, - {0x0Cu, 0x8Bu}, - {0x0Eu, 0x74u}, - {0x14u, 0x91u}, - {0x16u, 0x6Cu}, - {0x18u, 0x01u}, - {0x1Cu, 0x40u}, - {0x1Eu, 0x80u}, - {0x22u, 0x10u}, - {0x24u, 0x06u}, - {0x28u, 0x20u}, - {0x2Au, 0x40u}, - {0x30u, 0x3Fu}, - {0x36u, 0xC0u}, - {0x3Au, 0x80u}, - {0x40u, 0x62u}, - {0x41u, 0x04u}, - {0x42u, 0x10u}, - {0x45u, 0xECu}, - {0x46u, 0x2Du}, - {0x47u, 0x0Fu}, + {0x84u, 0x0Fu}, + {0x84u, 0x0Fu}, + {0x01u, 0x06u}, + {0x02u, 0x03u}, + {0x05u, 0x02u}, + {0x06u, 0x04u}, + {0x07u, 0x01u}, + {0x0Du, 0x01u}, + {0x0Eu, 0x24u}, + {0x0Fu, 0x04u}, + {0x10u, 0x24u}, + {0x11u, 0x08u}, + {0x12u, 0x09u}, + {0x19u, 0x08u}, + {0x1Au, 0x18u}, + {0x28u, 0x24u}, + {0x29u, 0x10u}, + {0x2Au, 0x12u}, + {0x2Du, 0x01u}, + {0x2Eu, 0x20u}, + {0x2Fu, 0x02u}, + {0x30u, 0x07u}, + {0x31u, 0x07u}, + {0x33u, 0x10u}, + {0x34u, 0x38u}, + {0x35u, 0x08u}, + {0x39u, 0x22u}, + {0x3Fu, 0x04u}, + {0x40u, 0x46u}, + {0x41u, 0x02u}, + {0x42u, 0x50u}, + {0x45u, 0xDCu}, + {0x46u, 0x2Fu}, + {0x47u, 0x0Eu}, {0x48u, 0x1Fu}, {0x49u, 0xFFu}, {0x4Au, 0xFFu}, @@ -504,6 +519,7 @@ void cyfitter_cfg(void) {0x4Fu, 0x2Cu}, {0x56u, 0x01u}, {0x58u, 0x04u}, + {0x59u, 0x04u}, {0x5Au, 0x04u}, {0x5Bu, 0x04u}, {0x5Cu, 0x02u}, @@ -515,122 +531,393 @@ void cyfitter_cfg(void) {0x68u, 0x40u}, {0x69u, 0x40u}, {0x6Eu, 0x08u}, + {0x96u, 0x01u}, + {0x97u, 0x01u}, + {0xAAu, 0x02u}, + {0xB2u, 0x01u}, + {0xB3u, 0x01u}, + {0xB4u, 0x02u}, + {0xD8u, 0x04u}, + {0xD9u, 0x04u}, + {0xDCu, 0x22u}, + {0xDFu, 0x01u}, + {0x01u, 0x06u}, + {0x03u, 0x02u}, + {0x08u, 0x20u}, + {0x0Au, 0x44u}, + {0x0Eu, 0x20u}, + {0x11u, 0x40u}, + {0x12u, 0x08u}, + {0x17u, 0x10u}, + {0x19u, 0x02u}, + {0x1Au, 0x04u}, + {0x1Eu, 0x10u}, + {0x1Fu, 0x10u}, + {0x21u, 0x11u}, + {0x22u, 0x02u}, + {0x23u, 0x20u}, + {0x25u, 0x04u}, + {0x27u, 0x10u}, + {0x29u, 0x20u}, + {0x2Bu, 0x01u}, + {0x31u, 0x22u}, + {0x36u, 0x04u}, + {0x39u, 0x02u}, + {0x3Bu, 0x44u}, + {0x40u, 0x04u}, + {0x43u, 0x02u}, + {0x48u, 0x04u}, + {0x49u, 0x84u}, + {0x4Au, 0x88u}, + {0x52u, 0x10u}, + {0x53u, 0x68u}, + {0x58u, 0x12u}, + {0x59u, 0x08u}, + {0x5Au, 0x80u}, + {0x60u, 0x80u}, + {0x62u, 0x20u}, + {0x63u, 0x21u}, + {0x68u, 0x80u}, + {0x69u, 0x44u}, + {0x6Bu, 0x08u}, + {0x70u, 0x08u}, + {0x72u, 0x0Au}, + {0x73u, 0x80u}, {0x81u, 0x04u}, {0x84u, 0x02u}, - {0x86u, 0x01u}, - {0x89u, 0x02u}, - {0x8Du, 0x01u}, - {0x94u, 0x02u}, - {0x96u, 0x01u}, - {0x98u, 0x02u}, - {0x9Au, 0x05u}, - {0x9Cu, 0x01u}, - {0x9Eu, 0x02u}, - {0xA0u, 0x02u}, - {0xA2u, 0x09u}, - {0xB1u, 0x04u}, - {0xB2u, 0x08u}, - {0xB4u, 0x04u}, - {0xB5u, 0x02u}, - {0xB6u, 0x03u}, - {0xB7u, 0x01u}, - {0xBAu, 0x80u}, - {0xBFu, 0x50u}, + {0x86u, 0x88u}, + {0x87u, 0x80u}, + {0x8Au, 0x02u}, + {0x8Bu, 0x40u}, + {0x8Fu, 0x01u}, + {0xC0u, 0x0Du}, + {0xC2u, 0x2Au}, + {0xC4u, 0x43u}, + {0xCAu, 0x0Cu}, + {0xCCu, 0x45u}, + {0xCEu, 0x0Bu}, + {0xD0u, 0x05u}, + {0xD2u, 0x0Cu}, + {0xD6u, 0x0Fu}, + {0xD8u, 0x0Fu}, + {0xE0u, 0x02u}, + {0xE2u, 0x08u}, + {0xE4u, 0x09u}, + {0xE6u, 0x82u}, + {0x01u, 0x1Cu}, + {0x04u, 0x01u}, + {0x05u, 0x14u}, + {0x06u, 0x02u}, + {0x07u, 0x08u}, + {0x08u, 0x02u}, + {0x09u, 0x24u}, + {0x0Au, 0x01u}, + {0x0Bu, 0x10u}, + {0x0Du, 0x30u}, + {0x0Fu, 0x0Fu}, + {0x11u, 0x0Cu}, + {0x13u, 0x10u}, + {0x14u, 0x02u}, + {0x15u, 0x21u}, + {0x16u, 0x01u}, + {0x17u, 0x1Eu}, + {0x19u, 0x11u}, + {0x1Bu, 0x22u}, + {0x1Cu, 0x02u}, + {0x1Eu, 0x05u}, + {0x20u, 0x02u}, + {0x21u, 0x1Cu}, + {0x22u, 0x09u}, + {0x29u, 0x10u}, + {0x2Bu, 0x0Cu}, + {0x2Du, 0x08u}, + {0x32u, 0x04u}, + {0x33u, 0x0Fu}, + {0x34u, 0x03u}, + {0x35u, 0x30u}, + {0x36u, 0x08u}, + {0x3Au, 0x20u}, + {0x3Bu, 0x20u}, + {0x56u, 0x08u}, + {0x58u, 0x04u}, + {0x59u, 0x04u}, + {0x5Bu, 0x04u}, + {0x5Cu, 0x12u}, + {0x5Du, 0x90u}, + {0x5Fu, 0x01u}, + {0x81u, 0xC0u}, + {0x83u, 0x02u}, + {0x85u, 0x7Fu}, + {0x87u, 0x80u}, + {0x88u, 0x50u}, + {0x8Au, 0x0Cu}, + {0x8Bu, 0x60u}, + {0x8Cu, 0x5Cu}, + {0x8Fu, 0xFFu}, + {0x90u, 0x21u}, + {0x91u, 0x90u}, + {0x92u, 0x1Eu}, + {0x93u, 0x40u}, + {0x94u, 0x24u}, + {0x95u, 0xC0u}, + {0x96u, 0x10u}, + {0x97u, 0x08u}, + {0x98u, 0x30u}, + {0x99u, 0xC0u}, + {0x9Au, 0x0Fu}, + {0x9Bu, 0x04u}, + {0x9Cu, 0x5Cu}, + {0x9Du, 0xC0u}, + {0x9Fu, 0x01u}, + {0xA0u, 0x11u}, + {0xA2u, 0x22u}, + {0xA3u, 0x9Fu}, + {0xA4u, 0x54u}, + {0xA5u, 0x80u}, + {0xA6u, 0x08u}, + {0xA8u, 0x08u}, + {0xACu, 0x0Cu}, + {0xADu, 0x1Fu}, + {0xAEu, 0x50u}, + {0xAFu, 0x20u}, + {0xB0u, 0x0Fu}, + {0xB2u, 0x30u}, + {0xB4u, 0x40u}, + {0xB5u, 0xFFu}, + {0xB6u, 0x40u}, + {0xBAu, 0x08u}, + {0xBEu, 0x50u}, + {0xBFu, 0x10u}, {0xD6u, 0x08u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDBu, 0x04u}, - {0xDCu, 0x92u}, {0xDDu, 0x90u}, {0xDFu, 0x01u}, - {0x01u, 0x02u}, - {0x03u, 0x12u}, - {0x04u, 0x04u}, - {0x0Au, 0x01u}, - {0x0Bu, 0x28u}, - {0x0Eu, 0x2Au}, - {0x10u, 0xA4u}, + {0x00u, 0x80u}, + {0x03u, 0x04u}, + {0x04u, 0x14u}, + {0x06u, 0x20u}, + {0x09u, 0x80u}, + {0x0Au, 0x20u}, + {0x0Bu, 0x44u}, + {0x0Eu, 0x12u}, + {0x10u, 0x22u}, + {0x12u, 0x44u}, {0x16u, 0x80u}, - {0x19u, 0x02u}, - {0x1Au, 0x01u}, - {0x1Cu, 0x04u}, + {0x18u, 0x40u}, + {0x19u, 0x14u}, + {0x1Au, 0x22u}, + {0x1Bu, 0x05u}, + {0x1Cu, 0x14u}, {0x1Eu, 0x22u}, - {0x1Fu, 0x80u}, - {0x24u, 0x02u}, - {0x25u, 0x02u}, - {0x27u, 0x04u}, - {0x3Du, 0xA2u}, - {0x3Fu, 0x02u}, - {0x40u, 0x08u}, - {0x42u, 0x01u}, - {0x43u, 0x02u}, - {0x48u, 0x20u}, - {0x49u, 0x14u}, - {0x4Bu, 0x22u}, - {0x50u, 0x80u}, - {0x51u, 0x60u}, - {0x52u, 0x10u}, - {0x53u, 0x08u}, - {0x59u, 0xA0u}, - {0x5Bu, 0x0Au}, - {0x5Cu, 0x80u}, - {0x60u, 0x60u}, - {0x62u, 0xA0u}, + {0x21u, 0x20u}, + {0x24u, 0x08u}, + {0x25u, 0x18u}, + {0x27u, 0x20u}, + {0x29u, 0x05u}, + {0x2Au, 0x40u}, + {0x2Bu, 0x01u}, + {0x2Du, 0x11u}, + {0x2Fu, 0x01u}, + {0x30u, 0x22u}, + {0x31u, 0x80u}, + {0x33u, 0x04u}, + {0x34u, 0x04u}, + {0x37u, 0x21u}, + {0x39u, 0x22u}, + {0x3Bu, 0x44u}, + {0x3Du, 0x20u}, + {0x3Eu, 0x46u}, + {0x58u, 0x40u}, + {0x5Du, 0x40u}, + {0x60u, 0x02u}, {0x66u, 0x80u}, - {0x68u, 0x04u}, - {0x69u, 0x44u}, - {0x6Bu, 0x40u}, - {0x70u, 0x50u}, - {0x72u, 0x40u}, - {0x73u, 0x10u}, - {0x81u, 0x60u}, - {0x83u, 0x01u}, - {0x84u, 0x08u}, - {0x85u, 0x46u}, - {0x87u, 0x10u}, - {0x88u, 0xA0u}, - {0x8Cu, 0x41u}, - {0xC0u, 0x2Du}, - {0xC2u, 0xE7u}, - {0xC4u, 0x1Eu}, - {0xCEu, 0xB0u}, - {0xD0u, 0x0Du}, - {0xD2u, 0x04u}, - {0xD6u, 0x1Fu}, - {0xD8u, 0x1Fu}, - {0xE0u, 0x2Du}, - {0xE2u, 0x42u}, - {0xE4u, 0x0Au}, - {0x01u, 0x02u}, - {0x03u, 0x11u}, - {0x05u, 0x02u}, - {0x07u, 0x05u}, - {0x0Cu, 0x02u}, + {0x82u, 0x20u}, + {0x89u, 0x02u}, + {0x8Bu, 0x08u}, + {0x8Cu, 0x02u}, + {0x8Eu, 0x08u}, + {0x8Fu, 0x02u}, + {0x91u, 0x20u}, + {0x92u, 0x10u}, + {0x93u, 0xA0u}, + {0x96u, 0x80u}, + {0x97u, 0x44u}, + {0x98u, 0x61u}, + {0x99u, 0x02u}, + {0x9Au, 0x18u}, + {0x9Du, 0xA0u}, + {0xA0u, 0x84u}, + {0xA1u, 0x04u}, + {0xA2u, 0x80u}, + {0xA3u, 0x08u}, + {0xA5u, 0x22u}, + {0xA6u, 0x34u}, + {0xA7u, 0x13u}, + {0xA8u, 0x80u}, + {0xA9u, 0x08u}, + {0xABu, 0x20u}, + {0xACu, 0x08u}, + {0xAFu, 0x08u}, + {0xB0u, 0x51u}, + {0xB2u, 0x02u}, + {0xB4u, 0x04u}, + {0xB6u, 0x40u}, + {0xB7u, 0x28u}, + {0xC0u, 0x63u}, + {0xC2u, 0xAFu}, + {0xC4u, 0x1Fu}, + {0xCAu, 0xBBu}, + {0xCCu, 0xEFu}, + {0xCEu, 0xFFu}, + {0xD6u, 0x18u}, + {0xD8u, 0x18u}, + {0xE0u, 0x04u}, + {0xE4u, 0x04u}, + {0xE8u, 0x0Au}, + {0xEAu, 0x10u}, + {0xEEu, 0x05u}, + {0x85u, 0x02u}, + {0x87u, 0x01u}, + {0x8Du, 0x01u}, + {0x8Fu, 0x02u}, + {0x95u, 0x02u}, + {0x97u, 0x01u}, + {0xA2u, 0x02u}, + {0xA5u, 0x02u}, + {0xA7u, 0x01u}, + {0xACu, 0x01u}, + {0xADu, 0x02u}, + {0xAFu, 0x05u}, + {0xB0u, 0x01u}, + {0xB2u, 0x02u}, + {0xB3u, 0x04u}, + {0xB7u, 0x03u}, + {0xBBu, 0x80u}, + {0xBEu, 0x01u}, + {0xD6u, 0x08u}, + {0xD8u, 0x04u}, + {0xD9u, 0x04u}, + {0xDBu, 0x04u}, + {0xDCu, 0x22u}, + {0xDDu, 0x90u}, + {0xDFu, 0x01u}, + {0x00u, 0x0Au}, + {0x01u, 0xA0u}, + {0x08u, 0x42u}, + {0x0Bu, 0x08u}, + {0x12u, 0x99u}, + {0x14u, 0x01u}, + {0x17u, 0x02u}, + {0x19u, 0xA0u}, + {0x1Au, 0x80u}, + {0x1Eu, 0x80u}, + {0x1Fu, 0x08u}, + {0x20u, 0x20u}, + {0x21u, 0x04u}, + {0x22u, 0x20u}, + {0x25u, 0x40u}, + {0x26u, 0x04u}, + {0x28u, 0x04u}, + {0x2Eu, 0x80u}, + {0x2Fu, 0x10u}, + {0x30u, 0x40u}, + {0x31u, 0x08u}, + {0x32u, 0x60u}, + {0x36u, 0x04u}, + {0x38u, 0x80u}, + {0x39u, 0x08u}, + {0x3Du, 0x88u}, + {0x40u, 0x44u}, + {0x42u, 0x20u}, + {0x49u, 0x15u}, + {0x4Bu, 0x40u}, + {0x50u, 0x01u}, + {0x51u, 0x20u}, + {0x52u, 0x04u}, + {0x53u, 0x80u}, + {0x5Cu, 0x80u}, + {0x62u, 0x20u}, + {0x66u, 0x80u}, + {0x69u, 0x51u}, + {0x6Au, 0x04u}, + {0x6Bu, 0x51u}, + {0x72u, 0x03u}, + {0x73u, 0x01u}, + {0x8Au, 0x60u}, + {0x8Cu, 0x01u}, + {0x90u, 0x48u}, + {0x91u, 0x20u}, + {0x92u, 0x02u}, + {0x93u, 0xB0u}, + {0x95u, 0x13u}, + {0x96u, 0xC4u}, + {0x97u, 0x46u}, + {0x98u, 0x23u}, + {0x99u, 0x12u}, + {0x9Au, 0x10u}, + {0x9Bu, 0x20u}, + {0x9Cu, 0x04u}, + {0x9Du, 0xA1u}, + {0x9Eu, 0x06u}, + {0x9Fu, 0x05u}, + {0xA0u, 0x84u}, + {0xA1u, 0x0Cu}, + {0xA2u, 0x88u}, + {0xA3u, 0x05u}, + {0xA4u, 0x62u}, + {0xA5u, 0x82u}, + {0xA6u, 0x04u}, + {0xA7u, 0x10u}, + {0xAEu, 0x20u}, + {0xAFu, 0x10u}, + {0xB5u, 0x40u}, + {0xB6u, 0x08u}, + {0xB7u, 0x20u}, + {0xC0u, 0x0Fu}, + {0xC2u, 0x0Bu}, + {0xC4u, 0x9Fu}, + {0xCAu, 0x54u}, + {0xCCu, 0x46u}, + {0xCEu, 0x5Au}, + {0xD0u, 0x07u}, + {0xD2u, 0x0Cu}, + {0xD6u, 0x10u}, + {0xD8u, 0x14u}, + {0xE2u, 0x21u}, + {0xE4u, 0x80u}, + {0xE8u, 0x40u}, + {0xEEu, 0x02u}, + {0x00u, 0x04u}, + {0x02u, 0x02u}, {0x0Du, 0x02u}, - {0x0Eu, 0x01u}, {0x0Fu, 0x01u}, - {0x11u, 0x01u}, - {0x13u, 0x02u}, + {0x11u, 0x02u}, + {0x13u, 0x09u}, {0x14u, 0x02u}, {0x15u, 0x02u}, - {0x16u, 0x11u}, - {0x17u, 0x09u}, - {0x18u, 0x02u}, - {0x1Au, 0x05u}, - {0x1Cu, 0x01u}, - {0x1Eu, 0x02u}, - {0x24u, 0x02u}, - {0x26u, 0x09u}, - {0x30u, 0x04u}, - {0x31u, 0x03u}, - {0x32u, 0x08u}, - {0x33u, 0x08u}, + {0x16u, 0x04u}, + {0x17u, 0x01u}, + {0x18u, 0x04u}, + {0x19u, 0x01u}, + {0x1Au, 0x0Au}, + {0x1Bu, 0x02u}, + {0x1Cu, 0x04u}, + {0x1Eu, 0x03u}, + {0x24u, 0x04u}, + {0x26u, 0x12u}, + {0x29u, 0x02u}, + {0x2Bu, 0x05u}, + {0x30u, 0x01u}, + {0x32u, 0x06u}, + {0x33u, 0x04u}, {0x34u, 0x10u}, - {0x35u, 0x10u}, - {0x36u, 0x03u}, - {0x37u, 0x04u}, - {0x3Au, 0x80u}, - {0x3Bu, 0x02u}, + {0x35u, 0x03u}, + {0x36u, 0x08u}, + {0x37u, 0x08u}, + {0x3Au, 0x08u}, + {0x3Bu, 0x20u}, {0x56u, 0x08u}, {0x58u, 0x04u}, {0x59u, 0x04u}, @@ -638,944 +925,504 @@ void cyfitter_cfg(void) {0x5Cu, 0x22u}, {0x5Du, 0x90u}, {0x5Fu, 0x01u}, - {0x80u, 0x78u}, - {0x82u, 0x03u}, - {0x86u, 0x7Fu}, - {0x87u, 0x06u}, - {0x8Cu, 0x20u}, - {0x8Eu, 0x40u}, - {0x8Fu, 0x08u}, - {0x90u, 0x01u}, - {0x92u, 0x6Eu}, - {0x94u, 0x20u}, - {0x96u, 0x40u}, - {0x97u, 0x30u}, - {0x98u, 0x80u}, - {0x9Au, 0x01u}, - {0x9Bu, 0x01u}, - {0x9Cu, 0x03u}, - {0x9Eu, 0x74u}, - {0x9Fu, 0x40u}, - {0xA0u, 0x02u}, - {0xA1u, 0x49u}, - {0xA3u, 0x24u}, - {0xA6u, 0x08u}, - {0xA8u, 0x64u}, - {0xA9u, 0x01u}, - {0xABu, 0x48u}, - {0xADu, 0x49u}, - {0xAFu, 0x12u}, - {0xB2u, 0x80u}, - {0xB3u, 0x70u}, - {0xB4u, 0x1Fu}, - {0xB5u, 0x0Eu}, - {0xB6u, 0x60u}, - {0xB7u, 0x01u}, - {0xBAu, 0x80u}, - {0xBEu, 0x04u}, - {0xBFu, 0x40u}, - {0xD8u, 0x04u}, - {0xD9u, 0x04u}, - {0xDBu, 0x04u}, - {0xDCu, 0x22u}, - {0xDFu, 0x01u}, - {0x01u, 0x82u}, - {0x03u, 0x10u}, - {0x04u, 0x40u}, - {0x08u, 0x89u}, - {0x0Bu, 0x08u}, - {0x0Du, 0x20u}, - {0x0Eu, 0x12u}, - {0x10u, 0x84u}, - {0x12u, 0x10u}, - {0x13u, 0x02u}, - {0x16u, 0x20u}, - {0x18u, 0x28u}, - {0x19u, 0x90u}, - {0x1Cu, 0x42u}, - {0x1Du, 0x20u}, - {0x1Eu, 0x12u}, - {0x20u, 0x24u}, - {0x21u, 0x88u}, - {0x25u, 0x45u}, - {0x26u, 0x02u}, - {0x27u, 0x04u}, - {0x28u, 0x01u}, - {0x29u, 0x12u}, - {0x2Bu, 0x02u}, - {0x2Eu, 0x40u}, - {0x2Fu, 0x01u}, - {0x30u, 0x20u}, - {0x31u, 0x08u}, - {0x33u, 0x40u}, - {0x36u, 0x02u}, - {0x37u, 0x04u}, - {0x38u, 0x04u}, - {0x39u, 0x40u}, - {0x3Du, 0x88u}, - {0x3Fu, 0x01u}, - {0x40u, 0x20u}, - {0x43u, 0x08u}, - {0x58u, 0x20u}, - {0x59u, 0x04u}, - {0x5Au, 0x40u}, - {0x5Bu, 0x02u}, - {0x5Fu, 0x50u}, - {0x61u, 0x80u}, - {0x66u, 0x20u}, - {0x67u, 0x01u}, - {0x6Bu, 0x01u}, - {0x80u, 0x10u}, + {0x80u, 0xC6u}, {0x81u, 0x10u}, - {0x84u, 0x54u}, - {0x87u, 0x04u}, - {0x8Bu, 0x50u}, - {0x91u, 0x40u}, - {0x93u, 0x02u}, - {0x97u, 0x08u}, - {0x99u, 0x06u}, - {0x9Au, 0x10u}, - {0x9Bu, 0x40u}, - {0x9Cu, 0x04u}, - {0x9Du, 0x90u}, - {0x9Fu, 0x18u}, - {0xA0u, 0xA4u}, - {0xA2u, 0x10u}, - {0xA3u, 0x08u}, - {0xA4u, 0x01u}, - {0xA5u, 0x11u}, - {0xA6u, 0xA4u}, - {0xA7u, 0x02u}, - {0xA8u, 0x10u}, - {0xABu, 0x82u}, - {0xACu, 0x01u}, - {0xADu, 0x22u}, - {0xB3u, 0x01u}, - {0xB4u, 0x40u}, - {0xB6u, 0x40u}, - {0xB7u, 0x0Cu}, - {0xC0u, 0x8Du}, - {0xC2u, 0xEFu}, - {0xC4u, 0x2Eu}, - {0xCAu, 0x0Du}, - {0xCCu, 0xCEu}, - {0xCEu, 0xDAu}, - {0xD6u, 0x3Fu}, - {0xD8u, 0x38u}, - {0xE0u, 0x28u}, - {0xE2u, 0x01u}, - {0xE4u, 0x82u}, - {0xE6u, 0x08u}, - {0xE8u, 0x04u}, - {0xEAu, 0x10u}, - {0xECu, 0x0Cu}, - {0xEEu, 0x13u}, - {0x88u, 0x02u}, - {0x8Du, 0x02u}, - {0x8Fu, 0x01u}, - {0x91u, 0x02u}, - {0x93u, 0x05u}, - {0x95u, 0x02u}, - {0x96u, 0x01u}, - {0x97u, 0x09u}, - {0x99u, 0x01u}, - {0x9Bu, 0x02u}, - {0xADu, 0x02u}, - {0xAFu, 0x11u}, - {0xB0u, 0x02u}, - {0xB1u, 0x04u}, - {0xB3u, 0x03u}, - {0xB4u, 0x01u}, - {0xB5u, 0x10u}, - {0xB7u, 0x08u}, - {0xBBu, 0x08u}, - {0xBEu, 0x01u}, - {0xD6u, 0x08u}, - {0xD8u, 0x04u}, - {0xD9u, 0x04u}, - {0xDBu, 0x04u}, - {0xDCu, 0x22u}, - {0xDDu, 0x90u}, - {0xDFu, 0x01u}, - {0x00u, 0x18u}, - {0x01u, 0x80u}, - {0x05u, 0x10u}, - {0x08u, 0xA0u}, - {0x09u, 0x88u}, - {0x0Bu, 0x80u}, - {0x0Eu, 0x20u}, - {0x11u, 0xAAu}, - {0x19u, 0x01u}, - {0x1Au, 0x02u}, - {0x1Cu, 0x80u}, - {0x1Eu, 0x08u}, - {0x20u, 0x08u}, - {0x21u, 0x24u}, - {0x23u, 0x01u}, - {0x24u, 0x40u}, - {0x27u, 0x36u}, - {0x28u, 0x20u}, - {0x29u, 0x21u}, - {0x2Au, 0x40u}, - {0x2Eu, 0x80u}, - {0x30u, 0x02u}, - {0x31u, 0xA8u}, - {0x37u, 0x26u}, - {0x38u, 0x90u}, - {0x39u, 0x08u}, - {0x3Au, 0x01u}, - {0x3Cu, 0x40u}, - {0x40u, 0x81u}, - {0x41u, 0x08u}, - {0x48u, 0x80u}, - {0x49u, 0x08u}, - {0x4Au, 0x0Au}, - {0x4Bu, 0x02u}, - {0x52u, 0x50u}, - {0x53u, 0x48u}, - {0x5Du, 0x40u}, - {0x66u, 0x80u}, - {0x82u, 0x20u}, - {0x86u, 0x90u}, + {0x84u, 0x42u}, + {0x85u, 0x22u}, {0x87u, 0x08u}, - {0x8Du, 0x40u}, - {0x8Fu, 0x20u}, - {0x90u, 0x04u}, - {0x9Bu, 0x01u}, - {0x9Fu, 0x18u}, - {0xA2u, 0x10u}, - {0xA4u, 0x40u}, - {0xA6u, 0xA4u}, - {0xA7u, 0x02u}, - {0xA8u, 0x08u}, - {0xACu, 0x04u}, - {0xB4u, 0x84u}, - {0xC0u, 0x47u}, - {0xC2u, 0x2Fu}, - {0xC4u, 0x0Fu}, - {0xCAu, 0x1Fu}, - {0xCCu, 0xEFu}, - {0xCEu, 0x1Fu}, - {0xD0u, 0x0Bu}, - {0xD2u, 0x0Cu}, - {0xD6u, 0x10u}, - {0xD8u, 0x10u}, - {0xE0u, 0x42u}, - {0xE4u, 0x02u}, - {0xE6u, 0x89u}, - {0xE8u, 0x40u}, - {0xEAu, 0x08u}, - {0xEEu, 0x04u}, - {0x01u, 0x01u}, - {0x02u, 0x9Fu}, - {0x04u, 0x80u}, - {0x05u, 0x01u}, - {0x08u, 0x1Fu}, - {0x09u, 0x88u}, - {0x0Au, 0x20u}, - {0x0Bu, 0x21u}, - {0x0Cu, 0xC0u}, - {0x0Du, 0xA2u}, - {0x0Eu, 0x01u}, - {0x0Fu, 0x08u}, - {0x10u, 0x7Fu}, - {0x11u, 0x01u}, - {0x12u, 0x80u}, - {0x15u, 0x01u}, - {0x16u, 0xFFu}, - {0x18u, 0xC0u}, - {0x19u, 0x40u}, - {0x1Au, 0x04u}, - {0x1Cu, 0xC0u}, - {0x1Du, 0x04u}, - {0x1Eu, 0x02u}, - {0x21u, 0x10u}, - {0x22u, 0x60u}, - {0x25u, 0x87u}, - {0x27u, 0x18u}, - {0x28u, 0xC0u}, - {0x2Au, 0x08u}, - {0x2Cu, 0x90u}, - {0x2Du, 0x01u}, - {0x2Eu, 0x40u}, - {0x31u, 0x80u}, - {0x32u, 0xFFu}, - {0x33u, 0x40u}, - {0x35u, 0x3Fu}, - {0x37u, 0x08u}, - {0x39u, 0x20u}, - {0x3Eu, 0x04u}, - {0x3Fu, 0x51u}, - {0x54u, 0x09u}, - {0x56u, 0x04u}, - {0x58u, 0x04u}, - {0x59u, 0x04u}, - {0x5Bu, 0x04u}, - {0x5Cu, 0x90u}, - {0x5Du, 0x10u}, - {0x5Fu, 0x01u}, - {0x81u, 0x9Cu}, - {0x84u, 0x01u}, - {0x89u, 0x61u}, - {0x8Bu, 0x1Eu}, + {0x88u, 0x39u}, + {0x89u, 0x04u}, + {0x8Au, 0x06u}, {0x8Cu, 0x01u}, - {0x8Du, 0xA4u}, - {0x8Eu, 0x02u}, - {0x8Fu, 0x10u}, - {0x91u, 0x8Cu}, - {0x93u, 0x10u}, - {0x95u, 0x30u}, - {0x97u, 0x8Fu}, - {0x98u, 0x02u}, - {0x99u, 0xD1u}, - {0x9Bu, 0x22u}, - {0x9Du, 0x08u}, - {0x9Fu, 0x40u}, - {0xA1u, 0x9Cu}, - {0xA5u, 0x94u}, - {0xA7u, 0x08u}, - {0xADu, 0x10u}, - {0xAFu, 0x8Cu}, - {0xB0u, 0x03u}, - {0xB1u, 0x30u}, - {0xB3u, 0xC1u}, - {0xB7u, 0x0Fu}, - {0xBBu, 0x0Eu}, - {0xBEu, 0x01u}, + {0x8Du, 0x08u}, + {0x8Eu, 0x5Eu}, + {0x8Fu, 0x21u}, + {0x91u, 0x01u}, + {0x94u, 0x77u}, + {0x96u, 0x08u}, + {0x98u, 0xC2u}, + {0x99u, 0x01u}, + {0x9Au, 0x04u}, + {0x9Cu, 0x04u}, + {0x9Du, 0x01u}, + {0x9Eu, 0x20u}, + {0xA0u, 0xC6u}, + {0xA1u, 0x01u}, + {0xA8u, 0x80u}, + {0xA9u, 0x01u}, + {0xAAu, 0x46u}, + {0xACu, 0x46u}, + {0xADu, 0x07u}, + {0xAEu, 0x80u}, + {0xAFu, 0x18u}, + {0xB0u, 0x70u}, + {0xB1u, 0x3Fu}, + {0xB4u, 0x0Fu}, + {0xB6u, 0x80u}, + {0xB7u, 0x08u}, + {0xB8u, 0x20u}, + {0xB9u, 0x02u}, + {0xBAu, 0x03u}, + {0xBEu, 0x40u}, + {0xBFu, 0x41u}, {0xD4u, 0x09u}, + {0xD6u, 0x04u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDBu, 0x04u}, + {0xDCu, 0x01u}, {0xDFu, 0x01u}, - {0x00u, 0x04u}, - {0x03u, 0x01u}, - {0x05u, 0x16u}, - {0x06u, 0x02u}, - {0x0Au, 0x08u}, - {0x0Eu, 0x56u}, - {0x14u, 0x40u}, - {0x15u, 0x50u}, - {0x19u, 0x01u}, + {0x00u, 0x40u}, + {0x01u, 0x20u}, + {0x02u, 0x10u}, + {0x03u, 0x40u}, + {0x04u, 0x08u}, + {0x05u, 0x01u}, + {0x06u, 0x10u}, + {0x09u, 0x08u}, + {0x0Au, 0x04u}, + {0x0Bu, 0x02u}, + {0x0Eu, 0x2Au}, + {0x11u, 0x50u}, + {0x13u, 0x01u}, + {0x16u, 0x20u}, + {0x18u, 0xC0u}, + {0x19u, 0x60u}, + {0x1Au, 0x48u}, + {0x1Du, 0x01u}, + {0x1Eu, 0x2Au}, {0x1Fu, 0x04u}, - {0x20u, 0x40u}, - {0x21u, 0x88u}, - {0x26u, 0x44u}, - {0x27u, 0x48u}, - {0x28u, 0xA0u}, - {0x2Au, 0x80u}, - {0x2Du, 0x42u}, - {0x2Fu, 0x20u}, - {0x30u, 0x82u}, - {0x31u, 0x08u}, - {0x32u, 0x20u}, - {0x34u, 0x40u}, - {0x35u, 0x04u}, - {0x36u, 0x81u}, - {0x37u, 0x20u}, - {0x38u, 0xD0u}, - {0x3Au, 0x01u}, - {0x3Cu, 0x80u}, - {0x3Eu, 0x16u}, - {0x44u, 0x01u}, - {0x47u, 0x40u}, - {0x59u, 0x08u}, - {0x5Bu, 0x92u}, - {0x5Cu, 0x02u}, - {0x5Eu, 0x80u}, - {0x5Fu, 0x14u}, - {0x63u, 0x01u}, - {0x64u, 0x01u}, - {0x67u, 0x40u}, - {0x7Cu, 0x40u}, - {0x7Du, 0x80u}, - {0x80u, 0xB0u}, - {0x81u, 0x35u}, - {0x82u, 0x81u}, - {0x84u, 0x02u}, - {0x85u, 0x80u}, - {0x8Au, 0x04u}, - {0x8Bu, 0x40u}, - {0x8Du, 0x81u}, - {0x8Eu, 0x22u}, - {0x90u, 0x04u}, - {0x93u, 0x83u}, - {0x94u, 0x91u}, - {0x99u, 0x08u}, - {0x9Bu, 0x21u}, - {0x9Cu, 0x20u}, - {0x9Du, 0xA0u}, - {0x9Eu, 0x01u}, - {0xA0u, 0x80u}, - {0xA4u, 0x02u}, - {0xA5u, 0xDDu}, - {0xA6u, 0x0Au}, - {0xABu, 0x08u}, - {0xAFu, 0x01u}, - {0xB2u, 0x01u}, - {0xB4u, 0x10u}, - {0xB5u, 0x10u}, - {0xB7u, 0x02u}, - {0xC0u, 0xF5u}, - {0xC2u, 0xF2u}, - {0xC4u, 0xD0u}, - {0xCAu, 0xDBu}, - {0xCCu, 0xFFu}, - {0xCEu, 0xFDu}, - {0xD6u, 0xFFu}, - {0xD8u, 0x98u}, - {0xE2u, 0x2Du}, - {0xE4u, 0x10u}, - {0xE6u, 0x05u}, - {0xE8u, 0x02u}, - {0xEAu, 0x25u}, - {0x00u, 0x11u}, - {0x01u, 0x40u}, - {0x02u, 0x22u}, - {0x03u, 0x03u}, - {0x04u, 0xFFu}, - {0x05u, 0x80u}, - {0x0Au, 0xFFu}, - {0x0Bu, 0x20u}, - {0x0Cu, 0x0Fu}, - {0x0Du, 0x40u}, - {0x0Eu, 0xF0u}, + {0x21u, 0x02u}, + {0x22u, 0x40u}, + {0x25u, 0x40u}, + {0x26u, 0x28u}, + {0x27u, 0x0Au}, + {0x28u, 0x10u}, + {0x2Au, 0x44u}, + {0x2Bu, 0x47u}, + {0x2Fu, 0x08u}, + {0x30u, 0x26u}, + {0x31u, 0x80u}, + {0x32u, 0x04u}, + {0x34u, 0x02u}, + {0x36u, 0x28u}, + {0x38u, 0x02u}, + {0x39u, 0x20u}, + {0x3Bu, 0x44u}, + {0x3Du, 0x80u}, + {0x58u, 0x10u}, + {0x59u, 0x04u}, + {0x5Au, 0x82u}, + {0x5Du, 0x80u}, + {0x5Fu, 0x10u}, + {0x60u, 0x80u}, + {0x62u, 0x80u}, + {0x64u, 0x02u}, + {0x66u, 0x20u}, + {0x84u, 0x80u}, + {0x85u, 0x40u}, + {0x90u, 0x0Au}, + {0x91u, 0x70u}, + {0x92u, 0x07u}, + {0x93u, 0x11u}, + {0x94u, 0x84u}, + {0x95u, 0x02u}, + {0x96u, 0x40u}, + {0x97u, 0x4Eu}, + {0x98u, 0x20u}, + {0x99u, 0x06u}, + {0x9Au, 0x06u}, + {0x9Bu, 0x71u}, + {0x9Cu, 0x04u}, + {0x9Fu, 0x06u}, + {0xA0u, 0x10u}, + {0xA1u, 0x28u}, + {0xA3u, 0x8Du}, + {0xA4u, 0x62u}, + {0xA5u, 0x82u}, + {0xAAu, 0x01u}, + {0xABu, 0x10u}, + {0xACu, 0x81u}, + {0xAFu, 0x40u}, + {0xB1u, 0x40u}, + {0xB3u, 0x01u}, + {0xB4u, 0x80u}, + {0xC0u, 0x1Fu}, + {0xC2u, 0xE7u}, + {0xC4u, 0x2Bu}, + {0xCAu, 0x2Du}, + {0xCCu, 0xEDu}, + {0xCEu, 0x1Fu}, + {0xD6u, 0x3Fu}, + {0xD8u, 0x39u}, + {0xE2u, 0x04u}, + {0xE4u, 0x08u}, + {0xE6u, 0x04u}, + {0xE8u, 0x08u}, + {0xEAu, 0x05u}, + {0xEEu, 0x09u}, + {0x00u, 0x04u}, + {0x01u, 0x01u}, + {0x03u, 0x02u}, + {0x05u, 0x04u}, + {0x06u, 0x20u}, + {0x07u, 0x08u}, + {0x09u, 0x10u}, + {0x0Au, 0x07u}, + {0x0Bu, 0x8Fu}, + {0x0Cu, 0x01u}, + {0x0Du, 0x0Fu}, {0x0Fu, 0x80u}, - {0x10u, 0x33u}, - {0x12u, 0xCCu}, - {0x13u, 0x24u}, - {0x14u, 0x48u}, - {0x16u, 0x84u}, - {0x17u, 0x18u}, - {0x18u, 0x12u}, - {0x19u, 0x24u}, - {0x1Au, 0x21u}, - {0x1Bu, 0x09u}, - {0x1Cu, 0xFFu}, - {0x24u, 0x44u}, - {0x26u, 0x88u}, - {0x27u, 0x04u}, - {0x29u, 0x24u}, - {0x2Bu, 0x12u}, - {0x30u, 0xFFu}, - {0x31u, 0x07u}, - {0x33u, 0x38u}, - {0x37u, 0xC0u}, - {0x3Eu, 0x01u}, - {0x3Fu, 0x40u}, - {0x56u, 0x02u}, - {0x57u, 0x2Cu}, + {0x11u, 0x01u}, + {0x13u, 0x02u}, + {0x15u, 0x20u}, + {0x16u, 0x18u}, + {0x17u, 0x0Fu}, + {0x18u, 0x07u}, + {0x19u, 0x04u}, + {0x1Bu, 0x08u}, + {0x1Eu, 0x20u}, + {0x20u, 0x20u}, + {0x21u, 0x4Fu}, + {0x22u, 0x10u}, + {0x23u, 0x80u}, + {0x26u, 0x02u}, + {0x27u, 0x10u}, + {0x28u, 0x20u}, + {0x29u, 0x50u}, + {0x2Au, 0x08u}, + {0x2Bu, 0x8Fu}, + {0x31u, 0x03u}, + {0x32u, 0x38u}, + {0x33u, 0xF0u}, + {0x34u, 0x07u}, + {0x35u, 0x0Cu}, + {0x39u, 0x08u}, + {0x3Bu, 0x22u}, + {0x3Eu, 0x10u}, {0x58u, 0x04u}, {0x59u, 0x04u}, {0x5Bu, 0x04u}, - {0x5Cu, 0x20u}, + {0x5Cu, 0x22u}, {0x5Fu, 0x01u}, - {0x80u, 0x0Fu}, - {0x82u, 0xF0u}, - {0x84u, 0xFFu}, - {0x85u, 0x44u}, - {0x87u, 0x88u}, - {0x89u, 0x84u}, - {0x8Bu, 0x48u}, - {0x8Fu, 0xFFu}, - {0x91u, 0x11u}, - {0x92u, 0xFFu}, - {0x93u, 0x22u}, - {0x94u, 0x33u}, - {0x96u, 0xCCu}, - {0x98u, 0xFFu}, - {0x9Bu, 0xFFu}, - {0x9Cu, 0x96u}, - {0x9Eu, 0x69u}, - {0xA0u, 0x55u}, - {0xA1u, 0x33u}, - {0xA2u, 0xAAu}, - {0xA3u, 0xCCu}, - {0xA5u, 0xFFu}, - {0xA6u, 0xFFu}, - {0xA9u, 0x21u}, - {0xABu, 0x12u}, - {0xADu, 0x0Fu}, - {0xAEu, 0xFFu}, - {0xAFu, 0xF0u}, - {0xB0u, 0xFFu}, - {0xB3u, 0xFFu}, - {0xBAu, 0x02u}, - {0xBFu, 0x04u}, + {0x80u, 0x05u}, + {0x82u, 0x0Au}, + {0x85u, 0x08u}, + {0x88u, 0x06u}, + {0x89u, 0x20u}, + {0x8Au, 0x09u}, + {0x8Cu, 0x0Fu}, + {0x8Eu, 0xF0u}, + {0x90u, 0x30u}, + {0x91u, 0x10u}, + {0x92u, 0xC0u}, + {0x94u, 0x03u}, + {0x95u, 0x04u}, + {0x96u, 0x0Cu}, + {0x9Du, 0x01u}, + {0xA4u, 0x60u}, + {0xA6u, 0x90u}, + {0xA8u, 0x50u}, + {0xA9u, 0x02u}, + {0xAAu, 0xA0u}, + {0xADu, 0x15u}, + {0xAFu, 0x2Au}, + {0xB1u, 0x30u}, + {0xB3u, 0x0Cu}, + {0xB5u, 0x03u}, + {0xB6u, 0xFFu}, + {0xBEu, 0x40u}, + {0xBFu, 0x15u}, + {0xD4u, 0x01u}, + {0xD8u, 0x04u}, + {0xD9u, 0x04u}, + {0xDBu, 0x04u}, + {0xDDu, 0x20u}, + {0xDFu, 0x01u}, + {0x00u, 0x02u}, + {0x02u, 0x80u}, + {0x03u, 0x0Au}, + {0x05u, 0x10u}, + {0x06u, 0xA2u}, + {0x0Au, 0x20u}, + {0x0Bu, 0x40u}, + {0x0Du, 0x10u}, + {0x0Eu, 0x22u}, + {0x10u, 0x04u}, + {0x13u, 0x14u}, + {0x14u, 0x20u}, + {0x15u, 0x01u}, + {0x17u, 0x10u}, + {0x1Bu, 0x80u}, + {0x1Eu, 0x20u}, + {0x1Fu, 0x18u}, + {0x20u, 0x08u}, + {0x21u, 0x06u}, + {0x24u, 0x20u}, + {0x26u, 0x2Au}, + {0x27u, 0x10u}, + {0x28u, 0x04u}, + {0x2Bu, 0x02u}, + {0x2Cu, 0x28u}, + {0x2Du, 0x01u}, + {0x2Fu, 0x20u}, + {0x32u, 0x81u}, + {0x33u, 0x08u}, + {0x34u, 0x08u}, + {0x36u, 0x22u}, + {0x39u, 0x10u}, + {0x3Bu, 0x04u}, + {0x3Du, 0x80u}, + {0x3Eu, 0x20u}, + {0x3Fu, 0x0Au}, + {0x44u, 0x08u}, + {0x46u, 0x04u}, + {0x48u, 0x08u}, + {0x4Au, 0x08u}, + {0x58u, 0x60u}, + {0x59u, 0x20u}, + {0x5Cu, 0x04u}, + {0x5Eu, 0x40u}, + {0x5Fu, 0x21u}, + {0x64u, 0x40u}, + {0x65u, 0x81u}, + {0x6Fu, 0x02u}, + {0x85u, 0x02u}, + {0x89u, 0x02u}, + {0x8Eu, 0x04u}, + {0x8Fu, 0x01u}, + {0x91u, 0xA1u}, + {0x92u, 0x62u}, + {0x93u, 0x08u}, + {0x94u, 0xA8u}, + {0x95u, 0x1Cu}, + {0x97u, 0x40u}, + {0x98u, 0x80u}, + {0x99u, 0x01u}, + {0x9Au, 0x32u}, + {0x9Bu, 0x28u}, + {0x9Du, 0x08u}, + {0x9Eu, 0x04u}, + {0xA0u, 0x23u}, + {0xA1u, 0x40u}, + {0xA2u, 0x05u}, + {0xA3u, 0x45u}, + {0xA4u, 0x54u}, + {0xA5u, 0x01u}, + {0xA6u, 0x2Au}, + {0xA7u, 0x82u}, + {0xAAu, 0x28u}, + {0xACu, 0x10u}, + {0xADu, 0x08u}, + {0xAEu, 0x80u}, + {0xAFu, 0x10u}, + {0xB2u, 0x02u}, + {0xB3u, 0x20u}, + {0xB7u, 0x40u}, + {0xC0u, 0xFBu}, + {0xC2u, 0xECu}, + {0xC4u, 0x76u}, + {0xCAu, 0xECu}, + {0xCCu, 0xEBu}, + {0xCEu, 0xF6u}, + {0xD6u, 0xF8u}, + {0xD8u, 0x10u}, + {0xE2u, 0x04u}, + {0xE6u, 0x04u}, + {0xE8u, 0x82u}, + {0xEAu, 0x01u}, + {0xECu, 0x60u}, + {0xEEu, 0x02u}, + {0x01u, 0x04u}, + {0x02u, 0x40u}, + {0x03u, 0x02u}, + {0x06u, 0x30u}, + {0x0Bu, 0x04u}, + {0x0Du, 0x10u}, + {0x10u, 0x48u}, + {0x11u, 0x08u}, + {0x12u, 0x24u}, + {0x13u, 0x10u}, + {0x16u, 0x48u}, + {0x17u, 0x04u}, + {0x19u, 0x08u}, + {0x1Au, 0x01u}, + {0x1Bu, 0x03u}, + {0x1Eu, 0x06u}, + {0x22u, 0x08u}, + {0x28u, 0x48u}, + {0x29u, 0x04u}, + {0x2Au, 0x12u}, + {0x2Bu, 0x01u}, + {0x30u, 0x01u}, + {0x33u, 0x18u}, + {0x34u, 0x70u}, + {0x35u, 0x07u}, + {0x36u, 0x0Eu}, + {0x3Fu, 0x04u}, + {0x56u, 0x08u}, + {0x58u, 0x04u}, + {0x59u, 0x04u}, + {0x5Bu, 0x04u}, + {0x5Cu, 0x22u}, + {0x5Du, 0x90u}, + {0x5Fu, 0x01u}, + {0x82u, 0x70u}, + {0x84u, 0xC0u}, + {0x86u, 0x1Fu}, + {0x88u, 0x90u}, + {0x8Au, 0x2Fu}, + {0x8Cu, 0x06u}, + {0x8Eu, 0x09u}, + {0x8Fu, 0x04u}, + {0x94u, 0x03u}, + {0x96u, 0x0Cu}, + {0x97u, 0x02u}, + {0x98u, 0x0Fu}, + {0x9Cu, 0xA0u}, + {0x9Eu, 0x4Fu}, + {0xA0u, 0x05u}, + {0xA2u, 0x0Au}, + {0xA6u, 0x80u}, + {0xA9u, 0x01u}, + {0xADu, 0x02u}, + {0xAFu, 0x04u}, + {0xB0u, 0x7Fu}, + {0xB5u, 0x01u}, + {0xB6u, 0x80u}, + {0xB7u, 0x06u}, + {0xBEu, 0x40u}, + {0xBFu, 0x50u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDBu, 0x04u}, {0xDCu, 0x02u}, {0xDFu, 0x01u}, + {0x00u, 0x04u}, {0x01u, 0x02u}, - {0x02u, 0x20u}, - {0x05u, 0x95u}, - {0x07u, 0xA2u}, - {0x08u, 0x0Au}, - {0x0Bu, 0x09u}, - {0x0Cu, 0x01u}, - {0x0Du, 0x40u}, - {0x0Eu, 0x12u}, - {0x0Fu, 0x98u}, - {0x10u, 0x10u}, - {0x11u, 0x08u}, - {0x12u, 0x42u}, - {0x15u, 0x04u}, - {0x19u, 0x02u}, - {0x1Fu, 0x01u}, - {0x22u, 0x08u}, - {0x24u, 0x20u}, - {0x25u, 0x01u}, - {0x26u, 0x84u}, - {0x27u, 0x80u}, - {0x29u, 0x84u}, - {0x2Bu, 0x48u}, - {0x2Fu, 0x14u}, - {0x31u, 0x11u}, - {0x34u, 0x12u}, - {0x36u, 0x04u}, - {0x39u, 0x84u}, - {0x3Bu, 0x10u}, - {0x3Cu, 0x20u}, - {0x3Du, 0x86u}, - {0x48u, 0x02u}, - {0x4Au, 0x01u}, - {0x67u, 0x80u}, - {0x68u, 0x05u}, - {0x69u, 0x05u}, - {0x6Au, 0x12u}, - {0x6Cu, 0x01u}, - {0x6Eu, 0x04u}, - {0x6Fu, 0x66u}, - {0x70u, 0x04u}, - {0x71u, 0xA0u}, - {0x72u, 0x01u}, - {0x73u, 0x40u}, - {0x74u, 0x80u}, - {0x76u, 0x01u}, - {0x7Bu, 0x0Cu}, - {0x80u, 0x80u}, - {0x83u, 0x64u}, - {0x87u, 0x02u}, - {0x88u, 0x01u}, - {0x8Cu, 0x82u}, - {0x8Eu, 0x08u}, - {0x91u, 0x20u}, - {0x92u, 0x28u}, - {0x93u, 0xA8u}, - {0x94u, 0x68u}, - {0x95u, 0x01u}, - {0x96u, 0x01u}, - {0x97u, 0x42u}, - {0x98u, 0x0Fu}, - {0x99u, 0x38u}, - {0x9Au, 0x40u}, - {0x9Bu, 0x02u}, - {0x9Du, 0x02u}, - {0x9Eu, 0x0Cu}, - {0x9Fu, 0x08u}, - {0xA0u, 0x10u}, - {0xA1u, 0x44u}, - {0xA2u, 0x22u}, - {0xA3u, 0x08u}, - {0xA4u, 0x04u}, - {0xA5u, 0x20u}, - {0xA6u, 0x08u}, - {0xA8u, 0x04u}, - {0xA9u, 0x10u}, - {0xABu, 0x60u}, - {0xACu, 0x11u}, - {0xADu, 0x40u}, - {0xB4u, 0x80u}, - {0xB5u, 0x44u}, - {0xB7u, 0x40u}, - {0xC0u, 0xFCu}, - {0xC2u, 0xFFu}, - {0xC4u, 0x2Du}, - {0xCAu, 0x6Fu}, - {0xCCu, 0xE5u}, - {0xCEu, 0xFEu}, - {0xD8u, 0x80u}, - {0xE0u, 0x10u}, - {0xE2u, 0x80u}, - {0xE4u, 0x40u}, - {0xE8u, 0x10u}, - {0xEAu, 0x41u}, - {0xEEu, 0x43u}, - {0x05u, 0x50u}, - {0x06u, 0x04u}, - {0x07u, 0xA0u}, - {0x09u, 0x05u}, - {0x0Au, 0x03u}, - {0x0Bu, 0x0Au}, - {0x0Cu, 0x40u}, - {0x0Du, 0x30u}, - {0x0Fu, 0xC0u}, - {0x11u, 0x06u}, - {0x12u, 0x24u}, - {0x13u, 0x09u}, - {0x14u, 0x24u}, - {0x15u, 0x03u}, - {0x16u, 0x09u}, - {0x17u, 0x0Cu}, - {0x18u, 0x24u}, - {0x19u, 0x60u}, - {0x1Au, 0x12u}, - {0x1Bu, 0x90u}, - {0x1Cu, 0x40u}, - {0x22u, 0x18u}, - {0x24u, 0x40u}, - {0x28u, 0x40u}, - {0x2Du, 0x0Fu}, - {0x2Eu, 0x20u}, - {0x2Fu, 0xF0u}, - {0x30u, 0x40u}, - {0x32u, 0x07u}, - {0x34u, 0x38u}, - {0x37u, 0xFFu}, - {0x3Eu, 0x01u}, - {0x3Fu, 0x40u}, - {0x56u, 0x08u}, - {0x58u, 0x04u}, - {0x59u, 0x04u}, - {0x5Bu, 0x04u}, - {0x5Cu, 0x02u}, - {0x5Du, 0x90u}, - {0x5Fu, 0x01u}, - {0x81u, 0x01u}, - {0x83u, 0x02u}, - {0x84u, 0x04u}, - {0x85u, 0x04u}, - {0x86u, 0x08u}, - {0x87u, 0x08u}, - {0x89u, 0x01u}, - {0x8Au, 0x3Fu}, - {0x8Bu, 0x02u}, - {0x8Cu, 0x3Fu}, - {0x8Du, 0x50u}, - {0x8Fu, 0x8Fu}, - {0x91u, 0x10u}, - {0x92u, 0x3Fu}, - {0x93u, 0x8Fu}, - {0x94u, 0x3Fu}, - {0x95u, 0x20u}, - {0x97u, 0x0Fu}, - {0x98u, 0x01u}, - {0x99u, 0x0Fu}, - {0x9Au, 0x02u}, - {0x9Bu, 0x80u}, - {0x9Cu, 0x10u}, - {0x9Du, 0x04u}, - {0x9Eu, 0x20u}, - {0x9Fu, 0x08u}, - {0xA0u, 0x10u}, - {0xA1u, 0x4Fu}, - {0xA2u, 0x20u}, - {0xA3u, 0x80u}, - {0xA4u, 0x04u}, - {0xA6u, 0x08u}, - {0xA7u, 0x10u}, - {0xA8u, 0x01u}, - {0xAAu, 0x02u}, - {0xAEu, 0x3Fu}, - {0xB1u, 0x03u}, - {0xB2u, 0x0Cu}, - {0xB3u, 0xF0u}, - {0xB4u, 0x03u}, - {0xB6u, 0x30u}, - {0xB7u, 0x0Cu}, - {0xB9u, 0x08u}, - {0xBAu, 0xA8u}, - {0xBBu, 0x82u}, - {0xD4u, 0x01u}, - {0xD8u, 0x04u}, - {0xD9u, 0x04u}, - {0xDBu, 0x04u}, - {0xDCu, 0x22u}, - {0xDDu, 0x20u}, - {0xDFu, 0x01u}, - {0x00u, 0x40u}, - {0x01u, 0x04u}, - {0x03u, 0x08u}, - {0x05u, 0x04u}, - {0x06u, 0x02u}, - {0x07u, 0x04u}, - {0x08u, 0x02u}, + {0x02u, 0x10u}, + {0x04u, 0xA0u}, + {0x05u, 0x01u}, + {0x06u, 0x20u}, {0x09u, 0x04u}, - {0x0Bu, 0x0Au}, - {0x0Eu, 0x28u}, - {0x0Fu, 0x82u}, - {0x10u, 0x42u}, + {0x0Au, 0x0Au}, + {0x0Bu, 0x80u}, + {0x0Cu, 0x60u}, + {0x0Eu, 0x20u}, + {0x10u, 0x80u}, {0x12u, 0x08u}, - {0x13u, 0x08u}, - {0x14u, 0x02u}, {0x15u, 0x02u}, - {0x16u, 0x20u}, - {0x17u, 0x10u}, - {0x1Au, 0x48u}, - {0x1Bu, 0x08u}, - {0x1Cu, 0x04u}, - {0x1Du, 0x04u}, - {0x1Eu, 0x08u}, - {0x1Fu, 0x80u}, - {0x23u, 0x02u}, - {0x25u, 0x05u}, + {0x17u, 0x04u}, + {0x18u, 0x04u}, + {0x1Au, 0x82u}, + {0x1Du, 0x41u}, + {0x21u, 0x08u}, + {0x22u, 0x10u}, + {0x25u, 0x50u}, {0x26u, 0x80u}, - {0x28u, 0x01u}, - {0x29u, 0x40u}, - {0x2Du, 0x08u}, - {0x2Eu, 0x02u}, - {0x2Fu, 0x20u}, - {0x31u, 0x20u}, - {0x32u, 0x05u}, - {0x34u, 0x02u}, - {0x36u, 0xA0u}, - {0x37u, 0x04u}, - {0x38u, 0x28u}, + {0x27u, 0x01u}, + {0x29u, 0x10u}, + {0x2Cu, 0x40u}, + {0x2Du, 0x41u}, + {0x2Fu, 0x08u}, + {0x30u, 0x08u}, + {0x32u, 0x10u}, + {0x33u, 0x02u}, + {0x37u, 0x08u}, + {0x39u, 0x01u}, + {0x3Au, 0x20u}, {0x3Bu, 0x40u}, - {0x3Du, 0x02u}, - {0x3Fu, 0xA8u}, - {0x58u, 0x10u}, - {0x5Bu, 0x40u}, - {0x5Du, 0x80u}, - {0x60u, 0x08u}, - {0x62u, 0x40u}, - {0x63u, 0x08u}, - {0x79u, 0x02u}, - {0x7Bu, 0x80u}, - {0x81u, 0x01u}, - {0x85u, 0x30u}, - {0x87u, 0x80u}, - {0x88u, 0x40u}, - {0x8Au, 0x04u}, - {0x8Cu, 0x20u}, - {0x8Du, 0x08u}, - {0x8Eu, 0x42u}, - {0x8Fu, 0x04u}, - {0x91u, 0x44u}, - {0x92u, 0x22u}, - {0x93u, 0xA8u}, - {0x95u, 0x01u}, - {0x96u, 0x01u}, - {0x98u, 0x06u}, - {0x99u, 0x80u}, - {0x9Au, 0x22u}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x80u}, - {0x9Du, 0x46u}, - {0x9Eu, 0x4Cu}, - {0xA0u, 0x12u}, - {0xA2u, 0x30u}, - {0xA3u, 0x31u}, - {0xA4u, 0x24u}, - {0xA5u, 0x2Cu}, - {0xA6u, 0x80u}, - {0xA7u, 0x48u}, - {0xA8u, 0x40u}, - {0xABu, 0x04u}, - {0xADu, 0x20u}, - {0xAFu, 0x88u}, - {0xB2u, 0x04u}, - {0xB4u, 0x42u}, - {0xC0u, 0xE7u}, - {0xC2u, 0xFFu}, - {0xC4u, 0xFFu}, - {0xCAu, 0xC8u}, - {0xCCu, 0xF7u}, - {0xCEu, 0xFEu}, - {0xD6u, 0x1Cu}, - {0xD8u, 0x0Cu}, - {0xE4u, 0x10u}, - {0xE6u, 0x80u}, - {0xE8u, 0x51u}, - {0xECu, 0x08u}, - {0xEEu, 0x02u}, - {0x01u, 0x02u}, - {0x03u, 0x01u}, - {0x08u, 0x01u}, - {0x0Au, 0x06u}, - {0x0Du, 0x02u}, - {0x0Fu, 0x01u}, - {0x11u, 0x10u}, - {0x13u, 0x20u}, - {0x15u, 0x01u}, - {0x17u, 0x12u}, - {0x1Cu, 0x04u}, - {0x1Eu, 0x03u}, - {0x20u, 0x03u}, - {0x22u, 0x04u}, - {0x25u, 0x02u}, - {0x27u, 0x09u}, - {0x28u, 0x05u}, - {0x2Au, 0x02u}, - {0x2Du, 0x02u}, - {0x2Fu, 0x25u}, - {0x31u, 0x08u}, - {0x33u, 0x03u}, - {0x35u, 0x30u}, - {0x36u, 0x07u}, - {0x37u, 0x04u}, - {0x3Au, 0x80u}, - {0x3Bu, 0x08u}, - {0x3Fu, 0x10u}, - {0x56u, 0x08u}, - {0x58u, 0x04u}, - {0x59u, 0x04u}, + {0x3Eu, 0x80u}, + {0x49u, 0x10u}, + {0x4Au, 0x08u}, + {0x58u, 0x18u}, + {0x59u, 0x80u}, {0x5Bu, 0x04u}, - {0x5Cu, 0x20u}, - {0x5Du, 0x90u}, - {0x5Fu, 0x01u}, - {0x81u, 0x24u}, - {0x83u, 0x12u}, - {0x84u, 0x40u}, - {0x88u, 0x20u}, - {0x8Bu, 0x18u}, - {0x8Fu, 0x20u}, - {0x90u, 0x29u}, - {0x91u, 0x40u}, - {0x92u, 0x52u}, - {0x93u, 0x03u}, - {0x94u, 0x08u}, - {0x97u, 0x04u}, - {0x99u, 0x80u}, - {0x9Cu, 0x10u}, - {0x9Du, 0x40u}, - {0x9Fu, 0x80u}, - {0xA0u, 0x02u}, - {0xA1u, 0x24u}, - {0xA3u, 0x09u}, - {0xA8u, 0x01u}, - {0xAEu, 0x04u}, - {0xAFu, 0x24u}, - {0xB0u, 0x03u}, - {0xB1u, 0x07u}, - {0xB2u, 0x04u}, - {0xB3u, 0xC0u}, - {0xB4u, 0x60u}, - {0xB5u, 0x38u}, - {0xB6u, 0x18u}, - {0xBEu, 0x51u}, - {0xBFu, 0x04u}, - {0xD6u, 0x08u}, - {0xD8u, 0x04u}, - {0xD9u, 0x04u}, - {0xDBu, 0x04u}, - {0xDCu, 0x22u}, - {0xDDu, 0x90u}, - {0xDFu, 0x01u}, - {0x00u, 0x08u}, - {0x03u, 0x08u}, - {0x06u, 0x08u}, - {0x0Au, 0xA1u}, - {0x0Eu, 0x02u}, - {0x10u, 0x04u}, - {0x11u, 0x81u}, - {0x14u, 0x80u}, - {0x16u, 0x04u}, - {0x18u, 0x80u}, - {0x19u, 0x18u}, - {0x1Bu, 0x80u}, - {0x1Eu, 0x02u}, - {0x1Fu, 0x40u}, - {0x21u, 0x10u}, - {0x22u, 0x15u}, - {0x25u, 0x41u}, - {0x26u, 0x34u}, - {0x27u, 0x0Cu}, - {0x28u, 0x02u}, - {0x2Bu, 0x40u}, - {0x2Du, 0x08u}, - {0x2Fu, 0x01u}, - {0x31u, 0x60u}, - {0x32u, 0x49u}, - {0x36u, 0x04u}, - {0x37u, 0x01u}, - {0x39u, 0xA0u}, - {0x3Au, 0x02u}, - {0x3Du, 0x82u}, - {0x59u, 0x20u}, - {0x5Au, 0x44u}, - {0x5Cu, 0x50u}, - {0x63u, 0x2Au}, - {0x66u, 0x20u}, - {0x67u, 0x02u}, - {0x6Bu, 0x01u}, - {0x6Du, 0x40u}, - {0x6Eu, 0x10u}, - {0x6Fu, 0x20u}, - {0x80u, 0x10u}, + {0x5Cu, 0x08u}, + {0x5Eu, 0x81u}, + {0x5Fu, 0x10u}, + {0x63u, 0x0Au}, + {0x65u, 0x40u}, + {0x69u, 0x40u}, + {0x6Cu, 0x22u}, + {0x6Fu, 0x18u}, + {0x80u, 0x04u}, {0x81u, 0x10u}, - {0x82u, 0x50u}, {0x84u, 0x04u}, {0x85u, 0x04u}, - {0x87u, 0x20u}, - {0x8Au, 0x04u}, - {0x91u, 0x80u}, - {0x93u, 0x28u}, - {0x99u, 0x80u}, - {0x9Au, 0x02u}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x02u}, - {0x9Du, 0x06u}, - {0x9Eu, 0x60u}, - {0x9Fu, 0x04u}, - {0xA0u, 0x12u}, - {0xA2u, 0x08u}, - {0xA4u, 0x20u}, - {0xA5u, 0x0Cu}, - {0xA6u, 0xA4u}, - {0xA7u, 0x75u}, - {0xA8u, 0x61u}, - {0xA9u, 0x04u}, - {0xAAu, 0x08u}, - {0xADu, 0x10u}, - {0xAFu, 0x08u}, - {0xB1u, 0x08u}, - {0xB4u, 0x02u}, - {0xB7u, 0x80u}, - {0xC0u, 0x46u}, - {0xC2u, 0x8Du}, - {0xC4u, 0x5Bu}, - {0xCAu, 0x59u}, - {0xCCu, 0xCFu}, - {0xCEu, 0x9Du}, - {0xD6u, 0x3Eu}, - {0xD8u, 0x3Eu}, - {0xE2u, 0x04u}, - {0xE4u, 0x04u}, - {0xE6u, 0x01u}, - {0xE8u, 0x80u}, - {0xEAu, 0x40u}, - {0xECu, 0x40u}, - {0x00u, 0x06u}, - {0x01u, 0x55u}, - {0x02u, 0x09u}, - {0x03u, 0xAAu}, - {0x04u, 0x0Fu}, - {0x05u, 0xFFu}, - {0x09u, 0x69u}, - {0x0Bu, 0x96u}, - {0x10u, 0x40u}, - {0x11u, 0x0Fu}, - {0x12u, 0x1Fu}, - {0x13u, 0xF0u}, - {0x14u, 0x10u}, - {0x16u, 0x2Fu}, - {0x17u, 0xFFu}, - {0x19u, 0xFFu}, - {0x1Eu, 0x70u}, - {0x23u, 0xFFu}, - {0x24u, 0x05u}, - {0x26u, 0x0Au}, - {0x28u, 0x20u}, - {0x29u, 0x33u}, - {0x2Au, 0x4Fu}, - {0x2Bu, 0xCCu}, - {0x2Cu, 0x03u}, - {0x2Eu, 0x0Cu}, - {0x2Fu, 0xFFu}, - {0x31u, 0xFFu}, - {0x36u, 0x7Fu}, - {0x3Bu, 0x02u}, + {0x8Eu, 0x04u}, + {0x91u, 0xA3u}, + {0x92u, 0x49u}, + {0x93u, 0x88u}, + {0x94u, 0x20u}, + {0x95u, 0x14u}, + {0x96u, 0x82u}, + {0x98u, 0x80u}, + {0x99u, 0x82u}, + {0x9Au, 0xA0u}, + {0x9Bu, 0x0Cu}, + {0x9Du, 0x08u}, + {0x9Eu, 0x04u}, + {0x9Fu, 0x11u}, + {0xA0u, 0x89u}, + {0xA1u, 0x04u}, + {0xA2u, 0x51u}, + {0xA4u, 0x70u}, + {0xA5u, 0x01u}, + {0xA6u, 0x0Au}, + {0xA7u, 0x83u}, + {0xA8u, 0x82u}, + {0xADu, 0x60u}, + {0xAFu, 0x02u}, + {0xB5u, 0x41u}, + {0xB6u, 0x09u}, + {0xC0u, 0xFCu}, + {0xC2u, 0xEFu}, + {0xC4u, 0x3Au}, + {0xCAu, 0x34u}, + {0xCCu, 0x47u}, + {0xCEu, 0x1Du}, + {0xD6u, 0xFCu}, + {0xD8u, 0x1Cu}, + {0xE0u, 0x48u}, + {0xE4u, 0x03u}, + {0xE8u, 0x10u}, + {0xEAu, 0x04u}, + {0xECu, 0x10u}, + {0xEEu, 0x09u}, + {0x01u, 0x02u}, + {0x02u, 0xFFu}, + {0x05u, 0x20u}, + {0x06u, 0xFFu}, + {0x07u, 0x40u}, + {0x08u, 0x0Fu}, + {0x09u, 0x01u}, + {0x0Au, 0xF0u}, + {0x0Bu, 0x6Eu}, + {0x11u, 0x64u}, + {0x14u, 0x33u}, + {0x15u, 0x03u}, + {0x16u, 0xCCu}, + {0x17u, 0x74u}, + {0x1Bu, 0x01u}, + {0x1Cu, 0xFFu}, + {0x20u, 0xFFu}, + {0x21u, 0x78u}, + {0x23u, 0x03u}, + {0x26u, 0xFFu}, + {0x27u, 0x7Fu}, + {0x28u, 0x69u}, + {0x29u, 0x20u}, + {0x2Au, 0x96u}, + {0x2Bu, 0x40u}, + {0x2Cu, 0x55u}, + {0x2Eu, 0xAAu}, + {0x2Fu, 0x08u}, + {0x32u, 0xFFu}, + {0x33u, 0x1Fu}, + {0x37u, 0x60u}, + {0x3Au, 0x08u}, + {0x3Bu, 0x80u}, {0x56u, 0x08u}, {0x58u, 0x04u}, {0x59u, 0x04u}, @@ -1583,819 +1430,1082 @@ void cyfitter_cfg(void) {0x5Cu, 0x22u}, {0x5Du, 0x90u}, {0x5Fu, 0x01u}, - {0x80u, 0x0Bu}, - {0x81u, 0x55u}, - {0x82u, 0xF4u}, - {0x83u, 0xAAu}, - {0x84u, 0x02u}, - {0x88u, 0x10u}, - {0x89u, 0x69u}, - {0x8Au, 0x20u}, - {0x8Bu, 0x96u}, - {0x8Cu, 0x40u}, - {0x8Eu, 0x80u}, - {0x8Fu, 0xFFu}, - {0x90u, 0x08u}, - {0x92u, 0xF7u}, - {0x93u, 0xFFu}, - {0x95u, 0x0Fu}, - {0x96u, 0xF7u}, - {0x97u, 0xF0u}, - {0x98u, 0x03u}, - {0x99u, 0xFFu}, - {0x9Au, 0x0Cu}, - {0x9Cu, 0x10u}, - {0x9Eu, 0x20u}, - {0xA0u, 0x40u}, - {0xA1u, 0xFFu}, - {0xA2u, 0x80u}, - {0xA4u, 0xF4u}, + {0x80u, 0x0Fu}, + {0x81u, 0x0Fu}, + {0x82u, 0xF0u}, + {0x83u, 0xF0u}, + {0x84u, 0x44u}, + {0x86u, 0x88u}, + {0x8Bu, 0xFFu}, + {0x8Cu, 0x33u}, + {0x8Du, 0x33u}, + {0x8Eu, 0xCCu}, + {0x8Fu, 0xCCu}, + {0x91u, 0xFFu}, + {0x92u, 0xFFu}, + {0x96u, 0xFFu}, + {0x97u, 0xFFu}, + {0x98u, 0x11u}, + {0x9Au, 0x22u}, + {0x9Cu, 0x21u}, + {0x9Du, 0xFFu}, + {0x9Eu, 0x12u}, {0xA7u, 0xFFu}, - {0xA8u, 0xFDu}, - {0xA9u, 0x33u}, - {0xAAu, 0x02u}, - {0xABu, 0xCCu}, - {0xAEu, 0x01u}, - {0xB2u, 0x30u}, - {0xB4u, 0x0Fu}, - {0xB5u, 0xFFu}, - {0xB6u, 0xC0u}, - {0xBAu, 0xA8u}, - {0xBBu, 0x20u}, + {0xA8u, 0x84u}, + {0xA9u, 0x69u}, + {0xAAu, 0x48u}, + {0xABu, 0x96u}, + {0xACu, 0xFFu}, + {0xADu, 0x55u}, + {0xAFu, 0xAAu}, + {0xB1u, 0xFFu}, + {0xB4u, 0xFFu}, + {0xBBu, 0x02u}, + {0xBEu, 0x10u}, + {0xD6u, 0x08u}, + {0xD8u, 0x04u}, + {0xD9u, 0x04u}, + {0xDBu, 0x04u}, + {0xDCu, 0x20u}, + {0xDDu, 0x90u}, + {0xDFu, 0x01u}, + {0x01u, 0x04u}, + {0x03u, 0x82u}, + {0x04u, 0x10u}, + {0x05u, 0x05u}, + {0x08u, 0x28u}, + {0x09u, 0x01u}, + {0x0Au, 0x02u}, + {0x0Du, 0x80u}, + {0x0Fu, 0x20u}, + {0x10u, 0x02u}, + {0x11u, 0x10u}, + {0x14u, 0x06u}, + {0x16u, 0x20u}, + {0x17u, 0x01u}, + {0x1Au, 0x04u}, + {0x1Cu, 0x10u}, + {0x1Eu, 0x20u}, + {0x21u, 0x01u}, + {0x25u, 0x04u}, + {0x26u, 0x04u}, + {0x27u, 0x02u}, + {0x29u, 0x04u}, + {0x2Au, 0x0Cu}, + {0x2Bu, 0x05u}, + {0x2Du, 0x60u}, + {0x2Eu, 0x08u}, + {0x2Fu, 0x40u}, + {0x31u, 0x80u}, + {0x32u, 0x08u}, + {0x33u, 0x01u}, + {0x36u, 0x04u}, + {0x37u, 0x11u}, + {0x39u, 0x02u}, + {0x3Au, 0x60u}, + {0x3Eu, 0x03u}, + {0x3Fu, 0x18u}, + {0x40u, 0x08u}, + {0x43u, 0x10u}, + {0x4Au, 0x08u}, + {0x4Bu, 0x10u}, + {0x59u, 0x40u}, + {0x5Au, 0x20u}, + {0x5Cu, 0x40u}, + {0x5Eu, 0x10u}, + {0x62u, 0x40u}, + {0x63u, 0x08u}, + {0x66u, 0x80u}, + {0x67u, 0x08u}, + {0x80u, 0x40u}, + {0x82u, 0x50u}, + {0x88u, 0x20u}, + {0x89u, 0x80u}, + {0x8Au, 0x40u}, + {0x8Du, 0x04u}, + {0x8Eu, 0x31u}, + {0x8Fu, 0x10u}, + {0x91u, 0x61u}, + {0x92u, 0x08u}, + {0x93u, 0x80u}, + {0x94u, 0x20u}, + {0x96u, 0x84u}, + {0x97u, 0x08u}, + {0x98u, 0x06u}, + {0x99u, 0x02u}, + {0x9Au, 0x02u}, + {0x9Bu, 0x0Cu}, + {0x9Du, 0x08u}, + {0x9Eu, 0xC5u}, + {0x9Fu, 0x01u}, + {0xA0u, 0x89u}, + {0xA1u, 0x80u}, + {0xA4u, 0x70u}, + {0xA5u, 0x04u}, + {0xA6u, 0x02u}, + {0xAAu, 0x24u}, + {0xACu, 0x80u}, + {0xADu, 0x08u}, + {0xB1u, 0x10u}, + {0xB2u, 0x40u}, + {0xB4u, 0x12u}, + {0xB5u, 0x40u}, + {0xB7u, 0x40u}, + {0xC0u, 0x7Du}, + {0xC2u, 0xAFu}, + {0xC4u, 0xF3u}, + {0xCAu, 0xFEu}, + {0xCCu, 0xEBu}, + {0xCEu, 0xEDu}, + {0xD6u, 0x3Cu}, + {0xD8u, 0x3Cu}, + {0xE0u, 0xB0u}, + {0xE2u, 0x01u}, + {0xE6u, 0x40u}, + {0xE8u, 0x40u}, + {0xEAu, 0xA0u}, + {0xECu, 0x20u}, + {0xEEu, 0x40u}, + {0x01u, 0x20u}, + {0x03u, 0x10u}, + {0x04u, 0x02u}, + {0x08u, 0x02u}, + {0x09u, 0x04u}, + {0x0Bu, 0x02u}, + {0x0Cu, 0x02u}, + {0x0Fu, 0x18u}, + {0x11u, 0x20u}, + {0x12u, 0x01u}, + {0x13u, 0x08u}, + {0x17u, 0x20u}, + {0x18u, 0x02u}, + {0x19u, 0x02u}, + {0x1Bu, 0x04u}, + {0x1Du, 0x04u}, + {0x1Fu, 0x02u}, + {0x23u, 0x20u}, + {0x29u, 0x04u}, + {0x2Bu, 0x02u}, + {0x2Du, 0x04u}, + {0x2Fu, 0x03u}, + {0x32u, 0x02u}, + {0x33u, 0x01u}, + {0x34u, 0x01u}, + {0x35u, 0x06u}, + {0x37u, 0x38u}, + {0x3Bu, 0x20u}, + {0x3Eu, 0x04u}, + {0x58u, 0x04u}, + {0x59u, 0x04u}, + {0x5Cu, 0x22u}, + {0x5Fu, 0x01u}, + {0x80u, 0x40u}, + {0x82u, 0x80u}, + {0x84u, 0x40u}, + {0x86u, 0x80u}, + {0x87u, 0x3Fu}, + {0x88u, 0x06u}, + {0x89u, 0x10u}, + {0x8Bu, 0x20u}, + {0x8Eu, 0x10u}, + {0x8Fu, 0x3Fu}, + {0x90u, 0x0Bu}, + {0x91u, 0x3Fu}, + {0x92u, 0xF4u}, + {0x95u, 0x01u}, + {0x97u, 0x02u}, + {0x98u, 0x01u}, + {0x99u, 0x01u}, + {0x9Bu, 0x02u}, + {0x9Cu, 0xCAu}, + {0x9Du, 0x04u}, + {0x9Eu, 0x15u}, + {0x9Fu, 0x08u}, + {0xA0u, 0xE0u}, + {0xA1u, 0x3Fu}, + {0xA7u, 0x3Fu}, + {0xA9u, 0x10u}, + {0xAAu, 0xFFu}, + {0xABu, 0x20u}, + {0xACu, 0x11u}, + {0xADu, 0x04u}, + {0xAEu, 0xECu}, + {0xAFu, 0x08u}, + {0xB3u, 0x03u}, + {0xB4u, 0xC0u}, + {0xB5u, 0x30u}, + {0xB6u, 0x3Fu}, + {0xB7u, 0x0Cu}, + {0xBAu, 0x20u}, + {0xBBu, 0xA8u}, + {0xD6u, 0x08u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDBu, 0x04u}, {0xDCu, 0x22u}, + {0xDDu, 0x90u}, {0xDFu, 0x01u}, - {0x01u, 0x02u}, - {0x03u, 0x20u}, - {0x04u, 0x10u}, - {0x05u, 0x41u}, - {0x07u, 0x20u}, - {0x08u, 0x02u}, - {0x09u, 0x04u}, - {0x0Au, 0x01u}, - {0x0Du, 0x08u}, - {0x0Eu, 0x04u}, - {0x0Fu, 0x81u}, - {0x12u, 0x06u}, - {0x13u, 0x08u}, - {0x16u, 0x45u}, - {0x17u, 0x04u}, - {0x19u, 0x80u}, - {0x1Au, 0x01u}, - {0x1Cu, 0x10u}, - {0x1Du, 0x40u}, - {0x1Eu, 0x04u}, - {0x1Fu, 0x88u}, - {0x22u, 0x02u}, - {0x27u, 0x08u}, - {0x28u, 0x02u}, - {0x2Bu, 0x44u}, - {0x2Cu, 0x20u}, - {0x2Eu, 0x22u}, - {0x31u, 0x08u}, - {0x32u, 0x22u}, - {0x34u, 0x02u}, - {0x35u, 0x01u}, - {0x36u, 0x20u}, - {0x37u, 0x08u}, - {0x3Au, 0x14u}, - {0x3Bu, 0x09u}, - {0x3Fu, 0xA2u}, - {0x41u, 0x20u}, - {0x43u, 0x10u}, - {0x58u, 0x10u}, - {0x5Au, 0x80u}, - {0x5Cu, 0x41u}, - {0x5Du, 0x18u}, - {0x61u, 0x20u}, - {0x62u, 0x10u}, - {0x63u, 0x01u}, - {0x67u, 0x02u}, - {0x82u, 0x41u}, + {0x00u, 0xA0u}, + {0x01u, 0x08u}, + {0x04u, 0x04u}, + {0x05u, 0x20u}, + {0x06u, 0x42u}, + {0x07u, 0x04u}, + {0x0Au, 0x84u}, + {0x0Cu, 0x20u}, + {0x0Du, 0x80u}, + {0x0Fu, 0x80u}, + {0x16u, 0x0Du}, + {0x17u, 0x01u}, + {0x19u, 0x10u}, + {0x1Au, 0x20u}, + {0x1Cu, 0x04u}, + {0x1Du, 0x80u}, + {0x1Fu, 0x50u}, + {0x20u, 0x12u}, + {0x21u, 0x60u}, + {0x22u, 0x04u}, + {0x23u, 0x08u}, + {0x25u, 0x10u}, + {0x26u, 0x64u}, + {0x27u, 0x10u}, + {0x29u, 0x10u}, + {0x2Au, 0x81u}, + {0x2Cu, 0x01u}, + {0x2Eu, 0x08u}, + {0x2Fu, 0x44u}, + {0x30u, 0x02u}, + {0x31u, 0x28u}, + {0x32u, 0x40u}, + {0x34u, 0x04u}, + {0x36u, 0x40u}, + {0x37u, 0x11u}, + {0x38u, 0x10u}, + {0x39u, 0x81u}, + {0x3Du, 0x28u}, + {0x3Fu, 0x80u}, + {0x5Cu, 0x40u}, + {0x5Fu, 0x20u}, + {0x64u, 0x07u}, + {0x7Du, 0x01u}, + {0x7Fu, 0x40u}, + {0x81u, 0x20u}, + {0x82u, 0x10u}, {0x83u, 0x20u}, - {0x84u, 0x10u}, - {0x86u, 0x06u}, - {0x87u, 0x14u}, - {0x88u, 0x10u}, - {0x8Au, 0x80u}, - {0x8Du, 0x40u}, - {0x8Eu, 0x04u}, - {0x8Fu, 0x01u}, - {0xC0u, 0xFCu}, - {0xC2u, 0xFDu}, - {0xC4u, 0xF7u}, - {0xCAu, 0xEDu}, - {0xCCu, 0xE7u}, - {0xCEu, 0xB7u}, - {0xD6u, 0xFCu}, - {0xD8u, 0x1Cu}, - {0xE2u, 0x80u}, - {0xE4u, 0x10u}, - {0xE6u, 0x01u}, - {0x01u, 0x88u}, - {0x03u, 0x03u}, - {0x09u, 0x04u}, - {0x0Bu, 0x43u}, - {0x11u, 0xE0u}, - {0x17u, 0xECu}, - {0x19u, 0x21u}, - {0x1Bu, 0x02u}, - {0x1Fu, 0x01u}, - {0x23u, 0x12u}, - {0x33u, 0x0Fu}, - {0x35u, 0xE0u}, - {0x37u, 0x10u}, - {0x3Fu, 0x10u}, - {0x40u, 0x34u}, - {0x41u, 0x06u}, - {0x42u, 0x10u}, - {0x44u, 0x05u}, - {0x45u, 0xBEu}, - {0x46u, 0xFCu}, - {0x47u, 0x0Du}, - {0x48u, 0x1Fu}, - {0x49u, 0xFFu}, - {0x4Au, 0xFFu}, - {0x4Bu, 0xFFu}, - {0x4Cu, 0x22u}, - {0x4Eu, 0xF0u}, - {0x4Fu, 0x08u}, - {0x50u, 0x04u}, - {0x59u, 0x04u}, - {0x5Au, 0x04u}, - {0x5Cu, 0x10u}, - {0x5Du, 0x01u}, - {0x5Fu, 0x01u}, - {0x62u, 0xC0u}, - {0x64u, 0x40u}, - {0x65u, 0x01u}, - {0x66u, 0x10u}, - {0x67u, 0x11u}, - {0x68u, 0xC0u}, - {0x69u, 0x01u}, - {0x6Bu, 0x11u}, - {0x6Cu, 0x40u}, - {0x6Du, 0x01u}, - {0x6Eu, 0x40u}, - {0x6Fu, 0x01u}, - {0x80u, 0xC0u}, - {0x84u, 0x24u}, - {0x85u, 0x40u}, - {0x86u, 0x10u}, - {0x87u, 0x30u}, - {0x88u, 0x11u}, - {0x89u, 0x32u}, - {0x8Au, 0x62u}, - {0x8Bu, 0x44u}, - {0x8Cu, 0x1Cu}, - {0x8Du, 0x0Du}, - {0x8Fu, 0x80u}, - {0x90u, 0x70u}, - {0x91u, 0x8Du}, - {0x92u, 0x0Fu}, - {0x94u, 0x21u}, - {0x95u, 0x8Du}, - {0x96u, 0x9Eu}, - {0x98u, 0x14u}, - {0x99u, 0x02u}, - {0x9Au, 0x08u}, - {0x9Bu, 0x0Du}, - {0x9Cu, 0x1Cu}, - {0xA0u, 0x08u}, - {0xA1u, 0x8Du}, - {0xA5u, 0x11u}, - {0xA7u, 0x62u}, - {0xA8u, 0x10u}, - {0xA9u, 0x8Du}, - {0xAAu, 0x0Cu}, - {0xACu, 0x0Cu}, - {0xADu, 0x52u}, - {0xAEu, 0x10u}, - {0xAFu, 0x28u}, - {0xB0u, 0xC1u}, - {0xB2u, 0x30u}, - {0xB3u, 0x70u}, - {0xB4u, 0x0Fu}, - {0xB5u, 0x0Fu}, - {0xB7u, 0x80u}, - {0xB8u, 0x02u}, - {0xBAu, 0x08u}, - {0xBBu, 0x28u}, - {0xBFu, 0x40u}, - {0xD6u, 0x02u}, - {0xD7u, 0x28u}, + {0x84u, 0x08u}, + {0x86u, 0x02u}, + {0x87u, 0x50u}, + {0x89u, 0x02u}, + {0x8Cu, 0x40u}, + {0x8Eu, 0x02u}, + {0xC0u, 0xF7u}, + {0xC2u, 0xDAu}, + {0xC4u, 0xD0u}, + {0xCAu, 0xFDu}, + {0xCCu, 0xFFu}, + {0xCEu, 0x7Du}, + {0xD6u, 0x30u}, + {0xD8u, 0x30u}, + {0xE0u, 0x80u}, + {0xE2u, 0x01u}, + {0xE4u, 0x04u}, + {0xE6u, 0x10u}, + {0x89u, 0x07u}, + {0x97u, 0x07u}, + {0x98u, 0x01u}, + {0x99u, 0x01u}, + {0x9Bu, 0x18u}, + {0x9Fu, 0x08u}, + {0xABu, 0x2Au}, + {0xADu, 0x34u}, + {0xB0u, 0x01u}, + {0xB5u, 0x07u}, + {0xB7u, 0x38u}, + {0xBEu, 0x01u}, + {0xBFu, 0x10u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, - {0xDBu, 0x04u}, - {0xDCu, 0x11u}, - {0xDDu, 0x10u}, + {0xDCu, 0x10u}, {0xDFu, 0x01u}, - {0x05u, 0x15u}, - {0x06u, 0x02u}, - {0x0Eu, 0x5Au}, - {0x15u, 0x50u}, - {0x16u, 0x40u}, - {0x1Du, 0x15u}, - {0x1Fu, 0x20u}, - {0x21u, 0x88u}, - {0x23u, 0x08u}, - {0x24u, 0x01u}, - {0x26u, 0x20u}, - {0x27u, 0x10u}, - {0x29u, 0x02u}, - {0x2Du, 0x10u}, - {0x2Eu, 0x42u}, - {0x2Fu, 0x20u}, - {0x31u, 0x99u}, - {0x36u, 0x25u}, - {0x38u, 0x10u}, - {0x39u, 0x02u}, - {0x3Du, 0x40u}, - {0x3Eu, 0x18u}, - {0x40u, 0x13u}, - {0x41u, 0x01u}, - {0x42u, 0x50u}, - {0x46u, 0x08u}, - {0x47u, 0x10u}, - {0x48u, 0x01u}, - {0x49u, 0x12u}, - {0x4Bu, 0x04u}, - {0x51u, 0x04u}, - {0x52u, 0x50u}, - {0x66u, 0x08u}, - {0x6Du, 0x50u}, - {0x6Eu, 0x0Eu}, - {0x76u, 0x02u}, - {0x84u, 0x01u}, - {0x87u, 0x08u}, - {0x89u, 0x40u}, - {0x92u, 0x50u}, - {0x95u, 0x58u}, - {0x96u, 0x04u}, - {0x97u, 0x04u}, - {0x9Cu, 0x02u}, - {0x9Du, 0x16u}, - {0x9Eu, 0x52u}, - {0xA1u, 0x40u}, - {0xA6u, 0x01u}, - {0xA7u, 0x20u}, - {0xABu, 0x20u}, - {0xADu, 0x84u}, - {0xB4u, 0x10u}, - {0xB5u, 0x01u}, - {0xC0u, 0xF0u}, - {0xC2u, 0xF0u}, - {0xC4u, 0xD0u}, - {0xCAu, 0xF1u}, - {0xCCu, 0xEFu}, - {0xCEu, 0x75u}, - {0xD0u, 0x0Bu}, - {0xD2u, 0x0Cu}, - {0xD8u, 0x40u}, - {0xE6u, 0x20u}, - {0xEEu, 0x40u}, - {0x04u, 0x42u}, - {0x08u, 0x77u}, - {0x0Au, 0x08u}, - {0x0Bu, 0x05u}, - {0x0Cu, 0xC6u}, - {0x10u, 0x01u}, - {0x12u, 0x5Eu}, - {0x14u, 0x39u}, - {0x15u, 0x08u}, - {0x16u, 0x06u}, - {0x18u, 0xC2u}, - {0x1Au, 0x04u}, + {0x01u, 0xA0u}, + {0x03u, 0x50u}, + {0x0Au, 0x41u}, + {0x0Bu, 0x14u}, + {0x0Cu, 0x03u}, + {0x0Fu, 0x08u}, + {0x11u, 0x40u}, + {0x12u, 0x60u}, + {0x13u, 0x20u}, + {0x19u, 0x80u}, {0x1Bu, 0x01u}, - {0x1Cu, 0xC6u}, - {0x20u, 0x04u}, - {0x22u, 0x20u}, - {0x26u, 0x80u}, - {0x27u, 0x03u}, - {0x28u, 0x80u}, - {0x29u, 0x08u}, - {0x2Au, 0x46u}, - {0x2Cu, 0x46u}, - {0x2Du, 0x06u}, - {0x2Eu, 0x80u}, - {0x30u, 0x70u}, + {0x1Fu, 0x02u}, + {0x23u, 0x10u}, + {0x26u, 0x40u}, + {0x27u, 0x08u}, + {0x29u, 0x24u}, + {0x2Au, 0x42u}, + {0x2Bu, 0x01u}, + {0x2Du, 0x20u}, + {0x2Eu, 0x40u}, + {0x31u, 0x08u}, + {0x33u, 0x51u}, + {0x36u, 0x48u}, + {0x37u, 0x20u}, + {0x38u, 0x88u}, + {0x39u, 0x10u}, + {0x3Bu, 0x04u}, + {0x3Cu, 0x20u}, + {0x41u, 0x08u}, + {0x42u, 0x44u}, + {0x49u, 0x64u}, + {0x4Au, 0xA0u}, + {0x4Bu, 0x02u}, + {0x51u, 0x04u}, + {0x52u, 0x12u}, + {0x61u, 0x10u}, + {0x68u, 0x62u}, + {0x69u, 0x02u}, + {0x6Au, 0x20u}, + {0x6Bu, 0x04u}, + {0x71u, 0x80u}, + {0x79u, 0x02u}, + {0x7Bu, 0x40u}, + {0x83u, 0x0Cu}, + {0x86u, 0x44u}, + {0x8Au, 0xAAu}, + {0x8Fu, 0x02u}, + {0x90u, 0x88u}, + {0x91u, 0x50u}, + {0x92u, 0x41u}, + {0x95u, 0x0Au}, + {0x96u, 0x20u}, + {0x97u, 0x02u}, + {0x99u, 0x70u}, + {0x9Au, 0x02u}, + {0x9Bu, 0x71u}, + {0x9Cu, 0x01u}, + {0x9Eu, 0x10u}, + {0x9Fu, 0x04u}, + {0xA0u, 0x10u}, + {0xA1u, 0x08u}, + {0xA4u, 0x62u}, + {0xA5u, 0x80u}, + {0xA7u, 0x40u}, + {0xACu, 0x20u}, + {0xADu, 0x84u}, + {0xB3u, 0x44u}, + {0xB6u, 0x20u}, + {0xC0u, 0x0Fu}, + {0xC2u, 0x4Fu}, + {0xC4u, 0x0Fu}, + {0xCAu, 0x3Fu}, + {0xCCu, 0x7Fu}, + {0xCEu, 0x2Eu}, + {0xD0u, 0x07u}, + {0xD2u, 0x0Cu}, + {0xD8u, 0x04u}, + {0xE6u, 0x44u}, + {0xEAu, 0x10u}, + {0xECu, 0x08u}, + {0x00u, 0x1Du}, + {0x04u, 0x1Du}, + {0x08u, 0x02u}, + {0x0Au, 0x04u}, + {0x10u, 0x02u}, + {0x12u, 0x08u}, + {0x14u, 0x02u}, + {0x15u, 0x02u}, + {0x16u, 0x0Du}, + {0x18u, 0x01u}, + {0x1Au, 0x02u}, + {0x20u, 0x0Du}, + {0x22u, 0x10u}, + {0x26u, 0x10u}, + {0x28u, 0x1Du}, + {0x29u, 0x01u}, + {0x2Cu, 0x1Du}, + {0x31u, 0x02u}, {0x32u, 0x0Fu}, - {0x33u, 0x07u}, - {0x34u, 0x80u}, - {0x37u, 0x08u}, - {0x38u, 0x08u}, - {0x39u, 0x80u}, - {0x3Au, 0x03u}, + {0x34u, 0x10u}, + {0x35u, 0x01u}, + {0x3Au, 0x08u}, {0x3Eu, 0x10u}, {0x54u, 0x40u}, {0x56u, 0x04u}, {0x58u, 0x04u}, {0x59u, 0x04u}, {0x5Bu, 0x04u}, - {0x5Cu, 0x11u}, + {0x5Cu, 0x91u}, {0x5Du, 0x10u}, {0x5Fu, 0x01u}, - {0x81u, 0x04u}, - {0x86u, 0xECu}, - {0x89u, 0x86u}, - {0x8Au, 0x01u}, - {0x8Du, 0x02u}, - {0x91u, 0x06u}, - {0x92u, 0x12u}, - {0x93u, 0x80u}, - {0x94u, 0x88u}, - {0x95u, 0x61u}, - {0x96u, 0x03u}, - {0x97u, 0x0Eu}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x21u}, - {0x9Du, 0x07u}, - {0x9Eu, 0x02u}, - {0x9Fu, 0x38u}, - {0xA0u, 0xE0u}, - {0xA1u, 0x86u}, - {0xA5u, 0x82u}, - {0xA7u, 0x04u}, - {0xA8u, 0x04u}, - {0xA9u, 0x09u}, - {0xAAu, 0x43u}, - {0xABu, 0x56u}, - {0xADu, 0x80u}, - {0xAFu, 0x06u}, - {0xB0u, 0xE0u}, - {0xB1u, 0x08u}, - {0xB2u, 0x0Fu}, - {0xB3u, 0x0Fu}, - {0xB4u, 0x10u}, + {0x80u, 0x11u}, + {0x81u, 0xC6u}, + {0x82u, 0x62u}, + {0x84u, 0x52u}, + {0x85u, 0x01u}, + {0x86u, 0x28u}, + {0x87u, 0x5Eu}, + {0x8Cu, 0x02u}, + {0x8Du, 0x39u}, + {0x8Eu, 0x0Du}, + {0x8Fu, 0x06u}, + {0x90u, 0x0Du}, + {0x91u, 0x77u}, + {0x93u, 0x08u}, + {0x94u, 0x0Du}, + {0x95u, 0x80u}, + {0x97u, 0x46u}, + {0x98u, 0x40u}, + {0x99u, 0xC2u}, + {0x9Au, 0x30u}, + {0x9Bu, 0x04u}, + {0x9Cu, 0x0Du}, + {0x9Du, 0xC6u}, + {0xA0u, 0x0Du}, + {0xA3u, 0x80u}, + {0xA4u, 0x0Du}, + {0xA5u, 0x04u}, + {0xA7u, 0x20u}, + {0xA9u, 0x42u}, + {0xACu, 0x32u}, + {0xADu, 0x46u}, + {0xAEu, 0x44u}, + {0xAFu, 0x80u}, + {0xB0u, 0x0Fu}, + {0xB1u, 0x0Fu}, + {0xB3u, 0x80u}, + {0xB4u, 0x70u}, {0xB5u, 0x70u}, - {0xB7u, 0x80u}, - {0xB9u, 0x08u}, - {0xBEu, 0x01u}, - {0xBFu, 0x41u}, + {0xB7u, 0x01u}, + {0xB9u, 0x02u}, + {0xBAu, 0x22u}, + {0xBBu, 0x30u}, + {0xBFu, 0x44u}, + {0xD4u, 0x40u}, + {0xD6u, 0x04u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, + {0xDBu, 0x04u}, {0xDFu, 0x01u}, - {0x01u, 0x28u}, - {0x05u, 0x14u}, - {0x06u, 0x02u}, - {0x09u, 0x88u}, - {0x0Bu, 0x80u}, - {0x0Eu, 0x56u}, - {0x10u, 0x04u}, - {0x11u, 0x02u}, - {0x12u, 0x08u}, - {0x15u, 0x58u}, - {0x16u, 0x40u}, - {0x19u, 0x29u}, - {0x1Cu, 0x80u}, - {0x1Eu, 0x50u}, + {0x00u, 0x44u}, + {0x02u, 0x40u}, + {0x05u, 0x20u}, + {0x07u, 0x50u}, + {0x08u, 0x01u}, + {0x09u, 0x80u}, + {0x0Au, 0x28u}, + {0x0Cu, 0x10u}, + {0x0Eu, 0x60u}, + {0x10u, 0x20u}, + {0x11u, 0x01u}, + {0x13u, 0x40u}, + {0x15u, 0x18u}, + {0x16u, 0x02u}, + {0x17u, 0x01u}, + {0x18u, 0x40u}, + {0x19u, 0x10u}, + {0x1Au, 0x08u}, + {0x1Eu, 0x20u}, {0x1Fu, 0x10u}, - {0x20u, 0x11u}, - {0x22u, 0x18u}, - {0x23u, 0x82u}, - {0x26u, 0x80u}, - {0x27u, 0x20u}, - {0x28u, 0xA4u}, - {0x2Au, 0x80u}, - {0x2Eu, 0x40u}, - {0x2Fu, 0x24u}, - {0x30u, 0x02u}, - {0x31u, 0x88u}, - {0x32u, 0x10u}, - {0x37u, 0x28u}, - {0x38u, 0x60u}, - {0x3Bu, 0x02u}, - {0x3Eu, 0x10u}, - {0x64u, 0x40u}, - {0x65u, 0x80u}, + {0x20u, 0x04u}, + {0x22u, 0x88u}, + {0x23u, 0x44u}, + {0x26u, 0x21u}, + {0x28u, 0x01u}, + {0x2Au, 0x04u}, + {0x2Bu, 0x84u}, + {0x2Fu, 0x04u}, + {0x30u, 0x20u}, + {0x31u, 0x80u}, + {0x33u, 0x06u}, + {0x37u, 0x08u}, + {0x38u, 0x04u}, + {0x39u, 0x03u}, + {0x3Bu, 0x40u}, + {0x40u, 0x02u}, + {0x43u, 0x80u}, + {0x44u, 0x10u}, + {0x45u, 0x08u}, + {0x60u, 0x02u}, + {0x61u, 0x20u}, + {0x62u, 0x0Au}, + {0x65u, 0x81u}, {0x66u, 0x10u}, {0x67u, 0x20u}, - {0x6Du, 0x80u}, - {0x6Eu, 0x20u}, - {0x84u, 0x40u}, - {0x8Au, 0x10u}, - {0x8Du, 0x01u}, - {0x8Eu, 0x10u}, - {0x90u, 0x60u}, - {0x93u, 0x8Au}, - {0x94u, 0x11u}, - {0x95u, 0x50u}, - {0x96u, 0x54u}, - {0x97u, 0x04u}, - {0x98u, 0xA0u}, - {0x9Au, 0x80u}, - {0x9Bu, 0x08u}, - {0x9Cu, 0x02u}, - {0x9Du, 0x16u}, - {0x9Eu, 0x42u}, - {0x9Fu, 0x82u}, - {0xA0u, 0x02u}, - {0xA1u, 0x88u}, - {0xA4u, 0x40u}, - {0xA6u, 0x89u}, - {0xA7u, 0x20u}, - {0xA8u, 0x80u}, - {0xA9u, 0x08u}, - {0xAAu, 0x04u}, - {0xABu, 0x10u}, - {0xAEu, 0x40u}, - {0xAFu, 0x10u}, - {0xC0u, 0xE6u}, - {0xC2u, 0xFDu}, - {0xC4u, 0xFAu}, - {0xCAu, 0x7Fu}, - {0xCCu, 0x6Fu}, - {0xCEu, 0x2Du}, - {0xD8u, 0xF0u}, - {0xE2u, 0xD0u}, - {0xE8u, 0x01u}, - {0xEAu, 0x10u}, - {0xEEu, 0x08u}, - {0x00u, 0x0Du}, - {0x01u, 0x11u}, - {0x02u, 0x10u}, - {0x03u, 0x22u}, - {0x04u, 0x02u}, - {0x05u, 0x44u}, - {0x06u, 0x0Du}, - {0x07u, 0x88u}, - {0x08u, 0x1Du}, - {0x09u, 0x48u}, - {0x0Bu, 0x84u}, - {0x0Cu, 0x1Du}, - {0x0Du, 0x33u}, - {0x0Fu, 0xCCu}, - {0x10u, 0x42u}, - {0x11u, 0x0Fu}, - {0x12u, 0x28u}, - {0x13u, 0xF0u}, - {0x14u, 0x22u}, - {0x16u, 0x84u}, - {0x18u, 0x1Du}, + {0x81u, 0x03u}, + {0x82u, 0x01u}, + {0x86u, 0x02u}, + {0x90u, 0x88u}, + {0x91u, 0x50u}, + {0x92u, 0x41u}, + {0x93u, 0x08u}, + {0x94u, 0x04u}, + {0x95u, 0x02u}, + {0x97u, 0x46u}, + {0x98u, 0x20u}, + {0x99u, 0x62u}, + {0x9Au, 0x46u}, + {0x9Bu, 0x79u}, + {0x9Fu, 0x04u}, + {0xA0u, 0x10u}, + {0xA1u, 0x28u}, + {0xA3u, 0x86u}, + {0xA4u, 0x62u}, + {0xA5u, 0x80u}, + {0xA6u, 0x80u}, + {0xA7u, 0x40u}, + {0xB1u, 0xA0u}, + {0xB3u, 0x04u}, + {0xB4u, 0x40u}, + {0xB7u, 0x08u}, + {0xC0u, 0x7Du}, + {0xC2u, 0x7Fu}, + {0xC4u, 0xFDu}, + {0xCAu, 0x2Fu}, + {0xCCu, 0x4Fu}, + {0xCEu, 0x0Bu}, + {0xD8u, 0xFFu}, + {0xE2u, 0x01u}, + {0xE4u, 0x04u}, + {0xE6u, 0x32u}, + {0xEAu, 0x08u}, + {0xECu, 0x80u}, + {0xEEu, 0x02u}, + {0x01u, 0x96u}, + {0x03u, 0x69u}, + {0x05u, 0x33u}, + {0x06u, 0x0Cu}, + {0x07u, 0xCCu}, + {0x08u, 0x04u}, + {0x0Au, 0xA3u}, + {0x0Bu, 0xFFu}, + {0x0Du, 0xFFu}, + {0x16u, 0x20u}, + {0x17u, 0xFFu}, + {0x1Au, 0x12u}, {0x1Bu, 0xFFu}, - {0x1Cu, 0xC0u}, - {0x20u, 0x21u}, - {0x22u, 0x42u}, - {0x27u, 0xFFu}, - {0x29u, 0x12u}, - {0x2Au, 0x10u}, - {0x2Bu, 0x21u}, - {0x2Cu, 0x1Du}, - {0x2Fu, 0xFFu}, - {0x32u, 0x10u}, + {0x1Du, 0x0Fu}, + {0x1Eu, 0x01u}, + {0x1Fu, 0xF0u}, + {0x21u, 0xFFu}, + {0x28u, 0xC8u}, + {0x29u, 0x55u}, + {0x2Au, 0x03u}, + {0x2Bu, 0xAAu}, + {0x2Cu, 0x01u}, + {0x2Eu, 0x62u}, + {0x31u, 0xFFu}, + {0x32u, 0xE0u}, {0x34u, 0x0Fu}, - {0x35u, 0xFFu}, - {0x36u, 0xE0u}, - {0x38u, 0x80u}, - {0x3Au, 0x20u}, - {0x3Eu, 0x04u}, - {0x3Fu, 0x10u}, - {0x54u, 0x40u}, + {0x36u, 0x10u}, + {0x3Bu, 0x02u}, {0x58u, 0x04u}, {0x59u, 0x04u}, - {0x5Bu, 0x04u}, + {0x5Cu, 0x20u}, {0x5Fu, 0x01u}, - {0x80u, 0x0Fu}, - {0x82u, 0xF0u}, - {0x84u, 0x84u}, - {0x85u, 0x20u}, - {0x86u, 0x48u}, - {0x88u, 0x21u}, - {0x89u, 0x10u}, - {0x8Au, 0x12u}, - {0x8Du, 0x80u}, - {0x90u, 0x11u}, - {0x91u, 0x08u}, - {0x92u, 0x22u}, - {0x93u, 0x04u}, - {0x95u, 0x40u}, - {0x96u, 0xFFu}, - {0x99u, 0x01u}, - {0x9Bu, 0x02u}, - {0x9Cu, 0x33u}, - {0x9Du, 0x04u}, - {0x9Eu, 0xCCu}, - {0x9Fu, 0x08u}, - {0xA1u, 0x53u}, - {0xA3u, 0xACu}, - {0xA4u, 0x44u}, - {0xA6u, 0x88u}, - {0xA9u, 0x02u}, - {0xAAu, 0xFFu}, - {0xABu, 0x01u}, - {0xACu, 0xFFu}, - {0xB0u, 0xFFu}, - {0xB1u, 0xC0u}, - {0xB3u, 0x0Fu}, - {0xB7u, 0x30u}, - {0xBEu, 0x01u}, - {0xBFu, 0x45u}, + {0x84u, 0x80u}, + {0x85u, 0x44u}, + {0x87u, 0x88u}, + {0x89u, 0x48u}, + {0x8Bu, 0x84u}, + {0x8Cu, 0x4Du}, + {0x8Du, 0x33u}, + {0x8Eu, 0xB2u}, + {0x8Fu, 0xCCu}, + {0x91u, 0x12u}, + {0x93u, 0x21u}, + {0x98u, 0x40u}, + {0x99u, 0x11u}, + {0x9Bu, 0x22u}, + {0x9Cu, 0x20u}, + {0x9Du, 0xFFu}, + {0x9Eu, 0x10u}, + {0xA0u, 0x12u}, + {0xA1u, 0x0Fu}, + {0xA2u, 0x20u}, + {0xA3u, 0xF0u}, + {0xA4u, 0x05u}, + {0xA6u, 0x08u}, + {0xA7u, 0xFFu}, + {0xA8u, 0x08u}, + {0xAAu, 0x04u}, + {0xADu, 0xFFu}, + {0xB0u, 0x3Cu}, + {0xB2u, 0xC0u}, + {0xB3u, 0xFFu}, + {0xB4u, 0x03u}, + {0xB9u, 0x02u}, + {0xBEu, 0x15u}, + {0xBFu, 0x05u}, {0xD6u, 0x08u}, {0xD8u, 0x04u}, {0xD9u, 0x04u}, {0xDBu, 0x04u}, {0xDDu, 0x90u}, {0xDFu, 0x01u}, - {0x00u, 0x08u}, - {0x01u, 0x02u}, - {0x03u, 0x08u}, - {0x04u, 0x06u}, - {0x06u, 0x01u}, - {0x07u, 0x04u}, - {0x09u, 0x41u}, - {0x0Bu, 0x20u}, - {0x0Du, 0x02u}, - {0x0Eu, 0x06u}, - {0x0Fu, 0x20u}, - {0x10u, 0x02u}, - {0x11u, 0x04u}, - {0x13u, 0x20u}, - {0x14u, 0x80u}, + {0x01u, 0x44u}, + {0x03u, 0x02u}, + {0x04u, 0x04u}, + {0x05u, 0x20u}, + {0x08u, 0x20u}, + {0x0Au, 0x01u}, + {0x0Du, 0x80u}, + {0x0Eu, 0x18u}, + {0x12u, 0x10u}, + {0x13u, 0x21u}, {0x15u, 0x20u}, - {0x17u, 0x40u}, - {0x18u, 0x40u}, + {0x16u, 0x02u}, + {0x18u, 0x08u}, + {0x1Au, 0x80u}, + {0x1Bu, 0x08u}, {0x1Cu, 0x04u}, - {0x1Du, 0x04u}, - {0x1Eu, 0x02u}, - {0x20u, 0x02u}, - {0x23u, 0xA0u}, - {0x27u, 0x08u}, - {0x28u, 0x04u}, - {0x2Bu, 0x40u}, - {0x2Cu, 0x02u}, - {0x2Du, 0x08u}, - {0x2Fu, 0x18u}, - {0x31u, 0x80u}, - {0x32u, 0x15u}, - {0x35u, 0x02u}, - {0x37u, 0x22u}, - {0x38u, 0x28u}, - {0x3Bu, 0x40u}, - {0x3Du, 0x86u}, - {0x3Eu, 0x10u}, - {0x3Fu, 0x80u}, - {0x59u, 0x80u}, - {0x63u, 0x01u}, - {0x65u, 0x24u}, - {0x66u, 0x80u}, - {0x8Bu, 0x80u}, - {0x8Eu, 0x01u}, - {0x90u, 0x2Au}, - {0x91u, 0x24u}, - {0x92u, 0x3Eu}, - {0x93u, 0x40u}, - {0x94u, 0x40u}, - {0x97u, 0x01u}, - {0x98u, 0x84u}, - {0x99u, 0x28u}, - {0x9Au, 0x01u}, - {0x9Bu, 0x46u}, - {0x9Fu, 0x28u}, - {0xA0u, 0x06u}, - {0xA1u, 0xC3u}, - {0xA3u, 0x08u}, - {0xA9u, 0x02u}, - {0xAAu, 0x04u}, - {0xB6u, 0x80u}, - {0xC0u, 0xFEu}, - {0xC2u, 0xFDu}, - {0xC4u, 0xD7u}, - {0xCAu, 0x75u}, - {0xCCu, 0xAFu}, + {0x1Du, 0x90u}, + {0x1Eu, 0x10u}, + {0x20u, 0x20u}, + {0x22u, 0x02u}, + {0x24u, 0x80u}, + {0x27u, 0x80u}, + {0x29u, 0x80u}, + {0x2Bu, 0xA0u}, + {0x2Du, 0x01u}, + {0x2Fu, 0x04u}, + {0x32u, 0x51u}, + {0x34u, 0x08u}, + {0x37u, 0x90u}, + {0x39u, 0x54u}, + {0x3Du, 0x80u}, + {0x3Eu, 0x20u}, + {0x3Fu, 0x0Au}, + {0x48u, 0x04u}, + {0x4Au, 0x08u}, + {0x58u, 0x80u}, + {0x63u, 0x02u}, + {0x69u, 0x14u}, + {0x6Au, 0x01u}, + {0x6Bu, 0x01u}, + {0x73u, 0x55u}, + {0x80u, 0x20u}, + {0x81u, 0x87u}, + {0x82u, 0x50u}, + {0x87u, 0x10u}, + {0x8Au, 0x02u}, + {0x8Eu, 0x10u}, + {0x91u, 0x81u}, + {0x92u, 0x02u}, + {0x93u, 0x28u}, + {0x94u, 0x88u}, + {0x95u, 0x14u}, + {0x97u, 0xD4u}, + {0x98u, 0x98u}, + {0x99u, 0x02u}, + {0x9Au, 0x32u}, + {0x9Bu, 0x14u}, + {0x9Du, 0x38u}, + {0x9Eu, 0x80u}, + {0xA0u, 0x02u}, + {0xA1u, 0x40u}, + {0xA2u, 0x0Cu}, + {0xA3u, 0xE6u}, + {0xA4u, 0x50u}, + {0xA5u, 0x01u}, + {0xA9u, 0x80u}, + {0xABu, 0x08u}, + {0xAFu, 0x40u}, + {0xB0u, 0x18u}, + {0xB4u, 0x04u}, + {0xB7u, 0x04u}, + {0xC0u, 0x65u}, + {0xC2u, 0xE3u}, + {0xC4u, 0xCEu}, + {0xCAu, 0xABu}, + {0xCCu, 0x7Du}, {0xCEu, 0xFEu}, {0xD6u, 0x08u}, - {0xD8u, 0x78u}, - {0xE2u, 0x10u}, - {0xEAu, 0x10u}, - {0xEEu, 0x08u}, - {0xB0u, 0x01u}, - {0xB1u, 0x10u}, - {0xB2u, 0x80u}, - {0xB5u, 0x80u}, - {0xB7u, 0x10u}, - {0xE8u, 0x10u}, - {0x04u, 0x40u}, - {0x0Cu, 0x10u}, - {0x0Du, 0x04u}, - {0x12u, 0x01u}, - {0x13u, 0x02u}, - {0x16u, 0x80u}, - {0x17u, 0x40u}, - {0x30u, 0x40u}, - {0x33u, 0x01u}, - {0x34u, 0x20u}, - {0x36u, 0x02u}, - {0x3Au, 0x82u}, - {0x3Cu, 0x02u}, - {0x3Fu, 0x20u}, - {0x42u, 0x08u}, - {0x53u, 0x20u}, - {0x54u, 0x80u}, - {0x6Bu, 0x03u}, - {0x82u, 0x02u}, + {0xD8u, 0x08u}, + {0xE0u, 0x04u}, + {0xE6u, 0x30u}, + {0xE8u, 0xA0u}, + {0xECu, 0x50u}, + {0xEEu, 0x02u}, + {0x00u, 0x0Fu}, + {0x02u, 0xF0u}, + {0x05u, 0x44u}, + {0x06u, 0xFFu}, + {0x07u, 0x88u}, + {0x09u, 0x84u}, + {0x0Bu, 0x48u}, + {0x0Cu, 0x33u}, + {0x0Eu, 0xCCu}, + {0x11u, 0x21u}, + {0x12u, 0xFFu}, + {0x13u, 0x12u}, + {0x16u, 0xFFu}, + {0x17u, 0xFFu}, + {0x18u, 0x11u}, + {0x1Au, 0x22u}, + {0x1Bu, 0xFFu}, + {0x1Cu, 0x12u}, + {0x1Du, 0xFFu}, + {0x1Eu, 0x21u}, + {0x21u, 0x0Fu}, + {0x23u, 0xF0u}, + {0x24u, 0x44u}, + {0x25u, 0x11u}, + {0x26u, 0x88u}, + {0x27u, 0x22u}, + {0x28u, 0x48u}, + {0x2Au, 0x84u}, + {0x2Du, 0x33u}, + {0x2Fu, 0xCCu}, + {0x31u, 0xFFu}, + {0x32u, 0xFFu}, + {0x3Eu, 0x04u}, + {0x3Fu, 0x01u}, + {0x58u, 0x04u}, + {0x59u, 0x04u}, + {0x5Fu, 0x01u}, + {0x81u, 0x10u}, + {0x85u, 0x04u}, + {0x87u, 0x01u}, + {0x88u, 0x18u}, + {0x8Au, 0x23u}, + {0x8Bu, 0x04u}, + {0x8Fu, 0x04u}, + {0x91u, 0x40u}, + {0x95u, 0x28u}, + {0x96u, 0x0Cu}, + {0x97u, 0x50u}, + {0x99u, 0x08u}, + {0x9Au, 0x01u}, + {0x9Bu, 0x03u}, + {0x9Cu, 0x11u}, + {0x9Du, 0x20u}, + {0x9Eu, 0x22u}, + {0xA1u, 0x04u}, + {0xA2u, 0x42u}, + {0xA3u, 0x02u}, + {0xA4u, 0x34u}, + {0xA6u, 0x03u}, + {0xADu, 0x80u}, + {0xB0u, 0x20u}, + {0xB1u, 0x80u}, + {0xB2u, 0x0Fu}, + {0xB3u, 0x60u}, + {0xB4u, 0x40u}, + {0xB5u, 0x07u}, + {0xB6u, 0x10u}, + {0xB7u, 0x18u}, + {0xBEu, 0x41u}, + {0xBFu, 0x45u}, + {0xD4u, 0x09u}, + {0xD6u, 0x04u}, + {0xD8u, 0x04u}, + {0xD9u, 0x04u}, + {0xDBu, 0x04u}, + {0xDCu, 0x21u}, + {0xDDu, 0x10u}, + {0xDFu, 0x01u}, + {0x03u, 0xA2u}, + {0x07u, 0x04u}, + {0x08u, 0x20u}, + {0x09u, 0x04u}, + {0x0Au, 0x82u}, + {0x0Du, 0x40u}, + {0x0Eu, 0x18u}, + {0x11u, 0x14u}, + {0x14u, 0x10u}, + {0x15u, 0x02u}, + {0x19u, 0x08u}, + {0x1Cu, 0x20u}, + {0x1Du, 0x40u}, + {0x1Eu, 0x58u}, + {0x20u, 0x80u}, + {0x24u, 0x02u}, + {0x25u, 0x0Eu}, + {0x26u, 0x20u}, + {0x28u, 0x20u}, + {0x2Bu, 0x82u}, + {0x2Cu, 0x02u}, + {0x2Du, 0x01u}, + {0x31u, 0x08u}, + {0x32u, 0x41u}, + {0x33u, 0x20u}, + {0x36u, 0xA8u}, + {0x37u, 0x21u}, + {0x39u, 0x14u}, + {0x3Cu, 0x08u}, + {0x3Eu, 0x21u}, + {0x3Fu, 0x80u}, + {0x5Du, 0x02u}, + {0x5Eu, 0x64u}, + {0x65u, 0x40u}, + {0x67u, 0x80u}, + {0x82u, 0x08u}, + {0x83u, 0x22u}, {0x88u, 0x10u}, - {0x8Fu, 0x20u}, + {0x89u, 0x01u}, + {0x8Au, 0x14u}, + {0x8Cu, 0x01u}, + {0x91u, 0x95u}, + {0x92u, 0x83u}, + {0x97u, 0x80u}, + {0x98u, 0x30u}, + {0x99u, 0x02u}, + {0x9Au, 0x20u}, + {0x9Bu, 0x05u}, + {0x9Du, 0x08u}, + {0x9Fu, 0x20u}, + {0xA0u, 0x06u}, + {0xA2u, 0x80u}, + {0xA3u, 0xE2u}, + {0xA4u, 0x40u}, + {0xA5u, 0x06u}, + {0xAEu, 0x80u}, + {0xAFu, 0x08u}, + {0xB1u, 0x30u}, + {0xB2u, 0x80u}, + {0xC0u, 0x4Du}, + {0xC2u, 0xEFu}, + {0xC4u, 0x36u}, + {0xCAu, 0x9Bu}, + {0xCCu, 0xFFu}, + {0xCEu, 0xF6u}, + {0xD6u, 0xF0u}, + {0xD8u, 0x90u}, + {0xE0u, 0xA0u}, + {0xE4u, 0x20u}, + {0xE6u, 0x80u}, + {0xE8u, 0x20u}, + {0xECu, 0x22u}, + {0x04u, 0x40u}, + {0x0Eu, 0x08u}, + {0x0Fu, 0x40u}, + {0x12u, 0x20u}, + {0x13u, 0x10u}, + {0x17u, 0x81u}, + {0x19u, 0x01u}, + {0x1Du, 0x04u}, + {0x30u, 0x10u}, + {0x33u, 0x01u}, + {0x36u, 0x20u}, + {0x37u, 0x02u}, + {0x39u, 0x04u}, + {0x3Bu, 0x10u}, + {0x3Du, 0x01u}, + {0x3Eu, 0x80u}, + {0x42u, 0x08u}, + {0x50u, 0x20u}, + {0x56u, 0x20u}, + {0x89u, 0x01u}, {0xC0u, 0x80u}, {0xC2u, 0xA0u}, {0xC4u, 0xF0u}, + {0xC6u, 0x30u}, {0xCCu, 0xF0u}, {0xCEu, 0xF0u}, {0xD0u, 0x10u}, {0xD4u, 0x60u}, - {0xE6u, 0x20u}, - {0x01u, 0x20u}, - {0x0Bu, 0x02u}, - {0x30u, 0x10u}, - {0x32u, 0x08u}, - {0x36u, 0x01u}, - {0x37u, 0x40u}, - {0x39u, 0x80u}, - {0x56u, 0x04u}, - {0x62u, 0x02u}, - {0x64u, 0x10u}, - {0x66u, 0x01u}, - {0x80u, 0x80u}, - {0x86u, 0x02u}, - {0x89u, 0x24u}, + {0x03u, 0x02u}, + {0x0Au, 0x01u}, + {0x31u, 0x01u}, + {0x32u, 0x40u}, + {0x35u, 0x04u}, + {0x37u, 0x80u}, + {0x39u, 0x08u}, + {0x3Bu, 0x20u}, + {0x3Fu, 0x80u}, + {0x54u, 0x08u}, + {0x5Fu, 0x01u}, + {0x80u, 0x40u}, {0x90u, 0x40u}, - {0x91u, 0x08u}, - {0x9Au, 0x05u}, - {0x9Bu, 0x40u}, - {0x9Cu, 0x60u}, - {0x9Eu, 0x08u}, - {0xA4u, 0x81u}, - {0xAEu, 0x02u}, - {0xB6u, 0x04u}, - {0xB7u, 0x10u}, + {0x93u, 0x40u}, + {0x95u, 0x04u}, + {0x99u, 0x05u}, + {0x9Bu, 0x80u}, + {0x9Cu, 0x10u}, + {0x9Eu, 0xA0u}, + {0x9Fu, 0x02u}, + {0xA2u, 0x04u}, + {0xA8u, 0x20u}, + {0xB6u, 0x08u}, {0xC0u, 0x40u}, {0xC2u, 0x40u}, {0xCCu, 0xF0u}, - {0xCEu, 0x10u}, + {0xCEu, 0x70u}, {0xD4u, 0x40u}, - {0xD8u, 0x40u}, - {0xE2u, 0x60u}, - {0xEAu, 0x40u}, - {0x10u, 0x40u}, - {0x33u, 0x80u}, - {0x5Bu, 0x02u}, - {0x8Au, 0x08u}, - {0x8Fu, 0x01u}, - {0x93u, 0x02u}, - {0x95u, 0x80u}, - {0x9Cu, 0x60u}, - {0x9Eu, 0x08u}, - {0xA4u, 0x01u}, - {0xA6u, 0x09u}, - {0xB4u, 0x40u}, - {0xC4u, 0x10u}, - {0xCCu, 0x10u}, - {0xD6u, 0x40u}, - {0x8Au, 0x08u}, - {0x8Eu, 0x04u}, - {0x9Cu, 0x20u}, - {0x9Eu, 0x08u}, - {0xA4u, 0x01u}, - {0xA6u, 0x01u}, - {0xA7u, 0x80u}, - {0xA9u, 0x40u}, - {0xB3u, 0x02u}, + {0xD6u, 0x80u}, + {0xE4u, 0x20u}, {0xEAu, 0x80u}, - {0x06u, 0x08u}, - {0x07u, 0x10u}, - {0x08u, 0x02u}, - {0x0Au, 0x02u}, - {0x13u, 0x02u}, - {0x56u, 0x20u}, - {0x5Cu, 0x04u}, - {0x60u, 0x20u}, - {0x80u, 0x02u}, - {0x8Bu, 0x02u}, + {0x10u, 0x10u}, + {0x33u, 0x10u}, + {0x34u, 0x08u}, + {0x37u, 0x80u}, + {0x52u, 0x20u}, + {0x80u, 0x08u}, + {0x8Au, 0x28u}, + {0x93u, 0x40u}, + {0x95u, 0x0Cu}, + {0x96u, 0x80u}, + {0x97u, 0x21u}, + {0x9Cu, 0x10u}, + {0x9Eu, 0xA0u}, + {0x9Fu, 0x02u}, + {0xA3u, 0x02u}, + {0xA4u, 0x08u}, + {0xA7u, 0x40u}, + {0xAEu, 0x01u}, + {0xB6u, 0x04u}, + {0xC4u, 0x10u}, + {0xCCu, 0xB0u}, + {0xD4u, 0x20u}, + {0xE2u, 0x80u}, + {0xE8u, 0x10u}, + {0x80u, 0x08u}, + {0x83u, 0x10u}, + {0x85u, 0x04u}, + {0x95u, 0x0Cu}, + {0x96u, 0x80u}, + {0x97u, 0x21u}, + {0x9Cu, 0x08u}, + {0x9Eu, 0xA0u}, + {0x9Fu, 0x12u}, + {0xA3u, 0x02u}, + {0xA6u, 0x08u}, + {0xA7u, 0x40u}, + {0xABu, 0x80u}, + {0xAFu, 0x40u}, + {0xE2u, 0x20u}, + {0xE6u, 0x60u}, + {0xEAu, 0x80u}, + {0xECu, 0x40u}, + {0x04u, 0x80u}, + {0x05u, 0x04u}, + {0x08u, 0x40u}, + {0x0Au, 0x20u}, + {0x10u, 0x20u}, + {0x53u, 0x01u}, + {0x58u, 0x01u}, + {0x60u, 0x04u}, + {0x80u, 0x20u}, + {0x83u, 0x01u}, + {0x8Eu, 0x10u}, {0xC0u, 0x05u}, {0xC2u, 0x0Au}, {0xC4u, 0x08u}, - {0xD4u, 0x02u}, - {0xD6u, 0x01u}, + {0xD4u, 0x01u}, + {0xD6u, 0x02u}, {0xD8u, 0x02u}, - {0xE2u, 0x04u}, - {0x00u, 0x08u}, - {0x02u, 0x02u}, - {0x08u, 0x80u}, - {0x09u, 0x04u}, - {0x56u, 0x02u}, - {0x58u, 0x40u}, - {0x5Cu, 0x01u}, - {0x64u, 0x08u}, - {0x80u, 0xA0u}, - {0x81u, 0x04u}, - {0x8Au, 0x02u}, - {0x92u, 0x02u}, + {0xE2u, 0x02u}, + {0x00u, 0x48u}, + {0x08u, 0x40u}, + {0x0Bu, 0x10u}, + {0x57u, 0x0Au}, + {0x61u, 0x90u}, + {0x80u, 0x40u}, + {0x8Bu, 0x10u}, + {0x8Cu, 0x40u}, + {0x90u, 0x80u}, {0x94u, 0x04u}, - {0x9Au, 0x08u}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x20u}, - {0x9Eu, 0x20u}, + {0x99u, 0x04u}, + {0x9Cu, 0x01u}, + {0xB0u, 0x40u}, {0xC0u, 0x0Au}, {0xC2u, 0x0Au}, - {0xD4u, 0x01u}, - {0xD6u, 0x05u}, - {0xD8u, 0x01u}, - {0xE6u, 0x04u}, - {0x8Bu, 0x40u}, - {0x8Eu, 0x20u}, - {0x94u, 0x04u}, - {0x9Au, 0x08u}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x40u}, - {0x9Eu, 0x20u}, - {0xA0u, 0x04u}, - {0xA8u, 0x01u}, - {0xACu, 0x08u}, - {0xAEu, 0x01u}, - {0xB2u, 0x02u}, - {0xE4u, 0x02u}, + {0xD4u, 0x02u}, + {0xD6u, 0x06u}, + {0xD8u, 0x02u}, + {0xE2u, 0x02u}, {0xE6u, 0x01u}, - {0xE8u, 0x01u}, - {0x0Bu, 0x81u}, - {0x0Fu, 0x22u}, - {0x8Cu, 0x04u}, + {0xEAu, 0x01u}, + {0x56u, 0x80u}, + {0x81u, 0x80u}, + {0x87u, 0x0Au}, {0x94u, 0x04u}, - {0x97u, 0x81u}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x40u}, - {0xAAu, 0x08u}, - {0xABu, 0x01u}, + {0x9Cu, 0x01u}, + {0x9Du, 0x10u}, + {0xA0u, 0x04u}, + {0xA5u, 0x80u}, + {0xA7u, 0x0Au}, + {0xA8u, 0x04u}, + {0xA9u, 0x04u}, + {0xACu, 0x40u}, + {0xD4u, 0x02u}, + {0x09u, 0x10u}, + {0x0Bu, 0x40u}, + {0x0Fu, 0x88u}, + {0x83u, 0x44u}, + {0x88u, 0x01u}, + {0x94u, 0x04u}, + {0x9Cu, 0x01u}, + {0x9Du, 0x10u}, + {0xA5u, 0x10u}, + {0xA9u, 0x10u}, {0xACu, 0x04u}, + {0xAEu, 0x80u}, {0xC2u, 0x0Fu}, - {0xE4u, 0x02u}, - {0x02u, 0x04u}, - {0x84u, 0x01u}, - {0x89u, 0x02u}, - {0x8Cu, 0x08u}, - {0x8Eu, 0x01u}, - {0x9Eu, 0x04u}, - {0xA4u, 0x01u}, - {0xA8u, 0x20u}, - {0xAFu, 0x80u}, - {0xB6u, 0x01u}, - {0xC0u, 0x40u}, - {0xE6u, 0x10u}, - {0xEEu, 0x30u}, - {0x03u, 0x20u}, - {0x51u, 0x20u}, - {0x55u, 0x08u}, - {0x58u, 0x08u}, - {0x5Fu, 0x08u}, - {0x61u, 0x02u}, - {0x65u, 0x02u}, - {0x7Au, 0x01u}, - {0x85u, 0x20u}, - {0x87u, 0x20u}, - {0x89u, 0x02u}, - {0x98u, 0x08u}, - {0x99u, 0x02u}, - {0x9Bu, 0x08u}, - {0xA1u, 0x08u}, - {0xA2u, 0x01u}, - {0xA9u, 0x08u}, - {0xB7u, 0x08u}, - {0xC0u, 0x10u}, - {0xD4u, 0x60u}, - {0xD6u, 0xC0u}, - {0xD8u, 0xC0u}, - {0xDCu, 0x80u}, - {0xE2u, 0x10u}, - {0xE4u, 0x10u}, - {0xEAu, 0x80u}, - {0x74u, 0x08u}, - {0x88u, 0x08u}, - {0x90u, 0x02u}, - {0x9Bu, 0x10u}, - {0x9Cu, 0x40u}, - {0xAFu, 0x01u}, - {0xB4u, 0x01u}, - {0xB7u, 0x10u}, - {0xDEu, 0x04u}, {0xE4u, 0x04u}, - {0xE8u, 0x02u}, - {0xEAu, 0x08u}, - {0x70u, 0x01u}, - {0x90u, 0x02u}, - {0xB0u, 0x40u}, - {0xB7u, 0x10u}, - {0xDCu, 0x01u}, - {0xE8u, 0x01u}, - {0xEEu, 0x02u}, - {0x10u, 0x03u}, + {0x02u, 0x08u}, + {0x66u, 0x10u}, + {0x82u, 0x40u}, + {0x83u, 0x41u}, + {0x86u, 0x80u}, + {0x87u, 0x10u}, + {0x8Au, 0x10u}, + {0x8Cu, 0x01u}, + {0x96u, 0x80u}, + {0x97u, 0x01u}, + {0x9Eu, 0xA0u}, + {0x9Fu, 0x02u}, + {0xA6u, 0x08u}, + {0xA7u, 0x40u}, + {0xADu, 0x04u}, + {0xAFu, 0x10u}, + {0xB3u, 0x02u}, + {0xC0u, 0x40u}, + {0xD8u, 0x80u}, + {0xE2u, 0xE0u}, + {0xE6u, 0xC0u}, + {0xEAu, 0x10u}, + {0xEEu, 0x40u}, + {0x02u, 0x10u}, + {0x57u, 0x08u}, + {0x5Au, 0x40u}, + {0x5Cu, 0x01u}, + {0x67u, 0x20u}, + {0x82u, 0x40u}, + {0x86u, 0x10u}, + {0x87u, 0x08u}, + {0x8Eu, 0x20u}, + {0x90u, 0x01u}, + {0x93u, 0x20u}, + {0x9Eu, 0x20u}, + {0xB7u, 0x02u}, + {0xC0u, 0x10u}, + {0xD4u, 0xC0u}, + {0xD6u, 0x80u}, + {0xD8u, 0x80u}, + {0xE0u, 0x40u}, + {0xE2u, 0x20u}, + {0xE6u, 0x40u}, + {0x80u, 0x04u}, + {0x94u, 0x04u}, + {0x9Du, 0x10u}, + {0xAFu, 0x40u}, + {0x74u, 0x04u}, + {0x8Du, 0x10u}, + {0x9Du, 0x10u}, + {0xA0u, 0x04u}, + {0xACu, 0x04u}, + {0xDEu, 0x04u}, + {0xE0u, 0x02u}, + {0x10u, 0x07u}, {0x11u, 0x01u}, {0x1Au, 0x03u}, - {0x1Cu, 0x01u}, + {0x1Bu, 0x01u}, + {0x1Cu, 0x07u}, {0x1Du, 0x01u}, - {0x00u, 0xFFu}, - {0x01u, 0xBFu}, - {0x02u, 0x2Au}, - {0x10u, 0x95u}, + {0x10u, 0x59u}, + {0x11u, 0x09u}, }; @@ -2418,30 +2528,47 @@ void cyfitter_cfg(void) {(void CYFAR *)(CYREG_PRT5_DR), 16u}, {(void CYFAR *)(CYDEV_UCFG_B0_P0_U0_BASE), 1024u}, {(void CYFAR *)(CYDEV_UCFG_B0_P2_U1_BASE), 2944u}, - {(void CYFAR *)(CYDEV_UCFG_B1_P2_U0_BASE), 2048u}, + {(void CYFAR *)(CYDEV_UCFG_B1_P2_U1_BASE), 1920u}, {(void CYFAR *)(CYDEV_UCFG_DSI0_BASE), 2560u}, {(void CYFAR *)(CYDEV_UCFG_DSI12_BASE), 512u}, {(void CYFAR *)(CYREG_BCTL1_MDCLK_EN), 16u}, }; + /* IDMUX_IRQ Address: CYREG_IDMUX_IRQ_CTL0 Size (bytes): 8 */ + static const uint8 CYCODE BS_IDMUX_IRQ_VAL[] = { + 0xFFu, 0xFFu, 0xABu, 0x08u, 0x00u, 0x00u, 0x00u, 0x00u}; + /* 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[] = { - 0x00u, 0x01u, 0x00u, 0x00u, 0x00u, 0x40u, 0x60u, 0x00u, 0x00u, 0x88u, 0xFFu, 0x21u, 0x90u, 0x01u, 0x40u, 0x00u, - 0x00u, 0x01u, 0x9Fu, 0x00u, 0x7Fu, 0xA2u, 0x80u, 0x08u, 0xC0u, 0x04u, 0x04u, 0x00u, 0x1Fu, 0x87u, 0x20u, 0x18u, - 0xC0u, 0x40u, 0x02u, 0x00u, 0xC0u, 0x01u, 0x01u, 0x00u, 0xC0u, 0x01u, 0x08u, 0x00u, 0x80u, 0x10u, 0x00u, 0x00u, - 0xFFu, 0x00u, 0x00u, 0x3Fu, 0x00u, 0x40u, 0x00u, 0x80u, 0x80u, 0x28u, 0x00u, 0x00u, 0x00u, 0x00u, 0x41u, 0x44u, - 0x63u, 0x04u, 0x10u, 0x00u, 0x05u, 0xCEu, 0xDBu, 0x0Fu, 0x1Fu, 0xFFu, 0xFFu, 0xFFu, 0x22u, 0x00u, 0xF0u, 0x08u, - 0x04u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x04u, 0x04u, 0x04u, 0x00u, 0x00u, 0x00u, 0x00u, 0x01u, + 0x34u, 0x00u, 0x40u, 0x00u, 0x3Du, 0x30u, 0x42u, 0x00u, 0x03u, 0x00u, 0x0Cu, 0x00u, 0x40u, 0x15u, 0x80u, 0x0Au, + 0x10u, 0x00u, 0x20u, 0x00u, 0x00u, 0x09u, 0x00u, 0x16u, 0x00u, 0x04u, 0x77u, 0x03u, 0x10u, 0x00u, 0x20u, 0x00u, + 0x02u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x01u, 0x00u, 0x8Bu, 0x0Bu, 0x74u, 0x24u, 0x88u, 0x00u, 0x77u, 0x00u, + 0x30u, 0x00u, 0x00u, 0x38u, 0x0Fu, 0x07u, 0xC0u, 0x00u, 0x00u, 0x08u, 0xA2u, 0x20u, 0x00u, 0x00u, 0x00u, 0x00u, + 0x52u, 0x04u, 0x60u, 0x00u, 0x03u, 0xBEu, 0xFDu, 0xBCu, 0x3Fu, 0xFFu, 0xFFu, 0xFFu, 0x22u, 0x00u, 0xF0u, 0x08u, + 0x04u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x24u, 0x04u, 0x04u, 0x04u, 0x04u, 0x12u, 0x10u, 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}; + + /* UDB_1_0_0_CONFIG Address: CYDEV_UCFG_B1_P2_U0_BASE Size (bytes): 128 */ + static const uint8 CYCODE BS_UDB_1_0_0_CONFIG_VAL[] = { + 0x02u, 0x00u, 0x00u, 0x00u, 0x02u, 0x80u, 0x00u, 0x00u, 0x10u, 0xC0u, 0x42u, 0x08u, 0x01u, 0x7Fu, 0x00u, 0x80u, + 0x44u, 0x90u, 0x10u, 0x40u, 0x01u, 0x1Fu, 0x00u, 0x20u, 0x02u, 0xC0u, 0x00u, 0x04u, 0x02u, 0xC0u, 0x00u, 0x02u, + 0x08u, 0xC0u, 0x00u, 0x01u, 0x20u, 0x00u, 0x00u, 0x9Fu, 0x0Eu, 0x00u, 0x30u, 0xFFu, 0x02u, 0x00u, 0x00u, 0x60u, + 0x01u, 0x00u, 0x00u, 0xFFu, 0x00u, 0x00u, 0x7Eu, 0x00u, 0x82u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x40u, 0x04u, + 0x64u, 0x03u, 0x50u, 0x00u, 0x02u, 0xCBu, 0xF0u, 0xEDu, 0x3Bu, 0xFFu, 0xFFu, 0xFFu, 0x22u, 0x00u, 0xF0u, 0x08u, + 0x04u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x02u, 0x24u, 0x04u, 0x04u, 0x04u, 0x04u, 0x01u, 0x01u, 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}; /* UCFG_BCTL0 Address: CYREG_BCTL0_MDCLK_EN Size (bytes): 16 */ static const uint8 CYCODE BS_UCFG_BCTL0_VAL[] = { - 0x07u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x04u, 0x01u, 0x07u, 0x01u, 0x05u, 0x01u, 0x05u, 0x01u}; + 0x07u, 0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x07u, 0x01u, 0x07u, 0x01u, 0x04u, 0x01u, 0x04u, 0x01u}; static const cfg_memcpy_t CYCODE cfg_memcpy_list [] = { /* dest, src, size */ + {(void CYFAR *)(CYREG_IDMUX_IRQ_CTL0), BS_IDMUX_IRQ_VAL, 8u}, {(void CYFAR *)(CYDEV_UCFG_B0_P2_U0_BASE), BS_UDB_1_3_0_CONFIG_VAL, 128u}, + {(void CYFAR *)(CYDEV_UCFG_B1_P2_U0_BASE), BS_UDB_1_0_0_CONFIG_VAL, 128u}, {(void CYFAR *)(CYREG_BCTL0_MDCLK_EN), BS_UCFG_BCTL0_VAL, 16u}, }; @@ -2471,6 +2598,8 @@ void cyfitter_cfg(void) CYCONFIGCPYCODE((void CYFAR *)(CYREG_PHUB_CFGMEM1_CFG0), (const void CYCODE *)(BS_PHUB_CFGMEM1_VAL), 4u); CYCONFIGCPYCODE((void CYFAR *)(CYREG_PHUB_CFGMEM2_CFG0), (const void CYCODE *)(BS_PHUB_CFGMEM2_VAL), 4u); CYCONFIGCPYCODE((void CYFAR *)(CYREG_PHUB_CFGMEM3_CFG0), (const void CYCODE *)(BS_PHUB_CFGMEM3_VAL), 4u); + CYCONFIGCPYCODE((void CYFAR *)(CYREG_PHUB_CFGMEM4_CFG0), (const void CYCODE *)(BS_PHUB_CFGMEM4_VAL), 4u); + CYCONFIGCPYCODE((void CYFAR *)(CYREG_PHUB_CFGMEM5_CFG0), (const void CYCODE *)(BS_PHUB_CFGMEM5_VAL), 4u); /* Enable digital routing */ CY_SET_XTND_REG8((void CYFAR *)CYREG_BCTL0_BANK_CTL, CY_GET_XTND_REG8((void CYFAR *)CYREG_BCTL0_BANK_CTL) | 0x02u); diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h index eefc440..58a0447 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cyfitter_cfg.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides basic startup and mux configuration settings * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc index 043d4f7..92ae462 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfittergnu.inc @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cyfittergnu.inc * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -192,34 +192,34 @@ .set USBFS_ep_0__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 .set USBFS_ep_1__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set USBFS_ep_1__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set USBFS_ep_1__INTC_MASK, 0x80 -.set USBFS_ep_1__INTC_NUMBER, 7 +.set USBFS_ep_1__INTC_MASK, 0x200 +.set USBFS_ep_1__INTC_NUMBER, 9 .set USBFS_ep_1__INTC_PRIOR_NUM, 7 -.set USBFS_ep_1__INTC_PRIOR_REG, CYREG_NVIC_PRI_7 +.set USBFS_ep_1__INTC_PRIOR_REG, CYREG_NVIC_PRI_9 .set USBFS_ep_1__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set USBFS_ep_1__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 .set USBFS_ep_2__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set USBFS_ep_2__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set USBFS_ep_2__INTC_MASK, 0x100 -.set USBFS_ep_2__INTC_NUMBER, 8 +.set USBFS_ep_2__INTC_MASK, 0x400 +.set USBFS_ep_2__INTC_NUMBER, 10 .set USBFS_ep_2__INTC_PRIOR_NUM, 7 -.set USBFS_ep_2__INTC_PRIOR_REG, CYREG_NVIC_PRI_8 +.set USBFS_ep_2__INTC_PRIOR_REG, CYREG_NVIC_PRI_10 .set USBFS_ep_2__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set USBFS_ep_2__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 .set USBFS_ep_3__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set USBFS_ep_3__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set USBFS_ep_3__INTC_MASK, 0x200 -.set USBFS_ep_3__INTC_NUMBER, 9 +.set USBFS_ep_3__INTC_MASK, 0x800 +.set USBFS_ep_3__INTC_NUMBER, 11 .set USBFS_ep_3__INTC_PRIOR_NUM, 7 -.set USBFS_ep_3__INTC_PRIOR_REG, CYREG_NVIC_PRI_9 +.set USBFS_ep_3__INTC_PRIOR_REG, CYREG_NVIC_PRI_11 .set USBFS_ep_3__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set USBFS_ep_3__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 .set USBFS_ep_4__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set USBFS_ep_4__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set USBFS_ep_4__INTC_MASK, 0x400 -.set USBFS_ep_4__INTC_NUMBER, 10 +.set USBFS_ep_4__INTC_MASK, 0x2000 +.set USBFS_ep_4__INTC_NUMBER, 13 .set USBFS_ep_4__INTC_PRIOR_NUM, 7 -.set USBFS_ep_4__INTC_PRIOR_REG, CYREG_NVIC_PRI_10 +.set USBFS_ep_4__INTC_PRIOR_REG, CYREG_NVIC_PRI_13 .set USBFS_ep_4__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set USBFS_ep_4__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 .set USBFS_sof_int__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 @@ -424,32 +424,32 @@ .set NOR_SO__SLW, CYREG_PRT15_SLW /* SDCard */ -.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG, CYREG_B1_UDB05_06_ACTL -.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG, CYREG_B1_UDB05_06_CTL -.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG, CYREG_B1_UDB05_06_CTL -.set SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG, CYREG_B1_UDB05_06_CTL -.set SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG, CYREG_B1_UDB05_06_CTL -.set SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG, CYREG_B1_UDB05_06_MSK -.set SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG, CYREG_B1_UDB05_06_MSK -.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG, CYREG_B1_UDB05_06_MSK -.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG, CYREG_B1_UDB05_06_MSK -.set SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG, CYREG_B1_UDB05_ACTL -.set SDCard_BSPIM_BitCounter__CONTROL_REG, CYREG_B1_UDB05_CTL -.set SDCard_BSPIM_BitCounter__CONTROL_ST_REG, CYREG_B1_UDB05_ST_CTL -.set SDCard_BSPIM_BitCounter__COUNT_REG, CYREG_B1_UDB05_CTL -.set SDCard_BSPIM_BitCounter__COUNT_ST_REG, CYREG_B1_UDB05_ST_CTL -.set SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG, CYREG_B1_UDB05_MSK_ACTL -.set SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG, CYREG_B1_UDB05_MSK_ACTL -.set SDCard_BSPIM_BitCounter__PERIOD_REG, CYREG_B1_UDB05_MSK -.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB05_06_ACTL -.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG, CYREG_B1_UDB05_06_ST -.set SDCard_BSPIM_BitCounter_ST__MASK_REG, CYREG_B1_UDB05_MSK -.set SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG, CYREG_B1_UDB05_MSK_ACTL -.set SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG, CYREG_B1_UDB05_MSK_ACTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG, CYREG_B1_UDB05_ACTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG, CYREG_B1_UDB05_ST_CTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG, CYREG_B1_UDB05_ST_CTL -.set SDCard_BSPIM_BitCounter_ST__STATUS_REG, CYREG_B1_UDB05_ST +.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB04_05_ACTL +.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB04_05_CTL +.set SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB04_05_CTL +.set SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB04_05_CTL +.set SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB04_05_CTL +.set SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG, CYREG_B0_UDB04_05_MSK +.set SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB04_05_MSK +.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB04_05_MSK +.set SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB04_05_MSK +.set SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG, CYREG_B0_UDB04_ACTL +.set SDCard_BSPIM_BitCounter__CONTROL_REG, CYREG_B0_UDB04_CTL +.set SDCard_BSPIM_BitCounter__CONTROL_ST_REG, CYREG_B0_UDB04_ST_CTL +.set SDCard_BSPIM_BitCounter__COUNT_REG, CYREG_B0_UDB04_CTL +.set SDCard_BSPIM_BitCounter__COUNT_ST_REG, CYREG_B0_UDB04_ST_CTL +.set SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB04_MSK_ACTL +.set SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB04_MSK_ACTL +.set SDCard_BSPIM_BitCounter__PERIOD_REG, CYREG_B0_UDB04_MSK +.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB04_05_ACTL +.set SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG, CYREG_B0_UDB04_05_ST +.set SDCard_BSPIM_BitCounter_ST__MASK_REG, CYREG_B0_UDB04_MSK +.set SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB04_MSK_ACTL +.set SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG, CYREG_B0_UDB04_MSK_ACTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG, CYREG_B0_UDB04_ACTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG, CYREG_B0_UDB04_ST_CTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG, CYREG_B0_UDB04_ST_CTL +.set SDCard_BSPIM_BitCounter_ST__STATUS_REG, CYREG_B0_UDB04_ST .set SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB06_07_ACTL .set SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG, CYREG_B1_UDB06_07_ST .set SDCard_BSPIM_RxStsReg__4__MASK, 0x10 @@ -460,11 +460,7 @@ .set SDCard_BSPIM_RxStsReg__6__POS, 6 .set SDCard_BSPIM_RxStsReg__MASK, 0x70 .set SDCard_BSPIM_RxStsReg__MASK_REG, CYREG_B1_UDB06_MSK -.set SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL .set SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG, CYREG_B1_UDB06_ACTL -.set SDCard_BSPIM_RxStsReg__STATUS_CNT_REG, CYREG_B1_UDB06_ST_CTL -.set SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG, CYREG_B1_UDB06_ST_CTL .set SDCard_BSPIM_RxStsReg__STATUS_REG, CYREG_B1_UDB06_ST .set SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG, CYREG_B1_UDB04_05_A0 .set SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG, CYREG_B1_UDB04_05_A1 @@ -483,12 +479,12 @@ .set SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG, CYREG_B1_UDB04_F0_F1 .set SDCard_BSPIM_sR8_Dp_u0__F0_REG, CYREG_B1_UDB04_F0 .set SDCard_BSPIM_sR8_Dp_u0__F1_REG, CYREG_B1_UDB04_F1 +.set SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG, CYREG_B1_UDB04_MSK_ACTL +.set SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG, CYREG_B1_UDB04_MSK_ACTL .set SDCard_BSPIM_TxStsReg__0__MASK, 0x01 .set SDCard_BSPIM_TxStsReg__0__POS, 0 .set SDCard_BSPIM_TxStsReg__1__MASK, 0x02 .set SDCard_BSPIM_TxStsReg__1__POS, 1 -.set SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB06_07_ACTL -.set SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG, CYREG_B0_UDB06_07_ST .set SDCard_BSPIM_TxStsReg__2__MASK, 0x04 .set SDCard_BSPIM_TxStsReg__2__POS, 2 .set SDCard_BSPIM_TxStsReg__3__MASK, 0x08 @@ -496,9 +492,9 @@ .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_B0_UDB06_MSK -.set SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB06_ACTL -.set SDCard_BSPIM_TxStsReg__STATUS_REG, CYREG_B0_UDB06_ST +.set SDCard_BSPIM_TxStsReg__MASK_REG, CYREG_B1_UDB11_MSK +.set SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG, CYREG_B1_UDB11_ACTL +.set SDCard_BSPIM_TxStsReg__STATUS_REG, CYREG_B1_UDB11_ST /* SD_SCK */ .set SD_SCK__0__INTTYPE, CYREG_PICU3_INTTYPE1 @@ -534,30 +530,6 @@ .set SD_SCK__SHIFT, 1 .set SD_SCK__SLW, CYREG_PRT3_SLW -/* NOR_CTL */ -.set NOR_CTL_Sync_ctrl_reg__0__MASK, 0x01 -.set NOR_CTL_Sync_ctrl_reg__0__POS, 0 -.set NOR_CTL_Sync_ctrl_reg__1__MASK, 0x02 -.set NOR_CTL_Sync_ctrl_reg__1__POS, 1 -.set NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B1_UDB06_07_ACTL -.set NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B1_UDB06_07_CTL -.set NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B1_UDB06_07_CTL -.set NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B1_UDB06_07_CTL -.set NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B1_UDB06_07_CTL -.set NOR_CTL_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B1_UDB06_07_MSK -.set NOR_CTL_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B1_UDB06_07_MSK -.set NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B1_UDB06_07_MSK -.set NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B1_UDB06_07_MSK -.set NOR_CTL_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B1_UDB06_ACTL -.set NOR_CTL_Sync_ctrl_reg__CONTROL_REG, CYREG_B1_UDB06_CTL -.set NOR_CTL_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B1_UDB06_ST_CTL -.set NOR_CTL_Sync_ctrl_reg__COUNT_REG, CYREG_B1_UDB06_CTL -.set NOR_CTL_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B1_UDB06_ST_CTL -.set NOR_CTL_Sync_ctrl_reg__MASK, 0x03 -.set NOR_CTL_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set NOR_CTL_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B1_UDB06_MSK_ACTL -.set NOR_CTL_Sync_ctrl_reg__PERIOD_REG, CYREG_B1_UDB06_MSK - /* NOR_SCK */ .set NOR_SCK__0__INTTYPE, CYREG_PICU3_INTTYPE7 .set NOR_SCK__0__MASK, 0x80 @@ -593,34 +565,34 @@ .set NOR_SCK__SLW, CYREG_PRT3_SLW /* NOR_SPI */ -.set NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB08_09_ACTL -.set NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB08_09_CTL -.set NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB08_09_CTL -.set NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB08_09_CTL -.set NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB08_09_CTL -.set NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG, CYREG_B0_UDB08_09_MSK -.set NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB08_09_MSK -.set NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB08_09_MSK -.set NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB08_09_MSK -.set NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG, CYREG_B0_UDB08_ACTL -.set NOR_SPI_BSPIM_BitCounter__CONTROL_REG, CYREG_B0_UDB08_CTL -.set NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG, CYREG_B0_UDB08_ST_CTL -.set NOR_SPI_BSPIM_BitCounter__COUNT_REG, CYREG_B0_UDB08_CTL -.set NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG, CYREG_B0_UDB08_ST_CTL -.set NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL -.set NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL -.set NOR_SPI_BSPIM_BitCounter__PERIOD_REG, CYREG_B0_UDB08_MSK -.set NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB08_09_ACTL -.set NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG, CYREG_B0_UDB08_09_ST -.set NOR_SPI_BSPIM_BitCounter_ST__MASK_REG, CYREG_B0_UDB08_MSK -.set NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL -.set NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL -.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG, CYREG_B0_UDB08_ACTL -.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG, CYREG_B0_UDB08_ST_CTL -.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG, CYREG_B0_UDB08_ST_CTL -.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG, CYREG_B0_UDB08_ST -.set NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB08_09_ACTL -.set NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG, CYREG_B1_UDB08_09_ST +.set NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG, CYREG_B1_UDB04_05_ACTL +.set NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG, CYREG_B1_UDB04_05_CTL +.set NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG, CYREG_B1_UDB04_05_CTL +.set NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG, CYREG_B1_UDB04_05_CTL +.set NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG, CYREG_B1_UDB04_05_CTL +.set NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG, CYREG_B1_UDB04_05_MSK +.set NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG, CYREG_B1_UDB04_05_MSK +.set NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG, CYREG_B1_UDB04_05_MSK +.set NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG, CYREG_B1_UDB04_05_MSK +.set NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG, CYREG_B1_UDB04_ACTL +.set NOR_SPI_BSPIM_BitCounter__CONTROL_REG, CYREG_B1_UDB04_CTL +.set NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG, CYREG_B1_UDB04_ST_CTL +.set NOR_SPI_BSPIM_BitCounter__COUNT_REG, CYREG_B1_UDB04_CTL +.set NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG, CYREG_B1_UDB04_ST_CTL +.set NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG, CYREG_B1_UDB04_MSK_ACTL +.set NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG, CYREG_B1_UDB04_MSK_ACTL +.set NOR_SPI_BSPIM_BitCounter__PERIOD_REG, CYREG_B1_UDB04_MSK +.set NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB04_05_ACTL +.set NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG, CYREG_B1_UDB04_05_ST +.set NOR_SPI_BSPIM_BitCounter_ST__MASK_REG, CYREG_B1_UDB04_MSK +.set NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG, CYREG_B1_UDB04_MSK_ACTL +.set NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG, CYREG_B1_UDB04_MSK_ACTL +.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG, CYREG_B1_UDB04_ACTL +.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG, CYREG_B1_UDB04_ST_CTL +.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG, CYREG_B1_UDB04_ST_CTL +.set NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG, CYREG_B1_UDB04_ST +.set NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B1_UDB07_08_ACTL +.set NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG, CYREG_B1_UDB07_08_ST .set NOR_SPI_BSPIM_RxStsReg__4__MASK, 0x10 .set NOR_SPI_BSPIM_RxStsReg__4__POS, 4 .set NOR_SPI_BSPIM_RxStsReg__5__MASK, 0x20 @@ -628,9 +600,9 @@ .set NOR_SPI_BSPIM_RxStsReg__6__MASK, 0x40 .set NOR_SPI_BSPIM_RxStsReg__6__POS, 6 .set NOR_SPI_BSPIM_RxStsReg__MASK, 0x70 -.set NOR_SPI_BSPIM_RxStsReg__MASK_REG, CYREG_B1_UDB08_MSK -.set NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG, CYREG_B1_UDB08_ACTL -.set NOR_SPI_BSPIM_RxStsReg__STATUS_REG, CYREG_B1_UDB08_ST +.set NOR_SPI_BSPIM_RxStsReg__MASK_REG, CYREG_B1_UDB07_MSK +.set NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG, CYREG_B1_UDB07_ACTL +.set NOR_SPI_BSPIM_RxStsReg__STATUS_REG, CYREG_B1_UDB07_ST .set NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A0_REG, CYREG_B0_UDB04_05_A0 .set NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A1_REG, CYREG_B0_UDB04_05_A1 .set NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_D0_REG, CYREG_B0_UDB04_05_D0 @@ -648,6 +620,8 @@ .set NOR_SPI_BSPIM_sR8_Dp_u0__F0_F1_REG, CYREG_B0_UDB04_F0_F1 .set NOR_SPI_BSPIM_sR8_Dp_u0__F0_REG, CYREG_B0_UDB04_F0 .set NOR_SPI_BSPIM_sR8_Dp_u0__F1_REG, CYREG_B0_UDB04_F1 +.set NOR_SPI_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG, CYREG_B0_UDB04_MSK_ACTL +.set NOR_SPI_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG, CYREG_B0_UDB04_MSK_ACTL .set NOR_SPI_BSPIM_TxStsReg__0__MASK, 0x01 .set NOR_SPI_BSPIM_TxStsReg__0__POS, 0 .set NOR_SPI_BSPIM_TxStsReg__1__MASK, 0x02 @@ -1784,15 +1758,15 @@ .set SCSI_Out_Bits_Sync_ctrl_reg__0__POS, 0 .set SCSI_Out_Bits_Sync_ctrl_reg__1__MASK, 0x02 .set SCSI_Out_Bits_Sync_ctrl_reg__1__POS, 1 -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB09_10_ACTL -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB09_10_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB09_10_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB09_10_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB09_10_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB09_10_MSK -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB09_10_MSK -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB09_10_MSK -.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB09_10_MSK +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B1_UDB09_10_ACTL +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B1_UDB09_10_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B1_UDB09_10_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B1_UDB09_10_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B1_UDB09_10_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B1_UDB09_10_MSK +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B1_UDB09_10_MSK +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B1_UDB09_10_MSK +.set SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B1_UDB09_10_MSK .set SCSI_Out_Bits_Sync_ctrl_reg__2__MASK, 0x04 .set SCSI_Out_Bits_Sync_ctrl_reg__2__POS, 2 .set SCSI_Out_Bits_Sync_ctrl_reg__3__MASK, 0x08 @@ -1805,35 +1779,35 @@ .set SCSI_Out_Bits_Sync_ctrl_reg__6__POS, 6 .set SCSI_Out_Bits_Sync_ctrl_reg__7__MASK, 0x80 .set SCSI_Out_Bits_Sync_ctrl_reg__7__POS, 7 -.set SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB09_ACTL -.set SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB09_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB09_ST_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB09_CTL -.set SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB09_ST_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B1_UDB09_ACTL +.set SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG, CYREG_B1_UDB09_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B1_UDB09_ST_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG, CYREG_B1_UDB09_CTL +.set SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B1_UDB09_ST_CTL .set SCSI_Out_Bits_Sync_ctrl_reg__MASK, 0xFF -.set SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB09_MSK_ACTL -.set SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB09_MSK_ACTL -.set SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB09_MSK +.set SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B1_UDB09_MSK_ACTL +.set SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B1_UDB09_MSK_ACTL +.set SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG, CYREG_B1_UDB09_MSK .set SCSI_Out_Ctl_Sync_ctrl_reg__0__MASK, 0x01 .set SCSI_Out_Ctl_Sync_ctrl_reg__0__POS, 0 -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB03_04_ACTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB03_04_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB03_04_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB03_04_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB03_04_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB03_04_MSK -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB03_04_MSK -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB03_04_MSK -.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB03_04_MSK -.set SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB03_ACTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB03_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB03_ST_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB03_CTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB03_ST_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB08_09_ACTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB08_09_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB08_09_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB08_09_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB08_09_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB08_09_MSK +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB08_09_MSK +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB08_09_MSK +.set SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB08_09_MSK +.set SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB08_ACTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB08_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB08_ST_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB08_CTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB08_ST_CTL .set SCSI_Out_Ctl_Sync_ctrl_reg__MASK, 0x01 -.set SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB03_MSK_ACTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB03_MSK_ACTL -.set SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB03_MSK +.set SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL +.set SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB08_MSK .set SCSI_Out_DBx__0__AG, CYREG_PRT6_AG .set SCSI_Out_DBx__0__AMUX, CYREG_PRT6_AMUX .set SCSI_Out_DBx__0__BIE, CYREG_PRT6_BIE @@ -2293,42 +2267,42 @@ .set NOR_Clock__PM_STBY_MSK, 0x01 /* SD_RX_DMA */ -.set SD_RX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL0 -.set SD_RX_DMA__DRQ_NUMBER, 2 +.set SD_RX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL1 +.set SD_RX_DMA__DRQ_NUMBER, 4 .set SD_RX_DMA__NUMBEROF_TDS, 0 .set SD_RX_DMA__PRIORITY, 0 .set SD_RX_DMA__TERMIN_EN, 0 .set SD_RX_DMA__TERMIN_SEL, 0 .set SD_RX_DMA__TERMOUT0_EN, 1 -.set SD_RX_DMA__TERMOUT0_SEL, 2 +.set SD_RX_DMA__TERMOUT0_SEL, 4 .set SD_RX_DMA__TERMOUT1_EN, 0 .set SD_RX_DMA__TERMOUT1_SEL, 0 .set SD_RX_DMA_COMPLETE__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set SD_RX_DMA_COMPLETE__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set SD_RX_DMA_COMPLETE__INTC_MASK, 0x20 -.set SD_RX_DMA_COMPLETE__INTC_NUMBER, 5 +.set SD_RX_DMA_COMPLETE__INTC_MASK, 0x80 +.set SD_RX_DMA_COMPLETE__INTC_NUMBER, 7 .set SD_RX_DMA_COMPLETE__INTC_PRIOR_NUM, 7 -.set SD_RX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_5 +.set SD_RX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_7 .set SD_RX_DMA_COMPLETE__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set SD_RX_DMA_COMPLETE__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 /* SD_TX_DMA */ -.set SD_TX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL0 -.set SD_TX_DMA__DRQ_NUMBER, 3 +.set SD_TX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL1 +.set SD_TX_DMA__DRQ_NUMBER, 5 .set SD_TX_DMA__NUMBEROF_TDS, 0 .set SD_TX_DMA__PRIORITY, 1 .set SD_TX_DMA__TERMIN_EN, 0 .set SD_TX_DMA__TERMIN_SEL, 0 .set SD_TX_DMA__TERMOUT0_EN, 1 -.set SD_TX_DMA__TERMOUT0_SEL, 3 +.set SD_TX_DMA__TERMOUT0_SEL, 5 .set SD_TX_DMA__TERMOUT1_EN, 0 .set SD_TX_DMA__TERMOUT1_SEL, 0 .set SD_TX_DMA_COMPLETE__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set SD_TX_DMA_COMPLETE__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set SD_TX_DMA_COMPLETE__INTC_MASK, 0x40 -.set SD_TX_DMA_COMPLETE__INTC_NUMBER, 6 +.set SD_TX_DMA_COMPLETE__INTC_MASK, 0x100 +.set SD_TX_DMA_COMPLETE__INTC_NUMBER, 8 .set SD_TX_DMA_COMPLETE__INTC_PRIOR_NUM, 7 -.set SD_TX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_6 +.set SD_TX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_8 .set SD_TX_DMA_COMPLETE__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set SD_TX_DMA_COMPLETE__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 @@ -2365,6 +2339,46 @@ .set nNOR_HOLD__SIO_REG_HIFREQ, CYREG_PRT12_SIO_REG_HIFREQ .set nNOR_HOLD__SLW, CYREG_PRT12_SLW +/* NOR_RX_DMA */ +.set NOR_RX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL0 +.set NOR_RX_DMA__DRQ_NUMBER, 0 +.set NOR_RX_DMA__NUMBEROF_TDS, 0 +.set NOR_RX_DMA__PRIORITY, 2 +.set NOR_RX_DMA__TERMIN_EN, 0 +.set NOR_RX_DMA__TERMIN_SEL, 0 +.set NOR_RX_DMA__TERMOUT0_EN, 1 +.set NOR_RX_DMA__TERMOUT0_SEL, 0 +.set NOR_RX_DMA__TERMOUT1_EN, 0 +.set NOR_RX_DMA__TERMOUT1_SEL, 0 +.set NOR_RX_DMA_COMPLETE__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 +.set NOR_RX_DMA_COMPLETE__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 +.set NOR_RX_DMA_COMPLETE__INTC_MASK, 0x02 +.set NOR_RX_DMA_COMPLETE__INTC_NUMBER, 1 +.set NOR_RX_DMA_COMPLETE__INTC_PRIOR_NUM, 7 +.set NOR_RX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_1 +.set NOR_RX_DMA_COMPLETE__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 +.set NOR_RX_DMA_COMPLETE__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 + +/* NOR_TX_DMA */ +.set NOR_TX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL0 +.set NOR_TX_DMA__DRQ_NUMBER, 1 +.set NOR_TX_DMA__NUMBEROF_TDS, 0 +.set NOR_TX_DMA__PRIORITY, 2 +.set NOR_TX_DMA__TERMIN_EN, 0 +.set NOR_TX_DMA__TERMIN_SEL, 0 +.set NOR_TX_DMA__TERMOUT0_EN, 1 +.set NOR_TX_DMA__TERMOUT0_SEL, 1 +.set NOR_TX_DMA__TERMOUT1_EN, 0 +.set NOR_TX_DMA__TERMOUT1_SEL, 0 +.set NOR_TX_DMA_COMPLETE__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 +.set NOR_TX_DMA_COMPLETE__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 +.set NOR_TX_DMA_COMPLETE__INTC_MASK, 0x04 +.set NOR_TX_DMA_COMPLETE__INTC_NUMBER, 2 +.set NOR_TX_DMA_COMPLETE__INTC_PRIOR_NUM, 7 +.set NOR_TX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_2 +.set NOR_TX_DMA_COMPLETE__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 +.set NOR_TX_DMA_COMPLETE__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 + /* SCSI_Noise */ .set SCSI_Noise__0__AG, CYREG_PRT4_AG .set SCSI_Noise__0__AMUX, CYREG_PRT4_AMUX @@ -2697,8 +2711,8 @@ .set scsiTarget_StatusReg__0__POS, 0 .set scsiTarget_StatusReg__1__MASK, 0x02 .set scsiTarget_StatusReg__1__POS, 1 -.set scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB03_04_ACTL -.set scsiTarget_StatusReg__16BIT_STATUS_REG, CYREG_B0_UDB03_04_ST +.set scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB11_12_ACTL +.set scsiTarget_StatusReg__16BIT_STATUS_REG, CYREG_B0_UDB11_12_ST .set scsiTarget_StatusReg__2__MASK, 0x04 .set scsiTarget_StatusReg__2__POS, 2 .set scsiTarget_StatusReg__3__MASK, 0x08 @@ -2706,13 +2720,13 @@ .set scsiTarget_StatusReg__4__MASK, 0x10 .set scsiTarget_StatusReg__4__POS, 4 .set scsiTarget_StatusReg__MASK, 0x1F -.set scsiTarget_StatusReg__MASK_REG, CYREG_B0_UDB03_MSK -.set scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB03_MSK_ACTL -.set scsiTarget_StatusReg__PER_ST_AUX_CTL_REG, CYREG_B0_UDB03_MSK_ACTL -.set scsiTarget_StatusReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB03_ACTL -.set scsiTarget_StatusReg__STATUS_CNT_REG, CYREG_B0_UDB03_ST_CTL -.set scsiTarget_StatusReg__STATUS_CONTROL_REG, CYREG_B0_UDB03_ST_CTL -.set scsiTarget_StatusReg__STATUS_REG, CYREG_B0_UDB03_ST +.set scsiTarget_StatusReg__MASK_REG, CYREG_B0_UDB11_MSK +.set scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB11_MSK_ACTL +.set scsiTarget_StatusReg__PER_ST_AUX_CTL_REG, CYREG_B0_UDB11_MSK_ACTL +.set scsiTarget_StatusReg__STATUS_AUX_CTL_REG, CYREG_B0_UDB11_ACTL +.set scsiTarget_StatusReg__STATUS_CNT_REG, CYREG_B0_UDB11_ST_CTL +.set scsiTarget_StatusReg__STATUS_CONTROL_REG, CYREG_B0_UDB11_ST_CTL +.set scsiTarget_StatusReg__STATUS_REG, CYREG_B0_UDB11_ST /* Debug_Timer */ .set Debug_Timer_Interrupt__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 @@ -2742,41 +2756,41 @@ /* SCSI_RX_DMA */ .set SCSI_RX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL0 -.set SCSI_RX_DMA__DRQ_NUMBER, 0 +.set SCSI_RX_DMA__DRQ_NUMBER, 2 .set SCSI_RX_DMA__NUMBEROF_TDS, 0 .set SCSI_RX_DMA__PRIORITY, 2 .set SCSI_RX_DMA__TERMIN_EN, 0 .set SCSI_RX_DMA__TERMIN_SEL, 0 .set SCSI_RX_DMA__TERMOUT0_EN, 1 -.set SCSI_RX_DMA__TERMOUT0_SEL, 0 +.set SCSI_RX_DMA__TERMOUT0_SEL, 2 .set SCSI_RX_DMA__TERMOUT1_EN, 0 .set SCSI_RX_DMA__TERMOUT1_SEL, 0 .set SCSI_RX_DMA_COMPLETE__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set SCSI_RX_DMA_COMPLETE__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set SCSI_RX_DMA_COMPLETE__INTC_MASK, 0x04 -.set SCSI_RX_DMA_COMPLETE__INTC_NUMBER, 2 +.set SCSI_RX_DMA_COMPLETE__INTC_MASK, 0x10 +.set SCSI_RX_DMA_COMPLETE__INTC_NUMBER, 4 .set SCSI_RX_DMA_COMPLETE__INTC_PRIOR_NUM, 7 -.set SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_2 +.set SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_4 .set SCSI_RX_DMA_COMPLETE__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set SCSI_RX_DMA_COMPLETE__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 /* SCSI_TX_DMA */ .set SCSI_TX_DMA__DRQ_CTL, CYREG_IDMUX_DRQ_CTL0 -.set SCSI_TX_DMA__DRQ_NUMBER, 1 +.set SCSI_TX_DMA__DRQ_NUMBER, 3 .set SCSI_TX_DMA__NUMBEROF_TDS, 0 .set SCSI_TX_DMA__PRIORITY, 2 .set SCSI_TX_DMA__TERMIN_EN, 0 .set SCSI_TX_DMA__TERMIN_SEL, 0 .set SCSI_TX_DMA__TERMOUT0_EN, 1 -.set SCSI_TX_DMA__TERMOUT0_SEL, 1 +.set SCSI_TX_DMA__TERMOUT0_SEL, 3 .set SCSI_TX_DMA__TERMOUT1_EN, 0 .set SCSI_TX_DMA__TERMOUT1_SEL, 0 .set SCSI_TX_DMA_COMPLETE__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set SCSI_TX_DMA_COMPLETE__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set SCSI_TX_DMA_COMPLETE__INTC_MASK, 0x10 -.set SCSI_TX_DMA_COMPLETE__INTC_NUMBER, 4 +.set SCSI_TX_DMA_COMPLETE__INTC_MASK, 0x40 +.set SCSI_TX_DMA_COMPLETE__INTC_NUMBER, 6 .set SCSI_TX_DMA_COMPLETE__INTC_PRIOR_NUM, 7 -.set SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_4 +.set SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG, CYREG_NVIC_PRI_6 .set SCSI_TX_DMA_COMPLETE__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set SCSI_TX_DMA_COMPLETE__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 @@ -2805,20 +2819,20 @@ /* SCSI_RST_ISR */ .set SCSI_RST_ISR__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set SCSI_RST_ISR__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set SCSI_RST_ISR__INTC_MASK, 0x02 -.set SCSI_RST_ISR__INTC_NUMBER, 1 +.set SCSI_RST_ISR__INTC_MASK, 0x08 +.set SCSI_RST_ISR__INTC_NUMBER, 3 .set SCSI_RST_ISR__INTC_PRIOR_NUM, 7 -.set SCSI_RST_ISR__INTC_PRIOR_REG, CYREG_NVIC_PRI_1 +.set SCSI_RST_ISR__INTC_PRIOR_REG, CYREG_NVIC_PRI_3 .set SCSI_RST_ISR__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set SCSI_RST_ISR__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 /* SCSI_SEL_ISR */ .set SCSI_SEL_ISR__INTC_CLR_EN_REG, CYREG_NVIC_CLRENA0 .set SCSI_SEL_ISR__INTC_CLR_PD_REG, CYREG_NVIC_CLRPEND0 -.set SCSI_SEL_ISR__INTC_MASK, 0x08 -.set SCSI_SEL_ISR__INTC_NUMBER, 3 +.set SCSI_SEL_ISR__INTC_MASK, 0x20 +.set SCSI_SEL_ISR__INTC_NUMBER, 5 .set SCSI_SEL_ISR__INTC_PRIOR_NUM, 7 -.set SCSI_SEL_ISR__INTC_PRIOR_REG, CYREG_NVIC_PRI_3 +.set SCSI_SEL_ISR__INTC_PRIOR_REG, CYREG_NVIC_PRI_5 .set SCSI_SEL_ISR__INTC_SET_EN_REG, CYREG_NVIC_SETENA0 .set SCSI_SEL_ISR__INTC_SET_PD_REG, CYREG_NVIC_SETPEND0 @@ -2827,6 +2841,8 @@ .set SCSI_Filtered_sts_sts_reg__0__POS, 0 .set SCSI_Filtered_sts_sts_reg__1__MASK, 0x02 .set SCSI_Filtered_sts_sts_reg__1__POS, 1 +.set SCSI_Filtered_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB08_09_ACTL +.set SCSI_Filtered_sts_sts_reg__16BIT_STATUS_REG, CYREG_B0_UDB08_09_ST .set SCSI_Filtered_sts_sts_reg__2__MASK, 0x04 .set SCSI_Filtered_sts_sts_reg__2__POS, 2 .set SCSI_Filtered_sts_sts_reg__3__MASK, 0x08 @@ -2834,74 +2850,78 @@ .set SCSI_Filtered_sts_sts_reg__4__MASK, 0x10 .set SCSI_Filtered_sts_sts_reg__4__POS, 4 .set SCSI_Filtered_sts_sts_reg__MASK, 0x1F -.set SCSI_Filtered_sts_sts_reg__MASK_REG, CYREG_B0_UDB15_MSK -.set SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG, CYREG_B0_UDB15_ACTL -.set SCSI_Filtered_sts_sts_reg__STATUS_REG, CYREG_B0_UDB15_ST +.set SCSI_Filtered_sts_sts_reg__MASK_REG, CYREG_B0_UDB08_MSK +.set SCSI_Filtered_sts_sts_reg__MASK_ST_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL +.set SCSI_Filtered_sts_sts_reg__PER_ST_AUX_CTL_REG, CYREG_B0_UDB08_MSK_ACTL +.set SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG, CYREG_B0_UDB08_ACTL +.set SCSI_Filtered_sts_sts_reg__STATUS_CNT_REG, CYREG_B0_UDB08_ST_CTL +.set SCSI_Filtered_sts_sts_reg__STATUS_CONTROL_REG, CYREG_B0_UDB08_ST_CTL +.set SCSI_Filtered_sts_sts_reg__STATUS_REG, CYREG_B0_UDB08_ST /* 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__1__MASK, 0x02 .set SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS, 1 -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB12_13_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB12_13_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB12_13_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB12_13_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB12_13_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB12_13_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB12_13_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB12_13_MSK -.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB12_13_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB11_12_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB11_12_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB11_12_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB11_12_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB11_12_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB11_12_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB11_12_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB11_12_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB11_12_MSK .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_UDB12_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB12_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB12_ST_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB12_CTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB12_ST_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB11_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB11_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB11_ST_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB11_CTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB11_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_UDB12_MSK_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB12_MSK_ACTL -.set SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB12_MSK +.set SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB11_MSK_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB11_MSK_ACTL +.set SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB11_MSK /* SCSI_Glitch_Ctl */ .set SCSI_Glitch_Ctl_Sync_ctrl_reg__0__MASK, 0x01 .set SCSI_Glitch_Ctl_Sync_ctrl_reg__0__POS, 0 -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB13_14_ACTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB13_14_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB13_14_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB13_14_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB13_14_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB13_14_MSK -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB13_14_MSK -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB13_14_MSK -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB13_14_MSK -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB13_ACTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB13_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB13_ST_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB13_CTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB13_ST_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG, CYREG_B0_UDB10_11_ACTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG, CYREG_B0_UDB10_11_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG, CYREG_B0_UDB10_11_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG, CYREG_B0_UDB10_11_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG, CYREG_B0_UDB10_11_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG, CYREG_B0_UDB10_11_MSK +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG, CYREG_B0_UDB10_11_MSK +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG, CYREG_B0_UDB10_11_MSK +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG, CYREG_B0_UDB10_11_MSK +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG, CYREG_B0_UDB10_ACTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG, CYREG_B0_UDB10_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG, CYREG_B0_UDB10_ST_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG, CYREG_B0_UDB10_CTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG, CYREG_B0_UDB10_ST_CTL .set SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK, 0x01 -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB13_MSK_ACTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB13_MSK_ACTL -.set SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB13_MSK +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG, CYREG_B0_UDB10_MSK_ACTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG, CYREG_B0_UDB10_MSK_ACTL +.set SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG, CYREG_B0_UDB10_MSK /* SCSI_Parity_Error */ .set SCSI_Parity_Error_sts_sts_reg__0__MASK, 0x01 .set SCSI_Parity_Error_sts_sts_reg__0__POS, 0 -.set SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB11_12_ACTL -.set SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG, CYREG_B0_UDB11_12_ST +.set SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG, CYREG_B0_UDB09_10_ACTL +.set SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG, CYREG_B0_UDB09_10_ST .set SCSI_Parity_Error_sts_sts_reg__MASK, 0x01 -.set SCSI_Parity_Error_sts_sts_reg__MASK_REG, CYREG_B0_UDB11_MSK -.set SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG, CYREG_B0_UDB11_ACTL -.set SCSI_Parity_Error_sts_sts_reg__STATUS_REG, CYREG_B0_UDB11_ST +.set SCSI_Parity_Error_sts_sts_reg__MASK_REG, CYREG_B0_UDB09_MSK +.set SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG, CYREG_B0_UDB09_ACTL +.set SCSI_Parity_Error_sts_sts_reg__STATUS_REG, CYREG_B0_UDB09_ST /* Miscellaneous */ .set BCLK__BUS_CLK__HZ, 50000000 .set BCLK__BUS_CLK__KHZ, 50000 .set BCLK__BUS_CLK__MHZ, 50 .set CYDEV_CHIP_DIE_LEOPARD, 1 -.set CYDEV_CHIP_DIE_PSOC4A, 18 +.set CYDEV_CHIP_DIE_PSOC4A, 26 .set CYDEV_CHIP_DIE_PSOC5LP, 2 .set CYDEV_CHIP_DIE_PSOC5TM, 3 .set CYDEV_CHIP_DIE_TMA4, 4 @@ -2917,34 +2937,43 @@ .set CYDEV_CHIP_FAMILY_USED, CYDEV_CHIP_FAMILY_PSOC5 .set CYDEV_CHIP_JTAG_ID, 0x2E133069 .set CYDEV_CHIP_MEMBER_3A, 1 -.set CYDEV_CHIP_MEMBER_4A, 18 -.set CYDEV_CHIP_MEMBER_4D, 13 +.set CYDEV_CHIP_MEMBER_4A, 26 +.set CYDEV_CHIP_MEMBER_4AA, 25 +.set CYDEV_CHIP_MEMBER_4AB, 30 +.set CYDEV_CHIP_MEMBER_4AC, 14 +.set CYDEV_CHIP_MEMBER_4AD, 15 +.set CYDEV_CHIP_MEMBER_4AE, 16 +.set CYDEV_CHIP_MEMBER_4D, 20 .set CYDEV_CHIP_MEMBER_4E, 6 -.set CYDEV_CHIP_MEMBER_4F, 19 +.set CYDEV_CHIP_MEMBER_4F, 27 .set CYDEV_CHIP_MEMBER_4G, 4 -.set CYDEV_CHIP_MEMBER_4H, 17 -.set CYDEV_CHIP_MEMBER_4I, 23 -.set CYDEV_CHIP_MEMBER_4J, 14 -.set CYDEV_CHIP_MEMBER_4K, 15 -.set CYDEV_CHIP_MEMBER_4L, 22 -.set CYDEV_CHIP_MEMBER_4M, 21 -.set CYDEV_CHIP_MEMBER_4N, 10 -.set CYDEV_CHIP_MEMBER_4O, 7 -.set CYDEV_CHIP_MEMBER_4P, 20 -.set CYDEV_CHIP_MEMBER_4Q, 12 -.set CYDEV_CHIP_MEMBER_4R, 8 -.set CYDEV_CHIP_MEMBER_4S, 11 -.set CYDEV_CHIP_MEMBER_4T, 9 +.set CYDEV_CHIP_MEMBER_4H, 24 +.set CYDEV_CHIP_MEMBER_4I, 32 +.set CYDEV_CHIP_MEMBER_4J, 21 +.set CYDEV_CHIP_MEMBER_4K, 22 +.set CYDEV_CHIP_MEMBER_4L, 31 +.set CYDEV_CHIP_MEMBER_4M, 29 +.set CYDEV_CHIP_MEMBER_4N, 11 +.set CYDEV_CHIP_MEMBER_4O, 8 +.set CYDEV_CHIP_MEMBER_4P, 28 +.set CYDEV_CHIP_MEMBER_4Q, 17 +.set CYDEV_CHIP_MEMBER_4R, 9 +.set CYDEV_CHIP_MEMBER_4S, 12 +.set CYDEV_CHIP_MEMBER_4T, 10 .set CYDEV_CHIP_MEMBER_4U, 5 -.set CYDEV_CHIP_MEMBER_4V, 16 +.set CYDEV_CHIP_MEMBER_4V, 23 +.set CYDEV_CHIP_MEMBER_4W, 13 +.set CYDEV_CHIP_MEMBER_4X, 7 +.set CYDEV_CHIP_MEMBER_4Y, 18 +.set CYDEV_CHIP_MEMBER_4Z, 19 .set CYDEV_CHIP_MEMBER_5A, 3 .set CYDEV_CHIP_MEMBER_5B, 2 -.set CYDEV_CHIP_MEMBER_6A, 24 -.set CYDEV_CHIP_MEMBER_FM3, 28 -.set CYDEV_CHIP_MEMBER_FM4, 29 -.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1, 25 -.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2, 26 -.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3, 27 +.set CYDEV_CHIP_MEMBER_6A, 33 +.set CYDEV_CHIP_MEMBER_FM3, 37 +.set CYDEV_CHIP_MEMBER_FM4, 38 +.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1, 34 +.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2, 35 +.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3, 36 .set CYDEV_CHIP_MEMBER_UNKNOWN, 0 .set CYDEV_CHIP_MEMBER_USED, CYDEV_CHIP_MEMBER_5B .set CYDEV_CHIP_DIE_EXPECT, CYDEV_CHIP_MEMBER_USED @@ -2969,6 +2998,11 @@ .set CYDEV_CHIP_REVISION_3A_PRODUCTION, 3 .set CYDEV_CHIP_REVISION_4A_ES0, 17 .set CYDEV_CHIP_REVISION_4A_PRODUCTION, 17 +.set CYDEV_CHIP_REVISION_4AA_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AB_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AC_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AD_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AE_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4D_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD, 0 .set CYDEV_CHIP_REVISION_4E_PRODUCTION, 0 @@ -2993,6 +3027,10 @@ .set CYDEV_CHIP_REVISION_4T_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4U_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4V_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4W_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4X_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4Y_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4Z_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_5A_ES0, 0 .set CYDEV_CHIP_REVISION_5A_ES1, 1 .set CYDEV_CHIP_REVISION_5A_PRODUCTION, 1 @@ -3032,7 +3070,7 @@ .set CYDEV_ECC_ENABLE, 0 .set CYDEV_HEAP_SIZE, 0x0400 .set CYDEV_INSTRUCT_CACHE_ENABLED, 1 -.set CYDEV_INTR_RISING, 0x0000007F +.set CYDEV_INTR_RISING, 0x000001FF .set CYDEV_IS_EXPORTING_CODE, 0 .set CYDEV_IS_IMPORTING_CODE, 0 .set CYDEV_PROJ_TYPE, 2 @@ -3085,6 +3123,6 @@ .set CYIPBLOCK_S8_SAR_VERSION, 0 .set CYIPBLOCK_S8_SIO_VERSION, 0 .set CYIPBLOCK_S8_UDB_VERSION, 0 -.set DMA_CHANNELS_USED__MASK0, 0x0000000F +.set DMA_CHANNELS_USED__MASK0, 0x0000003F .set CYDEV_BOOTLOADER_ENABLE, 0 .endif diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc index 5442ef3..23043fc 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitteriar.inc @@ -1,13 +1,13 @@ ; ; File Name: cyfitteriar.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. @@ -191,34 +191,34 @@ USBFS_ep_0__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_0__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_1__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_1__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_1__INTC_MASK EQU 0x80 -USBFS_ep_1__INTC_NUMBER EQU 7 +USBFS_ep_1__INTC_MASK EQU 0x200 +USBFS_ep_1__INTC_NUMBER EQU 9 USBFS_ep_1__INTC_PRIOR_NUM EQU 7 -USBFS_ep_1__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_7 +USBFS_ep_1__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_9 USBFS_ep_1__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_1__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_2__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_2__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_2__INTC_MASK EQU 0x100 -USBFS_ep_2__INTC_NUMBER EQU 8 +USBFS_ep_2__INTC_MASK EQU 0x400 +USBFS_ep_2__INTC_NUMBER EQU 10 USBFS_ep_2__INTC_PRIOR_NUM EQU 7 -USBFS_ep_2__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_8 +USBFS_ep_2__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_10 USBFS_ep_2__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_2__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_3__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_3__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_3__INTC_MASK EQU 0x200 -USBFS_ep_3__INTC_NUMBER EQU 9 +USBFS_ep_3__INTC_MASK EQU 0x800 +USBFS_ep_3__INTC_NUMBER EQU 11 USBFS_ep_3__INTC_PRIOR_NUM EQU 7 -USBFS_ep_3__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_9 +USBFS_ep_3__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_11 USBFS_ep_3__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_3__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_4__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_4__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_4__INTC_MASK EQU 0x400 -USBFS_ep_4__INTC_NUMBER EQU 10 +USBFS_ep_4__INTC_MASK EQU 0x2000 +USBFS_ep_4__INTC_NUMBER EQU 13 USBFS_ep_4__INTC_PRIOR_NUM EQU 7 -USBFS_ep_4__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_10 +USBFS_ep_4__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_13 USBFS_ep_4__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_4__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_sof_int__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 @@ -423,32 +423,32 @@ NOR_SO__SHIFT EQU 2 NOR_SO__SLW EQU CYREG_PRT15_SLW /* SDCard */ -SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB05_06_ACTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB05_ACTL -SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B1_UDB05_CTL -SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B1_UDB05_CTL -SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B1_UDB05_MSK -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB05_06_ACTL -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B1_UDB05_06_ST -SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B1_UDB05_MSK -SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB05_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B1_UDB05_ST +SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL +SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B0_UDB04_CTL +SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B0_UDB04_CTL +SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B0_UDB04_MSK +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B0_UDB04_05_ST +SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B0_UDB04_MSK +SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B0_UDB04_ST SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB06_07_ST SDCard_BSPIM_RxStsReg__4__MASK EQU 0x10 @@ -459,11 +459,7 @@ 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_B1_UDB06_MSK -SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -SDCard_BSPIM_RxStsReg__STATUS_CNT_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG EQU CYREG_B1_UDB06_ST_CTL SDCard_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B1_UDB06_ST SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B1_UDB04_05_A0 SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B1_UDB04_05_A1 @@ -482,12 +478,12 @@ SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B1_UDB04_ACTL SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B1_UDB04_F0_F1 SDCard_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B1_UDB04_F0 SDCard_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B1_UDB04_F1 +SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL SDCard_BSPIM_TxStsReg__0__MASK EQU 0x01 SDCard_BSPIM_TxStsReg__0__POS EQU 0 SDCard_BSPIM_TxStsReg__1__MASK EQU 0x02 SDCard_BSPIM_TxStsReg__1__POS EQU 1 -SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_07_ACTL -SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG EQU CYREG_B0_UDB06_07_ST SDCard_BSPIM_TxStsReg__2__MASK EQU 0x04 SDCard_BSPIM_TxStsReg__2__POS EQU 2 SDCard_BSPIM_TxStsReg__3__MASK EQU 0x08 @@ -495,9 +491,9 @@ 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_B0_UDB06_MSK -SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_ACTL -SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B0_UDB06_ST +SDCard_BSPIM_TxStsReg__MASK_REG EQU CYREG_B1_UDB11_MSK +SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB11_ACTL +SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B1_UDB11_ST /* SD_SCK */ SD_SCK__0__INTTYPE EQU CYREG_PICU3_INTTYPE1 @@ -533,30 +529,6 @@ SD_SCK__PS EQU CYREG_PRT3_PS SD_SCK__SHIFT EQU 1 SD_SCK__SLW EQU CYREG_PRT3_SLW -/* NOR_CTL */ -NOR_CTL_Sync_ctrl_reg__0__MASK EQU 0x01 -NOR_CTL_Sync_ctrl_reg__0__POS EQU 0 -NOR_CTL_Sync_ctrl_reg__1__MASK EQU 0x02 -NOR_CTL_Sync_ctrl_reg__1__POS EQU 1 -NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL -NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -NOR_CTL_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B1_UDB06_CTL -NOR_CTL_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B1_UDB06_ST_CTL -NOR_CTL_Sync_ctrl_reg__COUNT_REG EQU CYREG_B1_UDB06_CTL -NOR_CTL_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B1_UDB06_ST_CTL -NOR_CTL_Sync_ctrl_reg__MASK EQU 0x03 -NOR_CTL_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -NOR_CTL_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -NOR_CTL_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B1_UDB06_MSK - /* NOR_SCK */ NOR_SCK__0__INTTYPE EQU CYREG_PICU3_INTTYPE7 NOR_SCK__0__MASK EQU 0x80 @@ -592,34 +564,34 @@ NOR_SCK__SHIFT EQU 7 NOR_SCK__SLW EQU CYREG_PRT3_SLW /* NOR_SPI */ -NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL -NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL -NOR_SPI_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B0_UDB08_CTL -NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter__COUNT_REG EQU CYREG_B0_UDB08_CTL -NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B0_UDB08_MSK -NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL -NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B0_UDB08_09_ST -NOR_SPI_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B0_UDB08_MSK -NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B0_UDB08_ST -NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB08_09_ACTL -NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB08_09_ST +NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB04_05_ACTL +NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB04_ACTL +NOR_SPI_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B1_UDB04_CTL +NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter__COUNT_REG EQU CYREG_B1_UDB04_CTL +NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B1_UDB04_MSK +NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB04_05_ACTL +NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B1_UDB04_05_ST +NOR_SPI_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B1_UDB04_MSK +NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB04_ACTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B1_UDB04_ST +NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_08_ACTL +NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB07_08_ST NOR_SPI_BSPIM_RxStsReg__4__MASK EQU 0x10 NOR_SPI_BSPIM_RxStsReg__4__POS EQU 4 NOR_SPI_BSPIM_RxStsReg__5__MASK EQU 0x20 @@ -627,9 +599,9 @@ NOR_SPI_BSPIM_RxStsReg__5__POS EQU 5 NOR_SPI_BSPIM_RxStsReg__6__MASK EQU 0x40 NOR_SPI_BSPIM_RxStsReg__6__POS EQU 6 NOR_SPI_BSPIM_RxStsReg__MASK EQU 0x70 -NOR_SPI_BSPIM_RxStsReg__MASK_REG EQU CYREG_B1_UDB08_MSK -NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB08_ACTL -NOR_SPI_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B1_UDB08_ST +NOR_SPI_BSPIM_RxStsReg__MASK_REG EQU CYREG_B1_UDB07_MSK +NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_ACTL +NOR_SPI_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B1_UDB07_ST NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B0_UDB04_05_A0 NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B0_UDB04_05_A1 NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_D0_REG EQU CYREG_B0_UDB04_05_D0 @@ -647,6 +619,8 @@ NOR_SPI_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL NOR_SPI_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B0_UDB04_F0_F1 NOR_SPI_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B0_UDB04_F0 NOR_SPI_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B0_UDB04_F1 +NOR_SPI_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +NOR_SPI_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL NOR_SPI_BSPIM_TxStsReg__0__MASK EQU 0x01 NOR_SPI_BSPIM_TxStsReg__0__POS EQU 0 NOR_SPI_BSPIM_TxStsReg__1__MASK EQU 0x02 @@ -1783,15 +1757,15 @@ SCSI_Out_Bits_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_Out_Bits_Sync_ctrl_reg__0__POS EQU 0 SCSI_Out_Bits_Sync_ctrl_reg__1__MASK EQU 0x02 SCSI_Out_Bits_Sync_ctrl_reg__1__POS EQU 1 -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB09_10_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB09_10_MSK -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB09_10_MSK -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB09_10_MSK -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB09_10_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB09_10_MSK SCSI_Out_Bits_Sync_ctrl_reg__2__MASK EQU 0x04 SCSI_Out_Bits_Sync_ctrl_reg__2__POS EQU 2 SCSI_Out_Bits_Sync_ctrl_reg__3__MASK EQU 0x08 @@ -1804,35 +1778,35 @@ SCSI_Out_Bits_Sync_ctrl_reg__6__MASK EQU 0x40 SCSI_Out_Bits_Sync_ctrl_reg__6__POS EQU 6 SCSI_Out_Bits_Sync_ctrl_reg__7__MASK EQU 0x80 SCSI_Out_Bits_Sync_ctrl_reg__7__POS EQU 7 -SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB09_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB09_CTL -SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB09_ST_CTL -SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB09_CTL -SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB09_ST_CTL +SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB09_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B1_UDB09_CTL +SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B1_UDB09_ST_CTL +SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG EQU CYREG_B1_UDB09_CTL +SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B1_UDB09_ST_CTL SCSI_Out_Bits_Sync_ctrl_reg__MASK EQU 0xFF -SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB09_MSK_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB09_MSK_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB09_MSK +SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB09_MSK_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB09_MSK_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B1_UDB09_MSK SCSI_Out_Ctl_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_Out_Ctl_Sync_ctrl_reg__0__POS EQU 0 -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB03_04_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB03_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB03_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB03_ST_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB03_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB03_ST_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB08_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB08_ST_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB08_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB08_ST_CTL SCSI_Out_Ctl_Sync_ctrl_reg__MASK EQU 0x01 -SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB03_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB08_MSK SCSI_Out_DBx__0__AG EQU CYREG_PRT6_AG SCSI_Out_DBx__0__AMUX EQU CYREG_PRT6_AMUX SCSI_Out_DBx__0__BIE EQU CYREG_PRT6_BIE @@ -2292,42 +2266,42 @@ NOR_Clock__PM_STBY_CFG EQU CYREG_PM_STBY_CFG2 NOR_Clock__PM_STBY_MSK EQU 0x01 /* SD_RX_DMA */ -SD_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SD_RX_DMA__DRQ_NUMBER EQU 2 +SD_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL1 +SD_RX_DMA__DRQ_NUMBER EQU 4 SD_RX_DMA__NUMBEROF_TDS EQU 0 SD_RX_DMA__PRIORITY EQU 0 SD_RX_DMA__TERMIN_EN EQU 0 SD_RX_DMA__TERMIN_SEL EQU 0 SD_RX_DMA__TERMOUT0_EN EQU 1 -SD_RX_DMA__TERMOUT0_SEL EQU 2 +SD_RX_DMA__TERMOUT0_SEL EQU 4 SD_RX_DMA__TERMOUT1_EN EQU 0 SD_RX_DMA__TERMOUT1_SEL EQU 0 SD_RX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SD_RX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SD_RX_DMA_COMPLETE__INTC_MASK EQU 0x20 -SD_RX_DMA_COMPLETE__INTC_NUMBER EQU 5 +SD_RX_DMA_COMPLETE__INTC_MASK EQU 0x80 +SD_RX_DMA_COMPLETE__INTC_NUMBER EQU 7 SD_RX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SD_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_5 +SD_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_7 SD_RX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SD_RX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 /* SD_TX_DMA */ -SD_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SD_TX_DMA__DRQ_NUMBER EQU 3 +SD_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL1 +SD_TX_DMA__DRQ_NUMBER EQU 5 SD_TX_DMA__NUMBEROF_TDS EQU 0 SD_TX_DMA__PRIORITY EQU 1 SD_TX_DMA__TERMIN_EN EQU 0 SD_TX_DMA__TERMIN_SEL EQU 0 SD_TX_DMA__TERMOUT0_EN EQU 1 -SD_TX_DMA__TERMOUT0_SEL EQU 3 +SD_TX_DMA__TERMOUT0_SEL EQU 5 SD_TX_DMA__TERMOUT1_EN EQU 0 SD_TX_DMA__TERMOUT1_SEL EQU 0 SD_TX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SD_TX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SD_TX_DMA_COMPLETE__INTC_MASK EQU 0x40 -SD_TX_DMA_COMPLETE__INTC_NUMBER EQU 6 +SD_TX_DMA_COMPLETE__INTC_MASK EQU 0x100 +SD_TX_DMA_COMPLETE__INTC_NUMBER EQU 8 SD_TX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SD_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_6 +SD_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_8 SD_TX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SD_TX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 @@ -2364,6 +2338,46 @@ nNOR_HOLD__SIO_HYST_EN EQU CYREG_PRT12_SIO_HYST_EN nNOR_HOLD__SIO_REG_HIFREQ EQU CYREG_PRT12_SIO_REG_HIFREQ nNOR_HOLD__SLW EQU CYREG_PRT12_SLW +/* NOR_RX_DMA */ +NOR_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 +NOR_RX_DMA__DRQ_NUMBER EQU 0 +NOR_RX_DMA__NUMBEROF_TDS EQU 0 +NOR_RX_DMA__PRIORITY EQU 2 +NOR_RX_DMA__TERMIN_EN EQU 0 +NOR_RX_DMA__TERMIN_SEL EQU 0 +NOR_RX_DMA__TERMOUT0_EN EQU 1 +NOR_RX_DMA__TERMOUT0_SEL EQU 0 +NOR_RX_DMA__TERMOUT1_EN EQU 0 +NOR_RX_DMA__TERMOUT1_SEL EQU 0 +NOR_RX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 +NOR_RX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 +NOR_RX_DMA_COMPLETE__INTC_MASK EQU 0x02 +NOR_RX_DMA_COMPLETE__INTC_NUMBER EQU 1 +NOR_RX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 +NOR_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_1 +NOR_RX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 +NOR_RX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 + +/* NOR_TX_DMA */ +NOR_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 +NOR_TX_DMA__DRQ_NUMBER EQU 1 +NOR_TX_DMA__NUMBEROF_TDS EQU 0 +NOR_TX_DMA__PRIORITY EQU 2 +NOR_TX_DMA__TERMIN_EN EQU 0 +NOR_TX_DMA__TERMIN_SEL EQU 0 +NOR_TX_DMA__TERMOUT0_EN EQU 1 +NOR_TX_DMA__TERMOUT0_SEL EQU 1 +NOR_TX_DMA__TERMOUT1_EN EQU 0 +NOR_TX_DMA__TERMOUT1_SEL EQU 0 +NOR_TX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 +NOR_TX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 +NOR_TX_DMA_COMPLETE__INTC_MASK EQU 0x04 +NOR_TX_DMA_COMPLETE__INTC_NUMBER EQU 2 +NOR_TX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 +NOR_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_2 +NOR_TX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 +NOR_TX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 + /* SCSI_Noise */ SCSI_Noise__0__AG EQU CYREG_PRT4_AG SCSI_Noise__0__AMUX EQU CYREG_PRT4_AMUX @@ -2696,8 +2710,8 @@ scsiTarget_StatusReg__0__MASK EQU 0x01 scsiTarget_StatusReg__0__POS EQU 0 scsiTarget_StatusReg__1__MASK EQU 0x02 scsiTarget_StatusReg__1__POS EQU 1 -scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB03_04_ACTL -scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB03_04_ST +scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_12_ACTL +scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB11_12_ST scsiTarget_StatusReg__2__MASK EQU 0x04 scsiTarget_StatusReg__2__POS EQU 2 scsiTarget_StatusReg__3__MASK EQU 0x08 @@ -2705,13 +2719,13 @@ 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_UDB03_MSK -scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -scsiTarget_StatusReg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB03_ACTL -scsiTarget_StatusReg__STATUS_CNT_REG EQU CYREG_B0_UDB03_ST_CTL -scsiTarget_StatusReg__STATUS_CONTROL_REG EQU CYREG_B0_UDB03_ST_CTL -scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB03_ST +scsiTarget_StatusReg__MASK_REG EQU CYREG_B0_UDB11_MSK +scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +scsiTarget_StatusReg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_ACTL +scsiTarget_StatusReg__STATUS_CNT_REG EQU CYREG_B0_UDB11_ST_CTL +scsiTarget_StatusReg__STATUS_CONTROL_REG EQU CYREG_B0_UDB11_ST_CTL +scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB11_ST /* Debug_Timer */ Debug_Timer_Interrupt__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 @@ -2741,41 +2755,41 @@ Debug_Timer_TimerHW__SR0 EQU CYREG_TMR0_SR0 /* SCSI_RX_DMA */ SCSI_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SCSI_RX_DMA__DRQ_NUMBER EQU 0 +SCSI_RX_DMA__DRQ_NUMBER EQU 2 SCSI_RX_DMA__NUMBEROF_TDS EQU 0 SCSI_RX_DMA__PRIORITY EQU 2 SCSI_RX_DMA__TERMIN_EN EQU 0 SCSI_RX_DMA__TERMIN_SEL EQU 0 SCSI_RX_DMA__TERMOUT0_EN EQU 1 -SCSI_RX_DMA__TERMOUT0_SEL EQU 0 +SCSI_RX_DMA__TERMOUT0_SEL EQU 2 SCSI_RX_DMA__TERMOUT1_EN EQU 0 SCSI_RX_DMA__TERMOUT1_SEL EQU 0 SCSI_RX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_RX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_RX_DMA_COMPLETE__INTC_MASK EQU 0x04 -SCSI_RX_DMA_COMPLETE__INTC_NUMBER EQU 2 +SCSI_RX_DMA_COMPLETE__INTC_MASK EQU 0x10 +SCSI_RX_DMA_COMPLETE__INTC_NUMBER EQU 4 SCSI_RX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_2 +SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_4 SCSI_RX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_RX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 /* SCSI_TX_DMA */ SCSI_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SCSI_TX_DMA__DRQ_NUMBER EQU 1 +SCSI_TX_DMA__DRQ_NUMBER EQU 3 SCSI_TX_DMA__NUMBEROF_TDS EQU 0 SCSI_TX_DMA__PRIORITY EQU 2 SCSI_TX_DMA__TERMIN_EN EQU 0 SCSI_TX_DMA__TERMIN_SEL EQU 0 SCSI_TX_DMA__TERMOUT0_EN EQU 1 -SCSI_TX_DMA__TERMOUT0_SEL EQU 1 +SCSI_TX_DMA__TERMOUT0_SEL EQU 3 SCSI_TX_DMA__TERMOUT1_EN EQU 0 SCSI_TX_DMA__TERMOUT1_SEL EQU 0 SCSI_TX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_TX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_TX_DMA_COMPLETE__INTC_MASK EQU 0x10 -SCSI_TX_DMA_COMPLETE__INTC_NUMBER EQU 4 +SCSI_TX_DMA_COMPLETE__INTC_MASK EQU 0x40 +SCSI_TX_DMA_COMPLETE__INTC_NUMBER EQU 6 SCSI_TX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_4 +SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_6 SCSI_TX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_TX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 @@ -2804,20 +2818,20 @@ timer_clock__PM_STBY_MSK EQU 0x08 /* SCSI_RST_ISR */ SCSI_RST_ISR__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_RST_ISR__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_RST_ISR__INTC_MASK EQU 0x02 -SCSI_RST_ISR__INTC_NUMBER EQU 1 +SCSI_RST_ISR__INTC_MASK EQU 0x08 +SCSI_RST_ISR__INTC_NUMBER EQU 3 SCSI_RST_ISR__INTC_PRIOR_NUM EQU 7 -SCSI_RST_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_1 +SCSI_RST_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_3 SCSI_RST_ISR__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_RST_ISR__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 /* SCSI_SEL_ISR */ SCSI_SEL_ISR__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_SEL_ISR__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_SEL_ISR__INTC_MASK EQU 0x08 -SCSI_SEL_ISR__INTC_NUMBER EQU 3 +SCSI_SEL_ISR__INTC_MASK EQU 0x20 +SCSI_SEL_ISR__INTC_NUMBER EQU 5 SCSI_SEL_ISR__INTC_PRIOR_NUM EQU 7 -SCSI_SEL_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_3 +SCSI_SEL_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_5 SCSI_SEL_ISR__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_SEL_ISR__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 @@ -2826,6 +2840,8 @@ SCSI_Filtered_sts_sts_reg__0__MASK EQU 0x01 SCSI_Filtered_sts_sts_reg__0__POS EQU 0 SCSI_Filtered_sts_sts_reg__1__MASK EQU 0x02 SCSI_Filtered_sts_sts_reg__1__POS EQU 1 +SCSI_Filtered_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL +SCSI_Filtered_sts_sts_reg__16BIT_STATUS_REG EQU CYREG_B0_UDB08_09_ST SCSI_Filtered_sts_sts_reg__2__MASK EQU 0x04 SCSI_Filtered_sts_sts_reg__2__POS EQU 2 SCSI_Filtered_sts_sts_reg__3__MASK EQU 0x08 @@ -2833,74 +2849,78 @@ SCSI_Filtered_sts_sts_reg__3__POS EQU 3 SCSI_Filtered_sts_sts_reg__4__MASK EQU 0x10 SCSI_Filtered_sts_sts_reg__4__POS EQU 4 SCSI_Filtered_sts_sts_reg__MASK EQU 0x1F -SCSI_Filtered_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB15_MSK -SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB15_ACTL -SCSI_Filtered_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB15_ST +SCSI_Filtered_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB08_MSK +SCSI_Filtered_sts_sts_reg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Filtered_sts_sts_reg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL +SCSI_Filtered_sts_sts_reg__STATUS_CNT_REG EQU CYREG_B0_UDB08_ST_CTL +SCSI_Filtered_sts_sts_reg__STATUS_CONTROL_REG EQU CYREG_B0_UDB08_ST_CTL +SCSI_Filtered_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB08_ST /* 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__1__MASK EQU 0x02 SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS EQU 1 -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB12_13_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB12_13_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB12_13_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB12_13_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB12_13_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB11_12_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB11_12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB11_12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB11_12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB11_12_MSK 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_UDB12_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB12_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB12_ST_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB12_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB12_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB11_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB11_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB11_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB11_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB11_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_UDB12_MSK_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB12_MSK_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB11_MSK /* SCSI_Glitch_Ctl */ SCSI_Glitch_Ctl_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_Glitch_Ctl_Sync_ctrl_reg__0__POS EQU 0 -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB13_14_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB13_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB13_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB13_ST_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB13_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB13_ST_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB10_11_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB10_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB10_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB10_ST_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB10_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB10_ST_CTL SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK EQU 0x01 -SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB13_MSK_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB13_MSK_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB13_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB10_MSK_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB10_MSK_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB10_MSK /* SCSI_Parity_Error */ SCSI_Parity_Error_sts_sts_reg__0__MASK EQU 0x01 SCSI_Parity_Error_sts_sts_reg__0__POS EQU 0 -SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_12_ACTL -SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG EQU CYREG_B0_UDB11_12_ST +SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB09_10_ACTL +SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG EQU CYREG_B0_UDB09_10_ST SCSI_Parity_Error_sts_sts_reg__MASK EQU 0x01 -SCSI_Parity_Error_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB11_MSK -SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_ACTL -SCSI_Parity_Error_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB11_ST +SCSI_Parity_Error_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB09_MSK +SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB09_ACTL +SCSI_Parity_Error_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB09_ST /* Miscellaneous */ BCLK__BUS_CLK__HZ EQU 50000000 BCLK__BUS_CLK__KHZ EQU 50000 BCLK__BUS_CLK__MHZ EQU 50 CYDEV_CHIP_DIE_LEOPARD EQU 1 -CYDEV_CHIP_DIE_PSOC4A EQU 18 +CYDEV_CHIP_DIE_PSOC4A EQU 26 CYDEV_CHIP_DIE_PSOC5LP EQU 2 CYDEV_CHIP_DIE_PSOC5TM EQU 3 CYDEV_CHIP_DIE_TMA4 EQU 4 @@ -2916,34 +2936,43 @@ CYDEV_CHIP_FAMILY_UNKNOWN EQU 0 CYDEV_CHIP_FAMILY_USED EQU CYDEV_CHIP_FAMILY_PSOC5 CYDEV_CHIP_JTAG_ID EQU 0x2E133069 CYDEV_CHIP_MEMBER_3A EQU 1 -CYDEV_CHIP_MEMBER_4A EQU 18 -CYDEV_CHIP_MEMBER_4D EQU 13 +CYDEV_CHIP_MEMBER_4A EQU 26 +CYDEV_CHIP_MEMBER_4AA EQU 25 +CYDEV_CHIP_MEMBER_4AB EQU 30 +CYDEV_CHIP_MEMBER_4AC EQU 14 +CYDEV_CHIP_MEMBER_4AD EQU 15 +CYDEV_CHIP_MEMBER_4AE EQU 16 +CYDEV_CHIP_MEMBER_4D EQU 20 CYDEV_CHIP_MEMBER_4E EQU 6 -CYDEV_CHIP_MEMBER_4F EQU 19 +CYDEV_CHIP_MEMBER_4F EQU 27 CYDEV_CHIP_MEMBER_4G EQU 4 -CYDEV_CHIP_MEMBER_4H EQU 17 -CYDEV_CHIP_MEMBER_4I EQU 23 -CYDEV_CHIP_MEMBER_4J EQU 14 -CYDEV_CHIP_MEMBER_4K EQU 15 -CYDEV_CHIP_MEMBER_4L EQU 22 -CYDEV_CHIP_MEMBER_4M EQU 21 -CYDEV_CHIP_MEMBER_4N EQU 10 -CYDEV_CHIP_MEMBER_4O EQU 7 -CYDEV_CHIP_MEMBER_4P EQU 20 -CYDEV_CHIP_MEMBER_4Q EQU 12 -CYDEV_CHIP_MEMBER_4R EQU 8 -CYDEV_CHIP_MEMBER_4S EQU 11 -CYDEV_CHIP_MEMBER_4T EQU 9 +CYDEV_CHIP_MEMBER_4H EQU 24 +CYDEV_CHIP_MEMBER_4I EQU 32 +CYDEV_CHIP_MEMBER_4J EQU 21 +CYDEV_CHIP_MEMBER_4K EQU 22 +CYDEV_CHIP_MEMBER_4L EQU 31 +CYDEV_CHIP_MEMBER_4M EQU 29 +CYDEV_CHIP_MEMBER_4N EQU 11 +CYDEV_CHIP_MEMBER_4O EQU 8 +CYDEV_CHIP_MEMBER_4P EQU 28 +CYDEV_CHIP_MEMBER_4Q EQU 17 +CYDEV_CHIP_MEMBER_4R EQU 9 +CYDEV_CHIP_MEMBER_4S EQU 12 +CYDEV_CHIP_MEMBER_4T EQU 10 CYDEV_CHIP_MEMBER_4U EQU 5 -CYDEV_CHIP_MEMBER_4V EQU 16 +CYDEV_CHIP_MEMBER_4V EQU 23 +CYDEV_CHIP_MEMBER_4W EQU 13 +CYDEV_CHIP_MEMBER_4X EQU 7 +CYDEV_CHIP_MEMBER_4Y EQU 18 +CYDEV_CHIP_MEMBER_4Z EQU 19 CYDEV_CHIP_MEMBER_5A EQU 3 CYDEV_CHIP_MEMBER_5B EQU 2 -CYDEV_CHIP_MEMBER_6A EQU 24 -CYDEV_CHIP_MEMBER_FM3 EQU 28 -CYDEV_CHIP_MEMBER_FM4 EQU 29 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 25 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 26 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 27 +CYDEV_CHIP_MEMBER_6A EQU 33 +CYDEV_CHIP_MEMBER_FM3 EQU 37 +CYDEV_CHIP_MEMBER_FM4 EQU 38 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 34 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 35 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 36 CYDEV_CHIP_MEMBER_UNKNOWN EQU 0 CYDEV_CHIP_MEMBER_USED EQU CYDEV_CHIP_MEMBER_5B CYDEV_CHIP_DIE_EXPECT EQU CYDEV_CHIP_MEMBER_USED @@ -2968,6 +2997,11 @@ CYDEV_CHIP_REVISION_3A_ES3 EQU 3 CYDEV_CHIP_REVISION_3A_PRODUCTION EQU 3 CYDEV_CHIP_REVISION_4A_ES0 EQU 17 CYDEV_CHIP_REVISION_4A_PRODUCTION EQU 17 +CYDEV_CHIP_REVISION_4AA_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AB_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AC_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AD_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AE_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4D_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD EQU 0 CYDEV_CHIP_REVISION_4E_PRODUCTION EQU 0 @@ -2992,6 +3026,10 @@ CYDEV_CHIP_REVISION_4S_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4T_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4U_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4V_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4W_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4X_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Y_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Z_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_5A_ES0 EQU 0 CYDEV_CHIP_REVISION_5A_ES1 EQU 1 CYDEV_CHIP_REVISION_5A_PRODUCTION EQU 1 @@ -3031,7 +3069,7 @@ CYDEV_DMA_CHANNELS_AVAILABLE EQU 24 CYDEV_ECC_ENABLE EQU 0 CYDEV_HEAP_SIZE EQU 0x0400 CYDEV_INSTRUCT_CACHE_ENABLED EQU 1 -CYDEV_INTR_RISING EQU 0x0000007F +CYDEV_INTR_RISING EQU 0x000001FF CYDEV_IS_EXPORTING_CODE EQU 0 CYDEV_IS_IMPORTING_CODE EQU 0 CYDEV_PROJ_TYPE EQU 2 @@ -3084,7 +3122,7 @@ CYIPBLOCK_S8_IRQ_VERSION EQU 0 CYIPBLOCK_S8_SAR_VERSION EQU 0 CYIPBLOCK_S8_SIO_VERSION EQU 0 CYIPBLOCK_S8_UDB_VERSION EQU 0 -DMA_CHANNELS_USED__MASK0 EQU 0x0000000F +DMA_CHANNELS_USED__MASK0 EQU 0x0000003F CYDEV_BOOTLOADER_ENABLE EQU 0 #endif /* INCLUDED_CYFITTERIAR_INC */ diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc index 5ddb795..8641b07 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cyfitterrv.inc @@ -1,13 +1,13 @@ ; ; File Name: cyfitterrv.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. @@ -191,34 +191,34 @@ USBFS_ep_0__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_0__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_1__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_1__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_1__INTC_MASK EQU 0x80 -USBFS_ep_1__INTC_NUMBER EQU 7 +USBFS_ep_1__INTC_MASK EQU 0x200 +USBFS_ep_1__INTC_NUMBER EQU 9 USBFS_ep_1__INTC_PRIOR_NUM EQU 7 -USBFS_ep_1__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_7 +USBFS_ep_1__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_9 USBFS_ep_1__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_1__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_2__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_2__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_2__INTC_MASK EQU 0x100 -USBFS_ep_2__INTC_NUMBER EQU 8 +USBFS_ep_2__INTC_MASK EQU 0x400 +USBFS_ep_2__INTC_NUMBER EQU 10 USBFS_ep_2__INTC_PRIOR_NUM EQU 7 -USBFS_ep_2__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_8 +USBFS_ep_2__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_10 USBFS_ep_2__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_2__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_3__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_3__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_3__INTC_MASK EQU 0x200 -USBFS_ep_3__INTC_NUMBER EQU 9 +USBFS_ep_3__INTC_MASK EQU 0x800 +USBFS_ep_3__INTC_NUMBER EQU 11 USBFS_ep_3__INTC_PRIOR_NUM EQU 7 -USBFS_ep_3__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_9 +USBFS_ep_3__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_11 USBFS_ep_3__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_3__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_ep_4__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 USBFS_ep_4__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -USBFS_ep_4__INTC_MASK EQU 0x400 -USBFS_ep_4__INTC_NUMBER EQU 10 +USBFS_ep_4__INTC_MASK EQU 0x2000 +USBFS_ep_4__INTC_NUMBER EQU 13 USBFS_ep_4__INTC_PRIOR_NUM EQU 7 -USBFS_ep_4__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_10 +USBFS_ep_4__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_13 USBFS_ep_4__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 USBFS_ep_4__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 USBFS_sof_int__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 @@ -423,32 +423,32 @@ NOR_SO__SHIFT EQU 2 NOR_SO__SLW EQU CYREG_PRT15_SLW ; SDCard -SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB05_06_ACTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB05_06_CTL -SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB05_06_MSK -SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB05_ACTL -SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B1_UDB05_CTL -SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B1_UDB05_CTL -SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B1_UDB05_MSK -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB05_06_ACTL -SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B1_UDB05_06_ST -SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B1_UDB05_MSK -SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB05_MSK_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB05_ACTL -SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B1_UDB05_ST_CTL -SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B1_UDB05_ST +SDCard_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB04_05_CTL +SDCard_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB04_05_MSK +SDCard_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL +SDCard_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B0_UDB04_CTL +SDCard_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter__COUNT_REG EQU CYREG_B0_UDB04_CTL +SDCard_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B0_UDB04_MSK +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_05_ACTL +SDCard_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B0_UDB04_05_ST +SDCard_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B0_UDB04_MSK +SDCard_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL +SDCard_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B0_UDB04_ST_CTL +SDCard_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B0_UDB04_ST SDCard_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL SDCard_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB06_07_ST SDCard_BSPIM_RxStsReg__4__MASK EQU 0x10 @@ -459,11 +459,7 @@ 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_B1_UDB06_MSK -SDCard_BSPIM_RxStsReg__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -SDCard_BSPIM_RxStsReg__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL SDCard_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -SDCard_BSPIM_RxStsReg__STATUS_CNT_REG EQU CYREG_B1_UDB06_ST_CTL -SDCard_BSPIM_RxStsReg__STATUS_CONTROL_REG EQU CYREG_B1_UDB06_ST_CTL SDCard_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B1_UDB06_ST SDCard_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B1_UDB04_05_A0 SDCard_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B1_UDB04_05_A1 @@ -482,12 +478,12 @@ SDCard_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B1_UDB04_ACTL SDCard_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B1_UDB04_F0_F1 SDCard_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B1_UDB04_F0 SDCard_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B1_UDB04_F1 +SDCard_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +SDCard_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL SDCard_BSPIM_TxStsReg__0__MASK EQU 0x01 SDCard_BSPIM_TxStsReg__0__POS EQU 0 SDCard_BSPIM_TxStsReg__1__MASK EQU 0x02 SDCard_BSPIM_TxStsReg__1__POS EQU 1 -SDCard_BSPIM_TxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_07_ACTL -SDCard_BSPIM_TxStsReg__16BIT_STATUS_REG EQU CYREG_B0_UDB06_07_ST SDCard_BSPIM_TxStsReg__2__MASK EQU 0x04 SDCard_BSPIM_TxStsReg__2__POS EQU 2 SDCard_BSPIM_TxStsReg__3__MASK EQU 0x08 @@ -495,9 +491,9 @@ 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_B0_UDB06_MSK -SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB06_ACTL -SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B0_UDB06_ST +SDCard_BSPIM_TxStsReg__MASK_REG EQU CYREG_B1_UDB11_MSK +SDCard_BSPIM_TxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB11_ACTL +SDCard_BSPIM_TxStsReg__STATUS_REG EQU CYREG_B1_UDB11_ST ; SD_SCK SD_SCK__0__INTTYPE EQU CYREG_PICU3_INTTYPE1 @@ -533,30 +529,6 @@ SD_SCK__PS EQU CYREG_PRT3_PS SD_SCK__SHIFT EQU 1 SD_SCK__SLW EQU CYREG_PRT3_SLW -; NOR_CTL -NOR_CTL_Sync_ctrl_reg__0__MASK EQU 0x01 -NOR_CTL_Sync_ctrl_reg__0__POS EQU 0 -NOR_CTL_Sync_ctrl_reg__1__MASK EQU 0x02 -NOR_CTL_Sync_ctrl_reg__1__POS EQU 1 -NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_07_ACTL -NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB06_07_CTL -NOR_CTL_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB06_07_MSK -NOR_CTL_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB06_ACTL -NOR_CTL_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B1_UDB06_CTL -NOR_CTL_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B1_UDB06_ST_CTL -NOR_CTL_Sync_ctrl_reg__COUNT_REG EQU CYREG_B1_UDB06_CTL -NOR_CTL_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B1_UDB06_ST_CTL -NOR_CTL_Sync_ctrl_reg__MASK EQU 0x03 -NOR_CTL_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -NOR_CTL_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB06_MSK_ACTL -NOR_CTL_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B1_UDB06_MSK - ; NOR_SCK NOR_SCK__0__INTTYPE EQU CYREG_PICU3_INTTYPE7 NOR_SCK__0__MASK EQU 0x80 @@ -592,34 +564,34 @@ NOR_SCK__SHIFT EQU 7 NOR_SCK__SLW EQU CYREG_PRT3_SLW ; NOR_SPI -NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL -NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB08_09_CTL -NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK -NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL -NOR_SPI_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B0_UDB08_CTL -NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter__COUNT_REG EQU CYREG_B0_UDB08_CTL -NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B0_UDB08_MSK -NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL -NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B0_UDB08_09_ST -NOR_SPI_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B0_UDB08_MSK -NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B0_UDB08_ST_CTL -NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B0_UDB08_ST -NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB08_09_ACTL -NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB08_09_ST +NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB04_05_ACTL +NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB04_05_CTL +NOR_SPI_BSPIM_BitCounter__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB04_05_MSK +NOR_SPI_BSPIM_BitCounter__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB04_ACTL +NOR_SPI_BSPIM_BitCounter__CONTROL_REG EQU CYREG_B1_UDB04_CTL +NOR_SPI_BSPIM_BitCounter__CONTROL_ST_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter__COUNT_REG EQU CYREG_B1_UDB04_CTL +NOR_SPI_BSPIM_BitCounter__COUNT_ST_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter__PERIOD_REG EQU CYREG_B1_UDB04_MSK +NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB04_05_ACTL +NOR_SPI_BSPIM_BitCounter_ST__16BIT_STATUS_REG EQU CYREG_B1_UDB04_05_ST +NOR_SPI_BSPIM_BitCounter_ST__MASK_REG EQU CYREG_B1_UDB04_MSK +NOR_SPI_BSPIM_BitCounter_ST__MASK_ST_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter_ST__PER_ST_AUX_CTL_REG EQU CYREG_B1_UDB04_MSK_ACTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB04_ACTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_CNT_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_CONTROL_REG EQU CYREG_B1_UDB04_ST_CTL +NOR_SPI_BSPIM_BitCounter_ST__STATUS_REG EQU CYREG_B1_UDB04_ST +NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_08_ACTL +NOR_SPI_BSPIM_RxStsReg__16BIT_STATUS_REG EQU CYREG_B1_UDB07_08_ST NOR_SPI_BSPIM_RxStsReg__4__MASK EQU 0x10 NOR_SPI_BSPIM_RxStsReg__4__POS EQU 4 NOR_SPI_BSPIM_RxStsReg__5__MASK EQU 0x20 @@ -627,9 +599,9 @@ NOR_SPI_BSPIM_RxStsReg__5__POS EQU 5 NOR_SPI_BSPIM_RxStsReg__6__MASK EQU 0x40 NOR_SPI_BSPIM_RxStsReg__6__POS EQU 6 NOR_SPI_BSPIM_RxStsReg__MASK EQU 0x70 -NOR_SPI_BSPIM_RxStsReg__MASK_REG EQU CYREG_B1_UDB08_MSK -NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB08_ACTL -NOR_SPI_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B1_UDB08_ST +NOR_SPI_BSPIM_RxStsReg__MASK_REG EQU CYREG_B1_UDB07_MSK +NOR_SPI_BSPIM_RxStsReg__STATUS_AUX_CTL_REG EQU CYREG_B1_UDB07_ACTL +NOR_SPI_BSPIM_RxStsReg__STATUS_REG EQU CYREG_B1_UDB07_ST NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A0_REG EQU CYREG_B0_UDB04_05_A0 NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_A1_REG EQU CYREG_B0_UDB04_05_A1 NOR_SPI_BSPIM_sR8_Dp_u0__16BIT_D0_REG EQU CYREG_B0_UDB04_05_D0 @@ -647,6 +619,8 @@ NOR_SPI_BSPIM_sR8_Dp_u0__DP_AUX_CTL_REG EQU CYREG_B0_UDB04_ACTL NOR_SPI_BSPIM_sR8_Dp_u0__F0_F1_REG EQU CYREG_B0_UDB04_F0_F1 NOR_SPI_BSPIM_sR8_Dp_u0__F0_REG EQU CYREG_B0_UDB04_F0 NOR_SPI_BSPIM_sR8_Dp_u0__F1_REG EQU CYREG_B0_UDB04_F1 +NOR_SPI_BSPIM_sR8_Dp_u0__MSK_DP_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL +NOR_SPI_BSPIM_sR8_Dp_u0__PER_DP_AUX_CTL_REG EQU CYREG_B0_UDB04_MSK_ACTL NOR_SPI_BSPIM_TxStsReg__0__MASK EQU 0x01 NOR_SPI_BSPIM_TxStsReg__0__POS EQU 0 NOR_SPI_BSPIM_TxStsReg__1__MASK EQU 0x02 @@ -1783,15 +1757,15 @@ SCSI_Out_Bits_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_Out_Bits_Sync_ctrl_reg__0__POS EQU 0 SCSI_Out_Bits_Sync_ctrl_reg__1__MASK EQU 0x02 SCSI_Out_Bits_Sync_ctrl_reg__1__POS EQU 1 -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB09_10_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB09_10_CTL -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB09_10_MSK -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB09_10_MSK -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB09_10_MSK -SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB09_10_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B1_UDB09_10_CTL +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B1_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B1_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B1_UDB09_10_MSK +SCSI_Out_Bits_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B1_UDB09_10_MSK SCSI_Out_Bits_Sync_ctrl_reg__2__MASK EQU 0x04 SCSI_Out_Bits_Sync_ctrl_reg__2__POS EQU 2 SCSI_Out_Bits_Sync_ctrl_reg__3__MASK EQU 0x08 @@ -1804,35 +1778,35 @@ SCSI_Out_Bits_Sync_ctrl_reg__6__MASK EQU 0x40 SCSI_Out_Bits_Sync_ctrl_reg__6__POS EQU 6 SCSI_Out_Bits_Sync_ctrl_reg__7__MASK EQU 0x80 SCSI_Out_Bits_Sync_ctrl_reg__7__POS EQU 7 -SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB09_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB09_CTL -SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB09_ST_CTL -SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB09_CTL -SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB09_ST_CTL +SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B1_UDB09_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B1_UDB09_CTL +SCSI_Out_Bits_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B1_UDB09_ST_CTL +SCSI_Out_Bits_Sync_ctrl_reg__COUNT_REG EQU CYREG_B1_UDB09_CTL +SCSI_Out_Bits_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B1_UDB09_ST_CTL SCSI_Out_Bits_Sync_ctrl_reg__MASK EQU 0xFF -SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB09_MSK_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB09_MSK_ACTL -SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB09_MSK +SCSI_Out_Bits_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B1_UDB09_MSK_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B1_UDB09_MSK_ACTL +SCSI_Out_Bits_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B1_UDB09_MSK SCSI_Out_Ctl_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_Out_Ctl_Sync_ctrl_reg__0__POS EQU 0 -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB03_04_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB03_04_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB03_04_MSK -SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB03_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB03_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB03_ST_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB03_CTL -SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB03_ST_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB08_09_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB08_09_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB08_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB08_ST_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB08_CTL +SCSI_Out_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB08_ST_CTL SCSI_Out_Ctl_Sync_ctrl_reg__MASK EQU 0x01 -SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB03_MSK +SCSI_Out_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Out_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB08_MSK SCSI_Out_DBx__0__AG EQU CYREG_PRT6_AG SCSI_Out_DBx__0__AMUX EQU CYREG_PRT6_AMUX SCSI_Out_DBx__0__BIE EQU CYREG_PRT6_BIE @@ -2292,42 +2266,42 @@ NOR_Clock__PM_STBY_CFG EQU CYREG_PM_STBY_CFG2 NOR_Clock__PM_STBY_MSK EQU 0x01 ; SD_RX_DMA -SD_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SD_RX_DMA__DRQ_NUMBER EQU 2 +SD_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL1 +SD_RX_DMA__DRQ_NUMBER EQU 4 SD_RX_DMA__NUMBEROF_TDS EQU 0 SD_RX_DMA__PRIORITY EQU 0 SD_RX_DMA__TERMIN_EN EQU 0 SD_RX_DMA__TERMIN_SEL EQU 0 SD_RX_DMA__TERMOUT0_EN EQU 1 -SD_RX_DMA__TERMOUT0_SEL EQU 2 +SD_RX_DMA__TERMOUT0_SEL EQU 4 SD_RX_DMA__TERMOUT1_EN EQU 0 SD_RX_DMA__TERMOUT1_SEL EQU 0 SD_RX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SD_RX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SD_RX_DMA_COMPLETE__INTC_MASK EQU 0x20 -SD_RX_DMA_COMPLETE__INTC_NUMBER EQU 5 +SD_RX_DMA_COMPLETE__INTC_MASK EQU 0x80 +SD_RX_DMA_COMPLETE__INTC_NUMBER EQU 7 SD_RX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SD_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_5 +SD_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_7 SD_RX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SD_RX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 ; SD_TX_DMA -SD_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SD_TX_DMA__DRQ_NUMBER EQU 3 +SD_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL1 +SD_TX_DMA__DRQ_NUMBER EQU 5 SD_TX_DMA__NUMBEROF_TDS EQU 0 SD_TX_DMA__PRIORITY EQU 1 SD_TX_DMA__TERMIN_EN EQU 0 SD_TX_DMA__TERMIN_SEL EQU 0 SD_TX_DMA__TERMOUT0_EN EQU 1 -SD_TX_DMA__TERMOUT0_SEL EQU 3 +SD_TX_DMA__TERMOUT0_SEL EQU 5 SD_TX_DMA__TERMOUT1_EN EQU 0 SD_TX_DMA__TERMOUT1_SEL EQU 0 SD_TX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SD_TX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SD_TX_DMA_COMPLETE__INTC_MASK EQU 0x40 -SD_TX_DMA_COMPLETE__INTC_NUMBER EQU 6 +SD_TX_DMA_COMPLETE__INTC_MASK EQU 0x100 +SD_TX_DMA_COMPLETE__INTC_NUMBER EQU 8 SD_TX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SD_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_6 +SD_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_8 SD_TX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SD_TX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 @@ -2364,6 +2338,46 @@ nNOR_HOLD__SIO_HYST_EN EQU CYREG_PRT12_SIO_HYST_EN nNOR_HOLD__SIO_REG_HIFREQ EQU CYREG_PRT12_SIO_REG_HIFREQ nNOR_HOLD__SLW EQU CYREG_PRT12_SLW +; NOR_RX_DMA +NOR_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 +NOR_RX_DMA__DRQ_NUMBER EQU 0 +NOR_RX_DMA__NUMBEROF_TDS EQU 0 +NOR_RX_DMA__PRIORITY EQU 2 +NOR_RX_DMA__TERMIN_EN EQU 0 +NOR_RX_DMA__TERMIN_SEL EQU 0 +NOR_RX_DMA__TERMOUT0_EN EQU 1 +NOR_RX_DMA__TERMOUT0_SEL EQU 0 +NOR_RX_DMA__TERMOUT1_EN EQU 0 +NOR_RX_DMA__TERMOUT1_SEL EQU 0 +NOR_RX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 +NOR_RX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 +NOR_RX_DMA_COMPLETE__INTC_MASK EQU 0x02 +NOR_RX_DMA_COMPLETE__INTC_NUMBER EQU 1 +NOR_RX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 +NOR_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_1 +NOR_RX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 +NOR_RX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 + +; NOR_TX_DMA +NOR_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 +NOR_TX_DMA__DRQ_NUMBER EQU 1 +NOR_TX_DMA__NUMBEROF_TDS EQU 0 +NOR_TX_DMA__PRIORITY EQU 2 +NOR_TX_DMA__TERMIN_EN EQU 0 +NOR_TX_DMA__TERMIN_SEL EQU 0 +NOR_TX_DMA__TERMOUT0_EN EQU 1 +NOR_TX_DMA__TERMOUT0_SEL EQU 1 +NOR_TX_DMA__TERMOUT1_EN EQU 0 +NOR_TX_DMA__TERMOUT1_SEL EQU 0 +NOR_TX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 +NOR_TX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 +NOR_TX_DMA_COMPLETE__INTC_MASK EQU 0x04 +NOR_TX_DMA_COMPLETE__INTC_NUMBER EQU 2 +NOR_TX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 +NOR_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_2 +NOR_TX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 +NOR_TX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 + ; SCSI_Noise SCSI_Noise__0__AG EQU CYREG_PRT4_AG SCSI_Noise__0__AMUX EQU CYREG_PRT4_AMUX @@ -2696,8 +2710,8 @@ scsiTarget_StatusReg__0__MASK EQU 0x01 scsiTarget_StatusReg__0__POS EQU 0 scsiTarget_StatusReg__1__MASK EQU 0x02 scsiTarget_StatusReg__1__POS EQU 1 -scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB03_04_ACTL -scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB03_04_ST +scsiTarget_StatusReg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_12_ACTL +scsiTarget_StatusReg__16BIT_STATUS_REG EQU CYREG_B0_UDB11_12_ST scsiTarget_StatusReg__2__MASK EQU 0x04 scsiTarget_StatusReg__2__POS EQU 2 scsiTarget_StatusReg__3__MASK EQU 0x08 @@ -2705,13 +2719,13 @@ 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_UDB03_MSK -scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -scsiTarget_StatusReg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB03_MSK_ACTL -scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB03_ACTL -scsiTarget_StatusReg__STATUS_CNT_REG EQU CYREG_B0_UDB03_ST_CTL -scsiTarget_StatusReg__STATUS_CONTROL_REG EQU CYREG_B0_UDB03_ST_CTL -scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB03_ST +scsiTarget_StatusReg__MASK_REG EQU CYREG_B0_UDB11_MSK +scsiTarget_StatusReg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +scsiTarget_StatusReg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +scsiTarget_StatusReg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_ACTL +scsiTarget_StatusReg__STATUS_CNT_REG EQU CYREG_B0_UDB11_ST_CTL +scsiTarget_StatusReg__STATUS_CONTROL_REG EQU CYREG_B0_UDB11_ST_CTL +scsiTarget_StatusReg__STATUS_REG EQU CYREG_B0_UDB11_ST ; Debug_Timer Debug_Timer_Interrupt__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 @@ -2741,41 +2755,41 @@ Debug_Timer_TimerHW__SR0 EQU CYREG_TMR0_SR0 ; SCSI_RX_DMA SCSI_RX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SCSI_RX_DMA__DRQ_NUMBER EQU 0 +SCSI_RX_DMA__DRQ_NUMBER EQU 2 SCSI_RX_DMA__NUMBEROF_TDS EQU 0 SCSI_RX_DMA__PRIORITY EQU 2 SCSI_RX_DMA__TERMIN_EN EQU 0 SCSI_RX_DMA__TERMIN_SEL EQU 0 SCSI_RX_DMA__TERMOUT0_EN EQU 1 -SCSI_RX_DMA__TERMOUT0_SEL EQU 0 +SCSI_RX_DMA__TERMOUT0_SEL EQU 2 SCSI_RX_DMA__TERMOUT1_EN EQU 0 SCSI_RX_DMA__TERMOUT1_SEL EQU 0 SCSI_RX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_RX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_RX_DMA_COMPLETE__INTC_MASK EQU 0x04 -SCSI_RX_DMA_COMPLETE__INTC_NUMBER EQU 2 +SCSI_RX_DMA_COMPLETE__INTC_MASK EQU 0x10 +SCSI_RX_DMA_COMPLETE__INTC_NUMBER EQU 4 SCSI_RX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_2 +SCSI_RX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_4 SCSI_RX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_RX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 ; SCSI_TX_DMA SCSI_TX_DMA__DRQ_CTL EQU CYREG_IDMUX_DRQ_CTL0 -SCSI_TX_DMA__DRQ_NUMBER EQU 1 +SCSI_TX_DMA__DRQ_NUMBER EQU 3 SCSI_TX_DMA__NUMBEROF_TDS EQU 0 SCSI_TX_DMA__PRIORITY EQU 2 SCSI_TX_DMA__TERMIN_EN EQU 0 SCSI_TX_DMA__TERMIN_SEL EQU 0 SCSI_TX_DMA__TERMOUT0_EN EQU 1 -SCSI_TX_DMA__TERMOUT0_SEL EQU 1 +SCSI_TX_DMA__TERMOUT0_SEL EQU 3 SCSI_TX_DMA__TERMOUT1_EN EQU 0 SCSI_TX_DMA__TERMOUT1_SEL EQU 0 SCSI_TX_DMA_COMPLETE__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_TX_DMA_COMPLETE__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_TX_DMA_COMPLETE__INTC_MASK EQU 0x10 -SCSI_TX_DMA_COMPLETE__INTC_NUMBER EQU 4 +SCSI_TX_DMA_COMPLETE__INTC_MASK EQU 0x40 +SCSI_TX_DMA_COMPLETE__INTC_NUMBER EQU 6 SCSI_TX_DMA_COMPLETE__INTC_PRIOR_NUM EQU 7 -SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_4 +SCSI_TX_DMA_COMPLETE__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_6 SCSI_TX_DMA_COMPLETE__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_TX_DMA_COMPLETE__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 @@ -2804,20 +2818,20 @@ timer_clock__PM_STBY_MSK EQU 0x08 ; SCSI_RST_ISR SCSI_RST_ISR__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_RST_ISR__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_RST_ISR__INTC_MASK EQU 0x02 -SCSI_RST_ISR__INTC_NUMBER EQU 1 +SCSI_RST_ISR__INTC_MASK EQU 0x08 +SCSI_RST_ISR__INTC_NUMBER EQU 3 SCSI_RST_ISR__INTC_PRIOR_NUM EQU 7 -SCSI_RST_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_1 +SCSI_RST_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_3 SCSI_RST_ISR__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_RST_ISR__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 ; SCSI_SEL_ISR SCSI_SEL_ISR__INTC_CLR_EN_REG EQU CYREG_NVIC_CLRENA0 SCSI_SEL_ISR__INTC_CLR_PD_REG EQU CYREG_NVIC_CLRPEND0 -SCSI_SEL_ISR__INTC_MASK EQU 0x08 -SCSI_SEL_ISR__INTC_NUMBER EQU 3 +SCSI_SEL_ISR__INTC_MASK EQU 0x20 +SCSI_SEL_ISR__INTC_NUMBER EQU 5 SCSI_SEL_ISR__INTC_PRIOR_NUM EQU 7 -SCSI_SEL_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_3 +SCSI_SEL_ISR__INTC_PRIOR_REG EQU CYREG_NVIC_PRI_5 SCSI_SEL_ISR__INTC_SET_EN_REG EQU CYREG_NVIC_SETENA0 SCSI_SEL_ISR__INTC_SET_PD_REG EQU CYREG_NVIC_SETPEND0 @@ -2826,6 +2840,8 @@ SCSI_Filtered_sts_sts_reg__0__MASK EQU 0x01 SCSI_Filtered_sts_sts_reg__0__POS EQU 0 SCSI_Filtered_sts_sts_reg__1__MASK EQU 0x02 SCSI_Filtered_sts_sts_reg__1__POS EQU 1 +SCSI_Filtered_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_09_ACTL +SCSI_Filtered_sts_sts_reg__16BIT_STATUS_REG EQU CYREG_B0_UDB08_09_ST SCSI_Filtered_sts_sts_reg__2__MASK EQU 0x04 SCSI_Filtered_sts_sts_reg__2__POS EQU 2 SCSI_Filtered_sts_sts_reg__3__MASK EQU 0x08 @@ -2833,74 +2849,78 @@ SCSI_Filtered_sts_sts_reg__3__POS EQU 3 SCSI_Filtered_sts_sts_reg__4__MASK EQU 0x10 SCSI_Filtered_sts_sts_reg__4__POS EQU 4 SCSI_Filtered_sts_sts_reg__MASK EQU 0x1F -SCSI_Filtered_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB15_MSK -SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB15_ACTL -SCSI_Filtered_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB15_ST +SCSI_Filtered_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB08_MSK +SCSI_Filtered_sts_sts_reg__MASK_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Filtered_sts_sts_reg__PER_ST_AUX_CTL_REG EQU CYREG_B0_UDB08_MSK_ACTL +SCSI_Filtered_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB08_ACTL +SCSI_Filtered_sts_sts_reg__STATUS_CNT_REG EQU CYREG_B0_UDB08_ST_CTL +SCSI_Filtered_sts_sts_reg__STATUS_CONTROL_REG EQU CYREG_B0_UDB08_ST_CTL +SCSI_Filtered_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB08_ST ; 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__1__MASK EQU 0x02 SCSI_CTL_PHASE_Sync_ctrl_reg__1__POS EQU 1 -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB12_13_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB12_13_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB12_13_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB12_13_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB12_13_MSK -SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB12_13_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB11_12_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB11_12_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB11_12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB11_12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB11_12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB11_12_MSK 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_UDB12_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB12_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB12_ST_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB12_CTL -SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB12_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB11_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB11_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB11_ST_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB11_CTL +SCSI_CTL_PHASE_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB11_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_UDB12_MSK_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB12_MSK_ACTL -SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB12_MSK +SCSI_CTL_PHASE_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB11_MSK_ACTL +SCSI_CTL_PHASE_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB11_MSK ; SCSI_Glitch_Ctl SCSI_Glitch_Ctl_Sync_ctrl_reg__0__MASK EQU 0x01 SCSI_Glitch_Ctl_Sync_ctrl_reg__0__POS EQU 0 -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB13_14_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB13_14_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB13_14_MSK -SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB13_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB13_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB13_ST_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB13_CTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB13_ST_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB10_11_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_CONTROL_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_CONTROL_COUNT_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_CONTROL_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_COUNT_COUNT_REG EQU CYREG_B0_UDB10_11_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_MASK_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_MASK_PERIOD_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_MASK_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__16BIT_PERIOD_PERIOD_REG EQU CYREG_B0_UDB10_11_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_AUX_CTL_REG EQU CYREG_B0_UDB10_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_REG EQU CYREG_B0_UDB10_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__CONTROL_ST_REG EQU CYREG_B0_UDB10_ST_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_REG EQU CYREG_B0_UDB10_CTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__COUNT_ST_REG EQU CYREG_B0_UDB10_ST_CTL SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK EQU 0x01 -SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB13_MSK_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB13_MSK_ACTL -SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB13_MSK +SCSI_Glitch_Ctl_Sync_ctrl_reg__MASK_CTL_AUX_CTL_REG EQU CYREG_B0_UDB10_MSK_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__PER_CTL_AUX_CTL_REG EQU CYREG_B0_UDB10_MSK_ACTL +SCSI_Glitch_Ctl_Sync_ctrl_reg__PERIOD_REG EQU CYREG_B0_UDB10_MSK ; SCSI_Parity_Error SCSI_Parity_Error_sts_sts_reg__0__MASK EQU 0x01 SCSI_Parity_Error_sts_sts_reg__0__POS EQU 0 -SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_12_ACTL -SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG EQU CYREG_B0_UDB11_12_ST +SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_AUX_CTL_REG EQU CYREG_B0_UDB09_10_ACTL +SCSI_Parity_Error_sts_sts_reg__16BIT_STATUS_REG EQU CYREG_B0_UDB09_10_ST SCSI_Parity_Error_sts_sts_reg__MASK EQU 0x01 -SCSI_Parity_Error_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB11_MSK -SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB11_ACTL -SCSI_Parity_Error_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB11_ST +SCSI_Parity_Error_sts_sts_reg__MASK_REG EQU CYREG_B0_UDB09_MSK +SCSI_Parity_Error_sts_sts_reg__STATUS_AUX_CTL_REG EQU CYREG_B0_UDB09_ACTL +SCSI_Parity_Error_sts_sts_reg__STATUS_REG EQU CYREG_B0_UDB09_ST ; Miscellaneous BCLK__BUS_CLK__HZ EQU 50000000 BCLK__BUS_CLK__KHZ EQU 50000 BCLK__BUS_CLK__MHZ EQU 50 CYDEV_CHIP_DIE_LEOPARD EQU 1 -CYDEV_CHIP_DIE_PSOC4A EQU 18 +CYDEV_CHIP_DIE_PSOC4A EQU 26 CYDEV_CHIP_DIE_PSOC5LP EQU 2 CYDEV_CHIP_DIE_PSOC5TM EQU 3 CYDEV_CHIP_DIE_TMA4 EQU 4 @@ -2916,34 +2936,43 @@ CYDEV_CHIP_FAMILY_UNKNOWN EQU 0 CYDEV_CHIP_FAMILY_USED EQU CYDEV_CHIP_FAMILY_PSOC5 CYDEV_CHIP_JTAG_ID EQU 0x2E133069 CYDEV_CHIP_MEMBER_3A EQU 1 -CYDEV_CHIP_MEMBER_4A EQU 18 -CYDEV_CHIP_MEMBER_4D EQU 13 +CYDEV_CHIP_MEMBER_4A EQU 26 +CYDEV_CHIP_MEMBER_4AA EQU 25 +CYDEV_CHIP_MEMBER_4AB EQU 30 +CYDEV_CHIP_MEMBER_4AC EQU 14 +CYDEV_CHIP_MEMBER_4AD EQU 15 +CYDEV_CHIP_MEMBER_4AE EQU 16 +CYDEV_CHIP_MEMBER_4D EQU 20 CYDEV_CHIP_MEMBER_4E EQU 6 -CYDEV_CHIP_MEMBER_4F EQU 19 +CYDEV_CHIP_MEMBER_4F EQU 27 CYDEV_CHIP_MEMBER_4G EQU 4 -CYDEV_CHIP_MEMBER_4H EQU 17 -CYDEV_CHIP_MEMBER_4I EQU 23 -CYDEV_CHIP_MEMBER_4J EQU 14 -CYDEV_CHIP_MEMBER_4K EQU 15 -CYDEV_CHIP_MEMBER_4L EQU 22 -CYDEV_CHIP_MEMBER_4M EQU 21 -CYDEV_CHIP_MEMBER_4N EQU 10 -CYDEV_CHIP_MEMBER_4O EQU 7 -CYDEV_CHIP_MEMBER_4P EQU 20 -CYDEV_CHIP_MEMBER_4Q EQU 12 -CYDEV_CHIP_MEMBER_4R EQU 8 -CYDEV_CHIP_MEMBER_4S EQU 11 -CYDEV_CHIP_MEMBER_4T EQU 9 +CYDEV_CHIP_MEMBER_4H EQU 24 +CYDEV_CHIP_MEMBER_4I EQU 32 +CYDEV_CHIP_MEMBER_4J EQU 21 +CYDEV_CHIP_MEMBER_4K EQU 22 +CYDEV_CHIP_MEMBER_4L EQU 31 +CYDEV_CHIP_MEMBER_4M EQU 29 +CYDEV_CHIP_MEMBER_4N EQU 11 +CYDEV_CHIP_MEMBER_4O EQU 8 +CYDEV_CHIP_MEMBER_4P EQU 28 +CYDEV_CHIP_MEMBER_4Q EQU 17 +CYDEV_CHIP_MEMBER_4R EQU 9 +CYDEV_CHIP_MEMBER_4S EQU 12 +CYDEV_CHIP_MEMBER_4T EQU 10 CYDEV_CHIP_MEMBER_4U EQU 5 -CYDEV_CHIP_MEMBER_4V EQU 16 +CYDEV_CHIP_MEMBER_4V EQU 23 +CYDEV_CHIP_MEMBER_4W EQU 13 +CYDEV_CHIP_MEMBER_4X EQU 7 +CYDEV_CHIP_MEMBER_4Y EQU 18 +CYDEV_CHIP_MEMBER_4Z EQU 19 CYDEV_CHIP_MEMBER_5A EQU 3 CYDEV_CHIP_MEMBER_5B EQU 2 -CYDEV_CHIP_MEMBER_6A EQU 24 -CYDEV_CHIP_MEMBER_FM3 EQU 28 -CYDEV_CHIP_MEMBER_FM4 EQU 29 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 25 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 26 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 27 +CYDEV_CHIP_MEMBER_6A EQU 33 +CYDEV_CHIP_MEMBER_FM3 EQU 37 +CYDEV_CHIP_MEMBER_FM4 EQU 38 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 34 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 35 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 36 CYDEV_CHIP_MEMBER_UNKNOWN EQU 0 CYDEV_CHIP_MEMBER_USED EQU CYDEV_CHIP_MEMBER_5B CYDEV_CHIP_DIE_EXPECT EQU CYDEV_CHIP_MEMBER_USED @@ -2968,6 +2997,11 @@ CYDEV_CHIP_REVISION_3A_ES3 EQU 3 CYDEV_CHIP_REVISION_3A_PRODUCTION EQU 3 CYDEV_CHIP_REVISION_4A_ES0 EQU 17 CYDEV_CHIP_REVISION_4A_PRODUCTION EQU 17 +CYDEV_CHIP_REVISION_4AA_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AB_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AC_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AD_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AE_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4D_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD EQU 0 CYDEV_CHIP_REVISION_4E_PRODUCTION EQU 0 @@ -2992,6 +3026,10 @@ CYDEV_CHIP_REVISION_4S_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4T_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4U_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4V_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4W_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4X_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Y_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Z_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_5A_ES0 EQU 0 CYDEV_CHIP_REVISION_5A_ES1 EQU 1 CYDEV_CHIP_REVISION_5A_PRODUCTION EQU 1 @@ -3031,7 +3069,7 @@ CYDEV_DMA_CHANNELS_AVAILABLE EQU 24 CYDEV_ECC_ENABLE EQU 0 CYDEV_HEAP_SIZE EQU 0x0400 CYDEV_INSTRUCT_CACHE_ENABLED EQU 1 -CYDEV_INTR_RISING EQU 0x0000007F +CYDEV_INTR_RISING EQU 0x000001FF CYDEV_IS_EXPORTING_CODE EQU 0 CYDEV_IS_IMPORTING_CODE EQU 0 CYDEV_PROJ_TYPE EQU 2 @@ -3084,7 +3122,7 @@ CYIPBLOCK_S8_IRQ_VERSION EQU 0 CYIPBLOCK_S8_SAR_VERSION EQU 0 CYIPBLOCK_S8_SIO_VERSION EQU 0 CYIPBLOCK_S8_UDB_VERSION EQU 0 -DMA_CHANNELS_USED__MASK0 EQU 0x0000000F +DMA_CHANNELS_USED__MASK0 EQU 0x0000003F CYDEV_BOOTLOADER_ENABLE EQU 0 ENDIF END diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c index 82ddcb0..9664407 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/cymetadata.c @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cymetadata.c * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file defines all extra memory spaces that need to be included. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h index fde38ec..b9c3435 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/Generated_Source/PSoC5/project.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: project.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * It contains references to all generated header files and should not be modified. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -81,11 +81,14 @@ #include "nNOR_HOLD.h" #include "NOR_SI_aliases.h" #include "NOR_SI.h" -#include "NOR_CTL.h" #include "nNOR_CS_aliases.h" #include "nNOR_CS.h" #include "nNOR_WP_aliases.h" #include "nNOR_WP.h" +#include "NOR_RX_DMA_dma.h" +#include "NOR_TX_DMA_dma.h" +#include "NOR_RX_DMA_COMPLETE.h" +#include "NOR_TX_DMA_COMPLETE.h" #include "USBFS_Dm_aliases.h" #include "USBFS_Dm.h" #include "USBFS_Dp_aliases.h" diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cycdx b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cycdx index d68d1f5..ef7bdae 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cycdx +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cycdx @@ -1,54 +1,20 @@ - \ No newline at end of file diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyfit b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyfit index c3ea79e5d1f5771107430e4c4fe8c43406c6db53..6dec319ff6b5fe1134ff87e0d0b260d1613b21e5 100644 GIT binary patch literal 280718 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

_5fb^G>cjkv51YTtQ*J%_%ZWcKnPZsb6Xh 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

O5aeu5PnEpwP)p3aT)ZTGR^>sk{9M@*6PNA* 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%0A8V%^s5+Z`@%GB4j_MGZ`rO zt#?$2EYCC0B=*GiUGkH1Hx`+nfoI6ZN|0~C6_}gs z?3MA$l3qqf=E7-@@_JKjXFrIBWrd>5WOk?HH*dnf7i(5lHDXr#r)eAoVki1k2WFK{ zIkJAJoUjQ|l)V~f865OKv1Z`v3ZE29p%S9ZXVB4>uy}a?kp!c1I0omc`jjCYE|`ec zOtyTI&izdMo5XVjuApw!+xenuHIL;^VhFK&#Ezu^pWa>8gW56(>5+k*f(Bt%3nj>V zc6;@PAQOba3#K}!)-3w` zXu>k8{F?_&Z7N+qi1qHOT|ZQ-xO#`#sF%t#=oO1vi^12^I@62KPQ<$}d-sx=EyiZ@ zNvcWY=0#&6oc%%=eqdfF}^yO3bjbeIy zMtbq7`GT=_;o}yk9GWvT@qn3bgcC)fBc%dV)?i-ONPk)gts6dt!1f&`umR5s&+s2r zmFJF_LItrogHDebm<{|8V#iK-W@Jo#aw%*!<;Vt0?w4aS3NSwpuNG(~Ahvr&A#iNv zF|!2h!Bv55iUtC*rf9UyX9~&+j%DtIXS3L3)vyKy0g1Q*YLI9^B4L+0q#3GJ7Ey!% zfO2p-5jM)E^)qmf@t%n%W41HX_EfmWRvrSCUc{|MPtwp#;m7l4nx;L|LhO4KCQ(d- zM-!&Y1sTgBAS;}uGA&^`qB|0t3cgKE6*V^#yf8J%F?amU#^|GJ#H7e(*Vj7tpgi}W z9{0X^0r3R^$}B&#@<~M6r*C_SsMTdmiM1CF=N(atxet!tztz%Cd<(VKig&m{E^HtO zbJ#}~2N#wYcCa~>?usC>osCLZa~%x)OfSTT0C-167Usyi_(<41Ae#^V(Qs?JP?3lm zyAPCuO9>lx_n}wJG8w=Z8SJtGb4mI(pVTP*lU)2qc|m)v30y6^kS9C zo4l+Y-;!>=GvaB?&+ECsj8{Es}|!o;yaVx zq?9?`f*l==hO!*)y(&Dy$uA90)MFX zLO%SoWs|)k2{HbA!Ip*#?yh(b|M{WaNh7p+N%)3f=BuI6ptDKlEtvrC<+EHO#rBbS zsruhP;$L|EMlwBhvnTigkR^x7q~Z2)$JCPM zgFeNvYzd?anowCZ77xdeWSDqhrmxx#ydRYUE#Nfg0-$BUJ&F>Lj-;n-W#K@A$4P) z8>jCNjt~j87Xa{Xk*{N-N%I2kzZ>^e-g}2krL`4S4$XhQjnox)$_njKu(hfJ+0`Ek zY!jetJMawCF8XG`=Dj`RS^lF}Dme2az3ttXnLBb#{mE97Da1N29Uu=OqkM_ii7(&% zi>T#oxeaP4PvBLf8L1Y?O#-a9R{Cv$YP&uL>H~j@Xu%L+$D}{S_eN?a@^>_BYFyqX z6%M~pJ`R!d`=XI3p;_BK4NAEjp2R-NqI6Zsvzaml;XLu7;1A(;ImA=36*ck{DUGU> z`z;Jv`>c$RMy=->i4h+FgG8T#Sd&mt9q3U4#N2=+GRA<1VAy0AlP1Of)vy?$Jt(!G zqTau|6pSJb()i>fDfA8usCn{*qo97WRloYID+j}zuH?n+4<76e`mxC46DH{lfdl)D zIKd(%cKzf9jux{-`URNhl;3fexqAX%2*nnA4NbnR%$wul)e9rZo5D+f2CtgSZzkPw z^`d-gDMBSlOYV|FpG$;`4uO85^r0ua66XE7kWC3mLDV~IMUU|zRF;e z4C`DJ;}kYgoguM8UE{%^sgxo+V|tLqK7tLrO@*@=iDVPXz(PBf0%F+%hsrBFvI(3 zvqAD375Q_ym$_iCx%-1KS2Ag?I(ccc)$`m7crnjb1kKor$q)>{#ytCF`p_tY! z@ZAgx_cg(KzjfA!T86kqbGQMNH2}&PoUS1+5HY~HX2flNrpq8qVTbh<9u*0NX}cxChA z2d)t9IBCS_wt>}*gNWAHYO@D8r1)Fm&>jF9N2J4~(N538>u3XfucKALopQa7cDx0! zd8vR2I$wX-*8omWQgi^}c_=swOnucZ3A)zxdJnHjE1npvqCFD8#6!-3uHHPOz(kt* zUfE=+?cJOwjmmZXUT=$@+JdJWpykfJ&TR~ENDBqADeUuiMQ&eemm+K#ul6>Lz<1K0 z`2@V+E`Ie|*Vo)!_8&JE6ZO*pvPOj8-j+gf3jOEct8_IKG$#!qfRi-_?pbLy={Re7W#9- z+rF_tpBp#`J&HozMC+3|e;28Gu!nH8Cd!0ROi4bEZMqx>uFXI>2&TRf-OR~^bwOD0 z=xuSlo&$y4xJRk;DOBz_;#4ipf!r&&zW)suzKiv&lhWKmnir01t;9!dkgD;_S+!p2 zxwKgs1h=Uo*}N~LBJ^M4wb54UVM_=I&{6WXFAM%URi@ATZNREm_4{`^m{IdDzLm%m zKlR;aR}wYHrKqo12^GH6S&FAG*I&%XTcy3YX8q@?wBgXJQ>5KpxuVkWp!0A^^N*nwAq@aSw(1%#qx z(Aftiscl-g9%|O zM|Uw&_l^WjG|nya_b(g=)H@Qh?QyvDSsgX<1L3XC_SLvWzox1t+YVtFd#W`iNlJYP zQ!=__$(HGczkPZfed0J&R5Qr4(`PG3EG^YNZZk8o%09j4?e#B>rX*7>oeF1hbY$p2 z;)ONyM5iiwlVYZ{(YryQVAq3bW}sL4llW&<42x?*et3@9RNVoC>eWxHr?X0p$ub)8 zKzjtC@5ODUT#rRn8gd%HJiN<{>K;kp_nh9_Y_ocXQI}8fr(Z3e0f4oljgSrL!*kXb zD%1fJPoelv*|fxm=Aa22_f7zw)-JNC45Qe$693nrI5(GYsbl(1V>quPK_7XV{3lVB zLy2T)7IMnSif8VMJ<`Bw{}}Sze!24|uXFyxfKti68n5#XzPWMVZ^B5>m525c`%|b&7&?4qAu~GE|a4!wWBTZ7#%`l;hIp@yjyRrScKui~#HnOBnOL0U*1 zKw7Vx(vA7SpldXkNMoA6kmzfg-$X($$K|R2Rhr8ak^jCZYTdKoaq-Zl@ci|FxO7-4 zjT{wap#3QlIJ8E+k_%obsjr9XMSvU;3Q(3qfCFFHD_P-{BKmsJekCIZMi~fJ<|GNu z&)@`}F^6lnGoO*Z%GD|WqU=it2yIfNN14rEaK21u*&tyEAgujR^eE1R0SSAX3Y~!G zx;EzcDjARoS4Cz|9Z-(+hspjwm>G+`WH*%!HslJVRXHQ>fB?X8*@U~OZ=@Ws^6If{^fxOg!3m-; z30jpxG{&b-i>Qeal$ynpkY=L@+2ZY5h;YYfiZag<+!4{E9-!Cn4|rE(ULOYIrG(54 zn?NeN*~qPjI?;wjsTQ#K=|Qfuv5~}}&o%44yQjdl&Cat|{~hA%$M+xC0bO1MYFcFJ z>{EBfh>+lc2Q&CwMws>a@;0LyYk3V?mS^RWzU9q1WP3>W=q8J^I}#Vc6+OLv-J-pp zs&U!zCm?u;C~x?V1waaa28AN8ifXRLsiH4l`@qsdi&EME0J}wu&ATiR@TSXhE!2e*Y@}!af^%nJ=@p*;yc;c z7Nj=>69*7vxs-6Mk7|~5k=k@{`Eb@B@u#4Q0xfeCZa>-OYANxlT_j~q()W#?a5>)) zx}@!%D}29jw-8oe4y;+UfZvivxcvXZ^FtZhWk0Ol4wT)*)Q!#WG8j#Re_0;@FjJNU z^PZ<%GhEBmbkbz#QvhI{^#GvG^h-Ze@M<}6v&T2^R4{L7uiAafM$3KdhI2W0Y<1v{ z!wrJ9jyWjC$!X&DWOaly$@}z;-K9(gM>C3pdf-h_74lv}CSy@>`qWRnJKT zIiQWi}2h=v41W9=qd%*+I!Qi_7$#Z;~ zMpVC-mlW~xB?^>%=?pV0CgG-jp9veOe20G=NPchP>ZW43^?(XFh%Ag54L?M0Oun~yMr%@_zrcD-XZQg(;CAiJHPBy(yKv6e(xQFlIWgxrDFnJ(%^6&2vcK@LL`(Fx z&HZoSo653-5u25%xxoc4YM%v6i<>Qjh73^88{PzU@h2va*dXL{66xkdi@LiguZ?dC z4zfzbhuov?z>UG-H(kAzpIL@U+^Wc>Go@KiPOB|J)zoFU8)atUm9aZ1UqkJ-QDowR(^kG)zvVYL2_R53_(|q$`1Ha%Zky6zCLkbV$_na~%+VpJQU7ObD zRc9)7bbYUDc4FrB=K{6TD*r7S>JhDVjUQaRx(0FrR{hl$9}UWqaVT{RQs*5|-<3uB z%6SW+tgZ@PV-H3|zqB~`YD?*z%@KGHejJ!M?Id`OFm+*L@t}7i38U~3z>W9$eT7M6 za6#}ej~U^FZREE5mEkWP4Exo2#|TXn$_ zwbj{`ldKm_bQSg$+?ST*c+Uiq997rn{2(c#5$0yorq3kMX46_ftgmrWhKVU@DrvW= z|A>;S6wWBoptN%M^q!F0*BzNo#kK2Sb7JcKjuUpGmDj3VtHDc4_>`(tcN-=_Y%}s| zS{=T^?m>zke5~P6yX)tvG$5+Ms6Q|1qDPhVg~D8?Jp$(T8W6JCLOv4j}8IAY9gE3aR0EI zzeDxm|3P>}jO+qdkcsH*y#fT`PpRyip^C2>%?a?|P{P^L*jojx!6;@whZX*vDL-L9 zNr=uDVTVhrrDa(zavNX7zDYi~;@6gSsAR#jE2&0x8t}M=Cy>f*j@GTrRX3d2N1Xbi zX5sSoUGM_=el{PYsC$QlZ@$B`?jM$toefJMz`eO)yZRF3@GQOasI_yq@`~~!963?& zuznb|yi9f}y2xZjdWqB?aIE52<67mH-(-oh86Nuq`vQXGG=xgYS#v zN_Kkl4ZpkDj44JE)aPRlS~oqA1%xah2AJQKAX*e_2#=~!9TW`0K;&rXi<39h{S*FK zuZ|M*9)(JJIS?C~flLzoJOL3dj!iAYlrEcN(A!4s)>NW#@=T>iT@_RJ3H0a5V_rNN zt<@@&Gi&zR(a5cPKNT`@solnXgv)>w(@;Ok@%BrBPG(>pAz`|#n_{ii<+ra7_TuMS zsrV`nO!hPZ{8n@}3`)Nb535OkV_?BHbm{*XNr$=-R+qx6M-h^$GcbbZCop z<;9v{k@MKDF2vK2vl7K1srH@z=Fv(;MO4TfQ0$`}Q}Jyu-m8kB_Alzpic4<#MwT1* zDS(&4iTM6rE|%!G)iD0e>=p@M5Sila!YY{*^Mq#Gu}bT9ru!_yVI@Vn!q_g0f&vVd z&zmOX(It=xuYPpI9=fxA&QD!@$I%T zjL(N&_+T^b#yXNPjEgc6wrE^PJb&J3M{G|$ce>us4_2mjR34S~*&qlOAHIou4o(LaY=(D4S1t;K-x_>qVC+YpE1{|YZ%Ueq-+#G8OQ>$ zeN=d$(vcwOFZOL1P=H7X&f?RzRQU~tGZW4kVy!LeSk&Bi;pjbZ%KNds`R=xE)d%S% z5++55m&d*B@+(~m*tX%-ok}A*!nMe^WE_jS*6^EqJ)=ijCfGaPb+6enW~~hr!u}sR zJ~GBLJug?`T&AJZ$X?=FdXTRHNfeG=K#rx{jTc1>DcIX^6A>f~$3g9^WgtcF0dg-u^zz;`OE)Sk zg8~_bca4qGT(r5)L5R-Dpfui;YCvc?wP>zrQtEQ=aW1KUO%jWzBQf(s?eArBz+eeR z!`5q{{eb8d{@Xlm&8}WLI z8^_1!OJM0Kkv^N9=x=r@?zw2A)wS>qNz*SB_~&_gDFmq#S%}#xHnoFDK4qN@nim6= zSt-AGi$4mUdpujB^twG~@)?UZ*A~|9?-Cv}y-9+DD69h};b!|7L@ks11zo&_N-`m?CHUBLxb+F-+4)+Hj^x5Nj z6eN6SB*~XJ8$r)0>GGM|?CYbc?pRWRD;O!fSm+$zOul?fQdC~BzW2A5Sxl>#AAdn* zp9ZOIQNLjNqV4MM@GU=@`;rD9Yi>SdR8s(-=7$?r15(M>xpIEe{{tY+2T9P(YQVW&WwA=O zsB08ZTiI&Jx0uRts#k`OY`WGn;`hPq1-g`+3J7p2z|pU>adV=G81snl5!Tkd z1Dl~@^m1S8iY{_f4vH=czwU#Ff?WRR-MPilU^W-5W9hgpY(`f73LE`RFk+Qrg&X~p zzN-u1<8y~kuya^I?iQB}!@zZqg^I)Z!cM+DzVoOxKqBE*tB}r>)bDqskcpN^Yx_7| zyr<>KFN&i+ccE_j*04W}H_3!5h6JrIV~4j)mt{FWRDyZpfYWf1s4nvjM7a>3@Z`1R z3;Xxo#f0%9SwUp#$qf{i2-I|0ML#hz=>}iSESPx3aL)6;lV=lfLR_V9?^5XPlO*ME zcMA)qhGWu-2US>QsK3?SW%L|mz^u`qrYpP2RuZXxKcg4)A!D;d5375~@Y>7}5;SM| z%%o@Q=PSh?2qgSGitRia?>wsQJVyMN#MX9Ayr9is@K#Ru0dIB1dGVTTPMdojh>jOw zHFLlEH=m{KpZ;}sN&;F)y+AmF;f&+ef^LO=fb%7toGq2!^BSQ?n=du98v<(9k|V`% zFnXc56n>JGG!FIfb+{U;HI1KJhvyuV?m1dB#Ldlh zR+rJ-M@S>-l9mNP!MyPlHWx zJha^E5%mKzuJGt8sbDmOWSJga5WfXiI3ys=+pcZokoe}^!43Wa#=C?6353PqA1J>& zP{u!)cz2M=CO7F-&8z;a$l+zA-{ahZ9BJa)aYmA1sT$9qZ`(#cnM{-s&eEu%jo{|R znT>%LKE_KPR(`-(7mFdvlN*PkfMdy=;RcX`Z3|vK2{vf^)?cY%ZiJG3gEDM7E}3WO z|Bwrt%;y0Qd$R-5%PHF1J~X7Zf6)is%wRPGnHa=}o7H1nEq_uJed{jY=N|4C!wE6J z%5EfY2>^D5_gZDH=M{Yw3oQeTd~bzK*w?~!0Q&JEX6X1?>OoiTrd-nN-{z=1nZVCC zqY_)(yeT6b5Q5C-qy>dk$?z1dG_8sLK{`jde1K3`>9iHT-bZ z%%CT#Tnvi-q3ZN_Uou$t>CN@KXqOJt9=|-QXLW+-8L7KQ-!nvMxWSMIX*4{-*)Rn^ zIsj}2xP#ep==TQp3m+xkcgB&7e?+SETE7q`tMHwxF~B>GtLpnO4v4(vN@cv z|I<~1=0hGm*kaqr`X$3xiAMgPLIsjMHBd!`|F-pw-vvapN{YJh8`c2U?Z_t=-SQ_5 z-Duok#+#w0@urK)nM0%@q0Jsu6|_qtY-K~xlI%n86#5ZP;@2S^v;BVdgQ$FdDH#o- z;Nz5*0fYgMCx_(Jlq({2dOV1GKE71PnJ4=DT=J<>EOHaS1| z-1DTYhpm`iSlN>!kgxHF5Y|EB0jeTY36fqL<1zcIs>-Y+?vTjz>s)*V`deZ-(IRhX zo$m{R?!YO;2?dh{UDu!Du8)6YT+2J_*Rl`o3j3Psm|UX6BpFeSP_{76z|lxW@s__S z3GvfMu4?$LG~IK07XXw^6cNLEm_%ZitN%-uzf*(1v&bsq#p}eKrIY1tvWFG5;B%JN zGd96kt0n{>HtbXe{t!0d zTskZof-;@l|Ef2~`#NAaGu$G>PqIkK{DM$9x?yG7Sw>u4n0Tjo;*O{&gfSb9F|~f} zcH*vxcEE7r?pFCXqf*~bjbBL8>u(x?4bF*stm`B5Nk^#F-bSIm-PG`7Yk$H?eWTYK zMj8_xA6b49f9jR+iJpYC3!uGTF- z5q7XF{6c)vE6qY5w66THTkUQ3pg^RS`e7(Vn8C>arJH-VtInP&%zVc`EI;3{(9*MW zqyJ=Fo+o|E16=#L3B8-NZBMIiT5nY_KYSxNldcA*QNagaOCLWnO!;}Gx+mRir&JCn zn&z+_W|;gUImK(BMf~($EIZNlqmAZBOW|{~-1mxVBh^M757`9&k&e+kAH$D2KSqY^ zi|iYR<$;elaFu3Rh26qIP%KgZJidQ(iNb!<-~ID%BG~Kt!LYcYo3W3BUkr}#1)jBg zirfk?5wz=dMMQ_}mTYTz2AFX^)Cv`r)UB(jre5Lh?P9eD`?2;JKC3r;xl24U^;c_= zw->Se7voz&R2|3ZC$@5CSlEiBGRZm+&^k!i?gBQ79OcLTVxZN;pouGT^`U05Q>_DJ zzJ^!*9A`i!+sWQ-TnD$+VJuSB%_-SC$Fqt3xXtBPkh(BE{g;tW5GY)6Q5F8Zjf(-@ zZ#P@#W7aGSbO)n0ph)Sq_}4OGI%>0)%qRqcr(cTj+3H(VV<=Q-F_0F?kVpjZeInjp z-mZWqj)qO7JEkcZHRo|0317Z%bis6d`V7PBL<65||E3tN1AB`7#h z*RY@8WVj|EiXonfLQ^2>!PL)o9r8q}DSC_bi5;zC-_tr$uk;xdns{{GF2bwTYECeW z(k$O!ttL1DZq0GyG?5 z53m(JG6lMbGPhpTOKL-8gM9JFb0+^WRn!_fCcxoXRug{^9U2v$?WA(ETT~D-yGCP5 zca+sXcWVgaA_4B+s&PHnb&L{sWlS1qh@hG&dWYSeeVT^*o9rMNu(>&n6LQ7h^Ut@%#ts@i|&%ic6ayP?=Ea}LG+?Hl3lM7=~joH@19q3?wyktLBz zNH3LAx6i)8jOn^EJjeZp%djY4+BdaQ`RL_E>C-CbzD65no=Gs%4_o12Ruw4Qp-LY- z>U5vmjg+&H_Gp*+vHX_0^WbJIR=#i!u(~o2vQH@rC2|J-`0+YT;AbMDzHGS$XW@_h zk+K8i;N*5BAX6~qyJm6FZX0$yPT-NujVFgQ|GP4RZgCXhA1ZF48WzxxS_)52ob{yQ zm1vcR_aLBpjh+{8u9Z{0LPfd3_2wrrecdSAlJM|+#g{CV0f>~s+KTUNT+7GP60n!j zJDeAtpF#dN*dQqjIPXI;G6RtxUNH?(Z+*PLKHk%^y|iFR4<|*^>^G#jOM$Rk3UcEV zDT(4S9h7TjydB33m80pPu*7q|ypdlaq%V9!3c(AU3<|RaL)yMdzyahXc?^n1*|0@5_52my zu=f;{HVymh{l&^+`r1*gz9h4pVncs3RGPr`s+dBqWXo*##m8?mt-$(wK4^0jE*nhY z277kAquoN_p=t}%wTYnIs58!fnpt=PmmPr;SlyvpvOl>V=y=-^k$XFXhU;mG4j#H# zN9)pEwdmQq;`)(~TRRSc{eqItc^Cb$e310NR?h{NzN>1DlRa|+e5Ku9pKzj?)xRYt zFsy1$F!&SIXG!C9CTo1g(cm}xgCEWCZM~>4LV(uv-OWj?SDBN- zR~?U{UB7(=i^4Y#a{kbYxplJr#7n+CKmc)@|Au6T_ctpzjP$F-s`h_;Xk0~bA7W=w zB;d9_q{hk=$|Y%)RV4gOVoK3xeP%oCvr1$z2UcfAU2YAx<`Qd8b%xBBsQdB~|6(3} zVoQ;X^Y0(3kabGjE1B-6lfrrv9$wrhr#o|Bs^bc_iW)@yYARUOdU!X7XFDY$B)% z2COd_TvbXepFABx;vA)Lc*No?cmR>JmiE&?o(`%K$8LS5aDF->dklYWxsuq9O(q?v z{gQ4eu9-+N*N|mG#7#@?A^ZdPc-Nzu;DwP)k3P6N4r}Fy@CGre%mX!Ozi zaZ-@1uuMul#`@b2ze9Z$)HoTws2P;k_O~4Im9$ai+S*06jy#sA+x-?fvXv zxEW!e#ThTz^H`ww9XfFjkHCETMEIGnx!G`g6?NwDk*})%1(`3Th|{P^5n7S{27L*xlUM?;Txsn{n4ahuYa~JX4g8391ov zW@bJ*wO|per>ntgh88W?Sp6Ycqi*nMtraV5KucX*Z(JfT9RsT^^O4xhASK^d1Xp2v ztD^m&T2V;a_{?6i&1#~lF*;Ocjj!ZTKj(K{33^b2MoFy?uQ*8$Jj*XMn~<_bxzrEP zRT1lpa<&bmJZj6v1|4H>$Msbo{=O;mRegDWqJ&PRV^y7upv3!KB|pEG+8Y` zWo3_Z3o@1xi&cb_ljNq)VIMW$(;@jCcTKuZ_Az*Uvu#v3Ok1Tt(bM&?Xa1TVBEjcH z?d&>rxY{LZj(8mb1BPrso`q7_hX47S@e@pW4O@K?!{c5I=iD_w-#^UDE~$HHDAX{e zU?HguOu%{)#M1j-%3o-EPpE0TT^;i5TCyU$86WYFSpr}5R&Kymp>RxacBvMu&z0*k!?LHuF@PIO|P5N@?AvZ~>R0*yitVOTDttyZy2- zeKVzQB?0vaI+Al=$9Bei9tpN@AW;WTS3e?Y51!BpAiXF{U7-{Fm9c0qQ)j62JI`13 zn7+PyfdYVCWqV{~c--ulkby>UjV*HKs%>=nZ(B#ZP* zgVH;kbgRs7Hu3B+cC71suC=dd3oGi3b<6Ux+J_;%EwPp-N-U+11`?BeG<)6-*`B=4V%6COMBrr=g>&Lf26+$z`un}4z;E4ul% z!lXyWcm?Ej&Y@J!r-f4qZ;SP}C%;|d09fEF| z0j3VlM`jL*4zRZ5k&7edv%Od|G81F8@R9T_@-=P7pNs8Ve(;vnR@_JB=bjjQ&5=S% zhH`CVRULIoZ?xCmVG)k`M{>oSDd>*F4{FovixP2kTD4fN< zFD}r%!*~@Y8L@}BHAXDYexE&MIFit=Dt3W~*-iF1#(mUh>MHllUInA`x6rsz`S2cT zqW9+#A@B;Z;9CS+|5GkGra<#CSYziOBztDpD-X3kO^t1jh;1*iMYEx9A^FKGMDAfq zeizajw<@%hkv@41K8!GR5(1=jQjs-Dx=K@#y-kC-aaod1$6ZkHE@$v=I$tCIoH$pt zg3NP#Y`g1PGtjY}IrmsN&H9<-KWWPK0+<+C_9u6(*A{OV*gP+P2k*Lk+b!l#+VvdV z=LZiRBMrGNMD6|?q7haq?!Qvli@M&A03M!h+Rr8GTwCm|WiOWzq(ASMRw>9mOvvwg zqyL*K8My}~xra-Pf~0VDr_WDb_T1wSZ{LpW8@wupAu}=k^2Q{lWbYc1h%MIZOQvp7t-dfFox6Qu!HqOu3C5B4%_Xa!%JOZ0|0;ZZ@m_~0R{uju_uF$U9NIbDyz ztsm-zyni6N$QlZK+7TV^?F|{mw-+EM&(WdWZ1aVyxgrxN3-f0Y*dkoL{DF{S=tyE=Qm95ksKI4+>lvP>k4_*l&grIEHh+?CI#f^2KFc zAUAB52D&A-?irmV8Rbnk6kAoS4aYRdeMHtFY`_>z3Gz1p!)(kTEq2AcDa2ZlhH7Jj ziU31+EauIgHLgaDJ{*rUbF?AflE&SW1cgXHqf_GUgQa{ccoMFEGWgBa5ks9L5nOi0Kj&CL3 zi)IfmjhInfJMlCXZ>2y6W9gBD+(R=eH=CIfbqzN?m_fS?hbS!F%gdIS;EC}}?RZP( zN)aig5;D0F>YuXQL>hxL(;*o#wA_7Hl|g4TXX?E6=a9W8o?&#Z?0udBjzH6oCRY+o zcnrP)8s~Au%rI_uces#+Gt0PB~w9`TS6FG@}zJ1x(>rn6vc%`hlBGup6n^=l1 zyq#r68u;RB_dASvF7V9lXEY71jt4>zOhngx&eE1kW`@SDOz9vqu>oYP$y)spry(fh z!)Q#tYcfp(AuB}*iC%E|xp1;pa4f@a_X%iQEh9he7#q|HUj5j$dMNE5-~SJC))wsF z!vV6rp%jU-1l|loY!Lb!Qu9j88%}QCzP8@!T$Oj`VZ}- zFmm}#G5*}ZaAlCQB%qm4ALAbbH1i;5tiqt9DK!4AI>}*vf&xelg|OM%C&o$G>%$N$ zDmc_xq>m#p{+`Y~QP?2Yd8EbJ{~DD*V;bpjOIk#*_47usf8U`-Ey>~E*XGs&7AR{9 zX%To|&rq>eJ8hfI#h^0;FkTN3l^9!h5izJb0Sw~(YlDZJd{Z{c-|W8`6w|^9eHkgt@Mk84bHglgG(=u-BsYa2zgFRhHTv}pb{rv0 z97^|t074uX5v3TnB=Jrjv1xuvmOZm@cY!kW{vvp{iPOrXP?{A6#)d$P8s{HUh+(oy zQ}KLg^-T_ohx~(MiJdHx$h?&Ch~I(q8^O*-s{8$!*aX@5K;2>M-<0ROrGf91yVT+T zGPsPeeeq@g%-pR5w#xoz!klG+ZIx(R$6mUbIE6WU5;Y7t}!P8cU8@& zcX;{#;yp>MaYc!0;J>Zaf~aIQz-QKP;-)XNF>6A@1B;Q@HII^l8oX#Lh)Zi-NrmSb zKGT1(p}JQ=LI}OMM9*zdvkz>^i zHqLMNySjs24U%AeI}5!wV?d}jfL#o+s-9|WKU8UWKNdQo6&rjN_Ys?TcX^l}ai}F= z%akboR9s*{m~Y?!adWp9Os&-qaVp7{v0PC9WHS?;c-{VMEB2ZjtCb6c- zz7XtF1O0el$1C$JKz^rL>BV*3-o?_tNd`N@@y&j&QocPE3}q<)|5Jat9f0J z71;Hfp8*96##la(@fIY1Gjj!oG4VzUYgn8f&&`U}$j#RJ zw$H9coeg(U4OV?0IVa@69Dm`>x!Lu;E z=xf>3mkJVdX%cB_VPlx_SmL|ZP|wa87~dcJhu=mSo|SgB7K&R4&kNT}qHDF#C6PXz@C> zT3d0oR|%sAj_loy+D%1o#r9u`@hnYZ7n~`<5mVdw9apjKXyaOQ@{C^Z(CDf8${}I%&x3omVZhjyM`Xs`tGKk zb3g0md;VXr>;_4c&_dSDH|?v*E_{n>l&2k}ca&hBFSP#cq1}Myimglg7$GeWa%3yN zonh{?My;jH!&MoCyqCjL=~a58C_N>$=`9VFkrmP5hk3l>Z>1^OMsf#;b4qUv;qtHn z$KHD}Ec?XFH=PZ{nf_+c{%O zq|Q)^6XVJW4mAM|wFX;6U6QW7Oa6@$K_9_mO8%*X?Am*N7m3W$BO0C~l7v~sdi8LUtRsuf$!sp+ z#X}@_39OnSr8n95`Pel*kh2;pqvFgrLLa1PjjAa($z`EJz-^HP9l{Ygz^yWadCX}2 z2^P-M<28bx>wU-`sCR>WeNTmCMU>2N{7C2taKg1j45UT;WJQ2}-VPT6!q{_@QaL%4 zn+CEXzB~^?p8ZqO!8G2@_`B839I*=_l?x}f#2QX?>veo9 zA2_cnEB_QlRzC<%b)i?aNl9&iNp!ZsakesXwm}Kgg`4MSUgpSF0n;Uu$fcaxrHLx6 z)i%0yg4$&bTSA{zdQD4K|1X@XTXnwe_kt?Fz>>BN)tiO_Tl>Hg!tIh3rcy5s(OERN zSs&_B!Z@;{ex4&P*`t2yu-5SCR#s}41T2ZQFVbsLvTHx!RJq4gZ}1$ybPBWgh-EsV zaY?8C`KtWW;P9G=QR@y>d*$Qv@Wi41uW6v{&CvD%kLImrS$C*!nUM#6YM^-aAiTI1 zd|C3oE$YAUW9dI~u)<}rSBLhBCt5rW55%MG0a|yZnR{!w^>-50&JF5zSFWAGWn8hB zai?@z4pkd@+bbCnq~h;3I>Vn>PbN(KpxfnwRf4LFIvH_y_dmNxqi;3(Y4jeyPFbGw zl=2^zJjB3ry!9nFyJ2hz(RwnDoKc;%Td@r3!k?3+JHeltgupOEE4GyvXtyDg6w$3a zNEX@HxGF9xmY`2laqZ&Bhmv5dNz3Tg7xEnQ%o_i)%Rri(DB__FIT)KXG8miRB@dDC z8j;z@OtZDT=@X?{7|QfR?bD1u-FXH)1Y`?p>YvYfyY}fYLc<^8knY0$=7(fSET;57 zG%#B1`@4?QJxHa&F6&1Abgxh&CU$9iU#c{*8W|x86@0)E&!u8cqN`WtbC?YNXCVEE z!LvIF#x+a}FD}Q(t@(CKOMK4nFi1-K(OZWmi#z7qEq(MYG3KvRxbGNj=Z{R?Vvj`9 z-VD8dxOD^R>W_ywI_CmP2$>0cD5>tgi5p^%meP-|Vbz%}I+%YUM?=k&omkitm*gnt z8@$`U0&W{oHvNwecqrwjkomx_tmw#y}dm!oS zJa5i-cQ!1MnasT0?CBT9Ku!It4dZmu5xOUvER49C5!5Ra>|3evLy8{uA$rliso*Th`>g*ggtS{o>Ut)=RHU@NoB!Nb3MB@giV zztnWuXjR1w_S;l$5&uP2sqjd-eZK6UaA%dEdt~&jW_+pwbHYAQqB-MaJWE`WT!$H? z{#8>;v?286;gy+)GsF0n?YOOy)SyP^ZOZQuCWJno$Ui}=s>*qYv&88VU3YtQ|5kc| zZJ+9`FTYs}KH3{kNoNm*E(LbR;oA>fnImqf`#kY6A{V!#Phgmc%9S-41@@Ogu?tJ- zi_bFSQ*o9fFV6YUuaXn<#nJNB&Z;y6w(%W={sbdsFr99eA5cQA!pbV{x_Q#L+KiH<-q?U%xsgb(#`htr1LAWv?gYVh?O++xHGNASFY<~(z z%>QEQe<>&pIkGWiZABXeQ-D1F!1WrF@Bj+2fGWoyn93-uBoRyxHH`TRIIK@Vr5kb< zOtmS%4^x|hILrqMkp-#!*P~<;$z2aiWk^YcX+NMW+JArwCVBC{9wQL@)*rEYwzU3+ z8d0aIG}^qN^#sT6@*UcoT*^&sS&^Mvu*DXV1r68&Ul_)Q2&S+=X_3Vj#K!|dkOA@a zD~sSsL)BzO7H+}KJ&;KWEPL}uxGNVpg(SFDY+;xiUXVc|9BM?ie<%@5M`7w&9I$-A z?Nz-Epxvf5Dxlm%lZ74v=awP%Q5@JpK$i(%$z(wWk=Z~Nntw~YzxEF8ri(PxJl>xh z_@yrm<&XEjIf1LO9Z_P)^XgyHlZHyi`+J;Y*FaydfA;kej>!q`Dq%lh4>-3BnUqh9 zSm;-VN=ZXk)Zn=Kl%ZPEP^)-<8-UsaQBgh$<_E^5m4=GRLQikOi^oVQ%-}^lVHiJt zP?8+z8Q3wD(f)eV?*(v$VU}32y(EfdL5}R@x0j0r#?lfUxVtWJOlIr7G@5{IQNXs` zSCT_%6i1a4`?^zdQYbgoWknqLVJcRnhy&E3{lCTgU!DMV*3ZL>fLKbS0IHmJzzCDa z&Gi3H1Vc>)qxlD}hBD7K@F?2fi5iCU1gB zup$vm9~I0Pu*P}VjgD{`%wP)}V2jO3aU!@W&}TebMFNt=^E>A%t5mwt^4*gxf5 zd@yT7Fxs+^Ltx#BA=d(vz&0qP%4zy0LpK5Y-9T z86ub+YM2lI!}lBM9WB^><-a|t^Pi2mjHwRLZM|0767`%lIDQ~yV(u!oC` zhpYJc-}N&ojS8rYIx_vCmm;p-Xn~NBZbM#BiTwBQLn{oJs*R%@yV4m(NB&kP_2-7^ zO0!3+fj^X5KjI8`{y|7rsz}e}`xaV=`-Cq>5}gM>jeh-M#CB!DDkR^^MV+>3rZvMzinROLWW$i!Wc#hl+lL8f;5b?q@RpRylnmKpdm^IO{A0fXN0)H}iImL+3K_C^M0n#_N+h7*GYhSg=KVeZMy7h)1) zw-L?Vkn>uqJSA_*StkjOLM)wL9(R=Sbf*@=xR*T-Ft=?sc644Sw zFRRz+teSl5_rC8R-#>Hj-kCXb=9zPzDfjM-A+@`DkfN8T!mCdTUa;y9W(gn4;2#!` z9=KO?tO(fm?Xj9uVWij>6WO0ibh1ZDu$!eSNHdsIeZ#hR5xu8Ekm5&og`meV59!RQ zXqc%yIjNFX_}IVDCOo71_%(yMMry1hR&>Gz1ONd2o;NQbrO6neE=~VY)cYhJJcM6N8Ph{g)*uE8D zY9TMDHZKKo9CJ3?g0PJ+e18gdA&`SbICb=_z|Ut7KgL43oTjS!IgnzdFs<1tUNg8Ic-?oCh910 zWzu4a^g+tEw+5bN`$$GM?vgTliToL(yPEp7rn7ZHn73`&QL@LVn5T6bc^(8J86Ky5 z=2>TlFh7kPc^m0h=Lcly2?4-~JWCdnu3`7Aw+Qy-W|Q)?XI5957}l0%ziWTLRkjlX zdi<+NC5xO7)d#&~!>|et+&z{T0=8Z@6K^;LKUs1k2`&{pEz`4$?)*uonWrC|$8KFp z`IGoB#Juz&Ur$@CI@^)yVP%E(Rlnym%yZM+R$AqhsZjkMXPdRUl$+D0)bxP!_lidm zjaY=&rq4JQ+ah>BZt7J1LdUNd3wCN^(V4o3MaN+0N{35Pwk22h;DMvH#|v_9x(T=c zxgh)BG2|pkXVY;WBdE>W-=y|E6f_*THw!6%(|Aevq~E+7TloyF%D5M&nfhV-FRv)U zk^e@Iz9ewbY;JuhHfPLF7WGLJXX`-=(|27B*|N63jjDYx`Q>p(YR@8dVwimI9I8K@ zIsEJE(UFIX_@iV|r^5FNVrh0A_srLu*5#ht^7@aPT~Z>22li&tc|pIm?2oT#+eh9{ zB~LJ&-nW_YR&(H)mxR8yf0RQRO=#QkmR^UaZ^+{aeKy27+Q^`%+~9>sbv0j)-}>QqWy;#2+&%PqPs8!TMXF6YKuHf3D;ixBu|_ zz|@^e0LAzfpJN4f3T)13Y|aC`8V6tSZ3XDhWQfkynmy+Gmd!1F@T?HE{aqP77WjuP zPj;wKn_st-o-;Wx_I?(e&|!bD>Mtv7*iLS=E(?&Q$$W5NSmCjR*JPdbK#){H{1d5z%2hAMu(%-@c?GD#({kDK)6JUfex?K0+%)%m4y zAC@|o$-G?7MhU!_MZ7uvbubqDxbO_mhcv+lW&qSc&(^LFv~ugspc*tjxDQ6<2RlP% zz~&~q*+c9}zXOHJ-~DMW()fUK&Lpk_?q*IlDBh)f@2*Y*bDqn0LR42`<7aLDxDR3v zgcyK?%-1G3EhLpWP3{kfj2e#&RM?$krLj5>GKjm)arKZWkZ%+?*PVhDIes;ApVWrW ziQ!C|7~q}fyqP<$g>*I|Wat})cVuP)G>d1Io^o@ez>!uzTe<752y>EX-p-FPI7qqF zT?NGT{8Dx=bM|)-ca4pc^0l z@<|4`xV~ zYZ+zd5q1(~uFg5g=}U|37O(mY*&Y(*_h228NY~@Hz@i2E+cjHxDZlg$lXg4BWn$;P zwIOq>vg{^Xu{@)HcD=R__SSp3f3&{-X)5~bF*JYum_<-PXEvS>SZwy~rvs2w3tjY$ zP-$>Z93WVJ@bYN0*NA>JWdF6)GexiV6(@{n;ICWW5#UBDR=S0+v6TET=JD2j5kXlU zF^-&tQ;vya0U*iOZAB1Co6gKRgiXBC;lTeWrk4H^m%zPBj!Vw7%*d%!Gw+aEkX=Va zx5#4e8nwZz#MIAga8=-k#pqcm5HDEI?@#bRL&MNL;~ZtZu9nn*SH#_Xy`A9wX+hn7 zuJimky}b_4^iz;ba@;%4NWN-FcycP?27!YR_)567e_9?~8rv zL@ZO(W_W-52W;2Q`U#)^XlWl#dH3~)USjgIQ7>X1zR=s9jf~N!kO9%QB*>$ z`DR}EJOqhTqpn$Y?~#1`W}NH*D!ARd@1r_{R$_S{$PQwDcWhw=-r8M%mk#T7|GeUX zwa+XW`4^QFKN0VmU~ddRX#bqC2n+?j!2LbIs`%;oS$)x=Fl8a-1oZBi=mcxzo7|p^ z$Qdw@Wxtp0#~8{ehTgLV<}XYwxYI^+r!H~go23W1_BA$4qk--pYN-;SDS0}_2)ab$ z^hfb>gIEEpr1nA95Ic1$Y3i^ z)L&q{4o?KlV;H42jIs6P_T83pW();(;`L@+b78Mqn?|`VHAUZ9oB3TZ%2b8?0ha~D zW3-ryyAaQr*Mra{F8W3X-#)JYzmN*6Q+=N+oo~LVN^)vwXnrjLi{B>fwfwGsAM?D!bF~3iWo+C|4?ZImA9ee5-K)N*;OFVq{Vbfg4WGM$>H|{Qtve2v z>YPF|jrs%9+^rjK@IH~8oFVdC`<8+Z!+8*p@bYb!3Rd4vqbG~3k^cl~-*=DS=t!ds zf=+-S+*ea>(=s)Uz@S<3G1`Ow(DwWfAJAW(n??fX)~foVTyGiR`5di6%?NAcQsbjo zjsH*=Zv-Y!5Rgt#{AVh6R+P&=z~nM4v2|yK`iz&q@17<;yI3o8QM2n*2FELLIdvxGPd;TsAt6MI>YjV0nU`z2o1IZ+uE_$#)1e_=cunjOrp5Ct~A#Jg3QFKvB$3i)aalxcnw5v&x9E;nj=p{RD}upkYU?{O^i_p!e@CgpvdRU!e%_Nx%MJQBRSc_q z26E%@ci-*Fh70NLI<{@TjdCI2afTUF{>ru_ZavL;nM0tCe^b(e1g(d?Z(?M14P6co zWAN_}U*hRfe1Gq?=Gr;WT3Ja&W68y?&?ZFByna%~jLG5jBGy5i_g>_L=AQ4H|7gm3 z4`J=jG>ptUR4^ft6`$7d+vYVpRbFnQo!F_qC_p-TCo&!_IEv-ex^?U;a#G~dCYI

(ZS==xT*&GxhG~Vr8*v4?_j+>o7^Do5*%uuiS zKQKcnk-s>GKbfyR-8J450)ex}Mxo}+fIOgb4_-`%@}epjpr~g9D!>S`+w{+%(`a5C zpnXdBWj8fICsG(sW%BtS#HD!r!`%Ged6UAwr@l_9A*1j=siDoLYpeN+Dj|n{qbRh;26?Im=Hw`_-UZMH@AM%Ud854YJh4CU|tiWFfv~b zP4rvP3Zp2Z-Nm={xGm$GJ_(A%tTd0s0P%$jfH@MKuD}i>SBHlYPinwLNVR?vux)O? zNOly_^&98aR~>4mEW&LoM*jCmH{-8pf43ZtqjVB9aQS`oT|@sDqYo^- z>Ewf}fW`Ge)#n!+&m6v=+CcGr$u6p$N# zndOY|Ps2q85qP1`;e!}Oo1F;ge~S)LEXTiO)ln$(w^PU8v+7l3x-T{VHnQbZQ+gUT z*h|aW#7IvCfuS+Xi@CS3P@KHn(14{3_XmhGDrWbC!!f*B!fr#-{uG5YzeTk?LUUgl z{6=$BssGc6-G60F#G$set>#yNWKZY^bpAify~fQ|7l6OH8(Y|H=vFlKRWI=a+T%c~ z9+snqSDq1Nr-D&bID=HQM6m$qWdroh9U+#in3XQ*ukj0d{8Z26qgInCZNSTTs|Al$ z_M2H4EIr{`_i}j!bBKY%7uptvVn4tzL1%4a2uT1TL-YY@l9c#gJglqfn-dD)bB0!V z%L@{8;Kn(bXDI<*1BawgHlW_-BA{EZ0=kvesAI1DhpU%et?JKY1)RMO`AoomZ~^us z=NTY1L{OwgAhFK;U>e{;Vl6wmaK&-P+d_2o7M}$SzZL8N4xe=C4em(s5Qv@33Vu(R zwt%*}sIOz2j5Tw5Y;lHWx;-jxDKR&W2m!HYrejy{xrP4pBjgn~5W39h&)|_L6aeHY z%T*dhC0!W|>11Y#j{6}ofM}EjF?DfNOkLuCGu+NM^j{xt@7>d>Eq}%Z#V87U%!y1} zZ5_15`RNV(;mcXsm4rF{7U|mn^Ey=h{c?uD3CjK!Wrr&Ndr@|y50fKv9PBrL#rZBn zE%G>D|2r{gma%_-zFe+eIEnE!m;UbR{2|=mxjI(&Dc1fW2>t*2a{s-)TzP2j@#=$+ zg)+|Z{nZS_wj#uPOulo8|ARUidqhE(8^x$}-|XJ|Go>Sd)O-e+e^DBE=Bdzi{rTcE z+EjqA6Ax|QWWM-i(`d~QLX%Sp3ysqYBacl8JAlR|h``_C_v2H>CV)R_Y%~9apvGTl z)YvWcw7i9}ON@h+mhh&Z2P)=+3$X$*A1Es3qoxzk{Tm2@n9mjP-yl-+j*+Z^8_dva z<{gqLfLYCz)9Dza4%N{!ln+oj*eV0zAQuo08h8N0L1L(I&_mGniV#4^UNZGlNuYc@ zJtiAGm{yuXSSjuGUc7BGWAj$s)fY$7!>FaT13qenp1QqhM8w@m>!Vrd@Qb<2J5=rK zR7a7^fXO?QJY8P{vau+5KqmMHhfvFtWd4MfKiCye3IsiXQosNxeK!O!U+)0(<#V6# zW)mlN!=X@PS%m%%%#A$<=+(bS1OUGm0Q}O|{}t^@ig8E9x^$&fMb-zSSQh62>45zq zTWqC>30oV*pne3@2irR!*l$VRaV3<9Or15kvwRQEtSn#J<^6;rNJ6Rp1wm5oQn!2* z`5P}uLs|#K`Hdlg|Kug-Zax-l_=CKoe^@k_Y!PHFrRwzP%E8+ zvfn$IRFc%*{H0A1&T}YTwnP<;EusVz{7pdlKcxCyz`h>>l6^{|#7KA-)sHgN-aQo2 z$C45r&pcwFE43&^Qg}Zxs{b>~#o2|1i3Zt2G!z%~Od61^z2)s7MtON4IV@g`N5wTK zLq8@y+PPp?zZXTpq7f}Dq$U8lJ%JkgdN_bq)60=+!;1^|sRW^b`}{u@?le2rd(Kh#IruFmF>%Rf|?i>_c2{`bmTI~8u87xq6zxPN2N{UO|M%35RkLr#tFKQ#A^ zl=Zq$i!^j~JD@2<(B) z34G3==t*7xpWlLu|0!Ok$J0DVlFZ%xj-qu>@e&Kf9)8i0hlo_&e;%iLKCT)pGOqR$ zMVi>pgQilb1dkZ#L}2_%zFeWpTv?#M4l51f3pvs}oMKKR=P3XV`b!JCQ0s8QKzc}O z_a5mbH3*-hi-kSXojH2REK2=&V|d36ykpZ>xOD7bizL*8PJ&U)N7B0zfR!$$h8Qw|jglK~IfIJG9l)4~m5$f@A z>Td951bBy*y%RFY2i_1m`OmtN9yG8ElG_bIy~?0dxP*F{h+H4)re}*>01sxaJaQl2 z(TrC=&N+FB!Oh+l$qe2w;;O9StUMwFDe!&+$O5l3)bdxlu9kOBjI&j`!j=(M`p{hP zO2fu70y4Z)KD=Y34>gNWuXV6>nOsHyNf!6A#HsNc57~2`eEZQEoK^=lwJJ`e z%i8uq3YpC1IS~Y*71n3Thg26!qs<(R5M6e6;d^u%wfkRSYm0kxhK83dnRlde2qsI6 zX4KEq3QUyNl~zAETOASh-NqN!@NvXF-z3I4Nj1+5;u#9bH)Mob52wq#ZQ9D!kUCj= zip1?W5X0G6ZtK~c2b+8aWpS7Ey|_d%Zd7|;U{uAs_QINiy6#m&E2-~(Nn>#EBxi4f zs%J!_F`oAIqQ~AU{nu}Qe9PK2_(s>n)GIONvG;@28qc2K%oGty;%aY6HpG=kgwL((0^%kaR*&m~v90CNMcvy_5Y zYL=&W61hjSXM}w*@nMy{ls$>$AjxVV(GQ$ct2qIZs4b~cq+LiFl)a+zf1Zl2yKd^a2+&Sqjee7%Clh>r2 znuVD$;34+bPLUz!jjp%k6O+ffpN+C^5g0zlh|C+MZtHh@!fu;SHWi0A)Ft@7`FMET?u~c3dHY>JaxM<` zof*SR<9M=R1SOZFI8r9@FrQtwoa$O?ukGRw@b+MmRkBNTBy~3=uzXG8q9=+@qBky{ zsIX=wgLPYRy+t_MNtgo0;ba#)M7<$(CY|O|sEx&_yY)`K!HO-lgTGO0l!kf>kQ`9nu`(bq4yf(bCj=t1!{b z!dl~Gw1Y{htmRa`)~t!A@yl_q3Mx7yU&MJ&Qn2L8+*cZ-c=V>>TLj$`$+%&PhHp_@ zk8qlvU3b;JYD%DUy;RCiWrB@K&waGPJ8bCgj>#)Y!%51fyZc+7^?k%#9}KSPTBj)l zeT`ET6me6e>{WTEuHX-P3 za?smk#sTHI((LsM_2YqpA`O%of?`fK8}eKlwI92fTMOSwaTNE#nBV!UFXIb+`$iIV z=i%14&>;3Mo<4ST?8g0^x62*9oOs+;ApG}IHst2P2mSMvgDF=PZFr&`EeR>8nZ~bf zRX)m5pZ>7Tb~_GF>0VjBfy|}Mm^-U=%NlwGlG>gmDzq!l1PXLV-p;0fHYj)GB86UE zDP@S0Hit;>O-$t5>sLgpUb6qnGBxt8y=Umz;eI(LzpESEBV3ZdPCcr<&xJUq_PSL( zKaK;J%Uf*rDXmg4R@rWy`_aw1$@F_hNu?d8-Jh2lMxFRV%t^fM**|UdQOXyW7 zb2Ue>837q}C#Mw{Y$z@+AadvAbn@$6$eyIJOn1ZX z_Q|OOAt{N`)gV9h$LZF$psptQDPxc|xYsWskvaX9SZ&8|V(K9ay;3gR*ox&4<^^Bd zX~gV>ulZYlJeb&2o-JNY82Q?Sl)H260jt_$6(f<3ogAlTB;*ltFTa9+p#$UN(--tH zo@iEr_wcYBJixJOlmCN;&1Q1#>>3D^`H%=crSU6&6m!)73*_zwm`j1y; z#2X2I zRZja9UrA#R(0N7Ww?&#S!1*$NdituEq>8aUhY$XptHcwn@>||`?{Q?ZSvZ)3@tZQD zl);A&%pX#T+-Kv7S@i)~xKy6np4wl&JV^4$t}@Hqr8VWX3*spqIH4jw}AWU|Xsq@F8y zGF5Ll8tm4KMR`cJd@;b&?5;O}t!?ZSP3-jt@Yb?N*1IzAOsEu3`|x&h7Ei~@5l@tR z5TAK$Wm;*(k;YbKwJ5(80}5r}to=GQ;K8fFwJe;q|K!x&sWv)(j8QzT{*-v)x6?Y# z+T6V93eq6|>&^n@?9Q}l<_fOpmaG8RJIv%Hf3GmtM{8@lF3ShOYT16z_w41Zn9a=X z&o~X|TMxxddDMd)+NXrH%POV57gH1BkC)Sb1snMnh%%Snu4LgIenpk!{vz*UvhjH) zvx584g3`1B#^>vU-suI66gBBx(TJ)1_VS94cTyJ(1=<{zdLt}xnOZ4OV6lp#;9b9< z)}vcC9oO)lgs$Pa%d6mn{a2sc5o&xSygw*ZaP#gP8Do2U5^oNuFW5wgZ1@sB_yh$H z>N@CjUFIj~;KLOS;=*hm>z=K8LEb=lA3AU0fjxml**qSBO;k^71c0JgflsTNQ8nT@ zW~RTg8#LUB7NiK7i>5$jKJhHznE6qYY68FDrYDsoxB>cmoIvCAK0lv)QWQP$q$rQj z#)XgISLQ=TNwcsTG38H$D@(WqT8Y(o_Vr0KM0u3d4tVeXYTj@1wfJnKxf8&Sbw}&; z$|@58qugl@m4Sb;s|hrmco~$^w?gE=p(>?Ty6TZgtWscIG*Di!579$h+!vS;XLe)PDhp71#a1JPC}i}}NCh2~vXBpKV5@B*)eJ!z zq3Xnv5)i`*s+%4LtqMu&ca@%hY;z^u^3`c`jSUvvTYB+CxK`RkRj2kcLzlwF!!FSV zStJ*pyQL?@7nnh&NuU6Am*`-Sc-|efj5aok9|ZSh2#>Pn1Uu1$`rIyZXej#f7Y#)ev~i-4FZoq*}zE+&_}4Epz~`lpV&aH zG|C1(pvq`3Jg%v__vR_dMvH4KmJsND@GPuGFoN%a(lQa?Sy)$rE>RCz#%cYd3~0zS z-g~7WP-cqYM;VfhE=!qykt^@VY2ce-zu!<2+-n*;7$y5ZG;9|NT76h|)V# z#}Tl}l&FmOi}5TvT0VuMDD>n$6WWCLnzD;+yO(f13@|um!n3-#BOV52;;t*sc~3SP zrg$y0ut$|I&3GhM<~|$udqevON4^MH^e5oM@@L))Qf3WneqRHyFAGpbuUAyshrY1PX8p zDYb)%Vk1ZNRw$nc+uO`h3bc%K!QKLyroLFom+w-bjSDTUe!}rPfe;*86olv!E2E&I zg)Q%7;F-Jty8m)#v<@iy9hD+c0gfM)WQqG@^!F|}!{@J`SPQBKFcVZ!ps^D74Xj2d zRGD=jU{RLcMtQ;pUyuo_6`dR;{l@jZ^1iBy3=yu5{JmI#4B z*)VB4&AI8@vDj4y)DmfvuS#x$&5eUZ;v{SD1T9OngKz4v)d=hSMZ)F@S~;{a=hK%)*FSd3<2eHph|WNnfGC?B=rREIsqas~Uh*0WTk?B@I^}t^3L>c~o-P};=w+S^ z=#v_t%TYzau#bE%dVfL(lsOr+s51Fm6#rO;8l|&_=R$09px^Z}Px}3&%tX-7`<#?% z(W53yw8sEtPUiwt>wY||QVI1ClaIvYDSVjo%T?IAX$e|5}@Xr zYk^PwP;EVds6XnTiVkL$Q$bE=mdN*D;*$g80GQ}sw-|s~dsHF#VmJAaj(L?46H|*4 z*71agUHRkcxk%s{tu8FJbXz0a;=O1{+-p=5rX=-8&w8g$U3riqEZ3PXp=GJaP zoo~~8UKtPCHY5(Mm9nN%O(iP$I_4uX`f93C9gj?M`p%e~=mlZR$@dB% zT%dP|bOO^8ul33FbhP`_*1rruj1!ois2#!d)Rzh%=DR;uva}U|80wwXPoNgcOYx#V zff!u%6Nn+JIDr^&8x+Jieg6w$yaK2scY97DMwswKJE$5!b*Q4KNulQiVnCS_h(VPB z5c7{^P(vF9F=Si-VuT4#Am-%B#2oPvDBjf<&pB%T^^JW+!|5fE%FoX04#duBc58H4ac@oit(zRv?GTfADmZ zwAqY|yF{5*Y0^pCX~J@+Hs$tGe9cbm(von7N}Uf~dHcX*oRs6jbn@I{Ww#PKPr7F#RV)s}X#;cbPxO(7^QdQ}gw&GaT;EaMqSa$Rc_es;f`Avp{4I&P}b;kI~%>wVa=dS47?AIDf7cQNJ8+uD#l zSlDD|hxH@7(&H$E}Ak&N_KpSKc8M^((edqZ&}ckiT3vPo4K+b&IC$;@P+ z%jR2#Lwh3s$pW7>2S((mDqVofX31!r7{3#&zB}Q*68>~CHOav@LYJ@20fLx)x6oOz zlyTb-g(@>VH!7pg*Dk+UC%|sMBlf^d@*}x2Pb3EfPwVWhbtFuaTuj@HVQCue&%%7Q?ggg7*gp28l?nE~)kgW{J&&=2$qKgZd)ex7C$jv!}`iQu-Jn_Tfvacf)1AZvo%1^(>`8Ki+4WS4(9F);14;YAsvsKRvRyUE0pS49bJv1s<#nrOWn8hF10x;W07c|o6ffZmR)fKl(^6Ppf~&Ax|w+Tszk$N z=+VleCtAA=oxhV3Vh^lq@5Ni{6KNiO>$Mn9H#=7)TvDJ_?J>`3hrHf0)FCn#a+vMZM+YbFtIWL~BLnTX?~B7CQ1kdsHk z_^sU_luY7zY;21Xtw#8zgT$i79@n9^Spy^T@f&7Q@JCS@zOOhhknJF0Mpn)qcf7hZ zr6I@9MwaFJCd2y%U{}v~k$a*&Djj@5$BNv!t|5Nx#)x#e=aTyN2|o15)CqeN zjl?mFWtG?IZcOdU>j`0Owt&}NRCV6QcF9>=prX_^{k`6VOCPCvYbPuiiBc%h>?nQB z<6${2aiVL6s_!@-n}iiqr$tiKY`mUN@wvLYzKl+CfPP`=wJV#ffGJuefOv2_153Z$qnalTTY~JPGeh@Ok9iN8RnDxE*h+>oh0i zrQzRx>T*jxR>E44==l7b@V?0*g|YhDDmksmpf?+{&nwGi-gZvf3gF83_&8`6P+uwg zxV!u4P29?cI9edGk_LHEes43mszpy)5?#<*xLaw+j%@YY{kP-Jvx%QIo(ObP4ZVs) z|4`XGFju6MfUUn(_lQ8k!u68_Cz9CqW=>7STXW0V+dLb(a!<3d=ad(obh3h z@T_i`JE<>Yjt=&vo-{tG6BMY4h^RXTsH4m!_~nt`8^%LU*R6f2L*k=SH6-N~DW%#_ z2%~8^q7}QNR^r${ulT0ZMG82JHuLq@VOc!3<%pJTP5xLu2}C#R_OUimacbZa*bu3A z;Su>{p&BxA8~V=Z9qaMhO7Rol*Dd?j6vuVOBOB5C^LJP7ke|0Hq~51KG|;?ehH=)V zntJQnp|-OEV$yOhcgi`tbc8&5(4cyxmIVoAkdCkAaXAu4&?+4{=*=Bl5*2GWr~xu9 zo-Zx58J}M1_+^{P0uAzgeAMxtyEYkm!nsCg4egRhOGb1D8)~A|+nC4JPen=68S+xr z4z9VGojLCoFhP7~dvJ6#dNSt5^OfDEBas)&wU_-G(VXn7d7IlH&ET$Dh_J~xK7J+_ zK5mzzu5I{QpMLpqH~Yb{he5yNu|>5S@+pGHnnzRx$aDoe_grrHY%5m~*Y%Rowd7~) z*pWQr>gN2-^Q-#h2zyH*(VLAW7ZLs4Xo-ZW-Illc251{5Bk0h9Qpi;p8gj5hSv^hY zG$9G(#Mfjdte0wW<;m{tj$8 zQ7y$!FK9?ZTZ+xg9B!}Oe)e&0(IH;p(Nz-S?2B)4lKoBSlo%$XEDtFM>BSH@{8dv% z>kF@*JF($Bube7p-xO+!k1t<>E0^tl+X;^G=!xeUhwCmH0heNliq!tgwnJ_bHbX&_ zIUP1h3iclTgvRnQ`NT5+E`I3hIRpL=vPtsxjIc8W1|(|n(cvTm+5!=A=`l^7wG#n;6Q<@UF+4pJj+<(F8BSE=IluvXF0Hid&jFnbgBQjR~@ zBT}~YB}Qm$FWVS|^u|km6oZWltHYMAwG0I&cwM^%a}ZWPL+t3##x~zJ1JW>J$B3EU z=UJT6Mbz{Uj$4p#;LGn>wb^P&oA=)eKYv~?oT4*)n7|lVJomCM>iK%d&OG^bX6QQ` z*16k8mBXqN#af-1%a2Udj)_=JD@-1Re|4Lu2&&|XH2x+oWL>W2QA{3*``Kl}|C`E_ zI^4^b`=F0k9F5kKKCeOrEW%$(j5&T-KNo%=a=!qQQ@%y6P=m|9P&%Joi_33bYv#W# zoRT})!6Q`4Cr>{t@-4=hi=&-$xEUF9DUsYQpsUreSoAK{7iHboTQSQF@|)~3tD2Ym zkP`0slf*X;!q4fr-D2F$Rcvw;y;^&;$L?Spxs^IMo^4i9L1%KvwZLn*OekF(n`6Oy zso6Cu{6O-|nm+pa1X?nr4E;Bckx`8`EmV_k6tXBVKg1R z5P%-5zMw@UD67}rOTgtP3OXo7)A{A8qz>n!s!n`+PDZ1izJ%!NxxG~Mk*=xB9 zO+xfXc4cO;#jv(02l$sQYMtAJ<;#g<)~0&_q=@GM)ojF-YP`oUIdYErVOu(VVw1U2 z@$6~cn(=&ueKLVk@eC1snj9{!+6Y*;O#JcWHr%&wp*E5)p4lG`Hsel{gdXo%BRjU? zc)73GVJvC=SJgdvSNy;1qZF z0>y)d;#z`3aSHUy{XXBnoSidg=E{{>XYIAup1FPc2LovFz&FXoqj6ZQKqA=l`K93a z=CfMSzo6%r%Ecpx=NHK05hrY6ujhb^@B`n)BgV?$r`O{f{ffEme2LF|uea^TH`J>C z{-{^XCBcq!dk*k=ej$ckL!Lyi%k#_T@eK?%gZTsB7H*%&7mwJ}ri~YEebsjb{4@RN zoc>g`ENv9F1?IkyqS>(UZ)ckqTS5aw5TzO>5RZLOoU|$zw!4OYgMdEa9?LLR;XZ!$ zr1N+GkkSr*%yJiM_X%YLm>cWII$;Xg?BXVn7wyV=Y7{-&$z;=GsD?H$c(`7u??yd( z00ZxLgE6>IjhBm#&W7UBijCb`gTS~cpMscP$E(CUFLw?w<)zj|-2z(h?L3=aZ8q-bR8Ay^zDqU`T2nFCkS}qmT2%fyIA)oVZzJ)B zS-rBSJPSkBPZ=TCi=>dUvb9q_Qlhmd)%NF1N~Z_9s?j#(=p5K6=5Lu@S6FaYYLK7s zvF1vJVwyQLk)e<2m6z|>j||6Y4LUddv=jBD1H9QkxCBYq6C_S?s-Ih_({sCORWgL; z6yOt|1TiWqeGoiX>*Z7wa$Q9$`^C1hYt^w=W^WKG#;$FmZc=|y#CK%6c;rv<`ovcw zNoTomnpRN~OugPtnO6T5h&q4hzVKe`Hq8GhTG6L#P()NH?Tu2r+D8SIy#Q)1p7O>n zsD9+%YWI>4Wco!S5D@tN%x>DKpthe)pIX(-u~c$udCuweLFMA^V2UaaOV!w?*ujph z?R(^kh0iCkfJk0wotm8a81?Dcf}}I^I%AqyyF(kEY-8idyNX0n>KIx4T7tN0}tbdM3C#yJPJoFyZVZx z?T)&3b%K9=oARmVbiUt|M{h*PrC@)%E|6QZ}jVbhfEd1gDjX_K9O0K^@OFSqVP}?14 zl?}L?kCrAo{_JENfDh!}EFVuW72|XoW;@uK)4X5})Stx_aL=mowA|lz^SY935fy5N zj#x^#DE@sg_cOneX>yV5`Xwk<4HU*26y5uSD2Y>c6^00Z_My;h#Cf;Ly0y2Ce9L?W z74{fmpVp@jDt%m+Xe-C8so(t~{@GS)H2oSsJn`sw6J_W5vetKu=HAK^;E5;Z60M}J zoIY}Gn)CZqOG22F4o86P-_@3k)!WG7Ng})AvG8`?KZ)!Y{>8)4~c;;+`c5@Jf|hd=tybd=dXzEPBC!k!HJai0fBgc_L)P)1D#8{_#A!prJ>_z&;DCT)rYg{V%WF=^cp-MDA>}{!t39%z3KflEJ?jFb$-77YkRua_vZIZ9_iSf zYAkZAC(@NPLa&5%j}scFpWn_@FPyZpk3HV6UeR|xfk>U&NL!|CTlBA@YqqIx^3W;3 zXWZxSVB&~3W2iFV-^W`d&_6iO1Pqm+PKlqS<*_T?I`erU7*C*46(s2*_yklrgGFi; z90V-%@3dqTeC&21SLEW_#;KkudTPvf)`b>yW4~ej4Q`LqsXb8+M|&5M1*9 z%knmxlQf#5mhn0tIoCN&E_40V>f)a4``d-u9N7pCCZGjOT{KmJ?g5VQyOY64;j^4T zGtf;)HyIZGXK~rmJ8!>Wy)Ets8x?@#FNIHTuNsPg#|>JLrOMaI+z0=# zJnE}RRn4dC#dw|K5$T{0h3^~mZf=O^m0{}K#6-V@3Y)YJWpio`Y%_8 z0_s_D?%kBf0v6q|ACoz5A7Vuo6@75(cinF4Pk;6AMzdaBqK{_kJJ}A^r8a#$26aK` zk9WHqdo%4Ki5D7{4Vf({$33@M9LY08!P#PxzLZD2o(%9gUWaS$C;Q?8gUbJsShl7c zfW22^s`U8=p$`Y>y_LE<1zMqy!b0T*4-H#IzkYB_gxQB%0O$x^Tpemy?96IXv5GEw zTtF6SGaQl4qQLGlX@cIFkomJ7yP)kkvkTIlHJe|KOHN%=M8+372ld*B@B5NaY!8I`MmFtl&L7l5|2|$Siq%Hthzo&*VdUX50lUF(^XO@@r%GAGVu? zM#QPT1+9U29YbtRw(rK(`;TtgTD(+Hp8O_ylHH0F{&M~3pbSSe4pmcpj{bRA3ZN!> zP6ne$nJSvrGgYT)$`qt8(ScW%soG?P1M!l{-Iav*Z&~)YI!iGh(yeRTa*-^0>HUc# zEgR)Q`8=7?(ss}2q=FMztmM)*Z6=3qRXoPnML$g;Cu|h`h5kCK@I8)QpXri9X`=)p@%i0`0Stfm0jIpqL ziql=A-dv9A_}hG$7C{$!R_q+y^hJ|Jgq%hk7ne_BBAeQLUc-K#BK+ApoO!dV*4o)| z%G6}p*(#q=p9qUi>4_Zj$YgI0WFBX5KsKdEJSRYEh68+PDJ%g2BBe*TOx9O8Vt9iT z7944sf0ee0C?_lEk4Va9@F>}&(!Pu8e4MBuEZSj1JL|XTO%miAydvdo-|0L-8N8Zh zLkAiT6(f@vjM473wSui9I1o=_jfzUDJeyC+68ppMoy_3tFpIIc_sxEb^?q~n+qj4? zz^A)k8qA_C&qQ*|p%N8v#u}~SA>+g}ukaCQ|GVNpb3~|CH%q&7+Uci0G1-KrQ?3-D zew~(;VB?ux=IHBSQT~M;$n)ma*xC?4SzELWZyNOVY{RtxgVJC!zFkMvls&TS#FivJ z*T&}c3P^ZIktfRgy-F-EkIF!`C(Cm@kpVesA`7rlQ38ES8>IZO&PsP{(d>}<9pxCA+^zW<4+ z7mc>52Q>$+hjuGjAC?HI%ROO7wuJPUome+v9v^}v&bQRlnB7xmd=w&GO!|302rgmN z5f}+gB3Fn{dqy~f&${sr< zW%f1&kj;Qk_HB^XOzFP>%CxHF0d(LS4UZo;koqe!UGV72;NuBIjG&5w@ zYd?ty8&#zN-9sP{12wFx=dwTtq^*D{A=$Md9Z)5@xGK~Nr2T30K80Xip0QN%KK-Jk zbL@cPlT#~hBw|f9k(L)B1yRih5w*ESq{c9?0G@QrFSFI=PNh&vtdXlTW)k+jR*O!| zR}yY9UfhS;?kOtGSpzSMCrgBl3~%2wl&;+XEGJH?IezSazb<<|*iwh)Or!14t5MzL-fqsV;QYjov3#}U7L}b z4Y`sV{K_Xi8}_}x2pY4;m5eAYw_PI?D8MTq%|WXb2k)B|H*9x`m5v=hv%n{Np_ zUD}pX(3^ww5U73{CLROwaz{vw@nthE%u$bpYqjc zH;MeJB_qtWYx0g5Rq6DQJ4iwQA^K}Ifu#VW{~#h!Y=bk{(8X4~#;E(`*I7iL`Fx&; zJ(1@DHBMHWI968{g}rC>in326^SD1%hzL%8{{C7o9?=CMPkVj@26Es>%^GbHaP{C4E5eC5lfV`@;x&-S2($-Xh(d*RpW^0*agj?E$9Uaxm!w zn^$Wo!Pxy#i*c{wb8hRsendabttzMi^|c865B)U>43RSJYjn`$1oF(i-EdY>GS~JE!xKF(WO|VDt%Z0dJ=|j|V|e=PpCP zEeo{HZpNbo+)syJ)9PK4WXVoecQ765W{qqLUnyUOnDZ7A3$4f0&5#~N4ni}d*D7k0 zyhqS`$x(c&ji6sAa|!;SnJL74hpZlF)gf?R!EbjXT)vMJR3w%YQ%&XI0CIyc&`du; zO8~_0JlBsMM!iHxbI#H)`L@-fN=bjOpDcvLyHm3q&K^FrekXPO8I-3PwV@T7DHQm< zb(WNM*np8^>qrKH4n#r&xMcCxNli1jOX*z%q4Btl8Q{6JG}wC7A5EGf5{F^0&S%{g zon$%`$s1Si+ix!4@HrOp4hJI2n`;zqqrk17DDzwu#IR)o7gx7}-YnM2=NdQ%>?Y6j?V+Xuq;}IT|_FrSBIf98-cg z?sLY22(J?oVq~>#_xQC*@tN>v%O*GrSiiY5c9{Q{RR|K8fBK{A;?$(!w@E`vPyMpt z$LXMN!Lf_smSi9G)>?Q`kMIQ#55-LsxZN_Uw?Wl%2`($oDX0 zrVnIDG;1&DO5LykG2@5u4aHKKhDKrn{_kqbq2u<_lu06%eF>j1*XKRAF=N3AvG_%kkwZw#8?DrB7(@iuEIFecBn8b}S&&{^g zaO-(p=r5DhW(pc!rmoi0@)-Am+4O-;|yQEB>a{{LEP{G2*21#L9LZ-etjtINpYrrk+z=M ziq8Aa`q#8BcR}rXI%E)0qWtJBn^@s-D+AChT3T?uE{1+OO(pq6bVQg~jd4AyuZuEgHU6Br}{S)3ouJ2wH z$W=RP z!(FOTK^yVPKQaBJQ9}prW`f6wxFYqV@LN9LO}NK1rb~Kpgb2H&CZ>9hf8QTfW4uy| zBuKOVWp@m}NQfng$pp1=jYOd!h5R*4uMyvBZu&cE%@R8YVGHb>dv6x8uksWW#Wz!g z(Ps+f41d#s762~so_RI&KR1|u?N3Y2nC0K5qbc*Hd^H{nZ^TBz9CL8ziI_>oN-@eN z%T-Mq;28@Q$%Ws_ub{z^_i#YuQ=8N15F{$od~ULL=0Fy8`_k&@Nrd`&fai@l5d`&s zz4dc~p8oTQ`px}&qs(LNaj$TGfydJkNhjD5Mm|z+HD@$8BDf!$ zy&oI|nr_7*^!E2|M&~e_+9*B?laaJ1<3Hzs)g$i5Vzp{lGA@fyUlr^)pI$MZ-e{`U zEgo1;Qq;Uwm68rTe{O`tSNy=v1GQ5y%=ha_b#5G(j4HdfN8sXN&L3i8+8VEBG(@>9 zQ8*BPVtE=PQ)|o7Z6Q3E0sf?^5;2bI6ghM~3gV|sD|0DMJ-gj@ufJhM+LSeC5?s4m zGoeP`57eJNTuq^A6FJ>z03ri^St&6>OJlaDzf&rW6Pt0%l4)=gj6g!vaIT)o0_-w! zle{zc!YHIbUV!Ug1+q;> zJ&+ybh<;AThiioB*>>zF>*NQ&W>gs|*}iU0jM;wUkABd0_G!??&agiD2%GZO!1WHt zw(ht|Ahh$|)e zQd;Z4A-ZUWqvq5}%ETX@O(r>m1$t{lxa(!3&@OZ^p+*xPyQ@~{)?Ti<@7ltypgw$5 z82_;)P$ML_z4-I@ng${Lk1IrECMJAicC*Tux^|@!#aXNjp{Y+2v-S&49|^~C6;jov zJO!($A}=-S4JhNUbLihbh@!s_)VQF55J$*B+t;WR!9^$Gq}Oe~>Ruwz6-D4BVpQyC zdyQJ}b&`&JiD$h3R{U+ZEa=#T9-LOd^e{DHshmKlcNvfE3&F>QJ1XnK+LDeK@uVq9 zUf&k3~ z<&d^qjCvJCkYni-ad2S-p9vI&F0KOI1>g{gXhDTQ`w>($z*=zFr_GCoU`?08C}c2m zU-c}<#P6@Gy}~n-hED-Uf@nMB1=RYJi@`Fg-vhomw8)oBlR`&nkOlqeaeCz1oRgig zwhq4-U@OT)0WxzqL?vg}troeKTyv-#tCq#$v{Xp(b)+tC8)5l$99jM=Zac|I^M(;! ze_l~Z_fV1#n+JowAwJMILYT^5f=RJ5HanjK7%OjpJZ)gnly}oj{40&eqLNuxUgW#bsV=kBZB|YVsn7&LEa(yaJQJ;jvZ6$vN{z5w=?pO@c)p z$8CwKN0&)gI7noXGBA%x@_A!9?v@~fUjjWB+Bfl$g7}OG=}7JA-6dkDt`jqp_W}}3 zQzPZhUfvQYf-sY+#!P->!{rSnw?X;cR?g!&YpT?X$X|&D{?z8xyt%Dh-w_+!o9b zO?KrXdu7WkhivV$TdcYymyM__OOo6+8_d))=cz9ijfHqGrA8|9xlEDROhnl>l8C zY0HJQh?twXWIvm#r4zQy?6p&H@|${L?s}(zN8MAGx7-k>bW=UzxffsT#ruF#v+|L! zzY*9ea>ZSdQbwC~OodY?(LH1y2D7`u(ujr_r*!botz8ZIX4_M~yeqiAzrI7!^aUc; z2DFSw^qY&Bhwf3bEmlii8Ecwd!~6xWRGv3)BuC%|lScf`V;I_$--y!4B7b-ddl>c! zZh@T7PI|cCS?>pa6Fg&d@La*sd>E2c5>^MKP{wa8(#;IBIzgv-C7&WM$VUR@F$=!5 z<|jS$5c&*!4t@9z=Q7`d7Nvr;<;Z&VyE0=df{o!A1+b0x+zx&S@29&B)bRe%F%j>i zw;ucTK(t;R9{(F3!NTAez#|V?RFsa)4`_4JL^&Q9KX`~|+$}DAIPDyFjX2p-k$IWj zL^-=MY~@&w1|H#6F^ckDr+Y5-@#m}xpNIA~+roBUDo}lBaQgHq`zPkR4c{*aZAnL7A3%d0*aUrZONv_+ev4p;Bu1fBw#>>!>vpsmCL_hM^?CF6Z0&?mvC`QF#&y`7U0LEQ>bxSc6QWzz$}4kASjloc*EK(liR-MNr_7OZwizeDj+HkMY-F%v=F zUyri2)TF*Oweur-(cYtUcwA_nVz;+iXDaaX(X-?19sKN_!jWIPhxk~R#A=ts66~$$ zT~wDQ>aO)k?)8kqkZ}>nxG02C1i~l^sT6^v6`WSj-jQ~l8WqqIo>;AJHX5cIq}9^H z=p4_{{;1JHo-iRNEEi2c@7=B)^tXpWnC?!W*r2fvk)oe0($*zx)QoVs4AWMbcRlyT zgEWRQLci5oZFQZpUTtZFK8&IF3c}`;BV0NW`UD$=KHQ`CdK>gAcK6*%N=IN5hd!$Z6Oj4lN9vl_MicSn|(__KE7Nu&Z`#k}XdNU=^ z=l(r$G#gAac&hwRMCfyFDVKWd^AkI<1J^GeydO@*3Z$*7*=T1H2%W84r+`Bla~_jQ z)3>ffV0#xHDPF(=jB`7yqU3ZSi^BS5Dc5biq>zd)X|g7LCojmP>Q6;wtLN@!w^B<= zF!Ie%CA@{~ZQ@iQ5wpu7WOkrpeBnnT1}*`{^$Iul4CYF5z+Wp?PEO)zlYGY8fF$5o z!}LTo76mo#CY761H$?{0e5>NTyf=j9w)yihnhzht5G8{4t*Dc@_5|x+4#V-K4VK$! z(wUAAmY!2E+|K-0YCw~uE~QCp zngoyW`d^TJQJ9+%z*DWZjB)Z3g!)oFxXFFO46|s(h&?dJPyEW*oPcovW5DxOy;*8~+>lq4;3*sgt!%1W!>BJs zaOYfq`1Fgx0K#PmOn}hY5ido!WFT@$eba1xEee-lzhwpu5I>COpbT;=qCt?<4#18u0^}@vXUo`2Xfk#72!>;Wd#VeZ zGM;mhrRS+YXHZ|nEC&!9RD>~S@+VLYbc0r)4;2IWqZM%E!}10lsBN)xWus@4c6NM) zU?*MFAI#(r$uCVjPl*<|R!B+_l!&Eq!rC*}v|*l5JMAfVq4tAlEmdy!)(Ph@{CMDk z+i`+OY`R(0Sh2LBWmf5<6Qxgt$9W-ju=Pby-Rv-3ujiGz=20~i|L-73t4?0wg%9Ef zG1ju|@cOLW1A~P$_rGwSqNdcBNp-*`r%VMCY7i^BDb-R&+mNiGC7k@Ap5^1VTPtD~5-KM~5Q~gDL+ID*gNGViniL0bjrsNWdjl2Ra;q98 zlPy{WEqw&Tvha1Be>y3j66eKf{=Az|x3vN@Hqba-rVZ6koqkH0PY8Er0wRJCKbclj zYNfBKb$=lN3H;#B>VTV$jCbD_BMg{)63wz z-4b4Cjc@TVJwZa;M?+1DBh_Q<ZNyh`h3Ojk}dy=NcYORpoxEiz5xa}fG(gBDO256RZT)q zcXx$q+Rv4~T!STw^D3p51CmQP``zjLMQ>(f`&u;f@+!Ou9_wdRT_*9GHxBsbo?r7t zj7>yT+vrBk%L*4++P^iU?5t{$@n<#(Xlp2n@MQrtdHd29*%a4Qv;z;W^cPK5*TkX* z^lTGatngp7&$e$SS-_Q14<$cqsCy$0zwf~*EDv^9b*+B?lf-b`yr8vIvY<~fbGQhc zGJg3xx9uP4FqS*Sqa1hg7;n?3Xxj?Su`5vY%LHRYn9<)-fNU{dBf-^xIYL<7cLFen z?-vT@4KKt#Iazk{k2Uk0(|sfw6u4#aWW?gf=9DY(tWR*fNUyHY>oR5#FUtq&i`xIW z;=oSs`uEP0U3i9+Num!u>%*1}>l|kuk2U`|i}skH53)kjB%fksbSrZLbSS(>>?am`cowvskN68~8lG=TT)0qVebZ37!eY|-4RfjUrMBfvf3Z!%D);(FxG z`YI{Wj`ck_Om1NX4rhU2>SBRgM#^v#`%g#3Yr)yPsvCl;5fxzJsuGUnT%%d>Y6D3* zM|VdRhn2BjJi%_6ZsnaKDR6BmTnI0P12y$u=u)I+dA8S#Y_++fF!bUNAZtQQKBvm zWn%ASr;@eWl;H+kii`(Wn4&?AobrlSs*!cNHROsOW{KRa@h7B=^Pf zV@gv}$9_$e{_Qm~^~WRTLMyKKV-md(zYxV6D#xpCD4ikh(#h9PGtUgpg8F+|#TtJW zH#oU#TmXZ(mjAA7#|?o=N$)(>Wu+LiiHdNOwb3;;Hms!wlbld-)T8z}oab>oVzbk5 zpYA7+fcW2H4p4kPeY%tSX<|F6aHFz*?6&ucb0}`ok9RS#RZ^l~nc{@qf+N*VdL8`E z%U)yr<|$HXi+=U0`lhO!RbmqUiAK))c?-&VAburB-9TJmbeXMRFptxMxBwU;`3nvU zh_SareSRVnVWf897OX-z;gh@ho*2iHY?@`%#KpmrLofcmiMU^%2;-yTO@FWY=t)kn zY@+OT%H<`xsZ5aX=l(gGZDInL@8sd&;n%@m;FCmFz-Jw3-k+%>fd2&N4SJw-&=bJU z<>}Dr=`9rOdyv&}@K?ULo=~9GF2a*%Sl-a$v^0xVt%e;9TBYoVDy(%lNqmt%NQmcP z>)7_xNp|=>gKL97#nLFz9D-<#$;`O)NF6pYDy^`qun?s|V(5}vmLvqJGc*!H`=Q9` zVnWk8)pglT`0s2Zc&zKK#^YQqS;tfQZBwy<|1YEBXZHnGL9f)?Ws2ZBwIQp!hm4Bp zSF5wbkCO>GhJx_&zuEp)R8gh1t|0biQI~Y@*W#W{n-1p*ilpB1j^vebuZ%KA4sOH|+Tb*)^())oulac;vr5>w)) zNgj(=J`3C@WLr~%CEO8N{Bi?74aIlhAoM>O-iN9;1m>KF)efjHU{N#sQ5&@}+WbQO znuRKtNmXv=|9Ie(nNU2*b}21ntaOzJV8ke(z2yN_V)SW1KLR)jMRcJ^fH^$B6tD}L zxGYroKlEt=r$rR9-Ufgw(Zr>pg5iZMw<;PCxmD27D(Y)NjqLseQg2zN4!Zv(*V@(pQFK&Xn}IjR{%AV=XnaH|2Odx zuQ^vi313`S^808J+OVl__AairOdS6#-WA4jXkO249E6`{bX}umRb2Nn$w_*|kXhcu zMp;$y`Za?i1A?K>R2kcNC3?2MaCeO!87ai4yV@$&L9XrjMPC}Csq6H#t$9&D?EetL zf!{4-=_u2Hr-&ElNE8St9C^7Hc8MkEW52~pVmsGKFQ0$|S0mXu1gT7EaT^_vs1*8$ z(Cw%B)J~Eppqv{!_toeR-PCfgb+lSCTZ%1YMd@q4bzWnCjNSgxfB1cv{#8(`BY|1p z=Z|d{QHRNwUCr#5I7&~ZZla2>0^^QWxOkH11eFeXe0?9a76_U1YLeK%gd&w-;ZLT0 zZ62B{YBG_cjE?xYq5NdDdl%pPKMV@A65Zi=5{Z9zV8|R&e7z=bBg%@IUz~I!8dpje zl$+ybN!(|3hW-%V*l^okHy4@AY{qvV4~Ds3i28&0U-tDCqXaav#zdaHZU5LuTQQMGQ@yhzL>2>iaDko~=X}mLjkde+vW|5RL*lapf8IQKP0N|}~J zyRT91n8V9|rk(}gtwv(+#W3Y}Y5MoO3hJB?c%CG8%adAfpgj3xtwnKnzc{u2tp25< zF#&z;k~Q$bsl!AHGp;&ggD)8`#&|r24Bjb=Qz*Pl^{p2@&u8IV1Kgh%?xple?@s$h!P8nVf0^>Z60qtF8VVcOpvyg zV6>T1cFg;IcOSSQ;^N(j(yOyixDk}b%Fh0ppY=+=N#Qc}Lrk#)SdStM3G;x_e+=H*qQF07 z(OWrgc&AD}46rI9TiLWT?s>+VCX>opEj^5laRcPTy0v=zH628|+K!yTV1laNLJ5jb z9x~1FL7FXpOwz`>e2k(T8aT#It~GEI9fg|@A0tG}tTF%@WoeY_ z$+ClxC*mF|`{5$xFFQF1k~4L1{!?Z2;$zx${vT+LlK0i>?SJ9RdeeJFQ(P`hC>j>H z4)E5WY1`6PtGXZqc&jvNAvKMX)?)AcmG2A0JX6T`tIqv|`^yM9J-=m!h;+S=diU#j zc$3!Y!j?qH5T_li3aOYIwQrI*xc}Pc^(n6@xgGU2G}GU zQC%tk;guJulhM?lMf>?>+cL`P3vm%a`Y@=jM0@QA*MtYjL(2gJA7K!_jqE9!Ya!bv zfOaKnOEsT3=glkmP9>c-Y(%(Rxd>^7I#&+!-*0Bya%89+y0w|6Z4#yUaRznQU*sw_JDES}l&*=nU`q~jLJ>j?Z)KZg$E-qxy zZdf~0<)K+i{Ap$0arMu2;J^Q~Y~Y~x$wNy4!Hl=Kpd_@wPtXy-C6cG-Rw1w6(Rnxz z**Ubg621j=BNz8pqB&;icN|cjmRKKn7+Ee*cBAVAQWK=C%(QdYhG;%iOWVjExuuRR z`}*K~CuAvn#U(DG+!c{rMZ}SY_;NYdc$j~^RH&Opz&y@&OYPB0V+p!vveIh8IzVy% zNl?ePJn>zHIptd#9yYb{u@ALPjB8#V+tl-Q>6K4v|A&R!5^%7ul|ut5tG4mO8roF! z%`4O~M@5sNQx%o6XA<=3NZj@0tHoWKB5J27I<+7XLi5ot{(_D^*uf`md-^=Q#nYUoxJt z@6JN3J^#JZUrfKr;PtnO zK5jNgN_@YF2}B0KPp|@u-DQc2=Ryk?W=7Ea-lcjScI>JIj+ne-9-~l4R%mG%s1G*? zv>j#Z{k=tERn;vBrlW6UMW2M5(bg~TTsK-~kgCmfS1Om>agq3E;k2|Wr2dXzRy1yz zO`+_!Ng8%EDSb7NuMl@j#8xz-K%qarEFWOU-Vf+aLh*?cM{r1C*rm@AFJ**QDP(N>T-nWq34vs8 zACUnNd=U-kZvYDFrV3OJ03jBUf$9MS|C3Fn0D`zM>+>6+1KIO$OknJ*45KN(^oI?3 zVTRv{Au$UjHIcaT8!u8$A*z=HYwo5w*{xjZ4>@6E&lO#6?I)skRttK&FS?fZN;%mm z<`k(p=|V&t-ljDzp8!T~tv;{a=3j`~q*4<{;{tO_nLHHzqDS+}M#=>q?w5YUtVseW zrGrVX4mTmS0*0c%A~#37*&EmF38$Hi{RDB50k;ICCn1VM{94Ibcun-jzNTMYTK>-Z z7Z+cWagL&NX2RAs@twF}-hjHK^GwiE){zsKTd(eoXD&d1#8|z0bzHYo942Avd<*hott8V#7_DXt zvg{<)eV3$X{fLXDgq$A}jCdCvYZWPtH`JKGATj5A%_r#_bG7`ZhtS~ycHgTHZA28% zTM|w;uw1>t)FT&|uuZ;Wy|wyvCY$_i{x4!L+vlt-C$p?D*5%KvN}h~STmHMNrxk%nqVtgeP@kz79(HpGcI z#5C*ghs|Dqa_xamzlTzvQ5seBuFiMSdz18b>f8l>?CW*cV_tktA5z0!&Ukl$96I6u zTw$%Hz&>HfJDckEI0F)ix|qZ)4V4q08tOUe)LrF3fnri0y)UZF=WACszgs$)<|}XH zd~++;nA%BE=v-O_EYXVk$YTd~yRz22I0Y9bd7q;9{@1^d)8=nV9+u<{K|j8r+POP) zGC;Qq5H2AsS5z9I-r=LC?c<2C=S^ueb%y@H0^5OhWBRa4()%)Oz8z%S z{Odi}Xyqi*Z_ zZuj%hiz{RMXs>T<#d|Ka;LtbYBd@zdX?fjkw0kOB2cAg4iHbQ5EgU@O?#jKaE}FVU zAhvd6lZn%G`tl%M6X1e)e~%oxzvKk><4C55B?1* zo(}N!7aTkt=`lgVWQDbjkm#YM=QL0_z?)HTN&GiWzkcwq;(ycr3c;r3=?sGZo8D*x z3mrE4g+QXb+u)EtcRT9roKp_&Osx|WPI}j&ldPa!J#*C(51z6{c_Q}q|2Zcf+)?&^ zMep@M;d=ZdVEf;JpO7%g|2w4srukLI$bZ__rQCm~6olP(=5S%0E;lgU%SW&##3Js$ zeepN!JNH$-|1MS+_U&dJ>lFvpf2S<@?_y~PxxSL`+*y!N4DPT-N&OcB{kNER)nE_s zzr~bczk`qW_YjM${}#Ldzr|+vM(;r+Be#L|dPNE2Sqqqz#6?9$;);?#RP#+afEO80 zffgWTbW=^}cK`$li{Yk;9&Ai^DbwRAC=d3_V5P1kJs*{={O+x&>I~;r%&H#Ym ziNGyUeoqQ{5vn;6IUXdBht&m0O4V2}m!jau<=9CYP&`fS1>TYR6oyupP1U3&eegdtC*Vk!S;}lbSU$63zD!t9!_Xz+c}vicW5J zi#Hl{6y!Iqqt#B0E3Y2OeV6uVmEiVCNk7+Y zwA4aEz4~~jd>g_8n}<4)OE{LQ)ma;8n<_?IZUTC1^ma@)_dHL5R!wSipE6NO39qLc zVy?O=;!WI-w?zI-H9bbK60RJ#vG=PE2lsZ64~sGGRC_j#4_`md4jy>=VGUE(FBr=& zXrJOIrt6Fu1^iMnsIRnLa_x_V6mvQE z33Men9e)0;WNY7btIhuzcl|5U*>4iRU)-w3-H@)IbM#K#d&|B-#z%g37u|ZcNLqlF ziQem~&=@VmmX#kBn=K3iiVx`my78{JZOefySJ(}MJ;6v@uPj$%ifqb|!kD{Ru2}}xJm!t0=Z8THZScZ?og43NW zIcEK&jAnu2|?JbWd1 z&)UlIEXCrZgj6nlzCO5vsfM8Wg^AeVn)hL`m|xM?KHqb+s*t{*{cDhXRzYS}z30-Jmb!eTG1ZYFNZ=&lh&f~S#<2B!-Km-!(QU7n(WB?Xtg^?$1X01)Db)B`q zO&R=uQh~Z_`1XrgmhrQG$GZM+QNv{cKGM7T620fB zntyh&A}F7(B8PJVeAaRQ?2nM6?_a}WC{I`Ibm3!Bf&@hW#X7Eco#Yi_aa@?Df52k> zd$6_M<4|vDtVY6O6hERmC~5E|dczO`YhmNw;s3^{61`pqp-%XZS8Ka41C~p|TmDlx ztcNfNgn??R@Sho)s5=@w8XhDI>nF^54?|dG3{x$r79b0^yZ66t7DgZvh!xFL(+*b3 zf+4bfyhx|ErF2$LA>r5 z@Jxg=3y>FNj7mulR0bLU&u@T&K}icV{!jT-gKB6%wE2+3Xl+>r784EpVzDFE$1myD z2#d)jXuEfXhXj$|sGP~?g#4dFJCzc(yKfQaRn=W^DevN9D^X znr7}ZUc^hRzy3Skva7wn)1G~m6ot$k)We)4-mBY_+)T0T=%A<*EK&1fk z=#+FozN&StF(TthE35W2iRC(L6oFt-VTxq(^YC>s*Ke_*ocYBXeI-;5xlJhBlE%Q(J^G{#eabeO*(v{wr+MYH2&O8m`w${X26^E&2}`9PLKHn?%B7JrttXmiH1eyVn-zRifxvCAVso=bF?T7vEu!mhB9IfJ|j zqN=fij_i7?p-~^|f2|u4%PN@VApNk;R+Syq`g^&2@~q z^Il}Koj>V!M@xemilQH(QN6E}Xu^?Cdcd_vIC681+}Mt92Q~Fy%7`N5$?3|8Q}4P$ zxWCLHpQp_7+2I)QbSCHBQ%(h!-_ks0x&P#Q*`~9*Ea~*xJ7r8L=t*~%RMMaEvOv-a z-@9VW=j)T^ZdA|;!zCz74AG-yTPk$fbq7_>wnBMd_Lw*=D)sY=Ov=_&=^YSNxWk_$ z=OwwX`J@e%A4s_pStpk^+4ZZ3Mw01P0dDVOf?hXd!h@+0^(>Btg*WtjpTw(0l5-E>958o^$td!#5`rR4 zOovY|o(qI7J@r_=z}@wSDYVHNdVNRhjw`R;?c7b$wBb?hbg3K)$6nGS7+UhLs?qI@ z!ku#6{mIr?A?7hpa6fm&n{u?)4m5brKjb4;h%{Co%q2Qn-4!MxKl%r?vt9aTJ>%Sc z8~gaRo&M4x>jceLZC6iH4Eru?4C`w<(>1iDGM&|vZp)c0M^B0?Jnild z`*9;c!FR{#*!UI|rJT-;rxhyQ>QE z{AVs!neh#m7uE*&b#7Lq2|PwdVuV$wd*bK_rtopbIF}RQWU#sFEfG`0(jn)^Fh$I2 zy%uf0SocEkMTzkrqVVxbo+N|vS^`$R=&cF!3QlSC35iA#v=)C7lRU6+{Leytac!;)&?retvLq`N zoq``C=%WW}T}^v(Y^2H8`xd+@D^IyI+T$Tqr+FV4RE7963_TlM9UHyS?6dH2GZ-~Kfj zxRDr8>h_-p+j;DVpN@UTZA>|Q)i=|pJPvWmaVP*%A{~7nMMM#VjGkiR3?c?AlyFtY zYby93)UVh&1U2N&PQ?6A^zTHU@V4a)d!F-S+p$KiAW!$N1r9f?G^^LmW6I4ZM#+o! z4>axI=k8^&76p_QtoKi$Udz=_-KTVW-=etL!=f1Q<{Z~O5s}S2XU$e`uQvJtMO7YA)l-13ZU$x{J*6QUaF6{0?&p7W3 zas%&!mZd>3=oqU5HAbVZ@*pKv$@)?A>G4%8aSp7cMecATR z&F+*mravB<9>_qBc@j93__!7#PKe9(BbQRl;Y?=wv+8Je;1r?U#4xs@0~`Ff4(#_&%}ftO`>9VKsYnmgd9bjOtL^jUBRI{bepctOXE@R;(5AV(T^wXDFekr23y zgS*o~n|U8ixK{GD7A@}RNwJX3UvT>>>({?|n(S9@FIQc7Qb}Bexj#y9p=QP6i<}zv5(5`&3iAChy23#3aUWN8jl9baid1 zW4x&yuJp8DJZSuLB8mp)Uw!OqF{kfG-eJ$ra+K31S@=oQE@t0g=A z3571Il{3G5_dMybZ`Q)=gYXMs^nDY#R~=_GpRQXTDhn*jcs0wJgKLOGe_++gP2gw! zIyC%i^skeHetTcB*KDv==sYPblCQ(Xl)os(5~kfm;_*R3y{8WqFnC4a1b4E$vs3>N z^Yj)jG5o>%`v=sa=e&gdo~q0oZ_Q1`jh->1iSLqKdqq5~a~#lZvfKZF-q?O(bKoog zMz0}sR){gy7h=!J9oxe323hVB;m#g+#GYVq-c_CLBdjxEfQ%p$y(?=%@d$6w zDpPlQV^nWDkNmwRE3rqT0sbJ}vop)U+xf!a7Ioh1oTrAnEz7#yYWWEsrqgnb06wSL zHWu#(+N{Z-c1E~xAV>4n+P#+)gWUZX^9TEC>=H{F;oJ!pE;7ISdDe!ARYFLWu>O;`}BZwb8WPM(UJ}7(tjlI{E!mqAx1-`$pP!LAcH3H^ICnZp{#SZb%_7HmpND z$FkaFX)HZc0{6Bas?^*<;NKjqqcS<0^eEdUjvYn%DO$E`_woWBJGaNC62Qm449?Px z{TBxaHjv)U&Mf~*rV}@&6lLidbGC>)wekZ&zyJ-F)%q>_`0e+2#gwm_;64tL5@#0q z)wsLzNG(+eMqq4H(hCQ&NPhy((XzMFO6x)560B*lH8ch@O@^ZXHf(>t=o4EYwA#+E zjrueA*M=?PyBuOc!?_!s=*t86u8jPg?XMC^sqw(?;iXjEXL17{WaN|3Z`10W=}m{$ z$>q!9`+oy-<-)K)Q4pJ-N^m>l36cm7y2s9Ls0&yj5kAp9kvET(gz@9kU;g;<)*`3m zN71%?<;!VE*yY&b{`YMhP37=a;bwi2vrm4>;O;IbOD5DB&-4L7qL%_np<&VP^vr|l z8)C>vJucQCpNbcSOPZ^!=SYS)xur=x2i`Y;)`U_TR+O#H)UkzF(xBKmg{FXHQ{Xji|KNR(?EH9@qKto;IR0E?LrGAv}pl?62+xO3{0yS0YzQxr?7{ z9jLHfZObMHyg0TlRdDGZUp*}>2$ZmXyL0B^IiBzK-c(X{f94vKEju!68&}B;`(m5q zF-abmCCSY(CoH@8wktZd`u&7M+CkRH73Rp5c0s*Pu8GC40DIcvgzj|;rf8mbsm9q+l1RK9CJjoxge z*#~&SCH&v|II(YvlR9s^0v1J>h9!M}dF1OO^;Ft9sw*~G$ni*(^(*dpnrU%{B2CDQ zQ?|sOPQ7|f(`M#4!wUU=jE?8j-MfMOb6h0TX`vy;y)Bi3-sbt=>EHzYxAxnD!d|+c zUuAqUChkO5__i)OyUF=`zA_q-4_|Njv-;3PBzDg-%eBeX za1Z(!HkCrJlnTdHtON+7iK&JSSZpR;ncFZjLyK%bsT1}jike1l@Al`&NWIzdirh~K zySAqMFnIB45aQWqZ$`0^#BG+-_K%WZR3y))V=ggKsxQMEz6=U?IjT&yId2s%C{MhE z+B2Ifgbn(4^!Ve#Z<9d$5e4@*+xih>7N$C3vn@NUHuJ$KK_1QOLLhil04Z5*i7(?% zjIKa7WL?esPQrAGMLB!?#nD!5-Fe49g*yGS1o8R%WJ&brw3NXO6^&v;%#a1B2X|n z8!3{Lp42ha zXTZMDT7JuTaPFhGp!7Z3e0-kxl57*q>{fOpYNHH~0vG>ZuMx_us29EjQx0x@_=`*C z>iYDHBnAMb|1b`8$=ZRt#HOD^DWL0o(%x~RxVaLK9{I+qU%+0YU>Ya|)jwHk@{ zgd3|TIw_CL>P1xAj7yE1Z;9I@&d#0H$kix(zk`4Fqrhy3Yq|fX{^<7)UzWX>lkS32 z@5A_Kw{wDM+DP)<68y@P){W2Zk9Y+olKD%thu{vVNR;5!*+uoL(~4paB5krByhSOo zfZ}oLV9TScBD7Xztu+I+(>ovQr2!T+`}K>&7gX$e@;cUet~CL3_dF| zpFWi#o`^A>wrdA`%n|>4cbBgs_9u4rL3pSyJ7pE;u6^ud5IoWYBg+Z=sIr?P`AmO_ zlvM#vW4olza(e0ee%Jr&6aLinBR#H%f58!J-u-m8NQYa#meC{<2X>H^D@Vc}g|+*F z-hM8{f}Z>Sgm2*t!31cNj%TUalKUyIN2US8pmzdkOdvM*CMT3D0)B;-TRHiFffSx= z+T6&CH8C>7RWpv%wd*&sYm3s%gq0EluJ$dRRcThm(>f0(dWtq$8k~7KcpZ~JIQJus zo*B+dA>twtC-p1mXU|Pk&s>n_8l}5-Pv`eAq^-@zfSxcN#TPO$Y)tO2vlL$#kW9s& zdNq)F3 zA9_c-EC@6)%!8|_SYl7%QC^+1w6|8cBS>c55x&)NlDbST?*cMDR~(nrIq40KSC)6F z3DM)(6-<)FqCI%PH}{ji#Oqo6Up+pRQ3afe&3J?FaO9v zR7-ew?&Cs8yZLKK&QBeR(hN9%(H7gpnBkpPX=f)|E6R!uI+p40SN0{%rOvt|jV&64@-fE~FQAZtFr6T4MgG7waCRL|<)W^N#zkU2st6!kJ$8 z65`jeu1J{};j@vN8oZ31f=`S6vqP`UYcvbUaj7owME!Z&OD;r5JMr^BectS<{i_#K zUPqImy4n#y9ejCX#1`+nI&}9ae{e4{a}(^s5#@LN>ENEv1%9jgV^Utt37_^}huN8! z*%`apS?e;rk0)EIdhw+2++BO{Rh#2khuPzk;=xT_=_-4rpIGOeuPUq0tVhVu#0jaf z?<#RZ?2~Wu)uZFVy#@d5+lwVjU;j>p9nJ$E|ATqA(i7j(lgHd%jb&1YN70O{MkW)93=)ZmX2YePkkSfvppptaaK$E6O*7{;K=#2PQve$q(LwC9EvvTK= zK!F>t*~s43+m1S{r?Z3t6F zfD0D})K*&t!=5>z5mMJ4dI!zxF542_5!S1|io+jAcr3+Enwk^Zr>^WZz3uEnEEC)2 z{8IdVzZK(cgfKd$_lKM^{Am~!3G}QoS39GM2T9zpI*eZOGPabQ2K9Fe(2zqo{SPj% z9xA@Qzfh!dFV}8>eTmz-S~hhJ&>OJY@KwmVSWz`hI)rSS6B+*UujuS}P-`;3tGlbq zjA^pDmE>;W6CEP)HyeK-_2}x*eMHUtXKnOaT{^A(ZnmI(SZufP=U6Lo^wa(1P)%EqD_l{)sFvAO=l z;?22ZvUeBvFC|g0)^Ehyt7+^!{@}TmJYNd&XKE>i#fP(o@f~!CJ{w0YeI3+o1GKmp z=b20xn(CNVihh`+(8be)g%o-fEpEpwwdS13s>?6fX$%B=+Cp?oEz75!dS`VXAy480 zn$1>xxrw=AFsEpkKtV}DmZJkh123Wssom336h`X1*XRxB)?}Rv|m_3u^oFP z8zpy&69QYbLl#Wow}`@S>spUHe^l)fS9H(xLBtYxP+61LAhD!hoTI+vzTtjs(Bs5G zY>e?og$b2izX+o%qnCo!#>5_%o_DN4112sdRI^RCa{0<{h}KTR-l`zbm=Y-O*}_d(ZAv^Hljo zVp05Ff-2M6`F<1j`nFH3y8-&2+I@8K_I`0q^kT|o><{CtxP`?bFIXSA0+0Rr$6|dr z&Gswm5U(_Af7N}yQ1zKx(+5wJY>=T(s=<(P+inh0Jh8 zi&df3`b!6R{+gNlovFy;o+6zorOoQ{v)m5kE+(|2Rt9HEi|WJZk|=30mnj# z8(y;UBadJL_vF7_eeTfSjzMQ^Y_WOgu8@l;)XHIfS4 zA>Hao8))EeLI;G`2BbSguU4zXQ&%Cc6hx%e`+7j#+mH~&1w^Wa?v^F!Z9U3HXgxH9 z_pF?gqTM3k=M3c4INiz>sM`V(Lj1qA=An&Kh%R<|;?gNzlW(N54u|Rx5Jy7RZwt=) z7!e>gWh25xD={x?_V%!RD4#S-+(43cODGAJy5N8j0Rx_?q3;z2UM{>+RSjKkUN|ug zJ{FUUMS8E>Gc!^qj1*OUoY+N+pX~43-)ojJ1-;OZBG9)(d>6A4R}%g3S*|X-wqz(S zal-g@<34DX=u62;+jd@@E^>JTdigZU?7?!F;$G7WeYaBBLQb$JPiLL%%}kD}@9V|{ z&PGi<{U}$}#G2$X5L`X zfEdKxk2^8q70Z@uwuvUMA!9>{S69{$jkr6)vFlkomWCIs6tB;h-O`=82-(OUJg#Qi zRj`^0wV2iG*s^Vv{uGj4|Mq8q>LI)33y;%R;2rUY;%5b-FW!n;1qk`NnBMGyr1#EQ zLH0RDcKWoYPguQBZ=aP2;^^gND+ zP=InP7CbzHy3xMZe{B^}h$(lX5MwQBdu<}sCt->6hkka;h4f45H)@$Hv@CW}yx+rY zbbQMFVeRB^zU-$j6-pS{H3~&D1Jv{0X(#q!{6;5m>FN znU2o&KcYH4AzJIeUkelhFS(A0w*(QP9rHIJPM>ncrpRvnIIz@qjQitI#`CbU^@p;5 zSeEOZ8Xj||H_qRJ{$bpH3?&GMe->sv&hm4nC@!1l^9drB((mEFy_T(RiHlbku?HG) zR=v!I?t;j7zmx7X<)2kmiPBm%4o8t}_ZvlZx0K=s1Ur0KO*D>P*Z*mVV1|Bp@P0T= zt8YTo4tg-pwtx3}5iip{tZ90bsHtzY8V6my>*M{d?N7Q)YigRko3oOqnk&`1@6P$J z@VeaJlVfb4p8wW!2*b1p9#Ga?FzlMZWzm-`L< zwbb1zV(`R{eoo+#JT+P^&g0M|Xtt9B(|z-f%Wv90OI1pdLNS&Hqn7`+zqrNj35I{S zd!Eww>#s6=hS;YrPca#G9;nl%e`}!I>t8OR%%T4#`leB-5^aYIUg7XpmCR~k&9gQ* zve>JJimDmw&7BX!n)Pd;Qir>gjh-l4Q*RdXEXPDc`Pn`5+#k7t%?(QNyiqDvcEtJ( zly1#aGd&e|6}d|N6J>AQQi$9ew0C)mBdm&G zHX^F*YnGt3TE7HAqc~wswa}>VNaeZZ9&7TtiLZTu%{QP;3`p5pR+u7Q8MLs&jzR0uUbvN{bl!1ixq zQG&nD^tr2k9Yf$_@^Ovl%9~xo`mr`Gl;z=>vFhP^?UQ&$19#>l>#P*gj{S~IjjZ?4 zzx(ZI$g2kqwQs~p+3lT=jo0;S`_}bW)*c#y+QUNi03@?6I-lDB1lhn{z{NI#}C#g zG%|tpLJ@VZ$&fx%f^U6YVDW_0nrq|P=X^+?CBV008&Kx1x-u97m6H0DrNp6sRbKh) z_)&N%PH`FRkv1|=XYiX!!Igz$(sz889uX8c71$U#=#_SZ=p1PZ6vr6!R|EjNF2Gid zxQ5D#(D)1ZNt~Cd_i#f6)UHiNT=OV%?Rt;W>Av}uXF(D$-DMQI$++1X_3Z(Sl;o=z z<2cb49Y0aWWA5=giukvY_>0&}JBPrbxBbfH!7^3dML+S;%m1>@KhXc1=`-^$=Rfyk zrpPii-^_9s8+x_*M+~7S43DC3HKClhE`ys$tDA0%aUr(5O~~g|4uMO__T{$DtoHqX z_HQ+wgUmB=s+%Gu8lvMCxbAJ#MKpPX34Vjow& z=~aKCfurS8<&Ao?n-Hz4SLD!!5yKq0voKze;Y7jC7M*x(`1>e&*baTG2l+hvKYS}D z&a5{5f70OihUMlTA|x8Z;}+7IwCl*`3&b2K*jb~E_WuLY!r00~J{S29$j{c<_uJP? z?OnHjOugFXuz9i!PYWgZ23zi1#t;$j=sa<~0O+Aqukz=U5uQ4%k4I?6nOW_Yk(-z` z-EBkbQHv_w3lS@EM08*M%SdPt29%x^2# zy-A=Uj5qljW2=DI5+Vl&CQRQUI)D`e+Q$L}ZU95eAV7!+5Yh!aBat#&`STQ#-Dqsn zrGt5E3w_#ch64nPeN)($@2Wjs=*E^^RvIckBp00dH=q2kfrLSxag4hv0c*qCY7!{{SuBWq5F=WgO@3?;3TBOAzq?$OtNUesFGf& z2OzLO;Ah1IVwEPG;t_tLvOJh4kcDd4bYz#*KWJJ%gcjU>dyp=+WogtnSD!V;%|Me| ziD!_u$RjbwJDP@feY`ef?P`l^ZL!q_#G$`TMT)s1I;KEjMPpAh)7sx5)H7G3_G2F& zYx=J0I3#d0JUV_!)u}|6l2$pswPd19d^|tj8ml(++Q~(xgeJRLlEEgIwn3fv4B{X! zA1ADFUaru9D0BavapAS*xF1BT7ESyroAqCv!mMKEssG26*yCuXFq>|LcXYlKSbC$s^7~H=Eea2Zp2C#5`c$@A&t&a7g3J@utE@z5uK~Y z8!sjIgM0i6-%?U!T?9D|FXrnZyb&IY>tu?ybr>PX{qSOf>KAHOsG0!umv#wghw%{^aHN|%9h$ipay!$~y-$C{4EH<7f-1{jySBfQNf$(M? zj6>W|n`wYhs1W*O8bOSd_aqWq@yHV7Vj*3WGVOQKRX@|7g z;+wGNYh>3OoY)qryqWT-LY`Q^BC5*)@9~uva0RWiu4Apa+MzL8-vxOYvu67f(kGdz z@Ps<=ubJIEfu;e;p&^C4_!!OOs+sro?~6Wx-3@KhWva>$|4Jb>MQLP`-$WxGg<)94 zGxC6FGfRAU9Jv;6ncw6sn8=kn03;R&+I%4B+xryD>0`$zeRA`{Gby8Yf9<-gzjwmaWkZMQZh%=(-FD63N*`6@__lBQOrR$ ze&3n3U&76=6``^McZht!a)^^jPsY-&LJ$r2f(J;tD@I?CSv=uCjW?yOH6WbKLbv$LJB$&3{46B}SiweTCvjn`K8M^=KY?bC&3hoSYj@GUdSxDK|jdvypa|?^CGo{ zI8`=ujbyIvkL#tgS$L;Mi1~I!(-CotnOP@|ucl@!9!-fhESg0FcAY6;?D75$p@2ST zwX5S!@A2;t3q8;N=g=jIE`eobijP{!OA#>YW?!R!2Dcouq};TgE_k7N9Jp;pS87PRJoWQ+rbwYUHa9Dh5YE|A) zO#};Yaj{hfH`b|aWw{gaENNVEZ5BEH98Ql{4XOy!_uIVq(C* z4zMRe1uQ@awq=BlW`M9A!WxKQ%?F$f0#u9(Sxa9A9`lPLnhe;7|ykk&>a(5_9O zHiwYR40z~Abk-+uG zRoan`h1#^Rfbe&X)Y(3EJ8yQpI7c&gDd#R#>N+2R`=Xx1ZSM>BKdfavDyxn_sXam? zH70;jUXFYR>53kvk?&`nc9^GjxlsQeRj^eQ^HHN2kAU-e9QQ~;bNq?1-1&Hk$N6cA#Ovt{B-h`Z@V-fEL>q1Nn!>8gcgLp@j zP)`rFT4rsT7EAqcCSW?OKKDn$lBou2ex8Ct_Wx1IuyFKl9J4Oe^B#`=m#S_p#(1#g z3xL29u(v{(V}|oeJgwcX&nyrln22Xsl04^=Q~JF z;$Bje&MGHx#JOweYM>g4;<~C&n$ooHzvhHjGrJy86?TW}r(eam<>yCdm|~zP9N7jQ zfG>TTr^@#z^RA@=9T6Do2B{QS%Xy1#Z~M0vhT`XNyaxt&uG>Y5t(PWbG#S6$@zEJ6 zQX2_=Uws?boK$tx`DRKvX{n5^j`z*RXJWPPywEY`0~sG`iUW2+{Xw+yuElR*bkt%= z+!APtf(ILAz}6n8ffm>2#BUz$K{JqRvHJSLV4{0%{Bdb;{;$xu?n0rc5J)ku= z;2}vPQ*l%45udY4=tJfrk^4(D^@E_S*SqfsL9aEc$9@p(cVUbmOn6;?pTo&QAyoG)Uv5Aly0QVyZfO2}59fVHwRZ18qntqH z&zE-=Hz8lX<2(mZJU?trabJ1DO!ER>!6offsUCxIpI|Yr)FYT0m}DjO#s5z|l3jHe zqg2J*sPerDrC%9GA!PYvJ5!eJr5T#_l<^uG#d`L+COBlr2ehmuBWx8#z*(0mGEarX zR4qNGke=*O!jK+sS{Uo0L(M%PR^460{$Ha$mdH?Lc)z$31DULad>{f~5=AXsu{8aCQA{#MAjl2UNQ0~Gtr@!Er8%sK?M{v$US%Y(ycOvqu)-PfBAQ%b+ zy7I{F$~(Q5Fz1zR0f09&1|a;ah?UMHKyi+yqOlIrnlKo4?gC7mw$w3cF9ZCuh?SNk z!1T*nkg*if8VMNI>jK2tweSFoaFsz1s1JiHY;WPq#1crg_;1mm1=wJ~tgohup2HVKh&&y2oygolP%?9#aK676%<~@VhGn zd6>-`Sd6`|8halmRdA^X-w&D2OtH_pmnRX-duV>W>;wm7alh%!QcJGFB_+mu{&L;9 z34#?tp!6F6!|)stbO!^f#sXZynKf5EXiWoY%^VD~a{<)DCF}rE4uDP@5Di6w4LG=t z(Cggd#|4a{L(NzKBX>*~$-x^O_t|%~z)%oej(m?O6fBrHOH!iMM!X;fWOV>YI1+3s z*4=#`sA7cnphGuV07W?11PC?`fm$E|UyvAu^$vqH5F+Znoi?l&=(cevotTM}I0a}o z)lg{iP&`GJtNCh5&M&hP9=y;Co%P~#haR;PX4GvudTDF5UbHP(?7|qYx zyCWx*yKKC>hIL~G6H;Raj$>`6SuNSYnJojEKC<@a+vG`*fRUljYl*SIYWfWJ#Xhv8 zkCuzZ9mTKPKFX_|X~IG~hRxT-G$DSvwBR3;zgbB9s$WW(2mD2oHd~9lfmj|)sU7I* z1*5ut%;;Z!-Wo3cLRJ{l@_ScBFypp=yPROx0g?q_{=I}I5){t-@S5;BtpBz^H9WZX zDAlxr21IEG&YLg|d?q?Q*>Dj2{wy=4OAqomf$u}fjjt@V$>`}5m?7siF7S?_|IsmO zu@|jGa~J(*=dh(H;qLwdE$^siew4N6waPzKr2g1et*e^Z^OlfdOap!ErVP=bE*N)L z7qo1pnn`^#J*_Y3U(%da53&Bhj*RARhxAvZL_GL18gY3g(+8j}!kdVEy&ImI;Fw;` zqPk6gAUxzo8%%y(b0?OEW17w+U%9g~AtSnZBltH4zczAmU-QF@UFh;VW}nFk1Rv?z zYNbn6A7Xd*tUS6sO`o-lUZcVr?xU(^Rg2keuJB=)$>`10V5~cWA{KI}XDh<9viyzF z@?sA!N(Udz?V1wpVGr~GKL1U!yqLy=(m@Vm&JT&{_yv7#88|@)`2(<$57NlDi|Dt_ zP$N@NpxCRmX%>IvTU3nO9h3)6E`kRJsMfU#^6eD#xdgiE0SY7spAHB{0?+jb&*9ML z6Z9G0V8m7;W*KNkLkAhNFXHLK=}+>1+Yt4$L$Rl#Pqceq5^N(EC3L?x98JC~yrjh# z+4G9`yPD8&CPPhC0Dq(&(Lf)GVofd4?EFOK%oMa3!GBMjO0L6?3NJu&W?Ei|;727) zCD-Lg)#?-=!gGbD9 zU6sY$F$w;8m(b!_B5kiQPzl!q^s+uDW$EYD{kciHzQVkdUOo|fm4zz!M!~N;^S+|? zDdHL?7SWNpoSTN3mt*d9fQ83eO+?f?eAu9X?2zBCp=w0ST5Z>$(4C))u9(i$gg20A z^BA9S&dwi27|48`9<8aG>NmK`vxK%iSo@?PL>ta=bimrGcJoN>BX>Yf_37v+Du^DXtLV4Po5X#HFynD#eWN&ns+I&Z`mLxD4*QHRHM+tSS6yqWu?nf8*-=x#or2trbs=XCeN)FI;*U-ugqoFXIrK)boQ(tf~pY zjv)tb!`5jqrDKmD2{b5F>rVuG9BKLtzM3d7mgau0KsQfQGwWb?*sHHU(trEnVJo)+ zOeo{{@E9$dL~7>hhO>}y>>t@xamQ}nLL4tpoabRjPYit229%CSppzKDb#XKD$RP>z z0v%wpngrN(NuW+dz^o3y27i7+0O;v*o-U6dG%f(QH7IMzBM7%y2=I+8Sd<{@8U$%g z01R_TLppUsGWIMKUPkj97XUhV0m~X-i4;}bW^aaj{SgGL7AdZMbOBD0z4K-OVOszO z;{?dUkj5ghy#|2H9qmNeqzgb%&zcCU0Rh=4=+GUw`~hdzG2ONxz+kQhi0p9NBF)bZ zFysXqy^N5&XfdI#pWzb81IgF`3?qii*;Yk6V1);0#4lnCxY+~>lZIx1cYMG|9q<`$ z2PoGrp?N!HvM#x?05x!ROv@CfUJ7f-3`liA_{k2p3oc>5KrkH$R0gj8OJRMU2KXlt zE7jrZ|8BrG29%2hVD3e*4knXBhfcBrzW-G!wE^DM0i~pHbH&@(7s=Rgkb>|PJmZsW zZx1Zl&VNnu#Dr;rU=CzK!Y|dN1hun z!U;H50;!V%06q~A$ol>^0zO(pfY%J-=@ERi(h;0nP}Tqop5sz`#*CruB4s^xF-OZyc9JK{NT#lzdSWMbhr!~Zq>kNSSe~R5s;z- zV19?UDZ;S=%uOM3Q2sZ!X#TTutKf*UP?b3US-Gj$|4o}>gvuW%YvFLKbqr~T2>4u3 zA2Jg458Sy5L0m{3sgdSC_-zo3j}_4BMu6e49t4!2L&I2s$&G(ARo@Bt+=b{Y_1{cQ z!GMOb01f}m)W&6?aSYK}_P+;4gaE!a;D_@M=b9+e+Gj8f=|5t~-T)&tz=J5Jc;c0~ zlMW~VpKdP}1jy(zXNx5Or{()=5ZVWGgw7Yu8eA>GIuZ@G^HtybNcURu7V2*j6r5X6 ziptyUG`|$SQDZbeT$tGZ~vW9|}i{hIuMg1;INGAyS zqxaZ!)q5+6Lu2uGwc>|UIGi-Ni#kdQ|~u<2I>m+vU1=2jBnJQU^i z;v^F~uQoA4x>zFwvT7*k2w(B((Yn}MNu-*KKa3%|C|F6nl*JI*C{p-j$3cX3-EE5Vm9lR@#i8(P(@DUBi7LdM|)w>KWJfDU4 zsejr{f~%d^|0e#GTtycjniG0*4jK$7)PMfT*#jop4{%Qc}(bEaCTFBkbJ_|Np09gZGdm-avRBKq7F{4u#$ z?;1g(S_HS)#;P#IpN{^r9mf}^2M@t7c^2Z>-aTiDV8%W>lLYtszliAC5#fXvBQ$v}bP|2g`d&5B>c>g+MA8xt z{O0%O784?g)EX`QC2FQq@*nnV8zp?+Lnw0(l{CrmfrEOgXvsXx zL2TPgN^iGY4Xz@KZIf5uDR6(3kK}Pn*d#MJA!1tyeCVkMh99>XU$UAl&mqRq)Gi^$ zJ=tl2#d9jg5V=2^w>`giUlEb4c)gIfWXEWcqpMo`{7Z5NvQQsWIEAQfI~8Y?9zwxR{U1fmmD`ZaOCvkhOr$0Ui5)xl z!?T5~9S`p@$8#;ZO*W_RU+px1rDE=A#YF1Fx`&P#Xl~tH1+BEHe&-uhvh1Ip>xwW8 zyOhiFk2WI1^>&M6S1zD$lBtOtVfC`QUP_2EIHy$;G@UMeYSy@Ff=30`!Tj7)pg|;iIh(O}2hz&r>zG4JNXu2D z$XWer(Q!}vz;*c=nH6O|e5CC3U&X9t)wAxIveS{vrU-|Ip`)Q?$AFG6G^3YCkS`>x z{aa~Gv`OB)s`P{AeM9MsXdYn$N3M=O(pcSSB`OVEbqS`5;qm4@i`&gd2#>6;(C5v4 z&9i@P#hLdX4YBo)3nn!kiKy8zz5&7M_CakBBOQ)v*PX*knGOFHsizJ@+& z?lbEu!mn4ZRyuy!WT6)B(C}+}rypJZtzLL-Uha?4 zr6!B*-aiSg1|tqp)(wXm*=~!WG&gZeZxuPO)DsWtWoz{oWY0Vn;V)FVBuP;eN*J4w z+tG)>-WiXO9E+n9Y&uf=cL4SAYwn}E{Q|0n@_o`=ZLnW15qWV2*+zj!d>DaM^gL~TU_(aR6N2~cXG(*b=MX0j){fXAJVdqNKKJzggzOh`( z4uxrnQ)u=NbJZ>naeR1a&qHykG)5^;-MmI(73It#FFS$59l#T36mtxXB@E;ZvmC)) z)i6zA7z_e`O6gF!asEt+o=3A>b{LVo_}t5Moz%;AA_ECdY}4ejs_=-Y`9nBuQy5OS z_q6;dx%|8y^gO$g1UpbadR~oFk(Z>E7q(22%pW3*q@y8`?7X2I1FWvjj*ik_Vzc*4dHD5O2;+7rNP&7I)EVjQfTD2zM%^oDZu0DEnOA1dH zoew`?kaD4Vu5JzgEYyh3ZO&`^p#V~G0r^XEx_vl~#k^=<-b7HaT3`&jwa z&x_YuELB-7HG}l7^ZREmhmIGiB>&p0%|cBMz(BkTY6b&M?zgF({6qED_qxtyZ)wf z`KC$_*Xti>_utKB()2N7)IXHeL^WhCa*oKAZqe_+oBg0+2$lm|-wHeU|$+&2|@bBC9pvMtyK5*-==Dw{R_^rb^tt?mZ zE^Z`)P>D)=rzK0kDj`UMHk)s1!5RAlk*yp5cLt0)p~9~hIzh%}eDnCO(!QihR0>j$ zum1ams8bCk(sS~vcfNJaCuTd>*AnO>g@b6&{3DAAPu=uWF8oWog~|UBz3hx_LabnU z6Y)jix0PV(L50fq6oyHv)UT~1Xtb1fRII7eyWg;}NxS5~wx{A?O!E|W=l!_PmW31H zJ5CR8v3(aGj@AhM1(S>XRyzUqe;Ew=*Lmz@FaG_$1;rPVHnEd||7FtA|NYW^jSZQ= zkA-908Ocs#&kz2Wt%3LCUf3r%QI|d0nb;Q8H$Bzx_q{XK_=l=W^dG7@Z1s)S-@a8` z|7CFgq5AwE!b33A2X0rR&&2IhF@t|B8ok7Y{mCu8S9CVEyrMO|^^2b4 zIcNW0M%;TIsGjaIR+wa74g-oEuZ;Xmkt9Fu{QXF*@3kP~{jD%mcN)Ha6NU>!y@}qd zEcw3nu)|j8m{&Vi3p0}z>6#jQZBJ-$x-R$SC>y*&EMKYS-YG=&(ld^1Up6D^+x6OC8+_arZ{o;}(2Oj?#1pwtK$3hQDyDHV0Fx^esNPTS{x4 z27>G@H|=0tz)pu6@0_sA;QNO9-|PPTH^xRRnDnpf*|+i!&NH#kTgk$LkHCyof~nGT z?a|o8UH^K}L4wv?6~8RYGYHAyMwGj*;uRgvX;obOw|-F+Me6CU zVB#*PH^{@(`CDUBUS`weqTS0kjTpv<_9P+~C*OMp=~MNDDOP#Oi^YWK>G5G0l zBs=B}?bnCr>(SRVd*tl#4wgFRy=cz%5j59qkft#BXg}aW8$9jnS6yCnQ|ZkZZG7Iq zy)|id&JM}gq~C|gg%0$<2s^48N#0jA9xiI@*SoW@9k3eyz$Q3ekel(#GNSN4nil`^ z-Yl`p;W+ODa+;tljy|Exn9Yjym;a&aE1=p4y0&pC)?&perFeiAcS>7Iafjeeid(VZ zQo)M_DFi6)1b33+?rtgW?)syR#!a8HM_oHQ7uIczHg!~n+#acc4CW=g~OMnG^J*?#``G0jJvOk9U z|6a7ck-xswtnl9Z#^w23_Ehj>+|7^QM35tKgKgcU#`OKjzC(j7*HXttyqi(HU_4uj z8s__{x<*iMG!R zq}?Cmo8P|aCNCjbxamv&AhE(rX|nb_&Hy>{^NyBX;Wb|-&{uB?cU)iu6u%(*mYDvH zZR>eN`?<1^Lh`~((aE)=g~NYiCa)~_cNCo+gk6m~lUCZbE3DaU#LL!?zOs9^mpbjR z@ga%)Xx!N^o<=2(!Twcau9Z(14i~vB$INTD`FB$sl)M}NXt-F5%q;`s4Ha^?Mf zj$0V}x{1ckUp&%~Kk`_+62bx??Rx%#&?-N&T*`J7FbX?=WRebTvnp_ZL;*u10w%+< zM$JkYqY;shYQFTVp)eaxB3{*c3fG&AG#PQx|Il7klSDzN?;ty62E*2Ksl{T~6rG+t z{e89-v3{0U9HbG_F-XlUY^!A2#}6{n@?J#J^v}f?I`%?aga@?v5i)YOQzvgIttJ zChboq)!x0NRC(ub%T@9r*O@e{ZI#8=SP~`F7{{<0=`ZQ-$w&+oJzvC?FAVOJXKn5pe0DD2`U1UQ2&v3Pf(Z8?OgrR?g zChDC@|4P50h!`g1WNJGlkLW*q^|iD!&6)IsS;>rr@>@LK#n=1=bNznlvbs*z&jcCq zvAbNG#<`r8xhl9MTErUEb=6v=Rn73+ZslI(Vs%oD&bu5#P&o>lhba1Kx@W?Yeff%< z>x!dsX(^l+zZ2LD5?ItvncSyRu9LTR|0O%_fZCEv|JfJW%P%MvYIxgtFq5#VKwPZ; zU-C(%{WQ|j+wpe8msiSS_kX!(McX^tYB{_`M{UYLqMv1?^`?Qs)vj%U_v!Sk_)pXE znRRDuUAbppcIcFyEy!i^y|eKhBVKNunF%0_)Uk54Mr5+ntkxpsFHtNIL(l&elSs7= z74qZ6_rgjfck^nYXO}5)#<_R&L{-G?35$ARv%ki{7kMEQKKdV>>)r!W-SJU9#P8&# zC8wtqhs)NCMSes$s>8(oxq%;LuB&cMNz}5f|fF24B|f? zra1!V+rPRK8-`I+!C(QCF*Tk5)*_yjbQrzeKW5?}2cSFm_nyMMC{gZ3)e~$3eSQT1 zYRayqtej3l>2qq=k&@NN=z-10GB@L=!P|=;ji3AbiQVQXQQO-}iL>B-Ba6;l*nb{n zurl*GF6rGya`1VOfeCfIJ)<|qeGl)eIyj8!T39W?G%deWYWT)ZNH(YmFO#rs!bqC7nT8rZD4Sh@`=8&V5uqo;k~XfKpg-`>L86R6IYsON(N-Tr+_6S+-53)%k*3+$N~-mR`SJMk^zJ#(-l&r zkE+m?z8qDuPqEu8Zz-C0tzCce%1?)^U~z;bl1<+#Vva*j=9&W~ z&}+&C5{5DMh*=Jkpc4Z2n0N8tIiI5u*icCKt28|8dwi!ym`ZADQxW{pyEgqql06`} zl2f1teq%}&bwVe;KCH&@t&&AxAFg65993DLeo`V<+5H$;$tK{3ctF00(zv@xp1vt0 z{ynA!?Re2fmiiZo=bZ3S@6RudMQw4od?W58BjFMO^lK03DI+>T#Pus^$hh^Sw@2); znhM7AU@kcSQ~B=?XkMHzSp;L_JYrQd?{Eg>-={x;2KVr6wPBvVbggA|ZLRx}O7&%; zGE8IX>x8zA0JtqkP%xOF8Gpi`QErrBjsG6bgv3O~WAK+H%8tWat+u{DTGvUQ_g?Uw#XEgNdW8O0rP9~^l&X$%l%hj{wm~UKol;{y5xo}qu zexc8(C1}A|w;ZsY2Dd=vlO;>rbF23e25hE0=0(M$TGitcSO_I&ZlG*-;hHk@I2s$p z)4C5Fb5HGYYH`E^jo`F!12_V?i1b5_Bk7zuu0*eD;E~)$v*L8_Vh*PA${wJP!JH_4 z?t191%nZ3Om+JAH<*6qPxsWds9^i~`6-gn{oY_T4eU(hRfW_d5f_7WR;^`RENyW8- z0_>^h$+0D=>Gre&E)`e;xriq;dhX)08lR^Eu`@ZaD93wjXL^T1tVKjH=&*+u8r*OY(#X^ zEUMqFD2CU*YqN1{4Qm<741p7d zAa)u$V)3a2Ry1Y??k3*AjA#;AvnZY4#9&r`jzDnqNloQ*nv$>6b4@?N5J&ka;oy9Y z{y#Lzv`#dF*k3+VzKg%$9eGL7E@rwJg2N`2A)4jyFKYVr&qSNl(X{!hf3~9gE5grT02tC z0#^be6lwVWLxOd8_szgN&7hOB!&r)fM&!UKs{TY{?1*=VMk>J~+f5ht{M^%K03@N#>%?e}Y} zZBId4eJ*rNxS|bH3fDMEZO%dyJXWT~kn5>-Lvx{x{BX1rI`&;Cx4R{A!aavvfhf7t zXyo=uR2>3@5WSMXg{CI=XUtUVdfOG-Z5X_+eS3?iFptnPRnH=iXk+qSi(IlBpI<4> zpQ?GNuKuMtC3tglx?0zAQ#w2>l?8xYdqTGJfBkV1n*#fzQc0F$PdCMD{7n5 z0?lgsWP#BpzZF13y8NA)MJOb=v%nL1ja>%XEj$aMww@bydUFkuTwS>zj<~?$a9xCX zN1aYWT(S007evCVMKYM=2U4OsA~-*YI}9nT>^rbyTOm0^Re}zA#%|CQsBF`8sr|iZ zB60>5csQzSB|lI)6BcTm@k>o?Fz?GR&-95{L7b)V&*WGEf5zzTafMKz&qV}0NpR=3 zj6h~AJuA?SAW|>Ip+qNPn;EW#Nn3;3FuHb3)sH>}wT#M0?VlK9 zL9jjX5**y4m7Q|xpuTE7-oQ@_3%_x+5&VevpU-f_gSg>hrq~rk(DqJPWOgWbH157j z8o}yUQ?sMz3E-flkU_+psdt4Sw7mlsx$0{`M>4b8gKj}_M0f;B00+|}tWCKq=w_Y_ zXRQFc)aNL>wGOX~jK|wLnun@LmLJ?k$F18Y^- z5S~x{9F7$ojtc_`n3WLvFde;s6q=G$V9sEb;CI36;67M=G`h92Rg+6aM0(h~IQ^u` z=tsAqAGLpV87&FwfR5h%F2g$9Mxp~W;oe9t46Ah8nKK-(-NM~{%-1?^w*{P~A;s`o zB#Wuw5yp{Y5MQuDo2e(=!2TQd1YW#s7w#*- z$~qW~x27uJW$=!mo+?)tOX0#p=t6jJj~jW<;EQ>|fq&6&zeljY7lpjXFvPm8!oN@v zx|rVEbN_pf)C9fJA6_eUeL+>HS*_gwVf`BlF^l~jR_%WZo$G?o`N$B_JmVt z;(t#oL?AAam7SxL407mHyMdd*qHzB$cij1)DEJO?{Yv6hv=v><+zN18(qyu@DJeN= z63LCh@Nv7dV~2k#Z*-!mtf;Hu^;BRB)fE@SJPa&hHomo0nq@5G_zfns*NKp>7{GBt zYYMV4eP6*@PwcCfX+N27KiX{NG?{NRS=8ae>V+4@Mp}9kshr*788u1WOxLAfk%7t3 zdBRywZumlN%I3Fn`PVvV<5KiD7^?y(sLiZ_xEaG9dkT{)gc++3&-g{~o0U{)%15ho z-#fDsk&Uc~?#>|Jt#_^7Yt4RItVVN|FeuB~_6Mm-rlmE&a{DO^|GJ?5E`B&+$tCuT z5o3v%7{>_{HwY7fZhERe)n`&qo+33C}hRnLMk6ur(jyOVN#F&T3Da+^5OTD3X zM}V*SWWSoRj?KC9VcG%}+S)Tp#a5+gQs;uQ;}QmqgFw1y~y5Y zjBwFC!UyQO8nP-@wOxGq3JtJgy=@wUr}RB2xxGoe7ad-EG^&ywr{+z(&#jaOtp(Tu z`88)V{2djn0=k)R`AgNo7rL#Ud6jMWnYZ{?+wR zJMuj;1c`UVh!WDhDTuF-pkCaYVkX6KTPIrF#aHwS*T+&Cc6x4dL~x|}nz$9$5nDJ= zH`A3GMT*467{(}$;R-PcksTGIA0XMl31FKufiohU;1?gf7_G#eeW|bTAklQX17mxK zUVE`Ej#TvE3(#Eo6iUVnUe$ZUUnDa@0eN`md&A^^!{YD#EVeEOECcc`Vj%Y^Grz3@ zScN2S`Y1tO8DMw@*~14uzn;`E1ui?rSC?y)pi9CBad>=%?PMdIABca54`mk+kx5QkD=q7oEURq8V~l`>0k zk>YS7E3I{Cqb93K-3d5+v;15j#b$p{smzkbCScL9SD=5wP@WKX`1t9*4WDM)R)Yqs zXP@g?qM2Po99a6;`y{<_?E_|SBEy=$IS*gvFZkxs_VDo_k^t!Vx8A09I4*pI@Mh6f zQjss}s}>}uZpnFl+id)f>KPoQg_Z$B_dNq0XzFP=j=ouW|FU`sXX{WYeN*`)(CAEN^ox>!S6rIRbR65iNhMYB+mEbgIcuhcABo$lTIP}JpE#)uc zSnj{I@OqD6MVD`0;W)p9(26?#+^@>{GwrikUkK<;SiF;jDyv$_7Xsu5iIg|XCXC}+ zlM?#kG<@WD7T&A_0zv@W&&Mzwcnd>CMEj(@mmNf|hh96gdy#kv&qPZUa3|x`q8o%L zH@w#+DM8o4;zgVO=}?N66i5IM2w_AlV?dikS`$_w$QGc!i!bzOxbg7)S}Q`_V(f5h zUD!)#ylg;K*lR}*sEz`nu6r4Re~w-fg+6g`9^S28jSxzm3!`=xTg>;-#z%+mlji~` z_Ya#nEczTaZTu|FBRu3#rgx}~QfmumJg8b6%qnyr4eixz%LbiH9B!ppcZ9`%l>{X} z15*lhA`1_+*ZnIsvRiqyS!(Jn^<4YR;BM_zNjwf)CiUOP*BrAK`owd zkp5rtgNzN8;z`EOIV6ie&MWnu2|yllxyP?;TnAyx9s*H}s8TLFp7+sI`l_f#(iW>l zl%Y3CwI}DNOHm_j)mBA50m_SOh1ME*Ts@yt66Do~a};QIimf$H9gL_e-75a2&(y>fcb7 zlnWtLhJbapl{~8v%Idv$^x{yA%BHBWc+QXdM7{i%`LRC^HAK`aQWI6L;`32={nHu? zc7PCPPaUO_XupYFTkjW!(W+PDv>;S58XHuy@;_xIPz|i1=sQo(q+KcB(*|6i(bp=b$xvk~#hqPvs-z}xtOvuiwqxADH z*%nt|9o8yK07oyRxHR1Qm{dJDc_t|NP~JqxaS)84PVJmHb>}kE0+hMFrE*#Aw}{4@ zLpBv!sCVX~<5Ia=-nF{%Tn{-}%1a`GE#+C@Raes~UeLi~Q6vD+DcY)%(6`hu_O!hj z)vfVn(WP4j*2RG}g*^M)j#=F&P%iAYTkBLrp`muA7c*95rGkLA4a=<0qb%I4#i z=W_5K*S#dvg0Hlt(2&Ev%(Blid(n@-lmbP4bDaeB)GG41FpQIyvneVJ!a|dUN&D&yEZRvDzo&IQqtZG&YD2g$tavG`fTW+F= zE8WUkjw6vJr7S~JFV3bpw=zcyvX*wODXvgRpG#&bS9o4J1t=uB9*SR+)2+;&hyd8I zT)3{uOuHIFSDzr=ft;>)a*)<@4~dI7@Cf0os3PC`Ac_(7s$wqr71-vC|EJP~IYn3f z7l|zQ+Lbv<2P}dNrh{=Cv4=`biZ{4=V{JWg;Xl#ck=NM`SB70Kaz}!IB)0`o#ml&8 zImkqc^(QO&p*___7sY*++{#zyHklI!PB-K7h2oBdfNiYaxE;c3Yx(K;!vQA6#&3Xa zaAi)-3|B1I`FcHHw>F%%!m#I9epX6RA)8u5PlNNnJ^9aAb86pmDvk{k|F;?*I?KVh z2j$jNF}<CN@b(p9(M2B5&?K4;ebE(g~e}cjDSItI&hpHqb zNdA|B!v$zks1Dt18GUTR*6Teh$H=LCB`Ei4pGCGmPQygawX9JkG`~(+m5-qf^%bu7 zaOSZmWCy7Z^aWAtjWJuw567}luqp0*U=U!;7^3q;e{S9oyjoo82hmEh9vS8@1fVn} zx@)-8@G75PW0)lus_6Rh-A=TDEiXq8#f%A;A`P>O7wih+&c{u|72WTr#wwX~ca?Lu zr@7Q&l5)nkeSpi6AtId5UQrJmq7&`U5$9jsScl3dS~^QHP()l(FzyKjyp(5sslunh zYNV=Q+;l%P-1*D+oo%f#_~tPI^6=-evWCyssP6vZ)vs-4AUy@6I=(8D7&kiVv6^KG zx=AN7HC|Y#I{$bDsoC$hUac($fcJ(SZhz}dU!eAOl_~WzSE9e{?ELqasU?7Ws&X8fi^)Njv0T9~%(9{U@`i#_n8 zw9V~T#nRn-HJE#>(RA9K-o!=sq2cbU56h+TgC#5(@*^-5nyIQP%UfysRH!U4BfSL|1>y`*QNBnw)RgRSXBUAb(0<(^_frLXIi zLj}_WP4^aRtNIgWFxPspB-^xv&rtGedhrlZ4sStzN8Tbyrxvf-1{&vouzpbqF!9QG zcoL?We5ZMd8JSApAO1e#qr<+H(XQAYh;4H_|;DuKb zDBnxEvfIbbBm5HAr};gqY(vLXnOt8Xlox!<8WV7GW6;5HIIlzIR+Uta3b6 z(|zmW5iUH)aM-#>?nL6#{5Ys`OkC0J1NHjQ?Yqt3;fE)+oc2Lf_>#BU@8xx==B7`6 zuix)mg}cWOvn?(c3%0}Ss!Q7O0j_lgm0QukJ8dY>&CsRrY+OX1?vC%ROp2H|KCJ5b zDr*OW%VJF*&2&_UV0yhj`E=F>PtTuvDMPcUVhk5$ma@7I_k|47>7&G{`h#^_R~nc5 z)La))%;O)I6b7#BEV$+r=iv^fY{Mgy${C~*6SWx`?V=g0aY%0@wZzLynny9r1=g}7 z^J5Y|m-OeBtIi2{600?tRfXHcyM#3Wm&6*#?hI8y$I z+c3{(%2ip|j(hp#PWXf?OE(vM-4t|F$?f$FNF9kUp!(`jP>A1en{Xc!@%_Tuo%aF% zP^FwzN9USNclsOQUlZ!uhCQ_NWg;^Y|4WBYqtl$CS0*D|OT!HC7UK82lOySxEC&I@}U5;Fio*nrg@i@Qm zVxA#r*2rwAiU@qY>N00S@)GOf4omfXAh&9t0D0*owP~ z#6{+tI{LZ>2bf;d-%&^qK437AC+i2Ph^?$`-xNsrbB*+xr-4g%Z=P7{>uPYRRZ|o+ zWUW80QEc6Em2!>HZESHQuFs7JivP@o$HT?zhf=-|k0Z4tGS;p*j;sKSM@}UE-_|jY z-uO}mpCUF9>c~&dbRv|7ggh8*!DR67@Mp-+&O#ytY4}5E`5~H!UgWEw4T^#SV8pr! zCoZXKJC$zXXHhjYWrLF z&UAfPd;2!x87L=5~A;ef<(rnqADk`{UHi=BqkiYA3Ag)a3( zim;Vuq}i*`eeyZ)_^r9h={nw$?{LvzU02ifNmyQdK;`w2#il1-w#^eyu;btCGvM3ZA8}1Lly|)f&}xD7Uvg%W)C04?ASNFbMN=f^<1H&eK;cj_<*o ztOmX?UzAq~Tp%sFQZ6&RR3mH6fxXh_u~YXe>r)oSF6labVjVQ&%DAF+Q>5LwQYyr{ zBwg|sK95%Q-_Mw5)YH-dkz9L`y6x^*5~d*E@u3;)vUX&hN0;zkH#7s?4Gf7e zlu0aj?!6e{`y*Y+FNI^_NM(Qu%QQpH`0dT}$f&)@roG5ZL^4^Im`B&XM^}^S0J?>? z_$sCN>I%B)8Kei$O%DBg=Vgxz%QsLg! z`%4bx6rt$yyPy&_wzOIxnC3vbim$#FU;X7wftFFr-)hoMv#M~j_KNCxxP_v)PN|L6 z9Zi?-Ykzx?MEg)O@oMkuRy&Y{Y56%N)#;zB==5Vo?a~^lkfz**+36X!k+Ep$dFovk z@5JX_1Rb!iE?@sGqO&2Ar-wxPhLUN!BwqVll%IQV>dm{b*leM@R!#4pf|tMQbP4}B zV2`ZYf3s0L4JL{VfY(n9&CCte({<4yal}`td`i0!=d^F4tND%XK)yI#%&&`DK zj9>HA`E%6$d<4tiU|H!d<@YwrVCPaS#W4QT+$q_9gLxQ<;Vyg^Tc7H&V*19mekxdU zKhk8Dnm31j8t#>weq7N)-vqCr0XR8zGhBEyKQB{8Vq$Rb&!B>dvKi7MeD)$I_akd; zx`|#B*YZPK$Hc%me`**?Y@NDoE~wbxH59%onYr}cGt?P@b_7=m>Bl_ct1Q*40j6{o zAb_1y_o%Z2&hE_ov7JvO0dfwVhxD^ece+Q{tg{2|<{Wj>Jhj1C^x+>7lm)_@Jrkq9*LZT+n88Q4KJ{Oqg1pO#4>UOLqAumQ*=&%tz(B)NSGhL8zo_ z_=Pr=jPSbpR%ZUy1Vrx|Hv?FL=strah`NGbGgME5?d0vmhsb>-U{{Qh(9Qi@Njolm z>SfkOU*t=lNT2;kgTH+wWwrb|6?LoN`X_QDu~PixigX!z;a0*B z(eQOiz$rz)2OxsHUkRW{(XR-Ea6t-zIvkMauo7*+u*GZv5ZYNO3zLYlYBHyeu}U(h z{%#dx?v2|o7jDG`87A*n0Nj%I8vt8%0E#f*eBcti(gX(RIH@xCChC9I$%osoj(R8o zF;tGbuc1^l?yN*tMDMJmR+Q;<#fAI{x5B+QR)P_B<=2~2N9E?2Q-|bMn>Uasiguph zK@`H*nE=`p{n8Z^T7dB%`O)SL*cmtBR#cFW;a0S{sT`1|W1B)Cj=8)h;JMj$CUD1e zI|sO9wp|3IG2bo&(pYR40$Isa89OVV^%I4!D+BH+`pp5Dlqv+=WsB%HVfUKO5+Uns~os~2hh2gn^ z{{-m-s3Pxo2X3%Kcz_#R5W5P124E2e&<5z5>y-hQSfSeCxztj26#eT!Ax_A8!rX75 z7_!O;W*Cl=WML1h~+H^ZU z+imQmx!&_x#Gy8z?)bs(FOPi2v95eZS9tDJ)Yys1*XslAv6J*ansrsxUz%R_p1MA_ z@iv65{r1aahbSk2WkzX6R3US7V!dwSHS7hSjRNA&yi1kG@>K(Ds52nd1It*_l;9fjuz^1sx-dZdm6py0roZ$E;QDL`F7ArlqBp74oDi=MD6}Fn2?dVvII^R zs2lm|yW?$_s_KPNA-(bGB!zy8aMewNob^5r`3xUj1w{syKL%zDCDl8(KuUIq*@Rt` z`L%j8K3T+L(NWGKC-?arTTLqQPl%iND{gmOh5o~Emac`_;toUQyAMWyhhwW=jrERU zSjUQ!r;>hNQXIrq;jp>qiF2&EUf8;MXC*JU~@4Hm8=IvLdgleP-|+2OgbA>9=HG73?;0Ok(*U%)%+ z&JzO2=0C9VazX;kQ}Tcc;kQPxtN!qH0vD3^zOO#O*0LrHJI8SPF*^Am8cysGDd3V8 zst+Y<0AVw4IhX|JfoI3cE_uHW>^psglLkPs!d@FNUa_YJ$f$~IE(eB(Nmcn74XbY)&1qPSWWr3|Y`+ z-EzC({1l4sy@oUZvYr0vzyR`o_K#QB;p?oh)n^e&>VOP0 zj&c-eHS}PFe>9X~_GG%_uq)YctMnPnADz59fD8+pOd#ikRLYPH`>>_6M)riiDdPZ(m-@=i8Y_H=hjC6%B}msEgBBhC6n{BF%!Eh5 z+Tm1ImId>4I=D+q;pg|fuwu@gblPTFnvw&XsqBnfg3YeNeJ?;uqy=SR(G)fX&_?i| z@I+ktf??{wHEqpL60TPtrhyJoKRO%7p)_d(MTCf#BHqo zO5lQ*elKsZW`xuBJz-zd>jZw8GUXQtWnom4j(rlni#|AZHMRPJ&Gn)-CMnzSSrcaV z77#)B%p_5;w44HyHm{=*q3I?pIi7Xia2jXap#stJygIkHq(rmQ~4Qo_6Qk zX5f8{deik(^F0gA*O6?=iH?py8oVbsYK#fUnwGea>{vxGC#fspYuqa&Bk~ud=kcxA zpU|t67CWT5`V4uj*PSx)R$Ln`z4Qy|JBr zU-pA7GNQ{`K5sLy=Fe9UM-4?GYbK}XIjdJr*knw(o z@on&#lY*^k<)8rVK%UA`!KajI4=;zL=SP-5pYtBA$b!Asyw5_K!T2eP<@QI}q1nMx zG6$I)io+_LEk1u{_Gje}p@b4?tFV_5tZ9}+PqB89g50HC?dAR!S^4dvMTIYy-}1jc(q46o$v)e?zL5XCCDP5H z?FY=1`kdGUAH`{-sHfHXkl3mHnyti?Cv7+-B|yK^_M1olQ;G}DVtxZmlX;GF<~R%M zngjYr&2v`n&z%=aabF6XcnV+3nNJv}4E(ln6Hv-beMKLalczkL)AzD8rg~tUNnFoc z$%c>W;YK*SP<GzX9X+ufJ-+6aOmD`NBk5{>CY5>(sfF%*|5zZ~LLO*!`6fawZ zc~~}C?9X^~&yDU!*R1+1g_oZQ_Gz|U9q^0I1X)svuN-^qed@N@!$TcCT^4&kP{$|K zfqIQ9Wi^sFRg*C)@`0A9nx?%ldJE@xdN!ueBvtS?C6C^525XSEGN)p6)#YDjp9^C; z)XA!IS_@lhCSxz=%fwwTIRjAnrD-T@*oacMy%9puJKRx;VQdM}t?&cPQRvYX)n3|( zoLH6MO1Dy_^j7ionlMVYW~tg*)ybi}ICr`AfA*m?Dg{2ptV6%3Ij_nlJTcr#Q7WcR zAhaUtnf)|&_6Gm|k_notvnIe04K1Gm^FIv!K}JhP^OLNsmWjN|N7elnpP!4p?#rGa zPnj@79*$Ap6w*R2WcNBxjn@EDa3=7@@d7qJ-~}OCD-p3Z4)A9PE(j;WNT;_Znp%#9 zBbH0P(7r3TVDDAp2hPNm-$r43&6Y`z&e}z33WS5Vs+XdE#(pRlkh233uO3$2|6PUtS$|TzW0L#_aaq z?y9!D5h_=d6EAmoE$hV!oyHsMcoXVN4p(i@0?YQcC9dh2E_FhFZLfki7riHs4kB9`2EjS4%|&8%vf<4AXUuG!=vfUWc&c02ar3fq)c2|QImr~2 zhQFpBBk`(?eyHyDeP9>N=kjsm3nverad?5TY9JSw>;CHP+;=I)JyOnQ*01c@(zHJ@ z*CpS%#C*c&%j~aPY~*`hzY^YeNXkLH6+kNWwBvH4XE+p=vF)2nxgJ6qY1Vc3Ba^pC z(BdE>Ymp^t``xCZ?d|CeBTk<}=+@`l$6@!zEWu3Kpf%2WeLVBX5r3t#Sti^4rw$%J z;(R7Fi+v1UCyCW*d#L0-y_&yic|o`NKCJ2{D$S70T{^d^+QD#uEl+RdoZ?2M41NSYstO&|ACwhJZxT%nGbKOgc6dI@N+r>ZQl`siVZH(dD2 z!m)-G8}ZXmmvMHtQ77MuRk*o_K7RX$-}0vw$hp*u8=c&>J{kr2SQ@{)lzvgaj~ap6 zOUyd2|1L4FFcG{SM3)cVwguXL)Nt1;r(Tp<^W0QA%}TQ=ldl7W)li-VG`T4*?^12e zd;`4z8^v_D!<7i^dXxqeda3Qolkr%>=^Ga6Ud`YG3BSV);g~nkx}oiXqum^EndEVI ze+tP=gP_8)u-qfb}umu;Ad zKv)`zn` zEh==uNvgno8U~T7-hwc5Drvq5d}p znYYsTYGNP6#hznC0K)pnQa%0O49t`j_bDaE@Yyxdl~IUWSIJlhU+`@kFDe~Xc0qm+ zDYfbDN%E*v=!yEey%7E*ogBZCs`lmN%c84nP$y0*6ti>labx# zFGGbx$z`pwx~jI8L%=8%_C8O?V6bflZjH+cnciXB@b2h@o}jZr2>7GIZL|NWT*{+N zhK1gt?pbW0&%I{G2==|-1=-*CPS4WLj}zYdtva1tN(V^n-d8GUA-onJHiMdV*@Y91 zL9P=mf#@0rxer%KxZY4Tg>kGy07<<63>pvD1@;y_m|ZB-=c z{?wtU@C|BYvPi7 z3I{Ssw*%R76~mI8GudZ30T23!O<56iGmE$tJB+f$Mb^Qd;YOq4NfY9!PDA~V!~`G7 zo9kb19W7-fWtLL+nx^L>ZZV!zMH=idLi*B=n8zNbAO?KDPo^gyz4g$YI++YdwGE(W zHyLq;qFB}F`=+=ii639&xGDnpE;bLA6R6PBP`!YcOxZ@=8BkI|Fl3IyXU3U2|-c+6Wi*0 zV$U}VVc7{9vut*?jiKq%zbS!SZypy}b?<3Vup4U77cF*aD}1(X>*%78mms|;mKT#W zS;|5*eVU$r(?<5-`Gaua*7<9)>@n@eEQg(|=AoQ;#$?V~L7?&)DkSk~Uf-p$F75NP z%C<}YKhgoGx66+Y&;1{SAGT6>eGgY3QbJ6zZW znWpTzIqK!GO*Gh=(m`M1@w1d^o`3M+501StDh#6yTF%h+zKswwQ+i&zVBykIKz1~4 z$ad6XrUPSMm@B+|D0#W-XC!^A`9t^&^ZNrZ^W=W$`CBR`v=j_l#~U>5)w8U(oIS*w zCq*iZ&WqvgGFFVy7@6Fc&ZeEDJcb3EHtM0WbJvDnLVovy+X~{!PEo7S4?SFmUR^T3 z9GXxeYsn*?Q4QT;)Xi;n#(Uw3$dPj-WMsbdXutd6Ca-4%fGipTe*O9S4!gdI-C$4d z$uIwe*&Ez1rJv-my0?2SacZH2b;MgOVWrCxEj8wLRE_?EpW9&~HRVDd<)SGUsBkMlehOCY@&BVUTln`^DP9}J^*TPd zrvN6dSS9Sk)<=V|iquctLTzg#X!r9}(wFKF{LrNBI@*`fT9fdh(MO>%Tmx$=oz8Np z!+|}4{W6+J_{bA<+*|SP>=}u@X_Ye;a$YjmpJ)!+QH1ipEeA*OFd-BQ8XpECnHL5F zx)qpjsZ!41O_w$lnEi!b0B8hF5~h8Gwf(u`__AT&zL@4?uKrSPv38A($+zXje548b zal7Reu+06JN7sTzaJg(*g6vFHU9kw`Kk&GHWRtzolEhL2%f) zDhui(dCFYKD8yH<7s$qHd2@O9eBzBH!iQX6C<-P`x9Q5yQ2@764WrZnNdBE_!X}b4 z)b(6pP7S{a_2a$8*6;dDeNIjS6~2pw7b#5}Vx^KRCj%t))`4!{kbj#~U}@r$IXHYF z{2a=NIR~^zE7oP-G+Wgv%%#JVKhacV@fCkQjqkauysP(QjAMqpc(*_o`{;$HOQd{t zE?&yEG#|$&oHy*HkPsz`RKF958lkUZH;#z}qyPx{pbo7x{Dj{wdW9sYz)SyjLN(M^lpl=s^l zg${d_&;}FS4FDk0>*wN6z7da&iHk;1KOy?H86R)I^R@YQAg*hYi!8sISeckTg1XwE zBf`#tMvqiVj=GMC@>eu?8bp`g!;1DO@WzS z(H1D`&Bop@UqJ3+OdLn%c~G6=9riGJ{zBD}AU5nS(YB5q2U9fxQ0ET&gH3D5R2tM* z7A-3;&AoS;X)NEF774kUI#mA=nqTQdrJ*v=AXzjV)%w$3#5(CXfSPnIk`}RA7ko$V zb3PjZR6p{;BHyt8xwcX?lBF~0*;PP%Lg8eOtr+)Zhd@_v` zM8i7yVT`{Zj0;xuuJQb_AS=L8zcth&Fyr5s4ok=ed*vjg5_WegR-t_XKz~NoT=nq+ zn33o{wD}K;rf%gfIa%mWgz+;`PgmZhs{BRN&r}x|1x*dup3a%@S&xa3X27~-$&spd z3V;{fD0BjCtxs_20tb@*gyb=sabS;l4a~;EsmYC5cl;DF3`6$O^d>8@4KJY%=Iyz` zQ#J3C!METN$6+l6w>r1^D|%}b{eI3+<^RUnE~J{P3m@i~1Vg1Q&DU48af#VpZg8#M zPK+j2fUCoA_Int;iG6PpfqvGK;e-{!&)|Qj_(VV}8Z{7G_4Q063PmlWQBR>%B%;Bc zCnf+ML5N<{4-7KEnwFH{{@x_Ap79N97^TtvhZsm>_4wq^!~^yY*J|*6VsE$^6!qip zT2LYYROq52-XU#cJ)lG%Xm;NIGGSVg(fatOqPg43H65CC@Jb?;_ zfvE;84x=FHliQ~D^JuZ+cV%(V4g9JO`VK+7 zje>D1P9AL!33orUx2pR;OTUz-vs6R6gSTJtmtxd-(G;zwRbiVc1jaGmm(< zx8Xme6Ql9D!J!}X2KZ39@2_JI>b1I&3AU2SO+5s1Ku6YmfhAWorLvWzs=fFdlb__J za8$%49|kW{gx&OjWQOXofTYH~fKF2raTCW-N6y_pR1$mW#wtk5#M!)>^O5HBo;w%Q zM3|&_d~`x_$GbmcU~{m&8931EX6^#-M*c;kgp6C~!tbrETwIO3!e^mo$=i5=GvKXf ziKI`5oys4NU$)6)Y(aPZ2JsSga{J6VFZGmjk;u3!1Z`zMO09jGd=rW}rTz8ia%6;65j$vp}RIP}+3!X8R>+9H8J4%=kh^h@fAL<`|`5o1p5}?~_N7UA{PR5zKl7_|hThxqA zs-)No2Kn1L98Ke zPacKd{e?MeZoD2po8iYl(dNAf|3)d|m74C(r?w5)`Nd)#6#J2_rVKH$CJpanKy`?K z{>A(ZkfxtcKy}-6agE5#t`70rs(Kc$?q;Ny-rPx2I_b%`iDd*01Ucp2wr`kty^$s$ z+K+;jQCitlxEdFlEd(x|P2DHqUdY$mwjhd0PtM+T&&D*UZBRRu=iT*IU^^6%8bbg6 zv_b{}eLDw7c!Isy*T}a{;vfAxdBv>`-QHBpXMUE`0W>b4_KWwRaj3>cb#VJ&Sclaf zvMN{dk#WxXOIKm}|Noea}daj2)rrvL%*#*n3WSMa^ zhg2>zAC_h_>V`Z+sdVD*F)yUh`L1PsA|7d=#kJgskWE^V!+L`Dit^Dw&Cmuo??2#- zscU8v=EIo_^TYiI04j`47ut(oDI)hd>;-KUU9|+Cx{X>`qOvef8 zk6#E2@~__WjR6+s zrpKxSiGBKD{VEWPv*fwIEC}YgkNbpU=*j+sgg+kOgBUmcsHcl)8N|NWA@Fwg+=wH< zTgL4^n*aQ?dkil}rl(PJ-x(Ui%1;*eojg)zXC;-TwY%e68AaAlC5OcA8Y&XHBWaS2&|GYeumV?~H^zvhl zrWxq1V3Qe3*jX92aUp%3B8YCSYVsvKcYXhny|K!5%%3@L1AwhH>K_Mv)jevj-Fsv< z1wX;%=@86bb(@0T*w-5WmXe^9cozDApQ02XB**I(*Oi?S9Ld@yGsl`iwZ0Lk8g_g) zv%NRB!~swZJNXuA_jUhMjVWQxr@kaf5U;Jr&rH6IBg>MeKSdypHEvjP00FXI4uTVy zfE`{J#VvfX9YIiCH|Q*~AFEOIUM%TPRBX778$ahAGZ-LR`HHkV!ro(yZYGtU3Zs*# z2Y8(GEh>R=O=#s={z2z!z;}5#K7~&8y-xP3l!0+Le36Q}iF8@*=Ui8LqeKe4cCl|G zsnNQDRF6L|2kh!8b$j`!@UK=&mGwLcauF!X8&a9BT+Vm`Yp^Pj)@fbR=! ziE;Gx3>!6y+VS@dycDzA@Shbjc9v_n1f4CAdp&E_ha-MtP-&4uu-0PVgjHivr%itT zS|cZqmig*ZYq5z6b-1G)AWbS%kD%5CbUbV7$5$n@>XUt1b5;2x**?{%U+8UIuESMe zi88EIZS5~!RC$;D$3TcmS5M;Wa^K+EcA>6WFDI{z){?a<=SgkeY#16(Dh{k2(C{BC zD%$7b!+(R9Oc)eI+AZGB-x<`%)rLLos;}1dy#8=yA^b(<4ZerH=VL|7F}$q2n>>LB zwM8$B>1;Xm00fl3_*Im9>RM+=#f@bfQpRXj`=I^RMdzulVJitC8* zyuV|sM2OXIJXO^Fn?prIO0fg{`dsu;yV4(L%2QB@C<*XMV6bQg)RXu9{?pXT{Cabc z=;3bVDS-fvT!j2;LCK$sK`{Cn<0)p(NPb5C28MDZ_JzoajsTy8Y6d@{4*%Yt#HYiX z$wtw1hJ>cF=Lsukh%%aIkyKl%<3{@Y##Z0A1w6jK z+#af;!xcp9_kUsPb$2-bnTcUo0v(fWh0(d>AvHfA~Ey&^H z3yk@xkyDOab>$S=bLSmiZr_cEUe{DBRR%jb2AkYhew7I$1(nlGs`@r24IQ#i&kY|~ zpF}N|pXV|UPB1-W$O%e@<&P+;jl;ba1rccKgu2;ajba|7s4uY@$+Jo-v)d8TGI)a9 zV<0&l?s7#(L-8?E{(1`CydVu$5A4Q8vaEC}vlR?j`{rtPCUULye?_@ZilG>vtSIB0 zMPhwYe(zIY7EQ!wA>a$2#yIAE{bFV}LWDf!Pk+`0M2%E7wS@QJ(>FKDgh-pVh7?_d z3D?+$D6$j$bsYRYv_8m&Y1+CjT=Zzjqb{;b@%ntAUgA`9?GOfb>7giyWI{^NSeuV= zX&R+)1D;l%MJdZ z0^&}$^@G@>nzk`|xD^K$uH!HfKPEJo`}9=aX&AM*QRh#eki3f$UL_Hl30K8@b{;L* zbj*T*w(f&PK6jW6b}RmkN^7hWfwnp0+bzx=Is6KPB~|2=;TpvCs3<{g(A($e$X67L zbC~6vERR4}?M(r)sr|%LnqwlTIupLyZ?q<1giXo~(fQP-aQo0j=v9X}oU-3IWRt+ zY&niK8+1}+C|LA-kGUgFxj+eS=E@y9FwkG%hFeCB3|a}Wq+ir+_3Qk@jo#rDpvzEC zC{sM$`70?HDHjrVQ#{(`xPg9rZ@CcwYMKr|5&eglRjr<2!_A8qaMHzH`SB`g}V8hEr)LbeU||4 zVB^Pc=Z~ctR`hV~GGvP)`;f67i)5MIDXWTDojLeQ7p#P-oqR4b6KA60Q+;iQh>azF z_r$}rrO$ZSiKR)TUS5T^YoSNG6?RR&(hY!J^BzKTKXOE<} zNS&yHq1E^RW-3&Qs&BPg44u8LM~oH^fo45A)1LDN4?L88?C(L_?TID{q@ENatCq$q zPHB;M!r&uPrFgJim!iDx&wUsHmMu-^q1ctX@qU{9e-68Za}K`sHQIB_dxl0-W~)Rb z-V;tA&_GRsZA#Ki%Wm3on6!_#S2{W7-PxPD)U`w>Tj(SODra`MFtT4pdGMI&GqSug ztINjiTXGZVUwhC^`crYq)f!|q%iU4}ct@Y7SAah1cwKP?}y@~Wf(E>6l~LBeoWt8CfMi%;>5G$pl+r zwQXNd*`KfVfu@e;eUl}W$s_Xrz@s@X*H#TTOplF|DDxI70Zq(o<-1)Sru@`n=IPKt zHpt7c-M^->9987@D?E2B4yUtn8yT}57dMHSgAEFI6@wy0$Bd-+2`I9u-@s<=eK4hd z>BLxY=&ZcduG)K_vVpEtxa}sVR!3T!O-&;*vMK8hYFcSIZ+1;ZfMJo1nnPKY4%@B{ zz1Q30Ob4RUnN#EG=%WKr95(a%gT?T|O*>)rCnGmjPc z#G6j8;(BKOPX16LivPKzzsUWDD`xR#>WN+605E>^5(6rYfIBNot4`$4G%%xuwKAGe z`*Ax4#JQSJHqrzNzH1(F*|+i(Jd$h>2vj(wygX=*jTVSdds_wgyzT8xj+Mx})e|Ew z%ebnLr*fod(MQkdd6V}?p+M`0m0vFI)K)dq+)&3dauzJHAtp_Rrn_z0tqZpW7VMLU z4zhQE#VV7FMKflS*($`bA0*nAMf`uN#E|Rpb+Fi*9+rUFS3YFG?D9o3+I_9X0bsTi zD-y8{KUU+IrE{W0I>hx~GQGo`T|H>QX9&g1t*-}2hUA+Fkt^kBfkhKJSktu4Em%xq2$deHTSZx?P~U`{pl(z zX2L{mvFYq@onj=bi!19x<3cZ`bl>Ey!5eZ{uBCOw@vG%(mmQux;hz^7S zeK-H_MIa#`Yr)=$r(=m40T#Jsb9R0-A*!-#5lF+Yx@}>g;5^#VXX!>G>$tgX>8xLB z|C6T3qRNHmJR7J<^IojRJ6rH3E1JAQu`bLp5@PBp`Q*iV6;i zj5SF2jyHeKK?}k6Eg%CJg4D7-I6DN0oM#7Z&;0ZxF$;9NnlyH7 zlHIQns$3k6>Jm&xS|{w>VAs{E@Z{?nmDy&PT%7CfTT%!HDsC>nW1A_A*1J8=?{HJN zkgKhjE=*ON-(D_FGnriI36{6}q(3Rrx7Yd3oB3DTjwhEp1RQY8e7-y7F`|zIlWyZ`~M03c`$+6pAvqi}F zZsYM~N?+HUPq4Kc)j#ue-hJJkv2myI8&->R0&~jOFAN-;e|^hxuo~@i7Hm9zmGU;e z(5Q&W`sVE@WtL@)O>PNtJOJ!2@~V~j39dYNqVya&c7aPG6d>kjRvUd&ge$Bt;xQvn zT;JbZ3ebRx8BYy(jyc}d*4(dp0$%!!O~uFKAMCo0Ur$zuGH2$qssDAj9`c{Qx>S^C z@?%Z?*2wBK7kGJ^0V@NCxW^}R*TWxy@|A7YQ4qdHj#b~K61bKrt=GyynHA+qHIg8j zYun|7NO{A~N|62lhSivfmW}Sg^1kn8j5eBGK|022w())%DR8kBuVYdT0ECu##nc^! zG2E6On6BcnA)Y4!ukEv3Cj>^AfRQLZX!F~7idWuTAg3xP$wR5L*|$L56iWw}*WXq| zC)Vvx(Q+l%^8`j+MKRY|DSf+6ZJH=q*jpClK9l<~0!P8Sl7}v9vqVH#D+>!5o;ed2 zQ%9WSZ9I;9`wDlK?xNkQIvVp1vdxb}`V(bxoPG^H028|t0hgE5$|@@=b+Rk{@SezaE=r#;K6bsvrZOW3fMd9Snmjyu#qRi4sTioN$%l}g;m-UHnodAX{E(xD`n~kd zqBD`LU#w2J}DG`=?3ZngX{CxzR zKT8#B989pqV_SKT4PfEhPQMc?eueP1%x?NlxRsuPug~PK*I8UQ**J_hJBPLT*9Wi$FW=V_qDrz1M_(WgF!>dQKb;<8 zkc@81cbeNoL}L&m&-{AepaXq8!0Ne#vq)>&M$fs`r#JQ!XmF(*hEM-M>^AW?(`CSj z@fgI{t+Q=tgD+rlMT|{?X)bzLDs_(c}3tN)JJJ@1_4OCnO1bEbJ z6idp8<{O4GFr3+M<gYXw#=sv4hpzqSdeUpH~V~#?fi0ovzb*y}UpKzNFAEEisiF1@N3G-W6mvLL>l9+3~XW~@C* z_9gDSI7(C(A0;T&-U!i3J%n%~s&IG6ubvJ1OR8PaIW) zwy2-lD^2rf=9EW|a3&AT7H&Axb9C28kqa!O*!IXtgJa6slF1h0^*_k1Z#7^Z@3@TH zja{ymqZEI#*9@HsR5n+xdA|<*qt%n(&7iXXXV-RnNz*$9mcgS~Z$C5qzCW+i9sE>b zsa(nau)s`i;G@0fr6biq(D4t(WzJhjNpPsh#qD^G57rtZnzAXoJ$0NG-woEjVrwb! zGPecwq=(r;>3Amh8y?IxaEq=%xOQM&>6j0fL+2_CEhJ}lz}}Jw-8(*`m|tVmT&lAH z6+L?qI#RHCIrUVZlqnJhS&0FvH0z(vb;r16FP5rzCo-2Cs!E`Wa}iZ&L>&c4zv&3b zj@GpOJl5y2rx@Q(?PpBUWjD7dXk*$xZY=39`p36Y#ZA{c9Q(l>-Cv~DF`#QgQ!}SM zKE-zH$y`I;SuS*!{*nz$vbM-u)W4fb!L4nVrxq8G&P>ZF+29Sn(nxztZ^05EpjgW+ zp5$=KA5qVObpmEu-Uvy!oDy7h&$JbAQ-sXcQx-9%RxCi9%I%O30@iJ7SwLQrtnS1c zUYaX*F8Ew4O;=5bf}QSM>j(CcTHb_hR}i|5Pf6S#Dk^*>q~DLH$zTBn)IIB0n^+h* zt=i;KG8^Cdyh&CVpDup;z^BdnbZL?1;x<`FRU02%YTCs*Ukv6RNPD@w>7j(^`}PC( zYo__&sqfad)ph(9=);S_lWTV2(`%tVp;r9RGg;z~%1`^4J5W~dtW$-b8s}r}v`fzfx)|F7%A=&%wa1scno=VUH z_LZZtt{B`vj+_=H)*}c~i1e~ufjD>Oo(`2cD>PR4F?{7NK;=ils+N6^0nbTuQ|7NJ zE%c?6OgrPxm1=dmNX&wcB?p|&U%#ECB3psl_FcXd2)6kWxso$osm%}XO*Yl`ga~ph zS>_2{gVc~3YunOd$AoJ9(#_n!L~9kav-TawO@?ri@3x8J$P0t&Q1;m7uh(kxSWm*rpc! zd=;)b*s&rAtcx^o|8|xA(3c9}T>D(Ns;=|S7`yb*W*Xl*0|02=Eu5&>HI6oLww&)i zLp)_ZTlTyM=&xe=y9Vj|0O0dc@WglBD6A#IhGQ+!^D zt`heDj6D4MsrP33(gUc@0L0_vZ3aK^{%ubz8>;NHFTqcmx0fs z6^&Dmo8~3{l{sLm#c%5wjJ~!McBKo*0Udc06$HdCG3IXyP6c2xPd5I1hl$(@0YwL7 z1F4Pa!-hA88!&M~^XsZ~Rp7yip@v4zB59KF3SySr6M6!@bNPAd(_Ho&@BZF~ zaom-V=SJpB{6OCIr~%^4dkPKWKz3moJ@ZCTS1LUXFp+PWOua~OM>`v9b0yfZ8%hp5 zKHNrD)o)Ac^xcolIHp`z?6hhP&-B6y+E`8b@RE{*e~kv(5t2YcSsmn(oA1h|QtzI0USGD2mJy+3B&w z0-_WtzFHZsCXPx(_UkN~B*AkUj3q6xs&HA+>7~#r@XSQjBeYf0VCYkaaG>0o4{opca0ld@5RA-O0)DPy zNj6Ja<)kc}1gSCJKl@KjY#}t74U~}C7Ib=;CZAUDB{u9 zDGS11#Tr|Ix0$&MdT@ovR<5SOXSf{7K#Y=HqFy$%1=K1Wo|ip=gBp;Ro|v{faJHB( zxHLmLg*f(2O(5#IrGxW|RqgHToMIs*QHYQR%6Ky}PX7fL4ttq_A zlYsc;s3Re!)i5hnD6Li^bxzk%0tQG|87Sn^cC~ZBQyr9W&kZ>EZG*I{nSkq^@4DUz z_3>QUZOOiC`FYF zOg4L#IV~u^&GxPr8L--_d{QB}UFi)%K(s-&lAdF2S$>$i(ik%<__xgTD44|!hNw0h z!CA4VLiV>*Vr7lR@PT28*+|nwz^)c`KUL7xycr@{4A;SJ1cY zs__T2DOk{^O0%TjQ|g0Rc>&y5%;LW(q1qFlJiGT!3*#*`Qo zE}ioj9Issd3iWKUOFveR+J*6jqX87B$2{e#(Wn_W{tBuAb}`!F<&~wW4E1VC&viyS zsKH!O-(bWKfY{k;Htw}~ChnYNrpCaj9@5Ic>9+kbJGCeb=#akN*QjeIPrEa`0bAN< zCsq$TK6YOKxt9x6qhen}@?;D|x88`WR#@D)(i~?Lqj2bZ%s+=Z!TK8IOnl`z8LbsF z36;C7Ul0ajU-3%;u{9w&A7k257PGsw=c_WTLLNNFQyBxT^KU&2&#wE$M<9-6GEQ(S zTsj0LPMup$)1$xMm+N5|UUg(!{3X-i$qH+MGDyG8;M#byp|-8(!RsAifMz4_8-JzW z+HHg8QKV}?rc&qC%;dx5$RysGLYv<*$yvA%WWTjAD*5S-$&Y_F{{s$7IfUiq2bsf$ ze12sf)jgAk$VHc(;oBM!GewQ#x%{KZDine@3urIi*^OY?@Up?oO+3}u@*5@8L#W!I zEHqgbFq6_;UX=ngbuvBaFCPD^BMACe>Lq;kuvAu<)?kwj^}l`C2;j?$a>XBhv;eu% z*H&VkzWXx`)?A-H39iGm4(6-6?YKB8wIhxx^_g^=bF!mk4_IHe$PPpC`?hYb@o6&Z z7(oa~$wn-9;iG|`#lfJ$m$Z2MCB~7)Zm%X`do36e4klF9e!u#A52k19B3yy-BPOyK zL_A1HS*M*GqX5og62Oy#(K`=xNU6Kx{*oE3#&5Bv|04w0Wc1p4yJ9Opfnm35=52Ri z=G}bxeerEzY624#|Dxf4h(ftyJ-9qm(8&W9_?%mM!Lc~<)x6^*Y{{(Q%1>AR!9*NhWbsWlGR(J3{{URl)!z=qlE$7ta@Y z3qz0DJ?y1{sEgv$1D~x(gzOsSDqO$-2;YgWwiimLMBMu#0P;0FL1D$lIA)3WIT$M@ z##oRWiG9^7a5O<%x3Tg+Fk;#$=d-bLqFbUK9cM}<4j(%HhZoiB)tuGO&$o%CrKB8l zbY%<3K-We3k5|h2p^eRv@Yx?BN;q%1S$NwKp zJVCWFFa@Q+54ru8sZuzk`np~fx$!+aJ~4GCsVk26GApNY9OZ37Jh3= zoErSKY)F<=hGdUvIE?IkrgpanD8sIKqrdHVHteaeULvcEyQJh$xUn5-d)$zJTZy^o zZPle!y};E8cu&rBK`>_xtwmWJnR|QkLC2PxH<`D|c}WaMWnUzCTn+`cL5*f{?XuTX z6YP5LZei8!UsEnb1C631V%)=VSQi%f`S*zpX~?G$iNOg(Ugq4Mp0ji{u9Pl_n`BeH`6{fGLcfoa8FXo-*_bqCv+gXw zk=GN<1n4*I&IAtxCsa@?@M6 z>(9=4d9o&z?IK?q1STP9sL`y)G}FC#f9E{AceS~ie1#Ud>R!XoSrH1ymE6A=b83?+ zH0Qppl8VlqX)oMmYy$u}fcV)Em&3Xf^{6UhH+QnP^G3JnEYvbyXA>d$-_8mH&aH=Mb?KCdCded6Q znnGg8RB7qiP1RagkJ8IY3ij&893()V;GqM0-Jgc!fW0=Wo_l$qo-|9tL0ikIv~I#x ze_MlHs(uwb%m}+6;w@ep zUD)=#EFbH_QylGr2x@zaI)uSbBqEG$MhIe*D$7|p#|l~4au5Orspg)F$t+byHBNMO zOz@_P7tN#F!dB1ZP|z}TOB?jfvywE*ur9H#C zIMf$@Fm#PK((}rfn;}AB_26L;;5M3m?9y|uX$~x~PZm6be+EZ~Ynkx9UB@wY>CK&GzIRCP|PI_55aA z`ge_8kxm~fTlPujf=(4vPkoMrT!&iI4j5D)X0Mk{|YW7*tLDDb;%|1 zUd%t#Qi(z$-s6UoH$08eEH?9Y6_HS%mH+*uZlY`CKzTEsimB$5=RrR`bN_u|lb9y= zTs3M!X41JbZdLMuLOm31?O)yKx|;O#rnt3YmmN&;pf27zBduWniBO7Zcn?W+pxU7| zVgx-m(A2b7l+X1@xQmyujJxvsjkxrtr#4WE@lYjS*0Z&6TYH{UnA9aRxJQtb~xOYnEO+O*2Mm~y^rTP$AM(xt>z;qiQ|AtsqGgp-Ib8r#?M zD#|JFm6-}Cy|$pozBfr7LcV7cmHe7qn{#*}XMEArq9jy!{SJc^W$;^xDw}V~G~8Fh z5uw!I&g6R{1wD@NJywm8_Tp~GVaG-lyhU}tM6?RB3=}axj~~Wbgs=?mZInl_cZMMR zG*OUXh^6+*n>;F7q(L2#Zi@jOwJYg<=rWVM{N0`feVzK1;qUJ2rDM@&um+JO$~S>8 z=au~{)sGaRLW48r`Bo`KU#^Je6i7Q*sxKRJbX}Nu!p((QrlAlgozL4N?M7d}@usss zaku!3kAmM(ogrC2Zvz=z`CSeP+n~UYc&j58f6SB%18NVy#nmDb77V({DZ%|TvAQ@e_m1k+roGd-8o z#11H2G55sGr#$m?y<>1AxYP7A)Q$vY2X8sXD83V4+TV&P!`G*r%99EVzLO(t7Sp}VXVbpUizx|vKB$B$mcDy z%3$c^T}RQ=B99qKe}ZNly46HPpF_u5)H=yJKkt^j{}2F8ruNV;Gb%0I0^P=QM@a!7M)ERgU2zFxVbg>quTBBkV!NwRl@nh?(V zE-b&qXXiF$lU?XIGt<@kvgPi8lANCP|p+j&TBXiba>4({I zjQ_#eYdo8dxYx8owzYU|QhsymeM13VV7tI;YA>k9N4kwPuTV>SYhFiD&qOtT`?Rtu z5^JnjFPJPYIfu*U$F|zFR%u~lra@n_QoJ#*`}InTxKQ;M3qNoJV`Y8Cse1D6@=7em z_FjEhCDbtX;%`dIW2j4J)?|1%{h;sruktMHQ3*{{Z+Ec~3l-CIO!aWrAz3*>f`9-; z?YhYTd8zrqX8qmS!S<&nj{Ql`^9a6#QQjFX;tPX&@h*p0VyY``C#wSSP|e93=DMji zJlC&YO{A-dx~m5Vx#r7=fIlq}2ma|p*q-;{mY z18qA?>lh#5@%#ULB zJ1<+5FXG`e`AIh<;clJEz+>CjWg&X%**xyS+~n=3-;J936FOJC2ZV+&-82f=^ga?*@a5vL)~dcPt~}o9fEgl(qFaj zZF#AbS{y{;&O$;#u;&fN(?6%@1J9~cQ4xEzLZf%2R_()z_+2krP>hGfu@-mEBkOzD zZ*L!5sb^~=6l@X0XDKny6cuwLP@l{a88#tK8w2e;o#L-Fs%Suz zn$n(f;%3q?qN)PV%)6QJn5z3ZWV@kXczq60)?_5-Zq(}5P8>~Zsv*Ejj87xj8TEN- zDPoHv#iFmuiiRPtU9nnw(pU&^f~WUZ_$J>_JHN~R4bE+@w!|}TuBvg_YN&ifYI9S` z@iKuKa(U72CIWu4qgxDiX|yw3bcsTL>|svE2ba5mmWj(2Gk{C)VdCS*X3a{C=fxw@p4k~vPFA=vn*Q#6_g;_q6Vk*FMs#jn`)VL7Uvy!SXDW5H* zwBH&EFb=js#8Gv2LGe}=@o~%6*-s#pNZX1!4uwSz4=NE71-cV#r^Z_BAcA8{9dkTPp< zxHf&BLv>`@$rsj_)+QKS*s$R&ni4b6+{FTrr#f=5*6a?uBb?eeSpsIxew5fOyl+8* zl>n#B$Q<>!eD=htK;4^3&ga>0D7cZ^lj*boE{LmsG)+$5i{5dJ{5;*i&Iw%wcYE$p z6zgrLK$h}@p8Hn(zTE9M3^NSmmn|1W!Uceli2ow(+Bw|C=8J8QXr z{lXnp7oIz;Dw2^N@;ddmVkuo5T^^aCvWN1{G!2H}&v>Eo6<B=(5f%VjN`+8ic2iiv;;pfI=MV}h$&>=U)2{G_?Q{%cT@NF_v<+Ki(lw&}qY|y~ zQ^iW-nNJgSGwYs=?*6WhgfjJ09Q=rwd`cTdlcoFgEwKINpm<=HMFyYSVKmC>BoNnl z3+=dXBt0pE6f}G_r18=pP%NTx(Zn?O?#bDDpBwG<3GwPmoi)Cy4`K9gjYp-Ji`uPL zEx{q2C*Ir-Dk0`)>C_L>?h-lb^vP5T#p5}VLPr71D9YWjWZzf@*r2nKs(*%J*&f&% zQi-EEzIHa)y@%D5o)K6jl|IL+wI_cxnwdnv<02(D2YXGx{=P79TqQ~OYMbu&GpTEz z5cU%J?j969yT1AuP2b1F;&jVW){wU^amba@?iqSR7Eim9RIW?k7UWZsf>rPIG0*(f zZ!{E!JqEnBM7dG@^*iw{AxMR*aOoqYX$llhT$Q0@xPL(WtIhd9H#jL>91v8smXD7f zvbC9w>JK^h6Md?NKdTJ!TV*^FLh)zD2)906^slh3@@0p1hyzIk|4wHD2IUxeze8MO z^`N4<*it5|I%;fv-zZ1TWEgEVKO$`zgY4eL0W&GarppN&x@?oq!w@{5YHbE@oq}*LZZ+?~Q`P z;)O8#7y1#e@Ltqlh@I@lT)X^xF8`iiz%Op5y>sy6()I&fWpDVnwY+BU@q?Z^?O$F- zygctdZ$HNTyf|KeZ+ML7CRj`>S3!d6)=Y8nBx>B15d_rJNL5MHSGLaSjyaRf;M9V_bPYt?NuE8q+n?B z|H)lqR8t{#0pCB)E&k50;3E3vA{g?<;30qUs@wAV^xs%ed!cs!@#5@-3d+0>-Vd|N zkMlnQ$(GlW{|LOcA9Kk6Bj|%(P+rVPjCmUU9gKOeNv+H}db2mb)EV(wIdAWS-u=7? zEU4S?>Pxyi*4dTMTprBf4#{G@ca-p+eYo^%-OnC%%l^ZXMSrLNho0;6?W-qPWXP_4 z70*lg*F!ecelF*EGFA0PtE3k=x1D_QiT>Tm!G)2Xz{^eZQ9r?>gNp4(+u&7h?-HUm zsrkRl0&x5*EEg#z2vsNe=%#|VS)ad*v}w*d5+z5ccZ;+eJB9JJX`-NEJOSGITwB+myO2ruo7tZFNkzg3hnf7k%7%J~n`m$nCMhs0pb5%Em z1=-WlRiP=jQ+AP^2&qOUE7ty^foIR?YFej9g$s$n3JDl({L{47#}+yW3_uX9a}*4XowN z@xJ2aetTF?5!EDM=z`Rgd6A-_n3<`8>Q@L~b{iT0udTCyimGed@Bq@?4bqYVl1hhk zNFzDm(4lloN+T%E&<*3z4blw*NJvSSG%|pIz(0Q9zm~qd-<~z+oV8|OXYaG;Jp0)* z>#X~JfDo2jDc@qLp<}>2B1p_9T7PXK5IEVlv{=2F)hw%-;=2{nt)cBR$L~?ne!w&B z+V$FW0O)?z_|q;$1Umr7+E{wWvMV)&wN&D9kqB{W&tg+6i@B>$l>9tnq&xM9pV4(; zE6*6RXkKa8c5jr~)D0{ZYwa3Lni61&J!OXD^qxneI9lwvrSG<@-DM?J4nDYNkg!HL zw6;kj2TweumjhfE=9W?=Q+XxgT_e_pa+Gw5v66;l2#?j2XO8m0DrC%(iZ(cecDrQr zD7!0#{mKGQfS$nyP40xeKDC!$fG~{~HUb1ApK}Rfy1Hz2Ox*6czQj;5cuPR_t6oq9 zqdPKUbpiDN(ioob%1hTf6^-FgkwQoS^VES|urz_AFj2m;r2Rpy z!r5449jUpAG3c8x)V9I4UZ-U^=-V{3*oHYwI-%^M$YfTux#{j_5hN3rc(BctGMUB3 zenuB9SXo{);i@IAl}Jb~2|-bNc0#oTkDUq8n!&fu>1jH||7U|6g9Pz6tvak^-8h<& zmgid>fQ5KFO#A$ww@5u)AYqQ~Z<4KFh9U$Y)p^MiUT<@C3-%4ul;1gQjinXUsuRe~CuNyD7Q(4#%n!b_?& zARa4jq}M&ukd(-oVUN`kzglH-iuenimcVBlF&nR{YEwXHl(iIWfP!`AT8|yAq$%bh z{fU=4F+Y;{EugGg^QI)@M7or=$W$z4U-Fx`DmGDRtFV@XiISsoxpPBz5`jeMwLJvk zHuI%qJW)4~lUK;f4L2|33g5+;k!ZXrxS_-(@mGBDsoZoysO(PRolQ$Ue=}`#Hc`QR z^>f;?H&%qv;<(MIF^eoY+VsX`PBYhDQ#`ir&0#8{jYjDmy}LyrFVu0W)t!wELC>pO zz6_b)taE{R zw=d>xs_LVn4-a2E4GNwyZ&mv`8DzHuKTB87n14n)wWQ+XZ1c;0kKz*h9mWEpbwGfOwkS?5g|I8j0pU z)>v7*S;WN!CPVArt>Mr3NLpOovLm27{VDA zHF2p{$-JoF(li=tOeJjP$f@*b1oUmuhMQ~Z)6#jCcOHvRb;-;fQqj&73#ujs&hw{?VQ&s^ho?;TCG&x99%a^0_R!*B(p7OsN z+to}+UJ|cKv1pNZ+qtLXOwW~Dem#c(O%f4Ss>^bwM(pmt<6tjTDlnmdpI|-m8 zo@w=&H%=Hyct2iS#ETzFwaCt|#%0fI5xcDbJ)w^=USAmyln`=>m6e@REa0Z9?e>YI z*q~OeRn{%K3xAevprp%n4!pr%E}PqD!WA^q zEkkC@B0?t;6SOSDW@lpr@!n31yKyx1z3BUTSLmLDfx8L`LNj9;arZMBM;?i@@cUxX zn4R+AJU2a~mF?)~Nm93*!Y+O*lWOzZJR~a)wa8*%lIJF^Pj2oH0!0gPELvn%TAwN; zE9n%zo2bzBMV{cFu9u2>EBvh#$8J(CEKg^-SE>k6+w>$YQm2*kUw5*p#Ln0@$n8g+ zBTOe>YnAF|bFU1a^IhOXLshH7<`eQ8im9Fo^$Y~*qZ+>ZDBnmFMp+!qC_eP?d3D;a z$|7Ba>N&oh@z7|j>+t3n5PDx93B{KIt^)`;mo%=(3YE20NWssiY5%e>s#G3mTwm0W0&0Uft%l55PMtxFo&; z>@oZ`8AN##!p4L(w9HDi4k44gatfJ;Ot=q(cPSpzj)XdtMn{W1{OLZ8J%DG* zq}H4)qrh>ig#yo=fX>>9k(BtABK^R)frjCtAdb$*+n^L~7v)7N@t__I4ZW0x_d^{1 z$|z5epVq~8F{G5oS~Qo((h-AHJZuP5^hg8@T;3E-zo6!j)I*&aYgrPb8L}99?2eq$%l15KXOi&!&wkf+6tuVqhH`;tm;v> zI*SQ#{K_V}zOVQ#pM8-|7wEiOJ9O|>Se-C!@)<%Qai|fYA(`?)i|+bV;BuP}387_K zS87p@Nj6-gHsS-c*YO_~*LyYniT3JYO4o-#C9{Uu$5lt#yU6H=#>8~`o3wEVHA$(m z^Rd!Ze(qhD;JA|YpGnV~w2{ctgla5w#b7LhxRX(16#%LXgIU>gmIOkK?@w4fcgV4+ zW<0Hgx#EKMf~|zU%Gp7uK_m%kuO2Hygfe!j-#NBlH3{Qff9?R_?1AS~Nr>Z*;Faf# zE_GIk<$_GRU9B;0#3o;Pw6T2?&jLIk9~N09Zi=9BuwriOgzfO#YOa>E?;pvIT4*1Jfy;eJ;H_hQoU>)|jt#5QgbmI-f((N$CQJV2g&g8QQsNXK`t?X;c zO>}0X6h|Eo!z0I+nI)SQkc+t2dzn7?-bqT>Tn&@Rw(lDX+!Pb{t#tylg`?+pBMKsZ z5sn2erp_y$%l2H`#8GkX?fBJD%wjA!NK4@8q1-A#`miw5Ha}4kwnNC~h;`~}Eu8~4 znA+KG@%wP^Fm{btFjQFfwCwt<^b6?p?E4mNDOg?zfylvrUqEkVYCt085!r0t(l33E zBWpvZPRDG(?_P}U$?}~D!RA5i1RmKYcrXgAt*FmxDyX?`eZ8t5uY_nx2w?NIP?MPo z6plKLc8BeGfu-b!PNRksE_#s*v!>QW7LLWI@}(t->|>uI*iS&_E@I#peq|F%(XEzy z;>8QqQMki=W)iMI*Dng}(#SR3Yb-76y!#Y`L*9a|rrX$7ArrNCFQcoI%& zD3O|Q*#k*^ld^k2PTcwK8g3HPaKPgl?4ozo;`T{Iqoe*(4CwYuzr|!_JgNxo)9_i2 z36G~ZU8^kpPjb^(qsLS<-2389&8=k_ytl#7qJ18|>weBJpKL_pY(<#5htcMe4e14H znqke4Zj$UZil(m%kVHdBaih+`AN3ZAYqvq)mGZbLY%?TBN@$AF4yWB2d3%gRVjEWm zotvyB{0&fh^O-d*ygzK>a;gS!r*?fNbDUo{B_HEo2k39y&g`Y{JQUG& zFE`_A44N-CdG>Q<#~ScvTcQ(Wp+92V@rAEUiV^O1le@m3fVpKY5Y^B~7kKj4Zp`HXmm z&$WYXjk^u5DRCNtzuNeoG&7)i88U}BfWLR33GmN}*mn#gwlh!=e&zKkA)in6Mn z$75y;gkYjuQxr!P^?7X6+=V*%ztmQkC56>$9<&Cy-j?#QpsWQB5VMrx0W-8I?Zl}2 z1H~#6)664u`1e??S+e|D11lY!z-{&;fG7N1JOm84DR%AF=qK~Gr=jeLan^v0hsNz0t11%C$LwFE}*(=}f_5v4t&YR>*TK6@w{9WZM;37v@qQmW@_%T{he zb873$ZEW-Nq45JH%1kw=@YRzoz`+G5p$iE|z)>YE3~ z1d?4JDVSS>D5PcXW=mbEqWTFDQBpNMz@>lq2w}_8SbxA{b6nigC=X{kRO@T# zQ0nsRG+GIbgY;uQX~&vf{4$K=@Se zSn{mM@|`UV|etGX!|tNFVf;lX@4XfW178>yg1g6i+W$x2fpi=uoFe~ z%0c`tuyp4tMp2MgcuK)Wsu*YkCO?%9M4kRdHV&gi(d#b2-zU?lB&OZ_K*c2;1;yrV z3r331rW8aEpS*hzqJ*2KjFjjWd>hE0f|`ILBY{(rG+VetDIw|=iaGk0o5mRgyF3Rk z7O{3|&p7fdlvq=ez0jFyy@hoX8#S%Yjo&l@u67VEc-HGaac$#m@X!orIt zN;>%v>7x_s4^emW(cTS0vfv&N5rq*cV0ER~M66UD4}B<(6S-F=+jKH#jD#1&2rnC7 zBo@22%jO8gkOWT-@N?ERVQGuin?6RZZhX>G!^>ADOD=CfL73Xdh^)FSdJFYXJts$} z%9>-qxq68cb3v}~Kqi?1UqLZrk2!S1o^X9YD5Oe9z7b^(4N!y5N>eFtLePL|MNc)w zB*FMReccfeUZ{BpA@;KF=I$36vK*V*L_@^gbx|8Nv8#(apAb*Y(*jrOx{mWfmU*tk zba!-rbj3Fi&Jf?wR4p`6001^J0019hQlRYybhEWowY6{oy4ZqT4^mC+iKR*2joG>C za&qh>*%VY^q>uX*legKn5y(B_U`(_SHe;D*W+|09Y&}N5B>qL6ZgGR#TaMMcovGGU zPbN?*!;-8A!UY$zHB;ndSJhZ$@b>zGc>KN-bfbcRpt- zS-euDnMZJ8r+y+i^Du1hw?hGF_=WQuxc(tAO#atBg@(*}sLvW$vU^QGjKbz5p#M(7BLC_d` zk~hTO&vwCdfmkeWaIr9cUJu0DkRa&G2?2!|CkgJ);U#yV`#@aSbhPIu{n(xyXCiZg z>88Xp?rJF}glxOLmBE5XC(dj7(mJZwidz>W&#L7l(K-Me@4coCKl8_HGB5gRedrjj zp#c@pT+y5}=ju!AOO-YMkngIB6AY0EDYUCuZkt_2{pvK1eejl9G9XpH^Qpw5e5X&c zBO4BNNM*^&kLXa@xZ-n$us|8mM3{V*Ct+zQw`?PG=VvaLOe#Zt&hUCUf~Lx2jOZ7d zeoVpvnsUBlceNKd-~n`6c}xCZDzHdqTWr#LvMNkx6+GD*MGnp`?Jf2$t9UsKf&FX9bXhgUpX$F(K_r7-{UQ&3m{d)W2!k$^YI zmnFUPAEFU`exV3=&c)Oej3>TXu(_Qc2v;@?{(*SbGO<+u zMN+_D1|ge>*n^YOdy61kS@ICBEQE;IlXZRt(zZdwos+e^*K21Nx6uSXjV^P7cgw79 zj9f50D%_6(k92lB81YznSgFV@YRwts5(*M?GeRVX+GTieF}gxAPntCNxDEqSmOL+( z+B`2z%o?!g#WbmW>bb&adk~u zUWj=~`IM#MyH!Tx5MLw6m}svt-NYpR<6b(?djq|yd^94?0?!glR`D0H5}5vs`$n&h zOdNo3w`wrSTwv2II$?SW)TP18lPIRBTpLd2@;!0K9Es(?3-c+OVHd`9a`L4M{70i- z8ye(qat{~zwP)x~!Ks)-n+RJLCWI}^!f#s^L*rR~(M|TpeCykONPnid-^0wz&h&;J zF~nEs{~Bf`$KS(zkTmvtlIw3T|MpR?3|)hcQB9>&DAn=9ZmzfiesD@~Z}fw2-yD=} z0uq_Ad{4(EMC-%NALLEJO+B2|Gsk zmo;F))6a>#BY1#LX%iTZ)a90rr5Hl5tmq*qRHFMy(KZvK3t43&zVOpJLv)|;n}~qG z13Ep-YHz&G(Y5$D8-9I0K|<4nOX~3>mIWp+OQ@>s%gXcE<{8vw!2JWbe!nW-E{)HV zdp}9)ljt8#kl3Eo`Y4ai)eNhab*$N^8jg!EThWCtaEYOnGYMwi@MKKLPzR#hq&J_9 zo)!y(m%Dnhmqr*DHz%j58`|n8O4a9-o%J56Mr7N^@}QIuxo9%X*X>JI{e zNw|2?SIm9j>{XhFW^}RFiG6Q~jS6XnfGO%Aao@(5pLjP~jo_0dR;qRHF;Z5}1nw^D z!bhC%i(@`9%BQ+rP>c;%u5)8p`srI%ay( zT1wJ7N*e0_G4{BBj;1E5scZyagh<)Hr;I;koeBVu(a_LQ)sU8xmQj`e7ruz-`guiV zswXM{P{HtDAE-Zg6%E1_N>#y3OG8)Z-|TM>DQ*Wpu3<#8-x13M%s(LFNQV&sP;znu zxwyE$cKf@>zcI#+#JDj8#)Ie|V)s{h&I$m?sY%}lZg#QR8xVbbi5PLj?yn-mftVv5 zoGtC|Band#FceW&4uRnO1poj9y#J5LIXePvom}se>9x-en;?b7&dvWy;@&4@u^;eNa^xD>1(+21Yl5_CB z4@yKBXhT9#0K8N*_XbboHz*@_AGmMy^`|A&0hD{TU-#MjepP>1pFxzr-K*|{_q}QU zfc>K=fPXsG{LTKa_2(a!p5wv&)#%^w|4N{L;0*2u|4yg(@%xG4503o!ANYUMgr*8A T+V3hvh!@5K#Fx#7*Z}?yZ}%{q diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyprj b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyprj index b52eef2..068706b 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyprj +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.cyprj @@ -151,6 +151,20 @@ + + + + + + + + + + + + + + @@ -322,6 +336,20 @@ + + + + + + + + + + + + + + @@ -2503,27 +2531,27 @@ - + - + - + - + @@ -2599,6 +2627,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3207,8 +3339,8 @@ - - + + diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.svd b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.svd index 9c0eed5..11866b9 100644 --- a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.svd +++ b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/SCSI2SD.svd @@ -19,7 +19,7 @@ SCSI_Glitch_Ctl_CONTROL_REG No description available - 0x4000647D + 0x4000647A 8 read-write 0 @@ -27,161 +27,6 @@ - - SCSI_Parity_Error - No description available - 0x0 - - 0 - 0x0 - registers - - - - SCSI_Parity_Error_STATUS_REG - No description available - 0x4000646B - 8 - read-write - 0 - 0 - - - SCSI_Parity_Error_MASK_REG - No description available - 0x4000648B - 8 - read-write - 0 - 0 - - - SCSI_Parity_Error_STATUS_AUX_CTL_REG - No description available - 0x4000649B - 8 - read-write - 0 - 0 - - - FIFO0 - FIFO0 clear - 5 - 5 - read-write - - - ENABLED - Enable counter - 1 - - - DISABLED - Disable counter - 0 - - - - - INTRENBL - Enables or disables the Interrupt - 4 - 4 - read-write - - - ENABLED - Interrupt enabled - 1 - - - DISABLED - Interrupt disabled - 0 - - - - - FIFO1LEVEL - FIFO level - 3 - 3 - read-write - - - ENABLED - FIFO LVL: input mode: FIFO at least 1/2 empty; output mode: FIFO at least 1/2 full - 1 - - - DISABLED - FIFO LVL: input mode: FIFO not full; output mode: FIFO not empty - 0 - - - - - FIFO0LEVEL - FIFO level - 2 - 2 - read-write - - - ENABLED - FIFO LVL: input mode: FIFO at least 1/2 empty; output mode: FIFO at least 1/2 full - 1 - - - DISABLED - FIFO LVL: input mode: FIFO not full; output mode: FIFO not empty - 0 - - - - - FIFO1CLEAR - FIFO clear - 1 - 1 - read-write - - - ENABLED - Clear FIFO state - 1 - - - DISABLED - Normal FIFO operation - 0 - - - - - FIFO0CLEAR - FIFO clear - 0 - 0 - read-write - - - ENABLED - Clear FIFO state - 1 - - - DISABLED - Normal FIFO operation - 0 - - - - - - - SCSI_Filtered No description available @@ -195,7 +40,7 @@ SCSI_Filtered_STATUS_REG No description available - 0x4000646F + 0x40006468 8 read-write 0 @@ -204,7 +49,7 @@ SCSI_Filtered_MASK_REG No description available - 0x4000648F + 0x40006488 8 read-write 0 @@ -213,7 +58,7 @@ SCSI_Filtered_STATUS_AUX_CTL_REG No description available - 0x4000649F + 0x40006498 8 read-write 0 @@ -338,7 +183,7 @@ - NOR_CTL + SCSI_Parity_Error No description available 0x0 @@ -348,14 +193,148 @@ - NOR_CTL_CONTROL_REG + SCSI_Parity_Error_STATUS_REG No description available - 0x40006576 + 0x40006469 8 read-write 0 0 + + SCSI_Parity_Error_MASK_REG + No description available + 0x40006489 + 8 + read-write + 0 + 0 + + + SCSI_Parity_Error_STATUS_AUX_CTL_REG + No description available + 0x40006499 + 8 + read-write + 0 + 0 + + + FIFO0 + FIFO0 clear + 5 + 5 + read-write + + + ENABLED + Enable counter + 1 + + + DISABLED + Disable counter + 0 + + + + + INTRENBL + Enables or disables the Interrupt + 4 + 4 + read-write + + + ENABLED + Interrupt enabled + 1 + + + DISABLED + Interrupt disabled + 0 + + + + + FIFO1LEVEL + FIFO level + 3 + 3 + read-write + + + ENABLED + FIFO LVL: input mode: FIFO at least 1/2 empty; output mode: FIFO at least 1/2 full + 1 + + + DISABLED + FIFO LVL: input mode: FIFO not full; output mode: FIFO not empty + 0 + + + + + FIFO0LEVEL + FIFO level + 2 + 2 + read-write + + + ENABLED + FIFO LVL: input mode: FIFO at least 1/2 empty; output mode: FIFO at least 1/2 full + 1 + + + DISABLED + FIFO LVL: input mode: FIFO not full; output mode: FIFO not empty + 0 + + + + + FIFO1CLEAR + FIFO clear + 1 + 1 + read-write + + + ENABLED + Clear FIFO state + 1 + + + DISABLED + Normal FIFO operation + 0 + + + + + FIFO0CLEAR + FIFO clear + 0 + 0 + read-write + + + ENABLED + Clear FIFO state + 1 + + + DISABLED + Normal FIFO operation + 0 + + + + + @@ -371,7 +350,7 @@ SCSI_CTL_PHASE_CONTROL_REG No description available - 0x4000647C + 0x4000647B 8 read-write 0 @@ -2617,27 +2596,6 @@ - - SCSI_Out_Ctl - No description available - 0x0 - - 0 - 0x0 - registers - - - - SCSI_Out_Ctl_CONTROL_REG - No description available - 0x40006473 - 8 - read-write - 0 - 0 - - - Debug_Timer No description available @@ -2943,7 +2901,28 @@ SCSI_Out_Bits_CONTROL_REG No description available - 0x40006479 + 0x40006579 + 8 + read-write + 0 + 0 + + + + + SCSI_Out_Ctl + No description available + 0x0 + + 0 + 0x0 + registers + + + + SCSI_Out_Ctl_CONTROL_REG + No description available + 0x40006478 8 read-write 0 diff --git a/software/SCSI2SD/v5.2/SCSI2SD.cydsn/TopDesign/TopDesign.cysch b/software/SCSI2SD/v5.2/SCSI2SD.cydsn/TopDesign/TopDesign.cysch index e4871d03ad2e11a13e192ef43e78d6cde392a69e..700ec8465f24d70e5b838e1906efd3c0570c1af3 100644 GIT binary patch literal 343270 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 Ce$uc2 literal 339357 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 B;Hdxr diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.c b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.c index 76594e2..2c1528f 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.c +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.c @@ -1,6 +1,6 @@ /******************************************************************************* * File Name: LED.c -* Version 2.10 +* Version 2.20 * * Description: * This file contains API to enable firmware control of a Pins component. @@ -8,7 +8,7 @@ * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -24,19 +24,37 @@ /******************************************************************************* * Function Name: LED_Write -******************************************************************************** +****************************************************************************//** * -* Summary: -* Assign a new value to the digital port's data output register. +* \brief Writes the value to the physical port (data output register), masking +* and shifting the bits appropriately. * -* Parameters: -* prtValue: The value to be assigned to the Digital Port. +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This function avoids changing +* other bits in the port by using the appropriate method (read-modify-write or +* bit banding). * -* Return: -* None -* +* Note This function should not be used on a hardware digital output pin +* as it is driven by the hardware signal attached to it. +* +* \param value +* Value to write to the component instance. +* +* \return +* None +* +* \sideeffect +* If you use read-modify-write operations that are not atomic; the Interrupt +* Service Routines (ISR) can cause corruption of this function. An ISR that +* interrupts this function and performs writes to the Pins component data +* register can cause corrupted port data. To avoid this issue, you should +* either use the Per-Pin APIs (primary method) or disable interrupts around +* this function. +* +* \funcusage +* \snippet LED_SUT.c usage_LED_Write *******************************************************************************/ -void LED_Write(uint8 value) +void LED_Write(uint8 value) { uint8 staticBits = (LED_DR & (uint8)(~LED_MASK)); LED_DR = staticBits | ((uint8)(value << LED_SHIFT) & LED_MASK); @@ -45,28 +63,31 @@ void LED_Write(uint8 value) /******************************************************************************* * Function Name: LED_SetDriveMode -******************************************************************************** +****************************************************************************//** * -* Summary: -* Change the drive mode on the pins of the port. +* \brief Sets the drive mode for each of the Pins component's pins. * -* Parameters: -* mode: Change the pins to one of the following drive modes. +* Note This affects all pins in the Pins component instance. Use the +* Per-Pin APIs if you wish to control individual pin's drive modes. * -* LED_DM_STRONG Strong Drive -* LED_DM_OD_HI Open Drain, Drives High -* LED_DM_OD_LO Open Drain, Drives Low -* LED_DM_RES_UP Resistive Pull Up -* LED_DM_RES_DWN Resistive Pull Down -* LED_DM_RES_UPDWN Resistive Pull Up/Down -* LED_DM_DIG_HIZ High Impedance Digital -* LED_DM_ALG_HIZ High Impedance Analog +* \param mode +* Mode for the selected signals. Valid options are documented in +* \ref driveMode. * -* Return: +* \return * None * +* \sideeffect +* If you use read-modify-write operations that are not atomic, the ISR can +* cause corruption of this function. An ISR that interrupts this function +* and performs writes to the Pins component Drive Mode registers can cause +* corrupted port data. To avoid this issue, you should either use the Per-Pin +* APIs (primary method) or disable interrupts around this function. +* +* \funcusage +* \snippet LED_SUT.c usage_LED_SetDriveMode *******************************************************************************/ -void LED_SetDriveMode(uint8 mode) +void LED_SetDriveMode(uint8 mode) { CyPins_SetPinDriveMode(LED_0, mode); CyPins_SetPinDriveMode(LED_1, mode); @@ -75,23 +96,22 @@ void LED_SetDriveMode(uint8 mode) /******************************************************************************* * Function Name: LED_Read -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value on the pins of the Digital Port in right justified -* form. +* \brief Reads the associated physical port (pin status register) and masks +* the required bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The pin's status register returns the current logic level present on the +* physical pin. * -* Return: -* Returns the current value of the Digital Port as a right justified number -* -* Note: -* Macro LED_ReadPS calls this function. -* +* \return +* The current value for the pins in the component as a right justified number. +* +* \funcusage +* \snippet LED_SUT.c usage_LED_Read *******************************************************************************/ -uint8 LED_Read(void) +uint8 LED_Read(void) { return (LED_PS & LED_MASK) >> LED_SHIFT; } @@ -99,42 +119,106 @@ uint8 LED_Read(void) /******************************************************************************* * Function Name: LED_ReadDataReg -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value assigned to a Digital Port's data output register +* \brief Reads the associated physical port's data output register and masks +* the correct bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This is not the same as the +* preferred LED_Read() API because the +* LED_ReadDataReg() reads the data register instead of the status +* register. For output pins this is a useful function to determine the value +* just written to the pin. * -* Return: -* Returns the current value assigned to the Digital Port's data output register -* +* \return +* The current value of the data register masked and shifted into a right +* justified number for the component instance. +* +* \funcusage +* \snippet LED_SUT.c usage_LED_ReadDataReg *******************************************************************************/ -uint8 LED_ReadDataReg(void) +uint8 LED_ReadDataReg(void) { return (LED_DR & LED_MASK) >> LED_SHIFT; } -/* If Interrupts Are Enabled for this Pins component */ +/* If interrupt is connected for this Pins component */ #if defined(LED_INTSTAT) /******************************************************************************* - * Function Name: LED_ClearInterrupt - ******************************************************************************** - * Summary: - * Clears any active interrupts attached to port and returns the value of the - * interrupt status register. + * Function Name: LED_SetInterruptMode + ****************************************************************************//** * - * Parameters: - * None + * \brief Configures the interrupt mode for each of the Pins component's + * pins. Alternatively you may set the interrupt mode for all the pins + * specified in the Pins component. * - * Return: - * Returns the value of the interrupt status register + * Note The interrupt is port-wide and therefore any enabled pin + * interrupt may trigger it. + * + * \param position + * The pin position as listed in the Pins component. You may OR these to be + * able to configure the interrupt mode of multiple pins within a Pins + * component. Or you may use LED_INTR_ALL to configure the + * interrupt mode of all the pins in the Pins component. + * - LED_0_INTR (First pin in the list) + * - LED_1_INTR (Second pin in the list) + * - ... + * - LED_INTR_ALL (All pins in Pins component) + * + * \param mode + * Interrupt mode for the selected pins. Valid options are documented in + * \ref intrMode. + * + * \return + * None * + * \sideeffect + * It is recommended that the interrupt be disabled before calling this + * function to avoid unintended interrupt requests. Note that the interrupt + * type is port wide, and therefore will trigger for any enabled pin on the + * port. + * + * \funcusage + * \snippet LED_SUT.c usage_LED_SetInterruptMode *******************************************************************************/ - uint8 LED_ClearInterrupt(void) + void LED_SetInterruptMode(uint16 position, uint16 mode) + { + if((position & LED_0_INTR) != 0u) + { + LED_0_INTTYPE_REG = (uint8)mode; + } + if((position & LED_1_INTR) != 0u) + { + LED_1_INTTYPE_REG = (uint8)mode; + } + } + + + /******************************************************************************* + * Function Name: LED_ClearInterrupt + ****************************************************************************//** + * + * \brief Clears any active interrupts attached with the component and returns + * the value of the interrupt status register allowing determination of which + * pins generated an interrupt event. + * + * \return + * The right-shifted current value of the interrupt status register. Each pin + * has one bit set if it generated an interrupt event. For example, bit 0 is + * for pin 0 and bit 1 is for pin 1 of the Pins component. + * + * \sideeffect + * Clears all bits of the physical port's interrupt status register, not just + * those associated with the Pins component. + * + * \funcusage + * \snippet LED_SUT.c usage_LED_ClearInterrupt + *******************************************************************************/ + uint8 LED_ClearInterrupt(void) { return (LED_INTSTAT & LED_MASK) >> LED_SHIFT; } diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.h index d29df9e..69e72b2 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: LED.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains Pin function prototypes and register defines * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -22,12 +22,6 @@ #include "cypins.h" #include "LED_aliases.h" -/* Check to see if required defines such as CY_PSOC5A are available */ -/* They are defined starting with cy_boot v3.0 */ -#if !defined (CY_PSOC5A) - #error Component cy_pins_v2_10 requires cy_boot v3.0 or later -#endif /* (CY_PSOC5A) */ - /* APIs are not generated for P15[7:6] */ #if !(CY_PSOC5A &&\ LED__PORT == 15 && ((LED__MASK & 0xC0) != 0)) @@ -37,32 +31,65 @@ * Function Prototypes ***************************************/ -void LED_Write(uint8 value) ; -void LED_SetDriveMode(uint8 mode) ; -uint8 LED_ReadDataReg(void) ; -uint8 LED_Read(void) ; -uint8 LED_ClearInterrupt(void) ; - +/** +* \addtogroup group_general +* @{ +*/ +void LED_Write(uint8 value); +void LED_SetDriveMode(uint8 mode); +uint8 LED_ReadDataReg(void); +uint8 LED_Read(void); +void LED_SetInterruptMode(uint16 position, uint16 mode); +uint8 LED_ClearInterrupt(void); +/** @} general */ /*************************************** * API Constants ***************************************/ - -/* Drive Modes */ -#define LED_DM_ALG_HIZ PIN_DM_ALG_HIZ -#define LED_DM_DIG_HIZ PIN_DM_DIG_HIZ -#define LED_DM_RES_UP PIN_DM_RES_UP -#define LED_DM_RES_DWN PIN_DM_RES_DWN -#define LED_DM_OD_LO PIN_DM_OD_LO -#define LED_DM_OD_HI PIN_DM_OD_HI -#define LED_DM_STRONG PIN_DM_STRONG -#define LED_DM_RES_UPDWN PIN_DM_RES_UPDWN - +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup driveMode Drive mode constants + * \brief Constants to be passed as "mode" parameter in the LED_SetDriveMode() function. + * @{ + */ + #define LED_DM_ALG_HIZ PIN_DM_ALG_HIZ + #define LED_DM_DIG_HIZ PIN_DM_DIG_HIZ + #define LED_DM_RES_UP PIN_DM_RES_UP + #define LED_DM_RES_DWN PIN_DM_RES_DWN + #define LED_DM_OD_LO PIN_DM_OD_LO + #define LED_DM_OD_HI PIN_DM_OD_HI + #define LED_DM_STRONG PIN_DM_STRONG + #define LED_DM_RES_UPDWN PIN_DM_RES_UPDWN + /** @} driveMode */ +/** @} group_constants */ + /* Digital Port Constants */ #define LED_MASK LED__MASK #define LED_SHIFT LED__SHIFT #define LED_WIDTH 2u +/* Interrupt constants */ +#if defined(LED__INTSTAT) +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup intrMode Interrupt constants + * \brief Constants to be passed as "mode" parameter in LED_SetInterruptMode() function. + * @{ + */ + #define LED_INTR_NONE (uint16)(0x0000u) + #define LED_INTR_RISING (uint16)(0x0001u) + #define LED_INTR_FALLING (uint16)(0x0002u) + #define LED_INTR_BOTH (uint16)(0x0003u) + /** @} intrMode */ +/** @} group_constants */ + + #define LED_INTR_MASK (0x01u) +#endif /* (LED__INTSTAT) */ + /*************************************** * Registers @@ -114,13 +141,22 @@ uint8 LED_ClearInterrupt(void) ; /* Sync Output Enable Registers */ #define LED_PRTDSI__SYNC_OUT (* (reg8 *) LED__PRTDSI__SYNC_OUT) +/* SIO registers */ +#if defined(LED__SIO_CFG) + #define LED_SIO_HYST_EN (* (reg8 *) LED__SIO_HYST_EN) + #define LED_SIO_REG_HIFREQ (* (reg8 *) LED__SIO_REG_HIFREQ) + #define LED_SIO_CFG (* (reg8 *) LED__SIO_CFG) + #define LED_SIO_DIFF (* (reg8 *) LED__SIO_DIFF) +#endif /* (LED__SIO_CFG) */ -#if defined(LED__INTSTAT) /* Interrupt Registers */ - - #define LED_INTSTAT (* (reg8 *) LED__INTSTAT) - #define LED_SNAP (* (reg8 *) LED__SNAP) - -#endif /* Interrupt Registers */ +/* Interrupt Registers */ +#if defined(LED__INTSTAT) + #define LED_INTSTAT (* (reg8 *) LED__INTSTAT) + #define LED_SNAP (* (reg8 *) LED__SNAP) + + #define LED_0_INTTYPE_REG (* (reg8 *) LED__0__INTTYPE) + #define LED_1_INTTYPE_REG (* (reg8 *) LED__1__INTTYPE) +#endif /* (LED__INTSTAT) */ #endif /* CY_PSOC5A... */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED_aliases.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED_aliases.h index 6ba9bb4..19916b0 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED_aliases.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/LED_aliases.h @@ -1,14 +1,15 @@ /******************************************************************************* * File Name: LED.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains the Alias definitions for Per-Pin APIs in cypins.h. +* Information on using these APIs can be found in the System Reference Guide. * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -21,13 +22,18 @@ #include "cyfitter.h" - /*************************************** * Constants ***************************************/ -#define LED_0 (LED__0__PC) -#define LED_1 (LED__1__PC) +#define LED_0 (LED__0__PC) +#define LED_0_INTR ((uint16)((uint16)0x0001u << LED__0__SHIFT)) + +#define LED_1 (LED__1__PC) +#define LED_1_INTR ((uint16)((uint16)0x0001u << LED__1__SHIFT)) + +#define LED_INTR_ALL ((uint16)(LED_0_INTR| LED_1_INTR)) #endif /* End Pins LED_ALIASES_H */ + /* [] END OF FILE */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h index 6fcc5f6..6006db5 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_DBx_aliases.h @@ -1,14 +1,15 @@ /******************************************************************************* * File Name: SCSI_Out_DBx.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains the Alias definitions for Per-Pin APIs in cypins.h. +* Information on using these APIs can be found in the System Reference Guide. * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -21,28 +22,59 @@ #include "cyfitter.h" - /*************************************** * Constants ***************************************/ -#define SCSI_Out_DBx_0 (SCSI_Out_DBx__0__PC) -#define SCSI_Out_DBx_1 (SCSI_Out_DBx__1__PC) -#define SCSI_Out_DBx_2 (SCSI_Out_DBx__2__PC) -#define SCSI_Out_DBx_3 (SCSI_Out_DBx__3__PC) -#define SCSI_Out_DBx_4 (SCSI_Out_DBx__4__PC) -#define SCSI_Out_DBx_5 (SCSI_Out_DBx__5__PC) -#define SCSI_Out_DBx_6 (SCSI_Out_DBx__6__PC) -#define SCSI_Out_DBx_7 (SCSI_Out_DBx__7__PC) +#define SCSI_Out_DBx_0 (SCSI_Out_DBx__0__PC) +#define SCSI_Out_DBx_0_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__0__SHIFT)) -#define SCSI_Out_DBx_DB0 (SCSI_Out_DBx__DB0__PC) -#define SCSI_Out_DBx_DB1 (SCSI_Out_DBx__DB1__PC) -#define SCSI_Out_DBx_DB2 (SCSI_Out_DBx__DB2__PC) -#define SCSI_Out_DBx_DB3 (SCSI_Out_DBx__DB3__PC) -#define SCSI_Out_DBx_DB4 (SCSI_Out_DBx__DB4__PC) -#define SCSI_Out_DBx_DB5 (SCSI_Out_DBx__DB5__PC) -#define SCSI_Out_DBx_DB6 (SCSI_Out_DBx__DB6__PC) -#define SCSI_Out_DBx_DB7 (SCSI_Out_DBx__DB7__PC) +#define SCSI_Out_DBx_1 (SCSI_Out_DBx__1__PC) +#define SCSI_Out_DBx_1_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__1__SHIFT)) + +#define SCSI_Out_DBx_2 (SCSI_Out_DBx__2__PC) +#define SCSI_Out_DBx_2_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__2__SHIFT)) + +#define SCSI_Out_DBx_3 (SCSI_Out_DBx__3__PC) +#define SCSI_Out_DBx_3_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__3__SHIFT)) + +#define SCSI_Out_DBx_4 (SCSI_Out_DBx__4__PC) +#define SCSI_Out_DBx_4_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__4__SHIFT)) + +#define SCSI_Out_DBx_5 (SCSI_Out_DBx__5__PC) +#define SCSI_Out_DBx_5_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__5__SHIFT)) + +#define SCSI_Out_DBx_6 (SCSI_Out_DBx__6__PC) +#define SCSI_Out_DBx_6_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__6__SHIFT)) + +#define SCSI_Out_DBx_7 (SCSI_Out_DBx__7__PC) +#define SCSI_Out_DBx_7_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__7__SHIFT)) + +#define SCSI_Out_DBx_INTR_ALL ((uint16)(SCSI_Out_DBx_0_INTR| SCSI_Out_DBx_1_INTR| SCSI_Out_DBx_2_INTR| SCSI_Out_DBx_3_INTR| SCSI_Out_DBx_4_INTR| SCSI_Out_DBx_5_INTR| SCSI_Out_DBx_6_INTR| SCSI_Out_DBx_7_INTR)) +#define SCSI_Out_DBx_DB0 (SCSI_Out_DBx__DB0__PC) +#define SCSI_Out_DBx_DB0_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__0__SHIFT)) + +#define SCSI_Out_DBx_DB1 (SCSI_Out_DBx__DB1__PC) +#define SCSI_Out_DBx_DB1_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__1__SHIFT)) + +#define SCSI_Out_DBx_DB2 (SCSI_Out_DBx__DB2__PC) +#define SCSI_Out_DBx_DB2_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__2__SHIFT)) + +#define SCSI_Out_DBx_DB3 (SCSI_Out_DBx__DB3__PC) +#define SCSI_Out_DBx_DB3_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__3__SHIFT)) + +#define SCSI_Out_DBx_DB4 (SCSI_Out_DBx__DB4__PC) +#define SCSI_Out_DBx_DB4_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__4__SHIFT)) + +#define SCSI_Out_DBx_DB5 (SCSI_Out_DBx__DB5__PC) +#define SCSI_Out_DBx_DB5_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__5__SHIFT)) + +#define SCSI_Out_DBx_DB6 (SCSI_Out_DBx__DB6__PC) +#define SCSI_Out_DBx_DB6_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__6__SHIFT)) + +#define SCSI_Out_DBx_DB7 (SCSI_Out_DBx__DB7__PC) +#define SCSI_Out_DBx_DB7_INTR ((uint16)((uint16)0x0001u << SCSI_Out_DBx__7__SHIFT)) #endif /* End Pins SCSI_Out_DBx_ALIASES_H */ + /* [] END OF FILE */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h index a06c1fa..4f819a8 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SCSI_Out_aliases.h @@ -1,14 +1,15 @@ /******************************************************************************* * File Name: SCSI_Out.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains the Alias definitions for Per-Pin APIs in cypins.h. +* Information on using these APIs can be found in the System Reference Guide. * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -21,28 +22,59 @@ #include "cyfitter.h" - /*************************************** * Constants ***************************************/ -#define SCSI_Out_0 (SCSI_Out__0__PC) -#define SCSI_Out_1 (SCSI_Out__1__PC) -#define SCSI_Out_2 (SCSI_Out__2__PC) -#define SCSI_Out_3 (SCSI_Out__3__PC) -#define SCSI_Out_4 (SCSI_Out__4__PC) -#define SCSI_Out_5 (SCSI_Out__5__PC) -#define SCSI_Out_6 (SCSI_Out__6__PC) -#define SCSI_Out_7 (SCSI_Out__7__PC) +#define SCSI_Out_0 (SCSI_Out__0__PC) +#define SCSI_Out_0_INTR ((uint16)((uint16)0x0001u << SCSI_Out__0__SHIFT)) -#define SCSI_Out_DBP_raw (SCSI_Out__DBP_raw__PC) -#define SCSI_Out_BSY (SCSI_Out__BSY__PC) -#define SCSI_Out_RST (SCSI_Out__RST__PC) -#define SCSI_Out_MSG (SCSI_Out__MSG__PC) -#define SCSI_Out_SEL (SCSI_Out__SEL__PC) -#define SCSI_Out_CD (SCSI_Out__CD__PC) -#define SCSI_Out_REQ (SCSI_Out__REQ__PC) -#define SCSI_Out_IO_raw (SCSI_Out__IO_raw__PC) +#define SCSI_Out_1 (SCSI_Out__1__PC) +#define SCSI_Out_1_INTR ((uint16)((uint16)0x0001u << SCSI_Out__1__SHIFT)) + +#define SCSI_Out_2 (SCSI_Out__2__PC) +#define SCSI_Out_2_INTR ((uint16)((uint16)0x0001u << SCSI_Out__2__SHIFT)) + +#define SCSI_Out_3 (SCSI_Out__3__PC) +#define SCSI_Out_3_INTR ((uint16)((uint16)0x0001u << SCSI_Out__3__SHIFT)) + +#define SCSI_Out_4 (SCSI_Out__4__PC) +#define SCSI_Out_4_INTR ((uint16)((uint16)0x0001u << SCSI_Out__4__SHIFT)) + +#define SCSI_Out_5 (SCSI_Out__5__PC) +#define SCSI_Out_5_INTR ((uint16)((uint16)0x0001u << SCSI_Out__5__SHIFT)) + +#define SCSI_Out_6 (SCSI_Out__6__PC) +#define SCSI_Out_6_INTR ((uint16)((uint16)0x0001u << SCSI_Out__6__SHIFT)) + +#define SCSI_Out_7 (SCSI_Out__7__PC) +#define SCSI_Out_7_INTR ((uint16)((uint16)0x0001u << SCSI_Out__7__SHIFT)) + +#define SCSI_Out_INTR_ALL ((uint16)(SCSI_Out_0_INTR| SCSI_Out_1_INTR| SCSI_Out_2_INTR| SCSI_Out_3_INTR| SCSI_Out_4_INTR| SCSI_Out_5_INTR| SCSI_Out_6_INTR| SCSI_Out_7_INTR)) +#define SCSI_Out_DBP_raw (SCSI_Out__DBP_raw__PC) +#define SCSI_Out_DBP_raw_INTR ((uint16)((uint16)0x0001u << SCSI_Out__0__SHIFT)) + +#define SCSI_Out_BSY (SCSI_Out__BSY__PC) +#define SCSI_Out_BSY_INTR ((uint16)((uint16)0x0001u << SCSI_Out__1__SHIFT)) + +#define SCSI_Out_RST (SCSI_Out__RST__PC) +#define SCSI_Out_RST_INTR ((uint16)((uint16)0x0001u << SCSI_Out__2__SHIFT)) + +#define SCSI_Out_MSG (SCSI_Out__MSG__PC) +#define SCSI_Out_MSG_INTR ((uint16)((uint16)0x0001u << SCSI_Out__3__SHIFT)) + +#define SCSI_Out_SEL (SCSI_Out__SEL__PC) +#define SCSI_Out_SEL_INTR ((uint16)((uint16)0x0001u << SCSI_Out__4__SHIFT)) + +#define SCSI_Out_CD (SCSI_Out__CD__PC) +#define SCSI_Out_CD_INTR ((uint16)((uint16)0x0001u << SCSI_Out__5__SHIFT)) + +#define SCSI_Out_REQ (SCSI_Out__REQ__PC) +#define SCSI_Out_REQ_INTR ((uint16)((uint16)0x0001u << SCSI_Out__6__SHIFT)) + +#define SCSI_Out_IO_raw (SCSI_Out__IO_raw__PC) +#define SCSI_Out_IO_raw_INTR ((uint16)((uint16)0x0001u << SCSI_Out__7__SHIFT)) #endif /* End Pins SCSI_Out_ALIASES_H */ + /* [] END OF FILE */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.c b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.c index fb427cc..98b86f0 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.c +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.c @@ -1,6 +1,6 @@ /******************************************************************************* * File Name: SD_PULLUP.c -* Version 2.10 +* Version 2.20 * * Description: * This file contains API to enable firmware control of a Pins component. @@ -8,7 +8,7 @@ * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -24,19 +24,37 @@ /******************************************************************************* * Function Name: SD_PULLUP_Write -******************************************************************************** +****************************************************************************//** * -* Summary: -* Assign a new value to the digital port's data output register. +* \brief Writes the value to the physical port (data output register), masking +* and shifting the bits appropriately. * -* Parameters: -* prtValue: The value to be assigned to the Digital Port. +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This function avoids changing +* other bits in the port by using the appropriate method (read-modify-write or +* bit banding). * -* Return: -* None -* +* Note This function should not be used on a hardware digital output pin +* as it is driven by the hardware signal attached to it. +* +* \param value +* Value to write to the component instance. +* +* \return +* None +* +* \sideeffect +* If you use read-modify-write operations that are not atomic; the Interrupt +* Service Routines (ISR) can cause corruption of this function. An ISR that +* interrupts this function and performs writes to the Pins component data +* register can cause corrupted port data. To avoid this issue, you should +* either use the Per-Pin APIs (primary method) or disable interrupts around +* this function. +* +* \funcusage +* \snippet SD_PULLUP_SUT.c usage_SD_PULLUP_Write *******************************************************************************/ -void SD_PULLUP_Write(uint8 value) +void SD_PULLUP_Write(uint8 value) { uint8 staticBits = (SD_PULLUP_DR & (uint8)(~SD_PULLUP_MASK)); SD_PULLUP_DR = staticBits | ((uint8)(value << SD_PULLUP_SHIFT) & SD_PULLUP_MASK); @@ -45,28 +63,31 @@ void SD_PULLUP_Write(uint8 value) /******************************************************************************* * Function Name: SD_PULLUP_SetDriveMode -******************************************************************************** +****************************************************************************//** * -* Summary: -* Change the drive mode on the pins of the port. +* \brief Sets the drive mode for each of the Pins component's pins. * -* Parameters: -* mode: Change the pins to one of the following drive modes. +* Note This affects all pins in the Pins component instance. Use the +* Per-Pin APIs if you wish to control individual pin's drive modes. * -* SD_PULLUP_DM_STRONG Strong Drive -* SD_PULLUP_DM_OD_HI Open Drain, Drives High -* SD_PULLUP_DM_OD_LO Open Drain, Drives Low -* SD_PULLUP_DM_RES_UP Resistive Pull Up -* SD_PULLUP_DM_RES_DWN Resistive Pull Down -* SD_PULLUP_DM_RES_UPDWN Resistive Pull Up/Down -* SD_PULLUP_DM_DIG_HIZ High Impedance Digital -* SD_PULLUP_DM_ALG_HIZ High Impedance Analog +* \param mode +* Mode for the selected signals. Valid options are documented in +* \ref driveMode. * -* Return: +* \return * None * +* \sideeffect +* If you use read-modify-write operations that are not atomic, the ISR can +* cause corruption of this function. An ISR that interrupts this function +* and performs writes to the Pins component Drive Mode registers can cause +* corrupted port data. To avoid this issue, you should either use the Per-Pin +* APIs (primary method) or disable interrupts around this function. +* +* \funcusage +* \snippet SD_PULLUP_SUT.c usage_SD_PULLUP_SetDriveMode *******************************************************************************/ -void SD_PULLUP_SetDriveMode(uint8 mode) +void SD_PULLUP_SetDriveMode(uint8 mode) { CyPins_SetPinDriveMode(SD_PULLUP_0, mode); CyPins_SetPinDriveMode(SD_PULLUP_1, mode); @@ -77,23 +98,22 @@ void SD_PULLUP_SetDriveMode(uint8 mode) /******************************************************************************* * Function Name: SD_PULLUP_Read -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value on the pins of the Digital Port in right justified -* form. +* \brief Reads the associated physical port (pin status register) and masks +* the required bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The pin's status register returns the current logic level present on the +* physical pin. * -* Return: -* Returns the current value of the Digital Port as a right justified number -* -* Note: -* Macro SD_PULLUP_ReadPS calls this function. -* +* \return +* The current value for the pins in the component as a right justified number. +* +* \funcusage +* \snippet SD_PULLUP_SUT.c usage_SD_PULLUP_Read *******************************************************************************/ -uint8 SD_PULLUP_Read(void) +uint8 SD_PULLUP_Read(void) { return (SD_PULLUP_PS & SD_PULLUP_MASK) >> SD_PULLUP_SHIFT; } @@ -101,42 +121,114 @@ uint8 SD_PULLUP_Read(void) /******************************************************************************* * Function Name: SD_PULLUP_ReadDataReg -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value assigned to a Digital Port's data output register +* \brief Reads the associated physical port's data output register and masks +* the correct bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This is not the same as the +* preferred SD_PULLUP_Read() API because the +* SD_PULLUP_ReadDataReg() reads the data register instead of the status +* register. For output pins this is a useful function to determine the value +* just written to the pin. * -* Return: -* Returns the current value assigned to the Digital Port's data output register -* +* \return +* The current value of the data register masked and shifted into a right +* justified number for the component instance. +* +* \funcusage +* \snippet SD_PULLUP_SUT.c usage_SD_PULLUP_ReadDataReg *******************************************************************************/ -uint8 SD_PULLUP_ReadDataReg(void) +uint8 SD_PULLUP_ReadDataReg(void) { return (SD_PULLUP_DR & SD_PULLUP_MASK) >> SD_PULLUP_SHIFT; } -/* If Interrupts Are Enabled for this Pins component */ +/* If interrupt is connected for this Pins component */ #if defined(SD_PULLUP_INTSTAT) /******************************************************************************* - * Function Name: SD_PULLUP_ClearInterrupt - ******************************************************************************** - * Summary: - * Clears any active interrupts attached to port and returns the value of the - * interrupt status register. + * Function Name: SD_PULLUP_SetInterruptMode + ****************************************************************************//** * - * Parameters: - * None + * \brief Configures the interrupt mode for each of the Pins component's + * pins. Alternatively you may set the interrupt mode for all the pins + * specified in the Pins component. * - * Return: - * Returns the value of the interrupt status register + * Note The interrupt is port-wide and therefore any enabled pin + * interrupt may trigger it. + * + * \param position + * The pin position as listed in the Pins component. You may OR these to be + * able to configure the interrupt mode of multiple pins within a Pins + * component. Or you may use SD_PULLUP_INTR_ALL to configure the + * interrupt mode of all the pins in the Pins component. + * - SD_PULLUP_0_INTR (First pin in the list) + * - SD_PULLUP_1_INTR (Second pin in the list) + * - ... + * - SD_PULLUP_INTR_ALL (All pins in Pins component) + * + * \param mode + * Interrupt mode for the selected pins. Valid options are documented in + * \ref intrMode. + * + * \return + * None * + * \sideeffect + * It is recommended that the interrupt be disabled before calling this + * function to avoid unintended interrupt requests. Note that the interrupt + * type is port wide, and therefore will trigger for any enabled pin on the + * port. + * + * \funcusage + * \snippet SD_PULLUP_SUT.c usage_SD_PULLUP_SetInterruptMode *******************************************************************************/ - uint8 SD_PULLUP_ClearInterrupt(void) + void SD_PULLUP_SetInterruptMode(uint16 position, uint16 mode) + { + if((position & SD_PULLUP_0_INTR) != 0u) + { + SD_PULLUP_0_INTTYPE_REG = (uint8)mode; + } + if((position & SD_PULLUP_1_INTR) != 0u) + { + SD_PULLUP_1_INTTYPE_REG = (uint8)mode; + } + if((position & SD_PULLUP_2_INTR) != 0u) + { + SD_PULLUP_2_INTTYPE_REG = (uint8)mode; + } + if((position & SD_PULLUP_3_INTR) != 0u) + { + SD_PULLUP_3_INTTYPE_REG = (uint8)mode; + } + } + + + /******************************************************************************* + * Function Name: SD_PULLUP_ClearInterrupt + ****************************************************************************//** + * + * \brief Clears any active interrupts attached with the component and returns + * the value of the interrupt status register allowing determination of which + * pins generated an interrupt event. + * + * \return + * The right-shifted current value of the interrupt status register. Each pin + * has one bit set if it generated an interrupt event. For example, bit 0 is + * for pin 0 and bit 1 is for pin 1 of the Pins component. + * + * \sideeffect + * Clears all bits of the physical port's interrupt status register, not just + * those associated with the Pins component. + * + * \funcusage + * \snippet SD_PULLUP_SUT.c usage_SD_PULLUP_ClearInterrupt + *******************************************************************************/ + uint8 SD_PULLUP_ClearInterrupt(void) { return (SD_PULLUP_INTSTAT & SD_PULLUP_MASK) >> SD_PULLUP_SHIFT; } diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.h index 4090a3b..0849775 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: SD_PULLUP.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains Pin function prototypes and register defines * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -22,12 +22,6 @@ #include "cypins.h" #include "SD_PULLUP_aliases.h" -/* Check to see if required defines such as CY_PSOC5A are available */ -/* They are defined starting with cy_boot v3.0 */ -#if !defined (CY_PSOC5A) - #error Component cy_pins_v2_10 requires cy_boot v3.0 or later -#endif /* (CY_PSOC5A) */ - /* APIs are not generated for P15[7:6] */ #if !(CY_PSOC5A &&\ SD_PULLUP__PORT == 15 && ((SD_PULLUP__MASK & 0xC0) != 0)) @@ -37,32 +31,65 @@ * Function Prototypes ***************************************/ -void SD_PULLUP_Write(uint8 value) ; -void SD_PULLUP_SetDriveMode(uint8 mode) ; -uint8 SD_PULLUP_ReadDataReg(void) ; -uint8 SD_PULLUP_Read(void) ; -uint8 SD_PULLUP_ClearInterrupt(void) ; - +/** +* \addtogroup group_general +* @{ +*/ +void SD_PULLUP_Write(uint8 value); +void SD_PULLUP_SetDriveMode(uint8 mode); +uint8 SD_PULLUP_ReadDataReg(void); +uint8 SD_PULLUP_Read(void); +void SD_PULLUP_SetInterruptMode(uint16 position, uint16 mode); +uint8 SD_PULLUP_ClearInterrupt(void); +/** @} general */ /*************************************** * API Constants ***************************************/ - -/* Drive Modes */ -#define SD_PULLUP_DM_ALG_HIZ PIN_DM_ALG_HIZ -#define SD_PULLUP_DM_DIG_HIZ PIN_DM_DIG_HIZ -#define SD_PULLUP_DM_RES_UP PIN_DM_RES_UP -#define SD_PULLUP_DM_RES_DWN PIN_DM_RES_DWN -#define SD_PULLUP_DM_OD_LO PIN_DM_OD_LO -#define SD_PULLUP_DM_OD_HI PIN_DM_OD_HI -#define SD_PULLUP_DM_STRONG PIN_DM_STRONG -#define SD_PULLUP_DM_RES_UPDWN PIN_DM_RES_UPDWN - +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup driveMode Drive mode constants + * \brief Constants to be passed as "mode" parameter in the SD_PULLUP_SetDriveMode() function. + * @{ + */ + #define SD_PULLUP_DM_ALG_HIZ PIN_DM_ALG_HIZ + #define SD_PULLUP_DM_DIG_HIZ PIN_DM_DIG_HIZ + #define SD_PULLUP_DM_RES_UP PIN_DM_RES_UP + #define SD_PULLUP_DM_RES_DWN PIN_DM_RES_DWN + #define SD_PULLUP_DM_OD_LO PIN_DM_OD_LO + #define SD_PULLUP_DM_OD_HI PIN_DM_OD_HI + #define SD_PULLUP_DM_STRONG PIN_DM_STRONG + #define SD_PULLUP_DM_RES_UPDWN PIN_DM_RES_UPDWN + /** @} driveMode */ +/** @} group_constants */ + /* Digital Port Constants */ #define SD_PULLUP_MASK SD_PULLUP__MASK #define SD_PULLUP_SHIFT SD_PULLUP__SHIFT #define SD_PULLUP_WIDTH 4u +/* Interrupt constants */ +#if defined(SD_PULLUP__INTSTAT) +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup intrMode Interrupt constants + * \brief Constants to be passed as "mode" parameter in SD_PULLUP_SetInterruptMode() function. + * @{ + */ + #define SD_PULLUP_INTR_NONE (uint16)(0x0000u) + #define SD_PULLUP_INTR_RISING (uint16)(0x0001u) + #define SD_PULLUP_INTR_FALLING (uint16)(0x0002u) + #define SD_PULLUP_INTR_BOTH (uint16)(0x0003u) + /** @} intrMode */ +/** @} group_constants */ + + #define SD_PULLUP_INTR_MASK (0x01u) +#endif /* (SD_PULLUP__INTSTAT) */ + /*************************************** * Registers @@ -114,13 +141,24 @@ uint8 SD_PULLUP_ClearInterrupt(void) ; /* Sync Output Enable Registers */ #define SD_PULLUP_PRTDSI__SYNC_OUT (* (reg8 *) SD_PULLUP__PRTDSI__SYNC_OUT) +/* SIO registers */ +#if defined(SD_PULLUP__SIO_CFG) + #define SD_PULLUP_SIO_HYST_EN (* (reg8 *) SD_PULLUP__SIO_HYST_EN) + #define SD_PULLUP_SIO_REG_HIFREQ (* (reg8 *) SD_PULLUP__SIO_REG_HIFREQ) + #define SD_PULLUP_SIO_CFG (* (reg8 *) SD_PULLUP__SIO_CFG) + #define SD_PULLUP_SIO_DIFF (* (reg8 *) SD_PULLUP__SIO_DIFF) +#endif /* (SD_PULLUP__SIO_CFG) */ -#if defined(SD_PULLUP__INTSTAT) /* Interrupt Registers */ - - #define SD_PULLUP_INTSTAT (* (reg8 *) SD_PULLUP__INTSTAT) - #define SD_PULLUP_SNAP (* (reg8 *) SD_PULLUP__SNAP) - -#endif /* Interrupt Registers */ +/* Interrupt Registers */ +#if defined(SD_PULLUP__INTSTAT) + #define SD_PULLUP_INTSTAT (* (reg8 *) SD_PULLUP__INTSTAT) + #define SD_PULLUP_SNAP (* (reg8 *) SD_PULLUP__SNAP) + + #define SD_PULLUP_0_INTTYPE_REG (* (reg8 *) SD_PULLUP__0__INTTYPE) + #define SD_PULLUP_1_INTTYPE_REG (* (reg8 *) SD_PULLUP__1__INTTYPE) + #define SD_PULLUP_2_INTTYPE_REG (* (reg8 *) SD_PULLUP__2__INTTYPE) + #define SD_PULLUP_3_INTTYPE_REG (* (reg8 *) SD_PULLUP__3__INTTYPE) +#endif /* (SD_PULLUP__INTSTAT) */ #endif /* CY_PSOC5A... */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP_aliases.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP_aliases.h index 32f544b..5fd27b2 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP_aliases.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SD_PULLUP_aliases.h @@ -1,14 +1,15 @@ /******************************************************************************* * File Name: SD_PULLUP.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains the Alias definitions for Per-Pin APIs in cypins.h. +* Information on using these APIs can be found in the System Reference Guide. * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -21,15 +22,24 @@ #include "cyfitter.h" - /*************************************** * Constants ***************************************/ -#define SD_PULLUP_0 (SD_PULLUP__0__PC) -#define SD_PULLUP_1 (SD_PULLUP__1__PC) -#define SD_PULLUP_2 (SD_PULLUP__2__PC) -#define SD_PULLUP_3 (SD_PULLUP__3__PC) +#define SD_PULLUP_0 (SD_PULLUP__0__PC) +#define SD_PULLUP_0_INTR ((uint16)((uint16)0x0001u << SD_PULLUP__0__SHIFT)) + +#define SD_PULLUP_1 (SD_PULLUP__1__PC) +#define SD_PULLUP_1_INTR ((uint16)((uint16)0x0001u << SD_PULLUP__1__SHIFT)) + +#define SD_PULLUP_2 (SD_PULLUP__2__PC) +#define SD_PULLUP_2_INTR ((uint16)((uint16)0x0001u << SD_PULLUP__2__SHIFT)) + +#define SD_PULLUP_3 (SD_PULLUP__3__PC) +#define SD_PULLUP_3_INTR ((uint16)((uint16)0x0001u << SD_PULLUP__3__SHIFT)) + +#define SD_PULLUP_INTR_ALL ((uint16)(SD_PULLUP_0_INTR| SD_PULLUP_1_INTR| SD_PULLUP_2_INTR| SD_PULLUP_3_INTR)) #endif /* End Pins SD_PULLUP_ALIASES_H */ + /* [] END OF FILE */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.c b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.c index d6b0e46..d25a8fe 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.c +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.c @@ -1,6 +1,6 @@ /******************************************************************************* * File Name: SPI_PULLUP.c -* Version 2.10 +* Version 2.20 * * Description: * This file contains API to enable firmware control of a Pins component. @@ -8,7 +8,7 @@ * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -24,19 +24,37 @@ /******************************************************************************* * Function Name: SPI_PULLUP_Write -******************************************************************************** +****************************************************************************//** * -* Summary: -* Assign a new value to the digital port's data output register. +* \brief Writes the value to the physical port (data output register), masking +* and shifting the bits appropriately. * -* Parameters: -* prtValue: The value to be assigned to the Digital Port. +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This function avoids changing +* other bits in the port by using the appropriate method (read-modify-write or +* bit banding). * -* Return: -* None -* +* Note This function should not be used on a hardware digital output pin +* as it is driven by the hardware signal attached to it. +* +* \param value +* Value to write to the component instance. +* +* \return +* None +* +* \sideeffect +* If you use read-modify-write operations that are not atomic; the Interrupt +* Service Routines (ISR) can cause corruption of this function. An ISR that +* interrupts this function and performs writes to the Pins component data +* register can cause corrupted port data. To avoid this issue, you should +* either use the Per-Pin APIs (primary method) or disable interrupts around +* this function. +* +* \funcusage +* \snippet SPI_PULLUP_SUT.c usage_SPI_PULLUP_Write *******************************************************************************/ -void SPI_PULLUP_Write(uint8 value) +void SPI_PULLUP_Write(uint8 value) { uint8 staticBits = (SPI_PULLUP_DR & (uint8)(~SPI_PULLUP_MASK)); SPI_PULLUP_DR = staticBits | ((uint8)(value << SPI_PULLUP_SHIFT) & SPI_PULLUP_MASK); @@ -45,28 +63,31 @@ void SPI_PULLUP_Write(uint8 value) /******************************************************************************* * Function Name: SPI_PULLUP_SetDriveMode -******************************************************************************** +****************************************************************************//** * -* Summary: -* Change the drive mode on the pins of the port. +* \brief Sets the drive mode for each of the Pins component's pins. * -* Parameters: -* mode: Change the pins to one of the following drive modes. +* Note This affects all pins in the Pins component instance. Use the +* Per-Pin APIs if you wish to control individual pin's drive modes. * -* SPI_PULLUP_DM_STRONG Strong Drive -* SPI_PULLUP_DM_OD_HI Open Drain, Drives High -* SPI_PULLUP_DM_OD_LO Open Drain, Drives Low -* SPI_PULLUP_DM_RES_UP Resistive Pull Up -* SPI_PULLUP_DM_RES_DWN Resistive Pull Down -* SPI_PULLUP_DM_RES_UPDWN Resistive Pull Up/Down -* SPI_PULLUP_DM_DIG_HIZ High Impedance Digital -* SPI_PULLUP_DM_ALG_HIZ High Impedance Analog +* \param mode +* Mode for the selected signals. Valid options are documented in +* \ref driveMode. * -* Return: +* \return * None * +* \sideeffect +* If you use read-modify-write operations that are not atomic, the ISR can +* cause corruption of this function. An ISR that interrupts this function +* and performs writes to the Pins component Drive Mode registers can cause +* corrupted port data. To avoid this issue, you should either use the Per-Pin +* APIs (primary method) or disable interrupts around this function. +* +* \funcusage +* \snippet SPI_PULLUP_SUT.c usage_SPI_PULLUP_SetDriveMode *******************************************************************************/ -void SPI_PULLUP_SetDriveMode(uint8 mode) +void SPI_PULLUP_SetDriveMode(uint8 mode) { CyPins_SetPinDriveMode(SPI_PULLUP_0, mode); CyPins_SetPinDriveMode(SPI_PULLUP_1, mode); @@ -77,23 +98,22 @@ void SPI_PULLUP_SetDriveMode(uint8 mode) /******************************************************************************* * Function Name: SPI_PULLUP_Read -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value on the pins of the Digital Port in right justified -* form. +* \brief Reads the associated physical port (pin status register) and masks +* the required bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The pin's status register returns the current logic level present on the +* physical pin. * -* Return: -* Returns the current value of the Digital Port as a right justified number -* -* Note: -* Macro SPI_PULLUP_ReadPS calls this function. -* +* \return +* The current value for the pins in the component as a right justified number. +* +* \funcusage +* \snippet SPI_PULLUP_SUT.c usage_SPI_PULLUP_Read *******************************************************************************/ -uint8 SPI_PULLUP_Read(void) +uint8 SPI_PULLUP_Read(void) { return (SPI_PULLUP_PS & SPI_PULLUP_MASK) >> SPI_PULLUP_SHIFT; } @@ -101,42 +121,114 @@ uint8 SPI_PULLUP_Read(void) /******************************************************************************* * Function Name: SPI_PULLUP_ReadDataReg -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value assigned to a Digital Port's data output register +* \brief Reads the associated physical port's data output register and masks +* the correct bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This is not the same as the +* preferred SPI_PULLUP_Read() API because the +* SPI_PULLUP_ReadDataReg() reads the data register instead of the status +* register. For output pins this is a useful function to determine the value +* just written to the pin. * -* Return: -* Returns the current value assigned to the Digital Port's data output register -* +* \return +* The current value of the data register masked and shifted into a right +* justified number for the component instance. +* +* \funcusage +* \snippet SPI_PULLUP_SUT.c usage_SPI_PULLUP_ReadDataReg *******************************************************************************/ -uint8 SPI_PULLUP_ReadDataReg(void) +uint8 SPI_PULLUP_ReadDataReg(void) { return (SPI_PULLUP_DR & SPI_PULLUP_MASK) >> SPI_PULLUP_SHIFT; } -/* If Interrupts Are Enabled for this Pins component */ +/* If interrupt is connected for this Pins component */ #if defined(SPI_PULLUP_INTSTAT) /******************************************************************************* - * Function Name: SPI_PULLUP_ClearInterrupt - ******************************************************************************** - * Summary: - * Clears any active interrupts attached to port and returns the value of the - * interrupt status register. + * Function Name: SPI_PULLUP_SetInterruptMode + ****************************************************************************//** * - * Parameters: - * None + * \brief Configures the interrupt mode for each of the Pins component's + * pins. Alternatively you may set the interrupt mode for all the pins + * specified in the Pins component. * - * Return: - * Returns the value of the interrupt status register + * Note The interrupt is port-wide and therefore any enabled pin + * interrupt may trigger it. + * + * \param position + * The pin position as listed in the Pins component. You may OR these to be + * able to configure the interrupt mode of multiple pins within a Pins + * component. Or you may use SPI_PULLUP_INTR_ALL to configure the + * interrupt mode of all the pins in the Pins component. + * - SPI_PULLUP_0_INTR (First pin in the list) + * - SPI_PULLUP_1_INTR (Second pin in the list) + * - ... + * - SPI_PULLUP_INTR_ALL (All pins in Pins component) + * + * \param mode + * Interrupt mode for the selected pins. Valid options are documented in + * \ref intrMode. + * + * \return + * None * + * \sideeffect + * It is recommended that the interrupt be disabled before calling this + * function to avoid unintended interrupt requests. Note that the interrupt + * type is port wide, and therefore will trigger for any enabled pin on the + * port. + * + * \funcusage + * \snippet SPI_PULLUP_SUT.c usage_SPI_PULLUP_SetInterruptMode *******************************************************************************/ - uint8 SPI_PULLUP_ClearInterrupt(void) + void SPI_PULLUP_SetInterruptMode(uint16 position, uint16 mode) + { + if((position & SPI_PULLUP_0_INTR) != 0u) + { + SPI_PULLUP_0_INTTYPE_REG = (uint8)mode; + } + if((position & SPI_PULLUP_1_INTR) != 0u) + { + SPI_PULLUP_1_INTTYPE_REG = (uint8)mode; + } + if((position & SPI_PULLUP_2_INTR) != 0u) + { + SPI_PULLUP_2_INTTYPE_REG = (uint8)mode; + } + if((position & SPI_PULLUP_3_INTR) != 0u) + { + SPI_PULLUP_3_INTTYPE_REG = (uint8)mode; + } + } + + + /******************************************************************************* + * Function Name: SPI_PULLUP_ClearInterrupt + ****************************************************************************//** + * + * \brief Clears any active interrupts attached with the component and returns + * the value of the interrupt status register allowing determination of which + * pins generated an interrupt event. + * + * \return + * The right-shifted current value of the interrupt status register. Each pin + * has one bit set if it generated an interrupt event. For example, bit 0 is + * for pin 0 and bit 1 is for pin 1 of the Pins component. + * + * \sideeffect + * Clears all bits of the physical port's interrupt status register, not just + * those associated with the Pins component. + * + * \funcusage + * \snippet SPI_PULLUP_SUT.c usage_SPI_PULLUP_ClearInterrupt + *******************************************************************************/ + uint8 SPI_PULLUP_ClearInterrupt(void) { return (SPI_PULLUP_INTSTAT & SPI_PULLUP_MASK) >> SPI_PULLUP_SHIFT; } diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.h index 6f2c043..06a32aa 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: SPI_PULLUP.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains Pin function prototypes and register defines * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -22,12 +22,6 @@ #include "cypins.h" #include "SPI_PULLUP_aliases.h" -/* Check to see if required defines such as CY_PSOC5A are available */ -/* They are defined starting with cy_boot v3.0 */ -#if !defined (CY_PSOC5A) - #error Component cy_pins_v2_10 requires cy_boot v3.0 or later -#endif /* (CY_PSOC5A) */ - /* APIs are not generated for P15[7:6] */ #if !(CY_PSOC5A &&\ SPI_PULLUP__PORT == 15 && ((SPI_PULLUP__MASK & 0xC0) != 0)) @@ -37,32 +31,65 @@ * Function Prototypes ***************************************/ -void SPI_PULLUP_Write(uint8 value) ; -void SPI_PULLUP_SetDriveMode(uint8 mode) ; -uint8 SPI_PULLUP_ReadDataReg(void) ; -uint8 SPI_PULLUP_Read(void) ; -uint8 SPI_PULLUP_ClearInterrupt(void) ; - +/** +* \addtogroup group_general +* @{ +*/ +void SPI_PULLUP_Write(uint8 value); +void SPI_PULLUP_SetDriveMode(uint8 mode); +uint8 SPI_PULLUP_ReadDataReg(void); +uint8 SPI_PULLUP_Read(void); +void SPI_PULLUP_SetInterruptMode(uint16 position, uint16 mode); +uint8 SPI_PULLUP_ClearInterrupt(void); +/** @} general */ /*************************************** * API Constants ***************************************/ - -/* Drive Modes */ -#define SPI_PULLUP_DM_ALG_HIZ PIN_DM_ALG_HIZ -#define SPI_PULLUP_DM_DIG_HIZ PIN_DM_DIG_HIZ -#define SPI_PULLUP_DM_RES_UP PIN_DM_RES_UP -#define SPI_PULLUP_DM_RES_DWN PIN_DM_RES_DWN -#define SPI_PULLUP_DM_OD_LO PIN_DM_OD_LO -#define SPI_PULLUP_DM_OD_HI PIN_DM_OD_HI -#define SPI_PULLUP_DM_STRONG PIN_DM_STRONG -#define SPI_PULLUP_DM_RES_UPDWN PIN_DM_RES_UPDWN - +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup driveMode Drive mode constants + * \brief Constants to be passed as "mode" parameter in the SPI_PULLUP_SetDriveMode() function. + * @{ + */ + #define SPI_PULLUP_DM_ALG_HIZ PIN_DM_ALG_HIZ + #define SPI_PULLUP_DM_DIG_HIZ PIN_DM_DIG_HIZ + #define SPI_PULLUP_DM_RES_UP PIN_DM_RES_UP + #define SPI_PULLUP_DM_RES_DWN PIN_DM_RES_DWN + #define SPI_PULLUP_DM_OD_LO PIN_DM_OD_LO + #define SPI_PULLUP_DM_OD_HI PIN_DM_OD_HI + #define SPI_PULLUP_DM_STRONG PIN_DM_STRONG + #define SPI_PULLUP_DM_RES_UPDWN PIN_DM_RES_UPDWN + /** @} driveMode */ +/** @} group_constants */ + /* Digital Port Constants */ #define SPI_PULLUP_MASK SPI_PULLUP__MASK #define SPI_PULLUP_SHIFT SPI_PULLUP__SHIFT #define SPI_PULLUP_WIDTH 4u +/* Interrupt constants */ +#if defined(SPI_PULLUP__INTSTAT) +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup intrMode Interrupt constants + * \brief Constants to be passed as "mode" parameter in SPI_PULLUP_SetInterruptMode() function. + * @{ + */ + #define SPI_PULLUP_INTR_NONE (uint16)(0x0000u) + #define SPI_PULLUP_INTR_RISING (uint16)(0x0001u) + #define SPI_PULLUP_INTR_FALLING (uint16)(0x0002u) + #define SPI_PULLUP_INTR_BOTH (uint16)(0x0003u) + /** @} intrMode */ +/** @} group_constants */ + + #define SPI_PULLUP_INTR_MASK (0x01u) +#endif /* (SPI_PULLUP__INTSTAT) */ + /*************************************** * Registers @@ -114,13 +141,24 @@ uint8 SPI_PULLUP_ClearInterrupt(void) ; /* Sync Output Enable Registers */ #define SPI_PULLUP_PRTDSI__SYNC_OUT (* (reg8 *) SPI_PULLUP__PRTDSI__SYNC_OUT) +/* SIO registers */ +#if defined(SPI_PULLUP__SIO_CFG) + #define SPI_PULLUP_SIO_HYST_EN (* (reg8 *) SPI_PULLUP__SIO_HYST_EN) + #define SPI_PULLUP_SIO_REG_HIFREQ (* (reg8 *) SPI_PULLUP__SIO_REG_HIFREQ) + #define SPI_PULLUP_SIO_CFG (* (reg8 *) SPI_PULLUP__SIO_CFG) + #define SPI_PULLUP_SIO_DIFF (* (reg8 *) SPI_PULLUP__SIO_DIFF) +#endif /* (SPI_PULLUP__SIO_CFG) */ -#if defined(SPI_PULLUP__INTSTAT) /* Interrupt Registers */ - - #define SPI_PULLUP_INTSTAT (* (reg8 *) SPI_PULLUP__INTSTAT) - #define SPI_PULLUP_SNAP (* (reg8 *) SPI_PULLUP__SNAP) - -#endif /* Interrupt Registers */ +/* Interrupt Registers */ +#if defined(SPI_PULLUP__INTSTAT) + #define SPI_PULLUP_INTSTAT (* (reg8 *) SPI_PULLUP__INTSTAT) + #define SPI_PULLUP_SNAP (* (reg8 *) SPI_PULLUP__SNAP) + + #define SPI_PULLUP_0_INTTYPE_REG (* (reg8 *) SPI_PULLUP__0__INTTYPE) + #define SPI_PULLUP_1_INTTYPE_REG (* (reg8 *) SPI_PULLUP__1__INTTYPE) + #define SPI_PULLUP_2_INTTYPE_REG (* (reg8 *) SPI_PULLUP__2__INTTYPE) + #define SPI_PULLUP_3_INTTYPE_REG (* (reg8 *) SPI_PULLUP__3__INTTYPE) +#endif /* (SPI_PULLUP__INTSTAT) */ #endif /* CY_PSOC5A... */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.c b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.c index 55aa560..e3d8a78 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.c +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.c @@ -1,6 +1,6 @@ /******************************************************************************* * File Name: SPI_PULLUP_1.c -* Version 2.10 +* Version 2.20 * * Description: * This file contains API to enable firmware control of a Pins component. @@ -8,7 +8,7 @@ * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -24,19 +24,37 @@ /******************************************************************************* * Function Name: SPI_PULLUP_1_Write -******************************************************************************** +****************************************************************************//** * -* Summary: -* Assign a new value to the digital port's data output register. +* \brief Writes the value to the physical port (data output register), masking +* and shifting the bits appropriately. * -* Parameters: -* prtValue: The value to be assigned to the Digital Port. +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This function avoids changing +* other bits in the port by using the appropriate method (read-modify-write or +* bit banding). * -* Return: -* None -* +* Note This function should not be used on a hardware digital output pin +* as it is driven by the hardware signal attached to it. +* +* \param value +* Value to write to the component instance. +* +* \return +* None +* +* \sideeffect +* If you use read-modify-write operations that are not atomic; the Interrupt +* Service Routines (ISR) can cause corruption of this function. An ISR that +* interrupts this function and performs writes to the Pins component data +* register can cause corrupted port data. To avoid this issue, you should +* either use the Per-Pin APIs (primary method) or disable interrupts around +* this function. +* +* \funcusage +* \snippet SPI_PULLUP_1_SUT.c usage_SPI_PULLUP_1_Write *******************************************************************************/ -void SPI_PULLUP_1_Write(uint8 value) +void SPI_PULLUP_1_Write(uint8 value) { uint8 staticBits = (SPI_PULLUP_1_DR & (uint8)(~SPI_PULLUP_1_MASK)); SPI_PULLUP_1_DR = staticBits | ((uint8)(value << SPI_PULLUP_1_SHIFT) & SPI_PULLUP_1_MASK); @@ -45,28 +63,31 @@ void SPI_PULLUP_1_Write(uint8 value) /******************************************************************************* * Function Name: SPI_PULLUP_1_SetDriveMode -******************************************************************************** +****************************************************************************//** * -* Summary: -* Change the drive mode on the pins of the port. +* \brief Sets the drive mode for each of the Pins component's pins. * -* Parameters: -* mode: Change the pins to one of the following drive modes. +* Note This affects all pins in the Pins component instance. Use the +* Per-Pin APIs if you wish to control individual pin's drive modes. * -* SPI_PULLUP_1_DM_STRONG Strong Drive -* SPI_PULLUP_1_DM_OD_HI Open Drain, Drives High -* SPI_PULLUP_1_DM_OD_LO Open Drain, Drives Low -* SPI_PULLUP_1_DM_RES_UP Resistive Pull Up -* SPI_PULLUP_1_DM_RES_DWN Resistive Pull Down -* SPI_PULLUP_1_DM_RES_UPDWN Resistive Pull Up/Down -* SPI_PULLUP_1_DM_DIG_HIZ High Impedance Digital -* SPI_PULLUP_1_DM_ALG_HIZ High Impedance Analog +* \param mode +* Mode for the selected signals. Valid options are documented in +* \ref driveMode. * -* Return: +* \return * None * +* \sideeffect +* If you use read-modify-write operations that are not atomic, the ISR can +* cause corruption of this function. An ISR that interrupts this function +* and performs writes to the Pins component Drive Mode registers can cause +* corrupted port data. To avoid this issue, you should either use the Per-Pin +* APIs (primary method) or disable interrupts around this function. +* +* \funcusage +* \snippet SPI_PULLUP_1_SUT.c usage_SPI_PULLUP_1_SetDriveMode *******************************************************************************/ -void SPI_PULLUP_1_SetDriveMode(uint8 mode) +void SPI_PULLUP_1_SetDriveMode(uint8 mode) { CyPins_SetPinDriveMode(SPI_PULLUP_1_0, mode); CyPins_SetPinDriveMode(SPI_PULLUP_1_1, mode); @@ -75,23 +96,22 @@ void SPI_PULLUP_1_SetDriveMode(uint8 mode) /******************************************************************************* * Function Name: SPI_PULLUP_1_Read -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value on the pins of the Digital Port in right justified -* form. +* \brief Reads the associated physical port (pin status register) and masks +* the required bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The pin's status register returns the current logic level present on the +* physical pin. * -* Return: -* Returns the current value of the Digital Port as a right justified number -* -* Note: -* Macro SPI_PULLUP_1_ReadPS calls this function. -* +* \return +* The current value for the pins in the component as a right justified number. +* +* \funcusage +* \snippet SPI_PULLUP_1_SUT.c usage_SPI_PULLUP_1_Read *******************************************************************************/ -uint8 SPI_PULLUP_1_Read(void) +uint8 SPI_PULLUP_1_Read(void) { return (SPI_PULLUP_1_PS & SPI_PULLUP_1_MASK) >> SPI_PULLUP_1_SHIFT; } @@ -99,42 +119,106 @@ uint8 SPI_PULLUP_1_Read(void) /******************************************************************************* * Function Name: SPI_PULLUP_1_ReadDataReg -******************************************************************************** +****************************************************************************//** * -* Summary: -* Read the current value assigned to a Digital Port's data output register +* \brief Reads the associated physical port's data output register and masks +* the correct bits according to the width and bit position of the component +* instance. * -* Parameters: -* None +* The data output register controls the signal applied to the physical pin in +* conjunction with the drive mode parameter. This is not the same as the +* preferred SPI_PULLUP_1_Read() API because the +* SPI_PULLUP_1_ReadDataReg() reads the data register instead of the status +* register. For output pins this is a useful function to determine the value +* just written to the pin. * -* Return: -* Returns the current value assigned to the Digital Port's data output register -* +* \return +* The current value of the data register masked and shifted into a right +* justified number for the component instance. +* +* \funcusage +* \snippet SPI_PULLUP_1_SUT.c usage_SPI_PULLUP_1_ReadDataReg *******************************************************************************/ -uint8 SPI_PULLUP_1_ReadDataReg(void) +uint8 SPI_PULLUP_1_ReadDataReg(void) { return (SPI_PULLUP_1_DR & SPI_PULLUP_1_MASK) >> SPI_PULLUP_1_SHIFT; } -/* If Interrupts Are Enabled for this Pins component */ +/* If interrupt is connected for this Pins component */ #if defined(SPI_PULLUP_1_INTSTAT) /******************************************************************************* - * Function Name: SPI_PULLUP_1_ClearInterrupt - ******************************************************************************** - * Summary: - * Clears any active interrupts attached to port and returns the value of the - * interrupt status register. + * Function Name: SPI_PULLUP_1_SetInterruptMode + ****************************************************************************//** * - * Parameters: - * None + * \brief Configures the interrupt mode for each of the Pins component's + * pins. Alternatively you may set the interrupt mode for all the pins + * specified in the Pins component. * - * Return: - * Returns the value of the interrupt status register + * Note The interrupt is port-wide and therefore any enabled pin + * interrupt may trigger it. + * + * \param position + * The pin position as listed in the Pins component. You may OR these to be + * able to configure the interrupt mode of multiple pins within a Pins + * component. Or you may use SPI_PULLUP_1_INTR_ALL to configure the + * interrupt mode of all the pins in the Pins component. + * - SPI_PULLUP_1_0_INTR (First pin in the list) + * - SPI_PULLUP_1_1_INTR (Second pin in the list) + * - ... + * - SPI_PULLUP_1_INTR_ALL (All pins in Pins component) + * + * \param mode + * Interrupt mode for the selected pins. Valid options are documented in + * \ref intrMode. + * + * \return + * None * + * \sideeffect + * It is recommended that the interrupt be disabled before calling this + * function to avoid unintended interrupt requests. Note that the interrupt + * type is port wide, and therefore will trigger for any enabled pin on the + * port. + * + * \funcusage + * \snippet SPI_PULLUP_1_SUT.c usage_SPI_PULLUP_1_SetInterruptMode *******************************************************************************/ - uint8 SPI_PULLUP_1_ClearInterrupt(void) + void SPI_PULLUP_1_SetInterruptMode(uint16 position, uint16 mode) + { + if((position & SPI_PULLUP_1_0_INTR) != 0u) + { + SPI_PULLUP_1_0_INTTYPE_REG = (uint8)mode; + } + if((position & SPI_PULLUP_1_1_INTR) != 0u) + { + SPI_PULLUP_1_1_INTTYPE_REG = (uint8)mode; + } + } + + + /******************************************************************************* + * Function Name: SPI_PULLUP_1_ClearInterrupt + ****************************************************************************//** + * + * \brief Clears any active interrupts attached with the component and returns + * the value of the interrupt status register allowing determination of which + * pins generated an interrupt event. + * + * \return + * The right-shifted current value of the interrupt status register. Each pin + * has one bit set if it generated an interrupt event. For example, bit 0 is + * for pin 0 and bit 1 is for pin 1 of the Pins component. + * + * \sideeffect + * Clears all bits of the physical port's interrupt status register, not just + * those associated with the Pins component. + * + * \funcusage + * \snippet SPI_PULLUP_1_SUT.c usage_SPI_PULLUP_1_ClearInterrupt + *******************************************************************************/ + uint8 SPI_PULLUP_1_ClearInterrupt(void) { return (SPI_PULLUP_1_INTSTAT & SPI_PULLUP_1_MASK) >> SPI_PULLUP_1_SHIFT; } diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.h index 7b83fd4..44b83b6 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: SPI_PULLUP_1.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains Pin function prototypes and register defines * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -22,12 +22,6 @@ #include "cypins.h" #include "SPI_PULLUP_1_aliases.h" -/* Check to see if required defines such as CY_PSOC5A are available */ -/* They are defined starting with cy_boot v3.0 */ -#if !defined (CY_PSOC5A) - #error Component cy_pins_v2_10 requires cy_boot v3.0 or later -#endif /* (CY_PSOC5A) */ - /* APIs are not generated for P15[7:6] */ #if !(CY_PSOC5A &&\ SPI_PULLUP_1__PORT == 15 && ((SPI_PULLUP_1__MASK & 0xC0) != 0)) @@ -37,32 +31,65 @@ * Function Prototypes ***************************************/ -void SPI_PULLUP_1_Write(uint8 value) ; -void SPI_PULLUP_1_SetDriveMode(uint8 mode) ; -uint8 SPI_PULLUP_1_ReadDataReg(void) ; -uint8 SPI_PULLUP_1_Read(void) ; -uint8 SPI_PULLUP_1_ClearInterrupt(void) ; - +/** +* \addtogroup group_general +* @{ +*/ +void SPI_PULLUP_1_Write(uint8 value); +void SPI_PULLUP_1_SetDriveMode(uint8 mode); +uint8 SPI_PULLUP_1_ReadDataReg(void); +uint8 SPI_PULLUP_1_Read(void); +void SPI_PULLUP_1_SetInterruptMode(uint16 position, uint16 mode); +uint8 SPI_PULLUP_1_ClearInterrupt(void); +/** @} general */ /*************************************** * API Constants ***************************************/ - -/* Drive Modes */ -#define SPI_PULLUP_1_DM_ALG_HIZ PIN_DM_ALG_HIZ -#define SPI_PULLUP_1_DM_DIG_HIZ PIN_DM_DIG_HIZ -#define SPI_PULLUP_1_DM_RES_UP PIN_DM_RES_UP -#define SPI_PULLUP_1_DM_RES_DWN PIN_DM_RES_DWN -#define SPI_PULLUP_1_DM_OD_LO PIN_DM_OD_LO -#define SPI_PULLUP_1_DM_OD_HI PIN_DM_OD_HI -#define SPI_PULLUP_1_DM_STRONG PIN_DM_STRONG -#define SPI_PULLUP_1_DM_RES_UPDWN PIN_DM_RES_UPDWN - +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup driveMode Drive mode constants + * \brief Constants to be passed as "mode" parameter in the SPI_PULLUP_1_SetDriveMode() function. + * @{ + */ + #define SPI_PULLUP_1_DM_ALG_HIZ PIN_DM_ALG_HIZ + #define SPI_PULLUP_1_DM_DIG_HIZ PIN_DM_DIG_HIZ + #define SPI_PULLUP_1_DM_RES_UP PIN_DM_RES_UP + #define SPI_PULLUP_1_DM_RES_DWN PIN_DM_RES_DWN + #define SPI_PULLUP_1_DM_OD_LO PIN_DM_OD_LO + #define SPI_PULLUP_1_DM_OD_HI PIN_DM_OD_HI + #define SPI_PULLUP_1_DM_STRONG PIN_DM_STRONG + #define SPI_PULLUP_1_DM_RES_UPDWN PIN_DM_RES_UPDWN + /** @} driveMode */ +/** @} group_constants */ + /* Digital Port Constants */ #define SPI_PULLUP_1_MASK SPI_PULLUP_1__MASK #define SPI_PULLUP_1_SHIFT SPI_PULLUP_1__SHIFT #define SPI_PULLUP_1_WIDTH 2u +/* Interrupt constants */ +#if defined(SPI_PULLUP_1__INTSTAT) +/** +* \addtogroup group_constants +* @{ +*/ + /** \addtogroup intrMode Interrupt constants + * \brief Constants to be passed as "mode" parameter in SPI_PULLUP_1_SetInterruptMode() function. + * @{ + */ + #define SPI_PULLUP_1_INTR_NONE (uint16)(0x0000u) + #define SPI_PULLUP_1_INTR_RISING (uint16)(0x0001u) + #define SPI_PULLUP_1_INTR_FALLING (uint16)(0x0002u) + #define SPI_PULLUP_1_INTR_BOTH (uint16)(0x0003u) + /** @} intrMode */ +/** @} group_constants */ + + #define SPI_PULLUP_1_INTR_MASK (0x01u) +#endif /* (SPI_PULLUP_1__INTSTAT) */ + /*************************************** * Registers @@ -114,13 +141,22 @@ uint8 SPI_PULLUP_1_ClearInterrupt(void) ; /* Sync Output Enable Registers */ #define SPI_PULLUP_1_PRTDSI__SYNC_OUT (* (reg8 *) SPI_PULLUP_1__PRTDSI__SYNC_OUT) +/* SIO registers */ +#if defined(SPI_PULLUP_1__SIO_CFG) + #define SPI_PULLUP_1_SIO_HYST_EN (* (reg8 *) SPI_PULLUP_1__SIO_HYST_EN) + #define SPI_PULLUP_1_SIO_REG_HIFREQ (* (reg8 *) SPI_PULLUP_1__SIO_REG_HIFREQ) + #define SPI_PULLUP_1_SIO_CFG (* (reg8 *) SPI_PULLUP_1__SIO_CFG) + #define SPI_PULLUP_1_SIO_DIFF (* (reg8 *) SPI_PULLUP_1__SIO_DIFF) +#endif /* (SPI_PULLUP_1__SIO_CFG) */ -#if defined(SPI_PULLUP_1__INTSTAT) /* Interrupt Registers */ - - #define SPI_PULLUP_1_INTSTAT (* (reg8 *) SPI_PULLUP_1__INTSTAT) - #define SPI_PULLUP_1_SNAP (* (reg8 *) SPI_PULLUP_1__SNAP) - -#endif /* Interrupt Registers */ +/* Interrupt Registers */ +#if defined(SPI_PULLUP_1__INTSTAT) + #define SPI_PULLUP_1_INTSTAT (* (reg8 *) SPI_PULLUP_1__INTSTAT) + #define SPI_PULLUP_1_SNAP (* (reg8 *) SPI_PULLUP_1__SNAP) + + #define SPI_PULLUP_1_0_INTTYPE_REG (* (reg8 *) SPI_PULLUP_1__0__INTTYPE) + #define SPI_PULLUP_1_1_INTTYPE_REG (* (reg8 *) SPI_PULLUP_1__1__INTTYPE) +#endif /* (SPI_PULLUP_1__INTSTAT) */ #endif /* CY_PSOC5A... */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1_aliases.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1_aliases.h index 7cf3fa9..e5f0204 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1_aliases.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_1_aliases.h @@ -1,14 +1,15 @@ /******************************************************************************* * File Name: SPI_PULLUP_1.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains the Alias definitions for Per-Pin APIs in cypins.h. +* Information on using these APIs can be found in the System Reference Guide. * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -21,13 +22,18 @@ #include "cyfitter.h" - /*************************************** * Constants ***************************************/ -#define SPI_PULLUP_1_0 (SPI_PULLUP_1__0__PC) -#define SPI_PULLUP_1_1 (SPI_PULLUP_1__1__PC) +#define SPI_PULLUP_1_0 (SPI_PULLUP_1__0__PC) +#define SPI_PULLUP_1_0_INTR ((uint16)((uint16)0x0001u << SPI_PULLUP_1__0__SHIFT)) + +#define SPI_PULLUP_1_1 (SPI_PULLUP_1__1__PC) +#define SPI_PULLUP_1_1_INTR ((uint16)((uint16)0x0001u << SPI_PULLUP_1__1__SHIFT)) + +#define SPI_PULLUP_1_INTR_ALL ((uint16)(SPI_PULLUP_1_0_INTR| SPI_PULLUP_1_1_INTR)) #endif /* End Pins SPI_PULLUP_1_ALIASES_H */ + /* [] END OF FILE */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_aliases.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_aliases.h index 3d26b85..e060bf6 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_aliases.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/SPI_PULLUP_aliases.h @@ -1,14 +1,15 @@ /******************************************************************************* * File Name: SPI_PULLUP.h -* Version 2.10 +* Version 2.20 * * Description: -* This file containts Control Register function prototypes and register defines +* This file contains the Alias definitions for Per-Pin APIs in cypins.h. +* Information on using these APIs can be found in the System Reference Guide. * * Note: * ******************************************************************************** -* Copyright 2008-2014, Cypress Semiconductor Corporation. All rights reserved. +* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -21,15 +22,24 @@ #include "cyfitter.h" - /*************************************** * Constants ***************************************/ -#define SPI_PULLUP_0 (SPI_PULLUP__0__PC) -#define SPI_PULLUP_1 (SPI_PULLUP__1__PC) -#define SPI_PULLUP_2 (SPI_PULLUP__2__PC) -#define SPI_PULLUP_3 (SPI_PULLUP__3__PC) +#define SPI_PULLUP_0 (SPI_PULLUP__0__PC) +#define SPI_PULLUP_0_INTR ((uint16)((uint16)0x0001u << SPI_PULLUP__0__SHIFT)) + +#define SPI_PULLUP_1 (SPI_PULLUP__1__PC) +#define SPI_PULLUP_1_INTR ((uint16)((uint16)0x0001u << SPI_PULLUP__1__SHIFT)) + +#define SPI_PULLUP_2 (SPI_PULLUP__2__PC) +#define SPI_PULLUP_2_INTR ((uint16)((uint16)0x0001u << SPI_PULLUP__2__SHIFT)) + +#define SPI_PULLUP_3 (SPI_PULLUP__3__PC) +#define SPI_PULLUP_3_INTR ((uint16)((uint16)0x0001u << SPI_PULLUP__3__SHIFT)) + +#define SPI_PULLUP_INTR_ALL ((uint16)(SPI_PULLUP_0_INTR| SPI_PULLUP_1_INTR| SPI_PULLUP_2_INTR| SPI_PULLUP_3_INTR)) #endif /* End Pins SPI_PULLUP_ALIASES_H */ + /* [] END OF FILE */ diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice.h index 59d3e2c..e7a420e 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevice.h * OBSOLETE: Do not use this file. Use the _trm version instead. -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice_trm.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice_trm.h index b05fd82..e45bc3e 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice_trm.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevice_trm.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevice_trm.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu.inc index 754b960..1346980 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu.inc @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevicegnu.inc * OBSOLETE: Do not use this file. Use the _trm version instead. -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc index e2e2aa7..7877dc7 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicegnu_trm.inc @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cydevicegnu_trm.inc * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides all of the address values for the entire PSoC device. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar.inc index 147a861..d8f2a6e 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar.inc @@ -1,13 +1,13 @@ ; ; File Name: cydeviceiar.inc ; OBSOLETE: Do not use this file. Use the _trm version instead. -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc index 30429cd..067042d 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydeviceiar_trm.inc @@ -1,13 +1,13 @@ ; ; File Name: cydeviceiar_trm.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv.inc index cff336b..fdafe7a 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv.inc @@ -1,13 +1,13 @@ ; ; File Name: cydevicerv.inc ; OBSOLETE: Do not use this file. Use the _trm version instead. -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc index fc79212..c7a64f2 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cydevicerv_trm.inc @@ -1,13 +1,13 @@ ; ; File Name: cydevicerv_trm.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; This file provides all of the address values for the entire PSoC device. ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter.h index f1c21ce..c3fc0eb 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cyfitter.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -1408,7 +1408,7 @@ #define BCLK__BUS_CLK__KHZ 64000U #define BCLK__BUS_CLK__MHZ 64U #define CY_PROJECT_NAME "USB_Bootloader" -#define CY_VERSION "PSoC Creator 4.2" +#define CY_VERSION "PSoC Creator 4.4" #define CYDEV_BOOTLOADER_APPLICATIONS 1u #define CYDEV_BOOTLOADER_CHECKSUM_BASIC 0 #define CYDEV_BOOTLOADER_CHECKSUM_CRC 1 @@ -1420,7 +1420,7 @@ #define CyBtldr_USBFS CYDEV_BOOTLOADER_IO_COMP_USBFS #define CYDEV_BOOTLOADER_IO_COMP CYDEV_BOOTLOADER_IO_COMP_USBFS #define CYDEV_CHIP_DIE_LEOPARD 1u -#define CYDEV_CHIP_DIE_PSOC4A 18u +#define CYDEV_CHIP_DIE_PSOC4A 26u #define CYDEV_CHIP_DIE_PSOC5LP 2u #define CYDEV_CHIP_DIE_PSOC5TM 3u #define CYDEV_CHIP_DIE_TMA4 4u @@ -1436,34 +1436,43 @@ #define CYDEV_CHIP_FAMILY_USED CYDEV_CHIP_FAMILY_PSOC5 #define CYDEV_CHIP_JTAG_ID 0x2E133069u #define CYDEV_CHIP_MEMBER_3A 1u -#define CYDEV_CHIP_MEMBER_4A 18u -#define CYDEV_CHIP_MEMBER_4D 13u +#define CYDEV_CHIP_MEMBER_4A 26u +#define CYDEV_CHIP_MEMBER_4AA 25u +#define CYDEV_CHIP_MEMBER_4AB 30u +#define CYDEV_CHIP_MEMBER_4AC 14u +#define CYDEV_CHIP_MEMBER_4AD 15u +#define CYDEV_CHIP_MEMBER_4AE 16u +#define CYDEV_CHIP_MEMBER_4D 20u #define CYDEV_CHIP_MEMBER_4E 6u -#define CYDEV_CHIP_MEMBER_4F 19u +#define CYDEV_CHIP_MEMBER_4F 27u #define CYDEV_CHIP_MEMBER_4G 4u -#define CYDEV_CHIP_MEMBER_4H 17u -#define CYDEV_CHIP_MEMBER_4I 23u -#define CYDEV_CHIP_MEMBER_4J 14u -#define CYDEV_CHIP_MEMBER_4K 15u -#define CYDEV_CHIP_MEMBER_4L 22u -#define CYDEV_CHIP_MEMBER_4M 21u -#define CYDEV_CHIP_MEMBER_4N 10u -#define CYDEV_CHIP_MEMBER_4O 7u -#define CYDEV_CHIP_MEMBER_4P 20u -#define CYDEV_CHIP_MEMBER_4Q 12u -#define CYDEV_CHIP_MEMBER_4R 8u -#define CYDEV_CHIP_MEMBER_4S 11u -#define CYDEV_CHIP_MEMBER_4T 9u +#define CYDEV_CHIP_MEMBER_4H 24u +#define CYDEV_CHIP_MEMBER_4I 32u +#define CYDEV_CHIP_MEMBER_4J 21u +#define CYDEV_CHIP_MEMBER_4K 22u +#define CYDEV_CHIP_MEMBER_4L 31u +#define CYDEV_CHIP_MEMBER_4M 29u +#define CYDEV_CHIP_MEMBER_4N 11u +#define CYDEV_CHIP_MEMBER_4O 8u +#define CYDEV_CHIP_MEMBER_4P 28u +#define CYDEV_CHIP_MEMBER_4Q 17u +#define CYDEV_CHIP_MEMBER_4R 9u +#define CYDEV_CHIP_MEMBER_4S 12u +#define CYDEV_CHIP_MEMBER_4T 10u #define CYDEV_CHIP_MEMBER_4U 5u -#define CYDEV_CHIP_MEMBER_4V 16u +#define CYDEV_CHIP_MEMBER_4V 23u +#define CYDEV_CHIP_MEMBER_4W 13u +#define CYDEV_CHIP_MEMBER_4X 7u +#define CYDEV_CHIP_MEMBER_4Y 18u +#define CYDEV_CHIP_MEMBER_4Z 19u #define CYDEV_CHIP_MEMBER_5A 3u #define CYDEV_CHIP_MEMBER_5B 2u -#define CYDEV_CHIP_MEMBER_6A 24u -#define CYDEV_CHIP_MEMBER_FM3 28u -#define CYDEV_CHIP_MEMBER_FM4 29u -#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 25u -#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 26u -#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 27u +#define CYDEV_CHIP_MEMBER_6A 33u +#define CYDEV_CHIP_MEMBER_FM3 37u +#define CYDEV_CHIP_MEMBER_FM4 38u +#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 34u +#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 35u +#define CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 36u #define CYDEV_CHIP_MEMBER_UNKNOWN 0u #define CYDEV_CHIP_MEMBER_USED CYDEV_CHIP_MEMBER_5B #define CYDEV_CHIP_DIE_EXPECT CYDEV_CHIP_MEMBER_USED @@ -1488,6 +1497,11 @@ #define CYDEV_CHIP_REVISION_3A_PRODUCTION 3u #define CYDEV_CHIP_REVISION_4A_ES0 17u #define CYDEV_CHIP_REVISION_4A_PRODUCTION 17u +#define CYDEV_CHIP_REVISION_4AA_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AB_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AC_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AD_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4AE_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4D_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD 0u #define CYDEV_CHIP_REVISION_4E_PRODUCTION 0u @@ -1512,6 +1526,10 @@ #define CYDEV_CHIP_REVISION_4T_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4U_PRODUCTION 0u #define CYDEV_CHIP_REVISION_4V_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4W_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4X_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4Y_PRODUCTION 0u +#define CYDEV_CHIP_REVISION_4Z_PRODUCTION 0u #define CYDEV_CHIP_REVISION_5A_ES0 0u #define CYDEV_CHIP_REVISION_5A_ES1 1u #define CYDEV_CHIP_REVISION_5A_PRODUCTION 1u diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c index 4375ff9..f291f18 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.c @@ -2,7 +2,7 @@ /******************************************************************************* * File Name: cyfitter_cfg.c * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file contains device initialization code. @@ -10,7 +10,7 @@ * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h index eefc440..58a0447 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitter_cfg.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cyfitter_cfg.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file provides basic startup and mux configuration settings * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfittergnu.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfittergnu.inc index 1667be7..339ae77 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfittergnu.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfittergnu.inc @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cyfittergnu.inc * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. @@ -1418,7 +1418,7 @@ .set CyBtldr_USBFS, CYDEV_BOOTLOADER_IO_COMP_USBFS .set CYDEV_BOOTLOADER_IO_COMP, CYDEV_BOOTLOADER_IO_COMP_USBFS .set CYDEV_CHIP_DIE_LEOPARD, 1 -.set CYDEV_CHIP_DIE_PSOC4A, 18 +.set CYDEV_CHIP_DIE_PSOC4A, 26 .set CYDEV_CHIP_DIE_PSOC5LP, 2 .set CYDEV_CHIP_DIE_PSOC5TM, 3 .set CYDEV_CHIP_DIE_TMA4, 4 @@ -1434,34 +1434,43 @@ .set CYDEV_CHIP_FAMILY_USED, CYDEV_CHIP_FAMILY_PSOC5 .set CYDEV_CHIP_JTAG_ID, 0x2E133069 .set CYDEV_CHIP_MEMBER_3A, 1 -.set CYDEV_CHIP_MEMBER_4A, 18 -.set CYDEV_CHIP_MEMBER_4D, 13 +.set CYDEV_CHIP_MEMBER_4A, 26 +.set CYDEV_CHIP_MEMBER_4AA, 25 +.set CYDEV_CHIP_MEMBER_4AB, 30 +.set CYDEV_CHIP_MEMBER_4AC, 14 +.set CYDEV_CHIP_MEMBER_4AD, 15 +.set CYDEV_CHIP_MEMBER_4AE, 16 +.set CYDEV_CHIP_MEMBER_4D, 20 .set CYDEV_CHIP_MEMBER_4E, 6 -.set CYDEV_CHIP_MEMBER_4F, 19 +.set CYDEV_CHIP_MEMBER_4F, 27 .set CYDEV_CHIP_MEMBER_4G, 4 -.set CYDEV_CHIP_MEMBER_4H, 17 -.set CYDEV_CHIP_MEMBER_4I, 23 -.set CYDEV_CHIP_MEMBER_4J, 14 -.set CYDEV_CHIP_MEMBER_4K, 15 -.set CYDEV_CHIP_MEMBER_4L, 22 -.set CYDEV_CHIP_MEMBER_4M, 21 -.set CYDEV_CHIP_MEMBER_4N, 10 -.set CYDEV_CHIP_MEMBER_4O, 7 -.set CYDEV_CHIP_MEMBER_4P, 20 -.set CYDEV_CHIP_MEMBER_4Q, 12 -.set CYDEV_CHIP_MEMBER_4R, 8 -.set CYDEV_CHIP_MEMBER_4S, 11 -.set CYDEV_CHIP_MEMBER_4T, 9 +.set CYDEV_CHIP_MEMBER_4H, 24 +.set CYDEV_CHIP_MEMBER_4I, 32 +.set CYDEV_CHIP_MEMBER_4J, 21 +.set CYDEV_CHIP_MEMBER_4K, 22 +.set CYDEV_CHIP_MEMBER_4L, 31 +.set CYDEV_CHIP_MEMBER_4M, 29 +.set CYDEV_CHIP_MEMBER_4N, 11 +.set CYDEV_CHIP_MEMBER_4O, 8 +.set CYDEV_CHIP_MEMBER_4P, 28 +.set CYDEV_CHIP_MEMBER_4Q, 17 +.set CYDEV_CHIP_MEMBER_4R, 9 +.set CYDEV_CHIP_MEMBER_4S, 12 +.set CYDEV_CHIP_MEMBER_4T, 10 .set CYDEV_CHIP_MEMBER_4U, 5 -.set CYDEV_CHIP_MEMBER_4V, 16 +.set CYDEV_CHIP_MEMBER_4V, 23 +.set CYDEV_CHIP_MEMBER_4W, 13 +.set CYDEV_CHIP_MEMBER_4X, 7 +.set CYDEV_CHIP_MEMBER_4Y, 18 +.set CYDEV_CHIP_MEMBER_4Z, 19 .set CYDEV_CHIP_MEMBER_5A, 3 .set CYDEV_CHIP_MEMBER_5B, 2 -.set CYDEV_CHIP_MEMBER_6A, 24 -.set CYDEV_CHIP_MEMBER_FM3, 28 -.set CYDEV_CHIP_MEMBER_FM4, 29 -.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1, 25 -.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2, 26 -.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3, 27 +.set CYDEV_CHIP_MEMBER_6A, 33 +.set CYDEV_CHIP_MEMBER_FM3, 37 +.set CYDEV_CHIP_MEMBER_FM4, 38 +.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1, 34 +.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2, 35 +.set CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3, 36 .set CYDEV_CHIP_MEMBER_UNKNOWN, 0 .set CYDEV_CHIP_MEMBER_USED, CYDEV_CHIP_MEMBER_5B .set CYDEV_CHIP_DIE_EXPECT, CYDEV_CHIP_MEMBER_USED @@ -1486,6 +1495,11 @@ .set CYDEV_CHIP_REVISION_3A_PRODUCTION, 3 .set CYDEV_CHIP_REVISION_4A_ES0, 17 .set CYDEV_CHIP_REVISION_4A_PRODUCTION, 17 +.set CYDEV_CHIP_REVISION_4AA_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AB_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AC_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AD_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4AE_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4D_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD, 0 .set CYDEV_CHIP_REVISION_4E_PRODUCTION, 0 @@ -1510,6 +1524,10 @@ .set CYDEV_CHIP_REVISION_4T_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4U_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_4V_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4W_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4X_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4Y_PRODUCTION, 0 +.set CYDEV_CHIP_REVISION_4Z_PRODUCTION, 0 .set CYDEV_CHIP_REVISION_5A_ES0, 0 .set CYDEV_CHIP_REVISION_5A_ES1, 1 .set CYDEV_CHIP_REVISION_5A_PRODUCTION, 1 diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitteriar.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitteriar.inc index 4fb9f0a..9e24525 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitteriar.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitteriar.inc @@ -1,13 +1,13 @@ ; ; File Name: cyfitteriar.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. @@ -1417,7 +1417,7 @@ CYDEV_BOOTLOADER_IO_COMP_USBFS EQU 2 CyBtldr_USBFS EQU CYDEV_BOOTLOADER_IO_COMP_USBFS CYDEV_BOOTLOADER_IO_COMP EQU CYDEV_BOOTLOADER_IO_COMP_USBFS CYDEV_CHIP_DIE_LEOPARD EQU 1 -CYDEV_CHIP_DIE_PSOC4A EQU 18 +CYDEV_CHIP_DIE_PSOC4A EQU 26 CYDEV_CHIP_DIE_PSOC5LP EQU 2 CYDEV_CHIP_DIE_PSOC5TM EQU 3 CYDEV_CHIP_DIE_TMA4 EQU 4 @@ -1433,34 +1433,43 @@ CYDEV_CHIP_FAMILY_UNKNOWN EQU 0 CYDEV_CHIP_FAMILY_USED EQU CYDEV_CHIP_FAMILY_PSOC5 CYDEV_CHIP_JTAG_ID EQU 0x2E133069 CYDEV_CHIP_MEMBER_3A EQU 1 -CYDEV_CHIP_MEMBER_4A EQU 18 -CYDEV_CHIP_MEMBER_4D EQU 13 +CYDEV_CHIP_MEMBER_4A EQU 26 +CYDEV_CHIP_MEMBER_4AA EQU 25 +CYDEV_CHIP_MEMBER_4AB EQU 30 +CYDEV_CHIP_MEMBER_4AC EQU 14 +CYDEV_CHIP_MEMBER_4AD EQU 15 +CYDEV_CHIP_MEMBER_4AE EQU 16 +CYDEV_CHIP_MEMBER_4D EQU 20 CYDEV_CHIP_MEMBER_4E EQU 6 -CYDEV_CHIP_MEMBER_4F EQU 19 +CYDEV_CHIP_MEMBER_4F EQU 27 CYDEV_CHIP_MEMBER_4G EQU 4 -CYDEV_CHIP_MEMBER_4H EQU 17 -CYDEV_CHIP_MEMBER_4I EQU 23 -CYDEV_CHIP_MEMBER_4J EQU 14 -CYDEV_CHIP_MEMBER_4K EQU 15 -CYDEV_CHIP_MEMBER_4L EQU 22 -CYDEV_CHIP_MEMBER_4M EQU 21 -CYDEV_CHIP_MEMBER_4N EQU 10 -CYDEV_CHIP_MEMBER_4O EQU 7 -CYDEV_CHIP_MEMBER_4P EQU 20 -CYDEV_CHIP_MEMBER_4Q EQU 12 -CYDEV_CHIP_MEMBER_4R EQU 8 -CYDEV_CHIP_MEMBER_4S EQU 11 -CYDEV_CHIP_MEMBER_4T EQU 9 +CYDEV_CHIP_MEMBER_4H EQU 24 +CYDEV_CHIP_MEMBER_4I EQU 32 +CYDEV_CHIP_MEMBER_4J EQU 21 +CYDEV_CHIP_MEMBER_4K EQU 22 +CYDEV_CHIP_MEMBER_4L EQU 31 +CYDEV_CHIP_MEMBER_4M EQU 29 +CYDEV_CHIP_MEMBER_4N EQU 11 +CYDEV_CHIP_MEMBER_4O EQU 8 +CYDEV_CHIP_MEMBER_4P EQU 28 +CYDEV_CHIP_MEMBER_4Q EQU 17 +CYDEV_CHIP_MEMBER_4R EQU 9 +CYDEV_CHIP_MEMBER_4S EQU 12 +CYDEV_CHIP_MEMBER_4T EQU 10 CYDEV_CHIP_MEMBER_4U EQU 5 -CYDEV_CHIP_MEMBER_4V EQU 16 +CYDEV_CHIP_MEMBER_4V EQU 23 +CYDEV_CHIP_MEMBER_4W EQU 13 +CYDEV_CHIP_MEMBER_4X EQU 7 +CYDEV_CHIP_MEMBER_4Y EQU 18 +CYDEV_CHIP_MEMBER_4Z EQU 19 CYDEV_CHIP_MEMBER_5A EQU 3 CYDEV_CHIP_MEMBER_5B EQU 2 -CYDEV_CHIP_MEMBER_6A EQU 24 -CYDEV_CHIP_MEMBER_FM3 EQU 28 -CYDEV_CHIP_MEMBER_FM4 EQU 29 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 25 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 26 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 27 +CYDEV_CHIP_MEMBER_6A EQU 33 +CYDEV_CHIP_MEMBER_FM3 EQU 37 +CYDEV_CHIP_MEMBER_FM4 EQU 38 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 34 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 35 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 36 CYDEV_CHIP_MEMBER_UNKNOWN EQU 0 CYDEV_CHIP_MEMBER_USED EQU CYDEV_CHIP_MEMBER_5B CYDEV_CHIP_DIE_EXPECT EQU CYDEV_CHIP_MEMBER_USED @@ -1485,6 +1494,11 @@ CYDEV_CHIP_REVISION_3A_ES3 EQU 3 CYDEV_CHIP_REVISION_3A_PRODUCTION EQU 3 CYDEV_CHIP_REVISION_4A_ES0 EQU 17 CYDEV_CHIP_REVISION_4A_PRODUCTION EQU 17 +CYDEV_CHIP_REVISION_4AA_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AB_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AC_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AD_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AE_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4D_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD EQU 0 CYDEV_CHIP_REVISION_4E_PRODUCTION EQU 0 @@ -1509,6 +1523,10 @@ CYDEV_CHIP_REVISION_4S_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4T_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4U_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4V_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4W_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4X_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Y_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Z_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_5A_ES0 EQU 0 CYDEV_CHIP_REVISION_5A_ES1 EQU 1 CYDEV_CHIP_REVISION_5A_PRODUCTION EQU 1 diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitterrv.inc b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitterrv.inc index 21c6360..2de8934 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitterrv.inc +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cyfitterrv.inc @@ -1,13 +1,13 @@ ; ; File Name: cyfitterrv.inc ; -; PSoC Creator 4.2 +; PSoC Creator 4.4 ; ; Description: ; ; ;------------------------------------------------------------------------------- -; Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +; Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. ; You may use this file only in accordance with the license, terms, conditions, ; disclaimers, and limitations in the end user license agreement accompanying ; the software package with which this file was provided. @@ -1417,7 +1417,7 @@ CYDEV_BOOTLOADER_IO_COMP_USBFS EQU 2 CyBtldr_USBFS EQU CYDEV_BOOTLOADER_IO_COMP_USBFS CYDEV_BOOTLOADER_IO_COMP EQU CYDEV_BOOTLOADER_IO_COMP_USBFS CYDEV_CHIP_DIE_LEOPARD EQU 1 -CYDEV_CHIP_DIE_PSOC4A EQU 18 +CYDEV_CHIP_DIE_PSOC4A EQU 26 CYDEV_CHIP_DIE_PSOC5LP EQU 2 CYDEV_CHIP_DIE_PSOC5TM EQU 3 CYDEV_CHIP_DIE_TMA4 EQU 4 @@ -1433,34 +1433,43 @@ CYDEV_CHIP_FAMILY_UNKNOWN EQU 0 CYDEV_CHIP_FAMILY_USED EQU CYDEV_CHIP_FAMILY_PSOC5 CYDEV_CHIP_JTAG_ID EQU 0x2E133069 CYDEV_CHIP_MEMBER_3A EQU 1 -CYDEV_CHIP_MEMBER_4A EQU 18 -CYDEV_CHIP_MEMBER_4D EQU 13 +CYDEV_CHIP_MEMBER_4A EQU 26 +CYDEV_CHIP_MEMBER_4AA EQU 25 +CYDEV_CHIP_MEMBER_4AB EQU 30 +CYDEV_CHIP_MEMBER_4AC EQU 14 +CYDEV_CHIP_MEMBER_4AD EQU 15 +CYDEV_CHIP_MEMBER_4AE EQU 16 +CYDEV_CHIP_MEMBER_4D EQU 20 CYDEV_CHIP_MEMBER_4E EQU 6 -CYDEV_CHIP_MEMBER_4F EQU 19 +CYDEV_CHIP_MEMBER_4F EQU 27 CYDEV_CHIP_MEMBER_4G EQU 4 -CYDEV_CHIP_MEMBER_4H EQU 17 -CYDEV_CHIP_MEMBER_4I EQU 23 -CYDEV_CHIP_MEMBER_4J EQU 14 -CYDEV_CHIP_MEMBER_4K EQU 15 -CYDEV_CHIP_MEMBER_4L EQU 22 -CYDEV_CHIP_MEMBER_4M EQU 21 -CYDEV_CHIP_MEMBER_4N EQU 10 -CYDEV_CHIP_MEMBER_4O EQU 7 -CYDEV_CHIP_MEMBER_4P EQU 20 -CYDEV_CHIP_MEMBER_4Q EQU 12 -CYDEV_CHIP_MEMBER_4R EQU 8 -CYDEV_CHIP_MEMBER_4S EQU 11 -CYDEV_CHIP_MEMBER_4T EQU 9 +CYDEV_CHIP_MEMBER_4H EQU 24 +CYDEV_CHIP_MEMBER_4I EQU 32 +CYDEV_CHIP_MEMBER_4J EQU 21 +CYDEV_CHIP_MEMBER_4K EQU 22 +CYDEV_CHIP_MEMBER_4L EQU 31 +CYDEV_CHIP_MEMBER_4M EQU 29 +CYDEV_CHIP_MEMBER_4N EQU 11 +CYDEV_CHIP_MEMBER_4O EQU 8 +CYDEV_CHIP_MEMBER_4P EQU 28 +CYDEV_CHIP_MEMBER_4Q EQU 17 +CYDEV_CHIP_MEMBER_4R EQU 9 +CYDEV_CHIP_MEMBER_4S EQU 12 +CYDEV_CHIP_MEMBER_4T EQU 10 CYDEV_CHIP_MEMBER_4U EQU 5 -CYDEV_CHIP_MEMBER_4V EQU 16 +CYDEV_CHIP_MEMBER_4V EQU 23 +CYDEV_CHIP_MEMBER_4W EQU 13 +CYDEV_CHIP_MEMBER_4X EQU 7 +CYDEV_CHIP_MEMBER_4Y EQU 18 +CYDEV_CHIP_MEMBER_4Z EQU 19 CYDEV_CHIP_MEMBER_5A EQU 3 CYDEV_CHIP_MEMBER_5B EQU 2 -CYDEV_CHIP_MEMBER_6A EQU 24 -CYDEV_CHIP_MEMBER_FM3 EQU 28 -CYDEV_CHIP_MEMBER_FM4 EQU 29 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 25 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 26 -CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 27 +CYDEV_CHIP_MEMBER_6A EQU 33 +CYDEV_CHIP_MEMBER_FM3 EQU 37 +CYDEV_CHIP_MEMBER_FM4 EQU 38 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE1 EQU 34 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE2 EQU 35 +CYDEV_CHIP_MEMBER_PDL_FM0P_TYPE3 EQU 36 CYDEV_CHIP_MEMBER_UNKNOWN EQU 0 CYDEV_CHIP_MEMBER_USED EQU CYDEV_CHIP_MEMBER_5B CYDEV_CHIP_DIE_EXPECT EQU CYDEV_CHIP_MEMBER_USED @@ -1485,6 +1494,11 @@ CYDEV_CHIP_REVISION_3A_ES3 EQU 3 CYDEV_CHIP_REVISION_3A_PRODUCTION EQU 3 CYDEV_CHIP_REVISION_4A_ES0 EQU 17 CYDEV_CHIP_REVISION_4A_PRODUCTION EQU 17 +CYDEV_CHIP_REVISION_4AA_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AB_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AC_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AD_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4AE_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4D_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4E_CCG2_NO_USBPD EQU 0 CYDEV_CHIP_REVISION_4E_PRODUCTION EQU 0 @@ -1509,6 +1523,10 @@ CYDEV_CHIP_REVISION_4S_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4T_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4U_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_4V_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4W_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4X_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Y_PRODUCTION EQU 0 +CYDEV_CHIP_REVISION_4Z_PRODUCTION EQU 0 CYDEV_CHIP_REVISION_5A_ES0 EQU 0 CYDEV_CHIP_REVISION_5A_ES1 EQU 1 CYDEV_CHIP_REVISION_5A_PRODUCTION EQU 1 diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cymetadata.c b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cymetadata.c index 5cb139f..ec05878 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cymetadata.c +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/cymetadata.c @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: cymetadata.c * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * This file defines all extra memory spaces that need to be included. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/project.h b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/project.h index ef7e5ab..f3f00e4 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/project.h +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/Generated_Source/PSoC5/project.h @@ -1,14 +1,14 @@ /******************************************************************************* * File Name: project.h * -* PSoC Creator 4.2 +* PSoC Creator 4.4 * * Description: * It contains references to all generated header files and should not be modified. * This file is automatically generated by PSoC Creator. * ******************************************************************************** -* Copyright (c) 2007-2018 Cypress Semiconductor. All rights reserved. +* Copyright (c) 2007-2020 Cypress Semiconductor. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/TopDesign/TopDesign.cysch b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/TopDesign/TopDesign.cysch index 51e3e9c060018a2535f6e4b88137919bfd8e8adb..360920b6405711cdfc2069c31c9f91938209fdae 100644 GIT binary patch delta 12847 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 Wb!T5`-PMxoN1ggsC0E`NSn)pxaoo%R delta 12477 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�J7ZE*lcdBVI= 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 RGDSijf&x1I8>j<-{Xd?u&)fh2 diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.cyprj b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.cyprj index 7859b10..f7d0b87 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.cyprj +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.cyprj @@ -1343,8 +1343,8 @@ - - + + diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.rpt b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.rpt index 92ea60e..6a6ac71 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.rpt +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader.rpt @@ -1,13 +1,13 @@ -Loading plugins phase: Elapsed time ==> 0s.109ms +Loading plugins phase: Elapsed time ==> 1s.308ms -cydsfit arguments: -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -.fdsreffile=referenced_files.txt -p C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -d CY8C5267AXI-LP051 -s C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\Generated_Source\PSoC5 -- -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE +cydsfit arguments: -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -.fdsreffile=referenced_files.txt -p C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -d CY8C5267AXI-LP051 -s C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\Generated_Source\PSoC5 -- -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -Elaboration phase: Elapsed time ==> 1s.465ms +Elaboration phase: Elapsed time ==> 5s.313ms -HDL generation phase: Elapsed time ==> 0s.041ms +HDL generation phase: Elapsed time ==> 0s.065ms | | | | | | | @@ -24,24 +24,24 @@ HDL generation phase: Elapsed time ==> 0s.041ms ====================================================================== Compiling: USB_Bootloader.v -Program : C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\bin\warp.exe -Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 USB_Bootloader.v -verilog +Program : C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\bin\warp.exe +Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 USB_Bootloader.v -verilog ====================================================================== ====================================================================== Compiling: USB_Bootloader.v -Program : C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\bin\warp.exe -Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 USB_Bootloader.v -verilog +Program : C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\bin\warp.exe +Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 USB_Bootloader.v -verilog ====================================================================== ====================================================================== Compiling: USB_Bootloader.v Program : vlogfe -Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 -verilog USB_Bootloader.v +Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 -verilog USB_Bootloader.v ====================================================================== vlogfe V6.3 IR 41: Verilog parser -Mon Oct 12 10:51:56 2020 +Thu Jan 21 22:31:48 2021 ====================================================================== @@ -51,25 +51,25 @@ Options : -yv2 -q10 USB_Bootloader.v ====================================================================== vpp V6.3 IR 41: Verilog Pre-Processor -Mon Oct 12 10:51:56 2020 +Thu Jan 21 22:31:48 2021 -Flattening file 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\cy_virtualmux_v1_0\cy_virtualmux_v1_0.v' -Flattening file 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\ZeroTerminal\ZeroTerminal.v' +Flattening file 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\cy_virtualmux_v1_0\cy_virtualmux_v1_0.v' +Flattening file 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\ZeroTerminal\ZeroTerminal.v' vpp: No errors. Library 'work' => directory 'lcpsoc3' General_symbol_table General_symbol_table -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\std.vhd'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\cypress.vhd'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\work\cypress.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\ieee\work\stdlogic.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\lpmpkg.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_cnst.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_mthv.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\std.vhd'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\cypress.vhd'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\work\cypress.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\ieee\work\stdlogic.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\lpmpkg.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_cnst.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_mthv.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif'. Using control file 'USB_Bootloader.ctl'. vlogfe: No errors. @@ -78,25 +78,25 @@ vlogfe: No errors. ====================================================================== Compiling: USB_Bootloader.v Program : tovif -Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 -verilog USB_Bootloader.v +Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 -verilog USB_Bootloader.v ====================================================================== tovif V6.3 IR 41: High-level synthesis -Mon Oct 12 10:51:56 2020 +Thu Jan 21 22:31:49 2021 -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\std.vhd'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\cypress.vhd'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\work\cypress.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\ieee\work\stdlogic.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\lpmpkg.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_cnst.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_mthv.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif'. -Linking 'C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.ctl'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\cy_virtualmux_v1_0\cy_virtualmux_v1_0.v'. -Linking 'C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.v'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\ZeroTerminal\ZeroTerminal.v'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\std.vhd'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\cypress.vhd'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\work\cypress.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\ieee\work\stdlogic.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\lpmpkg.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_cnst.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_mthv.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif'. +Linking 'C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.ctl'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\cy_virtualmux_v1_0\cy_virtualmux_v1_0.v'. +Linking 'C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.v'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\ZeroTerminal\ZeroTerminal.v'. tovif: No errors. @@ -104,26 +104,26 @@ tovif: No errors. ====================================================================== Compiling: USB_Bootloader.v Program : topld -Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 -verilog USB_Bootloader.v +Options : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 -verilog USB_Bootloader.v ====================================================================== topld V6.3 IR 41: Synthesis and optimization -Mon Oct 12 10:51:56 2020 +Thu Jan 21 22:31:49 2021 -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\std.vhd'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\cypress.vhd'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\work\cypress.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\ieee\work\stdlogic.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\lpmpkg.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_cnst.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_mthv.vif'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif'. -Linking 'C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.ctl'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\cy_virtualmux_v1_0\cy_virtualmux_v1_0.v'. -Linking 'C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.v'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\ZeroTerminal\ZeroTerminal.v'. -Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\lib\lcpsoc3\stdlogic\cpsoc3.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\std.vhd'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\cypress.vhd'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\work\cypress.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\ieee\work\stdlogic.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\lpmpkg.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_cnst.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_mthv.vif'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif'. +Linking 'C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.ctl'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\cy_virtualmux_v1_0\cy_virtualmux_v1_0.v'. +Linking 'C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\codegentemp\USB_Bootloader.v'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\psoc\content\CyPrimitives\cyprimitives.cylib\ZeroTerminal\ZeroTerminal.v'. +Linking 'C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\lib\lcpsoc3\stdlogic\cpsoc3.vif'. ---------------------------------------------------------- Detecting unused logic. @@ -239,18 +239,18 @@ Circuit simplification results: topld: No errors. -CYPRESS_DIR : C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp -Warp Program : C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\warp\bin\warp.exe -Warp Arguments : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 USB_Bootloader.v -verilog +CYPRESS_DIR : C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp +Warp Program : C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\warp\bin\warp.exe +Warp Arguments : -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -dcpsoc3 USB_Bootloader.v -verilog -Warp synthesis phase: Elapsed time ==> 0s.471ms +Warp synthesis phase: Elapsed time ==> 2s.599ms -cyp3fit: V4.2.0.641, Family: PSoC3, Started at: Monday, 12 October 2020 10:51:56 -Options: -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\Michael\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -d CY8C5267AXI-LP051 USB_Bootloader.v -verilog +cyp3fit: V4.4.0.80, Family: PSoC3, Started at: Thursday, 21 January 2021 22:31:50 +Options: -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE -ya -.fftprj=C:\Users\micha\Documents\projects\SCSI2SD\software\SCSI2SD\v5.2\USB_Bootloader.cydsn\USB_Bootloader.cyprj -d CY8C5267AXI-LP051 USB_Bootloader.v -verilog -Design parsing phase: Elapsed time ==> 0s.009ms +Design parsing phase: Elapsed time ==> 0s.007ms @@ -1619,7 +1619,7 @@ Design Equations interrupt: Name =\USBFS:sof_int\ PORT MAP ( - interrupt => Net_40 ); + interrupt => Net_122 ); Properties: { int_type = "10" @@ -1659,8 +1659,8 @@ SAR ADC : 0 : 1 : 1 : 0.00 % DAC : : : : VIDAC : 0 : 1 : 1 : 0.00 % -Technology Mapping: Elapsed time ==> 0s.073ms -Tech Mapping phase: Elapsed time ==> 0s.130ms +Technology Mapping: Elapsed time ==> 0s.065ms +Tech Mapping phase: Elapsed time ==> 0s.122ms Initial Analog Placement Results: @@ -1697,7 +1697,7 @@ IO_3@[IOP=(15)][IoId=(3)] : TERM_EN(0) (fixed) IO_7@[IOP=(15)][IoId=(7)] : \USBFS:Dm(0)\ (fixed) IO_6@[IOP=(15)][IoId=(6)] : \USBFS:Dp(0)\ (fixed) USB[0]@[FFB(USB,0)] : \USBFS:USB\ -Analog Placement phase: Elapsed time ==> 0s.053ms +Analog Placement phase: Elapsed time ==> 0s.008ms Analog Routing phase: Elapsed time ==> 0s.000ms @@ -1715,12 +1715,12 @@ Dump of CyP35AnalogRoutingResultsDB IsVddaHalfUsedForComp = False IsVddaHalfUsedForSar0 = False IsVddaHalfUsedForSar1 = False -Analog Code Generation phase: Elapsed time ==> 0s.328ms +Analog Code Generation phase: Elapsed time ==> 0s.212ms I2659: No Constrained paths were found. The placer will run in non-timing driven mode. -I2076: Total run-time: 0.6 sec. +I2076: Total run-time: 0.5 sec. @@ -1734,7 +1734,7 @@ PLD Packing: Elapsed time ==> 0s.000ms Initial Partitioning Summary not displayed at this verbose level. Final Partitioning Summary not displayed at this verbose level. -Partitioning: Elapsed time ==> 0s.028ms +Partitioning: Elapsed time ==> 0s.016ms @@ -1806,7 +1806,7 @@ Intr container @ [IntrContainer=(0)]: Intr@ [IntrContainer=(0)][IntrId=(21)] interrupt: Name =\USBFS:sof_int\ PORT MAP ( - interrupt => Net_40 ); + interrupt => Net_122 ); Properties: { int_type = "10" @@ -3252,7 +3252,7 @@ USB group 0: PORT MAP ( dp => \USBFS:Net_1000\ , dm => \USBFS:Net_597\ , - sof_int => Net_40 , + sof_int => Net_122 , arb_int => \USBFS:Net_79\ , usb_int => \USBFS:Net_81\ , ept_int_8 => \USBFS:ept_int_8\ , @@ -3336,33 +3336,33 @@ Port | Pin | Fixed | Type | Drive Mode | Name | Connection -Digital component placer commit/Report: Elapsed time ==> 0s.048ms -Digital Placement phase: Elapsed time ==> 0s.964ms +Digital component placer commit/Report: Elapsed time ==> 0s.031ms +Digital Placement phase: Elapsed time ==> 0s.947ms -"C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\bin/sjrouter.exe" --xml-path "C:\Program Files (x86)\Cypress\PSoC Creator\4.2\PSoC Creator\dev\psoc5/psoc5lp/route_arch-rrg.cydata" --vh2-path "USB_Bootloader_r.vh2" --pcf-path "USB_Bootloader.pco" --des-name "USB_Bootloader" --dsf-path "USB_Bootloader.dsf" --sdc-path "USB_Bootloader.sdc" --lib-path "USB_Bootloader_r.lib" +"C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\bin/sjrouter.exe" --xml-path "C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\dev\psoc5/psoc5lp/route_arch-rrg.cydata" --vh2-path "USB_Bootloader_r.vh2" --pcf-path "USB_Bootloader.pco" --des-name "USB_Bootloader" --dsf-path "USB_Bootloader.dsf" --sdc-path "USB_Bootloader.sdc" --lib-path "USB_Bootloader_r.lib" Routing successful. -Digital Routing phase: Elapsed time ==> 1s.346ms +Digital Routing phase: Elapsed time ==> 0s.910ms -Bitstream Generation phase: Elapsed time ==> 0s.136ms +Bitstream Generation phase: Elapsed time ==> 0s.220ms -Bitstream Verification phase: Elapsed time ==> 0s.030ms +Bitstream Verification phase: Elapsed time ==> 0s.028ms Timing report is in USB_Bootloader_timing.html. -Static timing analysis phase: Elapsed time ==> 0s.229ms +Static timing analysis phase: Elapsed time ==> 0s.315ms Data reporting phase: Elapsed time ==> 0s.000ms -Design database save phase: Elapsed time ==> 0s.159ms +Design database save phase: Elapsed time ==> 0s.147ms -cydsfit: Elapsed time ==> 3s.406ms +cydsfit: Elapsed time ==> 2s.990ms -Fitter phase: Elapsed time ==> 3s.407ms -API generation phase: Elapsed time ==> 1s.335ms -Dependency generation phase: Elapsed time ==> 0s.009ms +Fitter phase: Elapsed time ==> 2s.990ms +API generation phase: Elapsed time ==> 3s.949ms +Dependency generation phase: Elapsed time ==> 0s.045ms Cleanup phase: Elapsed time ==> 0s.000ms diff --git a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader_timing.html b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader_timing.html index cca1641..52e55e8 100644 --- a/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader_timing.html +++ b/software/SCSI2SD/v5.2/USB_Bootloader.cydsn/USB_Bootloader_timing.html @@ -539,7 +539,7 @@ function getElementsByClass(rootNode, elemName, className) Project : USB_Bootloader Build Time : - 10/12/20 10:51:59 + 01/21/21 22:31:52 Device : CY8C5267AXI-LP051 Temperature : diff --git a/software/include/hidpacket.h b/software/include/hidpacket.h index db81158..d0ea3d8 100644 --- a/software/include/hidpacket.h +++ b/software/include/hidpacket.h @@ -24,9 +24,9 @@ extern "C" { #define USBHID_LEN 64 -// Maximum packet payload length. Must be large enough to support a flash row -// + flash array index + flash row index -#define HIDPACKET_MAX_LEN 260 +// Maximum packet payload length. Must be large enough to support a SD sector +// + sector number + device number +#define HIDPACKET_MAX_LEN 520 #include #include diff --git a/software/include/scsi2sd.h b/software/include/scsi2sd.h index e9e44e2..8b60b3e 100755 --- a/software/include/scsi2sd.h +++ b/software/include/scsi2sd.h @@ -141,6 +141,12 @@ typedef enum CONFIG_SPEED_ASYNC_15 } CONFIG_SPEED; +typedef enum +{ + CONFIG_STOREDEVICE_SD, + CONFIG_STOREDEVICE_FLASH +} CONFIG_STOREDEVICE; + typedef struct __attribute__((packed)) { uint8_t deviceType; @@ -178,13 +184,17 @@ typedef struct __attribute__((packed)) char serial[16]; uint16_t quirks; // CONFIG_QUIRKS + + // 0 == SD card + // 1 == SPI Flash + uint8_t storageDevice; // CONFIG_STOREDEVICE - uint8_t reserved[960]; // Pad out to 1024 bytes for main section. + uint8_t reserved[959]; // Pad out to 1024 bytes for main section. uint8_t modePages[1024]; uint8_t vpd[1024]; uint8_t unused[1024]; // Total size is 4k. -} TargetConfig; +} S2S_TargetCfg; typedef struct __attribute__((packed)) { @@ -198,7 +208,7 @@ typedef struct __attribute__((packed)) uint8_t reserved[247]; // Pad out to 256 bytes -} BoardConfig; +} S2S_BoardConfig; typedef enum { @@ -244,7 +254,87 @@ typedef enum // Response: // CONFIG_STATUS // uint8_t result code (0 = passed) - CONFIG_SCSITEST + CONFIG_SCSITEST, + + // Not implemented, V6 only + // Command content: + // uint8_t S2S_CMD_DEVINFO + // Response: + // uint16_t protocol version (MSB) + // uint16_t firmware version (MSB) + // uint32_t SD capacity(MSB) + S2S_CMD_DEVINFO_OBSOLETE, + + // Not implemented, V6 only + // Command content: + // uint8_t S2S_CMD_SD_WRITE + // uint32_t Sector Number (MSB) + // uint8_t[512] data + // Response: + // S2S_CMD_STATUS + S2S_CMD_SD_WRITE, + + // Not implemented, V6 only + // Command content: + // uint8_t S2S_CMD_SD_READ + // uint32_t Sector Number (MSB) + // Response: + // 512 bytes of data + S2S_CMD_SD_READ, + + // Not implemented, V6 only + // Command content: + // uint8_t S2S_CMD_DEBUG + // Response: + S2S_CMD_DEBUG, + + // Command content: + // uint8_t S2S_CMD_DEV_LIST + // Response: + // uint8_t Number of devices + // For each device: + // uint8_t device type + // 0 == SD card + // 1 == NOR FLASH + // uint32_t capacity(MSB) + S2S_CMD_DEV_LIST, + + // Command content: + // uint8_t S2S_CMD_DEV_INFO + // uint8_t Device Number + // Response: + // SD card: + // uint8_t[16] CSD + // uint8_t[16] CID + // NOR Flash: + // uint8_t[512] JEDEC CFI from RDID command + S2S_CMD_DEV_INFO, + + // Command content: + // uint8_t S2S_CMD_DEV_ERASE + // uint8_t Device Number + // uint32_t Sector Number (MSB) + // uint32_t Sector Count (MSB) + // Response: + // S2S_CMD_STATUS + S2S_CMD_DEV_ERASE, + + // Command content: + // uint8_t S2S_CMD_DEV_WRITE + // uint8_t Device Number (MSB) + // uint32_t Sector Number (MSB) + // uint8_t[512] data + // Response: + // S2S_CMD_STATUS + S2S_CMD_DEV_WRITE, + + // Command content: + // uint8_t S2S_CMD_DEV_READ + // uint8_t Device Number (MSB) + // uint32_t Sector Number (MSB) + // Response: + // 512 bytes of data + S2S_CMD_DEV_READ, } CONFIG_COMMAND; typedef enum

x>i*Sz)xNM46kYl7(SetWUO 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 Nb01inPAd;+SoI;qe1#0NtxPbTB@W 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%0AFrW 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