This patch enables the usage of the MVEBU AHCI/SATA driver. The only changes necessary to support MIPS Octeon via DT based probing are, to add the compatible DT property and the use of dev_remap_addr() so that the correct mapped address is used in the Octeon case (phys != virt).
Please note that this driver supports the usage of the "scsi" command and not the "sata" command, since it does not provide an own "scan" function, which is needed for the "sata" cmd support. Signed-off-by: Stefan Roese <s...@denx.de> Cc: Aaron Williams <awilli...@marvell.com> Cc: Chandrakala Chavva <ccha...@marvell.com> Cc: Daniel Schwierzeck <daniel.schwierz...@gmail.com> --- drivers/ata/Kconfig | 2 +- drivers/ata/ahci_mvebu.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index f2f8275aeca8..6e47964cdc8f 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -121,7 +121,7 @@ config SUNXI_AHCI config AHCI_MVEBU bool "Marvell EBU AHCI SATA support" - depends on ARCH_MVEBU + depends on ARCH_MVEBU || ARCH_OCTEON depends on AHCI select SCSI_AHCI select DM_SCSI diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c index 7d82d2ea3fff..f05150d61ddf 100644 --- a/drivers/ata/ahci_mvebu.c +++ b/drivers/ata/ahci_mvebu.c @@ -39,7 +39,7 @@ static int mvebu_ahci_probe(struct udevice *dev) */ board_ahci_enable(); - ahci_probe_scsi(dev, dev_read_addr(dev)); + ahci_probe_scsi(dev, (ulong)dev_remap_addr(dev)); return 0; } @@ -48,6 +48,7 @@ static const struct udevice_id mvebu_ahci_ids[] = { { .compatible = "marvell,armada-380-ahci" }, { .compatible = "marvell,armada-3700-ahci" }, { .compatible = "marvell,armada-8k-ahci" }, + { .compatible = "cavium,octeon-7130-ahci" }, { } }; -- 2.31.1