On Armada 388 the second AHCI controller (sata@e0000) never gets its MBus DRAM windows: board_ahci_enable() only knows MVEBU_SATA0_BASE. Pass the probed device to board_ahci_enable() and use its address.
Tested on Helios4 (disk on sata@e0000): scsi scan now finds the disk, and the CRC32 of blocks read in U-Boot matches Linux. Builds: helios4, clearfog, mvebu_db-88f3720, octeon_ebb7304, octeon_nic23. SPL SATA boot (clearfog_sata) is not tested on hardware. Signed-off-by: Igor Velkov <[email protected]> --- Igor Velkov (2): ata: ahci_generic: pass the AHCI device to board_ahci_enable() arm: mvebu: set up the AHCI controller that is being probed arch/arm/mach-mvebu/cpu.c | 9 ++++++--- arch/arm/mach-mvebu/include/mach/soc.h | 1 - arch/mips/mach-octeon/cpu.c | 3 ++- board/Marvell/mvebu_armada-37xx/board.c | 3 ++- drivers/ata/ahci_generic.c | 4 ++-- include/ahci.h | 10 ++++++++++ 6 files changed, 22 insertions(+), 8 deletions(-) --- base-commit: a6ab6a66146ed0bf1420db0ee858b49005783222 change-id: 20261003-ahci-mvebu-windows-dca164e1308e Best regards, -- Igor Velkov <[email protected]>
