Detecting ATA/ATAPI device on 40-pin ATA connector using CY4611B Firmware | Cypress Semiconductor
Support & Community
Detecting ATA/ATAPI device on 40-pin ATA connector using CY4611B Firmware
In Cy4611B reference design how does the firmware detect if the attached device on 40-pin ATA Bus connector is ATA or ATAPI type?
The ATA/ATAPI -6 standard defines a set of configuration registers to communicate with ATA or ATAPI device. The AT2LP controller uses DA2 ,DA1 , DA0 CS#1 and CS#2 signals to access these registers. The ATA and ATAPI register space overlap in address space .During firmware initialization the function detectSCSIvsATA() reads the ATAPI_BYTE_COUNT register in the following manner
If(readPIO8(ATAPI_BYTE_COUNT_MSB) == 0xeb && readPIO8(ATAPI_BYTE_COUNT_LSB) == 0x14) .
If the resultant value is 0xEB14 it indicates ATAPI compliant SCSI device or else it is ATA device .