
Hi,
Le 17/06/2011 10:29, Alexei Ozhigov a écrit :
2011/6/17 Prafulla Wadaskarprafulla@marvell.com:
-----Original Message----- From: Philip Hands [mailto:phil@hands.com] Sent: Friday, June 17, 2011 1:33 AM To: Alexei Ozhigov Cc: Prafulla Wadaskar; u-boot@lists.denx.de; Prabhanjan Sarnaik; Ashish Karkare Subject: Re: [U-Boot] OpenRD Ultimate SATA& SD
On Thu, 16 Jun 2011 16:18:46 +0400, Alexei Ozhigov alexei.ozhigov@gmail.com wrote: ...
I am experiencing the same problem with SATA right now with v2011.06-rc2 (tried also the latest master). If MVSATA_STATUS_TIMEOUT in mvsata_ide_initialize_port is ignored, SATA drive is found on the second port and I am able to read the drive's content.
Inspired by what you say about timeouts, I thought perhaps increasing the timeout from 10ms to 1s might make a difference -- that worked!
... except that now, it's working regardless :-(
So, I've no idea if that's really related to what's going on, because I've now gone as far as reducing the timeout to 5ms and it's _still_ working fine, so perhaps some part of the SATA subsystem was in a state that was somehow reset by waiting a bit longer for the startup once, and that's somehow "fixed" it.
It is still working despite powering down the machine for a while, so I'm guessing whatever changed is something to do with the state of the hard drive.
Sadly that means that I've now lost the ability to test this, since trying any of the versions that were previously failing now work.
Anyway, Alexei, try increasing the timeout (i.e. the value being assigned to timeleft) --- if that works for you too, it seems pretty harmless, so might be appropriate for wider adoption.
I have already tried longer timeouts for timeleft and it does not help.
Also with timeout circumvention the SATA flash card I was hoping to boot from (Transcend TS1GSDOM22V) is identified as follows:
Bus 0: OK Bus 1: OK Device 0: Model: TRANSCEND Firm: 20080128 Ser#: 20080407 00000005 Type: Hard Disk Capacity: 955.8 MB = 0.9 GB (1957536 x 512) IDE read: device 0 not ready IDE read: device 0 not ready Device 1: Model: Firm: Ser#: Type: Hard Disk Capacity: not available
And then the card cannot be read. First attempt shows "OK" although the data written to memory are wrong, next attempts result in "device 0 not ready". On the other hand, Linux (Debian ARM port) does not recognize the card either. So if this problem is not related to improper initialization, the question is how SATA flash differs from regular SATA drives with respect to SATA controller in 88F6281 and if it is actually possible to work with SATA flash on OpenRD.
Can you #define DEBUG at the start of common/cmd_ide.c and rerun the test?
Amicalement,