[U-Boot] [PATCH 08/10] ata: dwc_ahsata: Add ahci driver model support

Soeren Moch smoch at web.de
Fri Mar 8 20:19:03 UTC 2019



On 07.03.19 09:33, Soeren Moch wrote:
> On 01.03.19 13:10, Soeren Moch wrote:
>> Disable this support for cm_fx6 to avoid breakage.
>>
>> Signed-off-by: Soeren Moch <smoch at web.de>
>> ---
>> It would be easy to add weak board_ahci_enable/disable functions which
>> can be overwritten (e.g. in the cm_fx6 board file) to handle power enable/
>> disable on driver probe/remove. But I have no idea why this board needs these
>> repeated probe/remove calls for the same sata device. In my tests on a
>> tbs2910 board a sata harddisk is always recognized by a 'sata init' command,
>> also without this probe loop.
>> If this can be ironed out, we can remove the DWC_AHSATA_AHCI config option.
>>
>> Cc: Nikita Kiryanov <nikita at compulab.co.il>
>> Cc: Stefano Babic <sbabic at denx.de>
>> Cc: Fabio Estevam <festevam at gmail.com>
>> Cc: Marcel Ziswiler <marcel at ziswiler.com>
>> Cc: Stefan Roese <sr at denx.de>
>> Cc: Simon Glass <sjg at chromium.org>
>> Cc: u-boot at lists.denx.de
>> ---
> After rebasing this patch series from v2019.04-rc2 to -rc3, I get this:
>
> Matrix U-Boot> sata init
>
> AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
>
> flags: ncq stag pm led clo only pmp pio slum part
>
> Can not start port 0
>
> data abort
>
> pc : [<8ffab37c>]          lr : [<8ffab595>]
>
> reloc pc : [<1781837c>]    lr : [<17818595>]
>
> sp : 87f909c8  ip : 87f90cd4     fp : 00000004
>
> r10: 6c41202e  r9 : 87f90ea0     r8 : 00000000
>
> r7 : 87f90a80  r6 : 00000200     r5 : 00000000  r4 : 87f90a80
>
> r3 : 00000070  r2 : 87f90cc0     r1 : 87f90cc0  r0 : 00000000
>
> Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
>
> Code: fb03231c f8d3030b 9001a00c 9e0c4611 (3038f8da)
>
> Resetting CPU ...
>
>
> Any idea what got broken here?
This was caused by a bad power supply.
So this patch series still works fine on top of v2019.04-rc3.

Sorry for the noise,
Soeren


More information about the U-Boot mailing list