
This series converts all Tegra boards to use driver model for PCI. The net effect should be no change in functionality.
A few additional features are added to make this possible: - Helper functions to support accessing 8- and 16-bit values within a 32-bit word - Fixing a build error for CONFIG_CMD_PCI_ENUM - Decoding the PCI ranges property such that configuration ranges are ignored - Supporting bus-master devices on boards where RAM does not start at 0
This series is tested on beaver. It is available at u-boot-dm/tegra-working.
Changes in v5: - Squash in Stephen's fixes from https://patchwork.ozlabs.org/patch/544727
Changes in v4: - Fix Kconig typo in commit message - Drop CONFIG_CMD_PCI_ENUM for p2371-2180 also - Fix merge conflict resolution error in v3 - Add compatible string for T210 (from Stephen Warren)
Changes in v3: - Rebase onto tegra/master - Enable DM_PCI for Tegra 210 family too
Changes in v2: - Update commit message to explain that the feature is not important - Drop the feature from tegra boards - Rename 'addr' to 'size' - Correct logic for use of gd->pci_ram_top - Update commit message to mention future work - Use the device_is_on_pci_bus() API - Leave pci_skip_dev() at the bottom of the file to reduce the diff size
Simon Glass (8): dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig dm: pci: Avoid a driver model build error with CONFIG_CMD_PCI_ENUM dm: pci: Set up the SDRAM mapping correctly dm: pci: Support decoding ranges with duplicate entries dm: pci: Add functions to emulate 8- and 16-bit access dm: pci: Add a function to get the controller for a bus dm: pci: Add a function to find the regions for a PCI bus dm: tegra: pci: Convert tegra boards to driver model for PCI
arch/arm/mach-tegra/Kconfig | 1 + arch/arm/mach-tegra/board2.c | 4 + common/cmd_pci.c | 4 + configs/apalis_t30_defconfig | 1 + configs/beaver_defconfig | 1 + configs/cardhu_defconfig | 1 + configs/jetson-tk1_defconfig | 1 + configs/p2371-2180_defconfig | 1 + configs/trimslice_defconfig | 1 + drivers/pci/Kconfig | 10 + drivers/pci/pci-uclass.c | 105 +++++++++- drivers/pci/pci_tegra.c | 477 ++++++++++++++----------------------------- include/configs/apalis_t30.h | 2 - include/configs/beaver.h | 2 - include/configs/cardhu.h | 2 - include/configs/jetson-tk1.h | 2 - include/configs/p2371-2180.h | 2 - include/configs/trimslice.h | 2 - include/fdtdec.h | 4 - include/pci.h | 51 +++++ lib/fdtdec.c | 4 - 21 files changed, 327 insertions(+), 351 deletions(-)