When using the coreboot target CONFIG_DM_SCSI gets set to y. This has the effect that the current 'enable bus mastering' logic gets not compiled in. This change fixes ahci problems I am seeing on an Intel Apollolake device.
Signed-off-by: Christian Gmeiner <christian.gmei...@gmail.com> --- drivers/ata/ahci.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index e3135bb75f..3f9348a8b3 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1174,6 +1174,12 @@ int ahci_probe_scsi(struct udevice *ahci_dev, ulong base) int ahci_probe_scsi_pci(struct udevice *ahci_dev) { ulong base; + u16 cmd; + + /* Enable bus mastering. */ + dm_pci_read_config16(ahci_dev, PCI_COMMAND, &cmd); + cmd |= PCI_COMMAND_MASTER; + dm_pci_write_config16(ahci_dev, PCI_COMMAND, cmd); base = (ulong)dm_pci_map_bar(ahci_dev, PCI_BASE_ADDRESS_5, PCI_REGION_MEM); -- 2.21.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot