DVSDK 3.10
PSP 3.02 beta
It seems right now that it's not possible to plug in a hard drive after the DM6467 has booted and have it be recognized. Is that correct? Where does that limitation come from? Any way to add that support?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
DVSDK 3.10
PSP 3.02 beta
It seems right now that it's not possible to plug in a hard drive after the DM6467 has booted and have it be recognized. Is that correct? Where does that limitation come from? Any way to add that support?
Hi Brad,
We never had experimented with hot insertion on ATA. Theoretically, I do not see issue with the h/w for hot insertion. You can design your board with a GPIO controlling your h/w reset signal. However, unless you design your own external logic that detects the insertion of the device, there is no dedicated h/w mechanism that would alert the host controller of the insertion of a new device nor a status bit that signifies the presence of a device. You will have to perform several commands and observe the behaviour by reading the status/command register to identify a presence of a device. It does not seem feasible to perform polling like task to detect the presence of a device (also you will need to reset the device too) so detcting by s/w is not an option.
If you design your board with the h/w detect logic to signify our device the presence state of a device, communicated via GPIO or like, I do not see any issue from h/w perspective to start the communication between the host controller and the device.
Of-course our driver is not architected to handle such an event and would require modification and do not know the extent of the modification needed.
Best regards, Zegeye
Hi,Brad,Zegeye
I am dennis,I got what you said,
First, ATA does not support hot-plug
Second, if i designed the board with a GPIO to control the h/w reset signal,then rewake the driver
so,I have a question
Becasue the hard devices had designed ,the ATA port on dm6467 had connected to esata port using
a external circuit
According your said,no way to change it ?
Zegeye,
Is there any way to "poll" for a connected hard drive? For example, could something run periodically (e.g. once per second) to "look" for an inserted hard drive?
Dennis,
Do you have some kind of (e-)sata to ata bridge? Please describe your hardware setup a bit more.
Thanks,
Brad
Hi Brad,
Assuming the device default state after power with out reseting the device is in a good state then you can read the Command Block registers and expect the below values to read, if an ATA or ATAPI device is observed.
For ATA Device (HDD Like)
Sector Count = 01h, LBA Low = 01h, LBA Mid = 00h, LBA High = 00h, and Device = 00h
For ATAPI Device (CD Like)
Sector Count = 01h, LBA Low=01h, LBA Mid=14h, LBA High=EBh, and Device=10h or 00h
If you experiment a Device connect condition and you are unable to read the above values, you probably need to try performing a h/w RESET and do the above.
In summary, Have your ATA Controller ready by initializing it with PIO Mode 0, slowest speed, timing. Start by polling the above set of registers and if that does not work, prior to polling attempt to reset the device via GPIO and do the polling.
Best regards, Zegeye