
On Thu, Jan 21, 2016 at 04:35:33PM -0700, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
PCI controllers should be enumerated at startup so that PCI devices such as Ethernet controllers are available at startup. Fix board_init_r() not to skip calling pci_init() when CONFIG_DM_PCI is defined, and provide an implementation of pci_init() for the DM case.
Fixes: 96350f729c42 ("dm: tegra: net: Convert tegra boards to driver model for Ethernet") Signed-off-by: Stephen Warren swarren@nvidia.com
I'm not sure if relying on the side-effects of calling uclass_{first,ext}_device is the correct approach; is there a more explicit way to probe all PCI controllers?
Arguably, perhaps we should introduce a "pci start" command instead of this change to be consistent with e.g. USB. However, that would be a regression relative to earlier versions of U-Boot.
So it's a good discussion to have. In the U-Boot world, can we have cases where we need PCI up before we could reasonably make use of CONFIG_PREBOOT to ensure the board is in a good enough state to use for most use cases?