+20150504 4.2.4
+ - Clean up version number mishap (4.2.3 reported as 4.2.2)
+ - Reduce size of mode pages for SCSI1 hosts
+ - Stability improvements whan handling resets during SCSI reads.
+
+20150420 4.2.3
+ - Bugfix for failed flash checksums after configing configuration
+
20150420 4.2.2
- Improved compatibility with older SCSI1 hosts.
\r
#include <string.h>\r
\r
-static const uint16_t FIRMWARE_VERSION = 0x0422;\r
+static const uint16_t FIRMWARE_VERSION = 0x0424;\r
\r
enum USB_ENDPOINTS\r
{\r
dmaTotalCount = 0;\r
CyDmaChSetRequest(scsiDmaTxChan, CY_DMA_CPU_TERM_CHAIN);\r
CyDmaChSetRequest(scsiDmaRxChan, CY_DMA_CPU_TERM_CHAIN);\r
+ \r
+ // CyDmaChGetRequest returns 0 for the relevant bit once the\r
+ // request is completed.\r
trace(trace_spinDMAReset);\r
- while (!(scsiTxDMAComplete && scsiRxDMAComplete)) {}\r
+ while (CyDmaChGetRequest(scsiDmaTxChan) & CY_DMA_CPU_TERM_CHAIN) {}\r
+ while (CyDmaChGetRequest(scsiDmaRxChan) & CY_DMA_CPU_TERM_CHAIN) {}\r
\r
CyDmaChDisable(scsiDmaTxChan);\r
CyDmaChDisable(scsiDmaRxChan);\r
// ensure it returns to the idle state. The datapath runs at the BUS clk\r
// speed (ie. same as the CPU), so we can be sure it is active for a sufficient\r
// duration.\r
+ SCSI_RST_ISR_Disable();\r
SCSI_SetPin(SCSI_Out_RST);\r
\r
SCSI_CTL_PHASE_Write(0);\r
\r
// Allow the FIFOs to fill up again.\r
SCSI_ClearPin(SCSI_Out_RST);\r
+ SCSI_RST_ISR_Enable();\r
scsiTarget_AUX_CTL = scsiTarget_AUX_CTL & ~(0x03);\r
\r
SCSI_Parity_Error_Read(); // clear sticky bits\r
const uint8 cy_meta_loadable[] = {\r
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
- 0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x22u, 0x04u,\r
+ 0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x24u, 0x04u,\r
0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,\r
const uint8 cy_meta_loadable[] = {
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
- 0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x22u, 0x04u,
+ 0x00u, 0x00u, 0x00u, 0x00u, 0x5Cu, 0xD1u, 0x24u, 0x04u,
0x01u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,
0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u,