[U-Boot] OpenRD Ultimate SATA & SD

Albert ARIBAUD albert.u.boot at aribaud.net
Sat Jun 18 07:52:55 CEST 2011


Hi,

Le 17/06/2011 10:29, Alexei Ozhigov a écrit :
> 2011/6/17 Prafulla Wadaskar<prafulla at marvell.com>:
>>
>>
>>> -----Original Message-----
>>> From: Philip Hands [mailto:phil at hands.com]
>>> Sent: Friday, June 17, 2011 1:33 AM
>>> To: Alexei Ozhigov
>>> Cc: Prafulla Wadaskar; u-boot at 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 at 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,
-- 
Albert.


More information about the U-Boot mailing list