From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Harvey Date: Fri, 22 Feb 2019 10:03:19 -0800 Subject: [U-Boot] [RFC 22/22] pci: auto probe thunderx NIC devices In-Reply-To: <20190222180319.32221-1-tharvey@gateworks.com> References: <20190222180319.32221-1-tharvey@gateworks.com> Message-ID: <20190222180319.32221-23-tharvey@gateworks.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de For boards with soc peripherals via the pci devices some devices require probing during config to be available (ie VNIC on ThunderX SoCs). Signed-off-by: Tim Harvey --- drivers/pci/pci_auto.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/pci/pci_auto.c b/drivers/pci/pci_auto.c index d7237f6eee..7ab0e06cc7 100644 --- a/drivers/pci/pci_auto.c +++ b/drivers/pci/pci_auto.c @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -128,6 +129,23 @@ void dm_pciauto_setup_device(struct udevice *dev, int bars_num, } if (!enum_only) { + u16 device, vendor; + + dm_pci_read_config16(dev, PCI_DEVICE_ID, &device); + dm_pci_read_config16(dev, PCI_VENDOR_ID, &vendor); + if ( (vendor == PCI_VENDOR_ID_CAVIUM) && + ((device == PCI_DEVICE_ID_THUNDERX_SMI) || + (device == PCI_DEVICE_ID_THUNDERX_RGX) || + (device == PCI_DEVICE_ID_THUNDERX_BGX) || + (device == PCI_DEVICE_ID_THUNDERX_NIC_PF) || + (device == PCI_DEVICE_ID_THUNDERX_NIC_VF_1) || + (device == PCI_DEVICE_ID_THUNDERX_NIC_VF)) ) + { + debug("Probing 0x%04x:0x%04x %s\n", vendor, device, + dev->name); + device_probe(dev); + } + /* Configure the expansion ROM address */ dm_pci_read_config8(dev, PCI_HEADER_TYPE, &header_type); header_type &= 0x7f; -- 2.17.1