1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com> 4 */ 5 6 #include <common.h> 7 #include <ahci.h> 8 #include <dm.h> 9 #include <pci.h> 10 11 static int ahci_pci_bind(struct udevice *dev) 12 { 13 struct udevice *scsi_dev; 14 15 return ahci_bind_scsi(dev, &scsi_dev); 16 } 17 18 static int ahci_pci_probe(struct udevice *dev) 19 { 20 return ahci_probe_scsi_pci(dev); 21 } 22 23 static const struct udevice_id ahci_pci_ids[] = { 24 { .compatible = "ahci-pci" }, 25 { } 26 }; 27 28 U_BOOT_DRIVER(ahci_pci) = { 29 .name = "ahci_pci", 30 .id = UCLASS_AHCI, 31 .of_match = ahci_pci_ids, 32 .bind = ahci_pci_bind, 33 .probe = ahci_pci_probe, 34 }; 35 36 static struct pci_device_id ahci_pci_supported[] = { 37 { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_SATA_AHCI, ~0) }, 38 {}, 39 }; 40 41 U_BOOT_PCI_DEVICE(ahci_pci, ahci_pci_supported); 42