From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Fri, 13 Nov 2015 09:41:49 -0700 Subject: [U-Boot] [PATCH v3 0/8] dm: pci: tegra: Convert Tegra PCI to driver model In-Reply-To: <1447347481-3596-1-git-send-email-sjg@chromium.org> References: <1447347481-3596-1-git-send-email-sjg@chromium.org> Message-ID: <564612CD.1060607@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 11/12/2015 09:57 AM, Simon Glass wrote: > This series converts all Tegra boards to use driver model for PCI. The net > effect should be no change in functionality. I applied this series on top of current u-boot/master. On Jetson TK1 (T124), I see the following errors when U-Boot starts: > Net: ERROR: tegra-pcie: failed to power on PHY: -110 > > at /home/swarren/shared/git_wa/tegra-uboot-flasher/u-boot/drivers/pci/pci_tegra.c:685/tegra_pcie_enable_controller() > ERROR: tegra-pcie: failed to enable controller > at /home/swarren/shared/git_wa/tegra-uboot-flasher/u-boot/drivers/pci/pci_tegra.c:997/pci_tegra_probe() > No ethernet found. I assume you can investigate that without issue, since you have that board. On Jetson TX1 (T210), you need to squash the following into the final commit of the series: > diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c > index ecd4313501c4..f88bd0d2858b 100644 > --- a/drivers/pci/pci_tegra.c > +++ b/drivers/pci/pci_tegra.c > @@ -1022,6 +1022,7 @@ static const struct udevice_id pci_tegra_ids[] = { > { .compatible = "nvidia,tegra20-pcie", .data = TEGRA20_PCIE }, > { .compatible = "nvidia,tegra30-pcie", .data = TEGRA30_PCIE }, > { .compatible = "nvidia,tegra124-pcie", .data = TEGRA124_PCIE }, > + { .compatible = "nvidia,tegra210-pcie", .data = TEGRA210_PCIE }, > { } > }; and even with that fix, PCIe now doesn't work: > Net: RTL8169#0 > Warning: RTL8169#0 using MAC address from net device > > Hit any key to stop autoboot: 0 > Tegra210 (P2371-2180) # dhcp zImage > pci_hose_bus_to_phys: invalid physical address > pci_hose_bus_to_phys: invalid physical address > pci_hose_bus_to_phys: invalid physical address > pci_hose_bus_to_phys: invalid physical address > pci_hose_bus_to_phys: invalid physical address > pci_hose_bus_to_phys: invalid physical address > BOOTP broadcast 1 > pci_hose_bus_to_phys: invalid physical address > BOOTP broadcast 2 > pci_hose_bus_to_phys: invalid physical address > BOOTP broadcast 3 > pci_hose_bus_to_phys: invalid physical address ... Perhaps there's some obvious mistake somewhere you can find by code inspection. Otherwise, let me know if you need me to debug that.