diff options
author | Poonam Aggrwal <poonam.aggrwal@freescale.com> | 2009-08-21 07:29:42 +0530 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2009-08-28 17:12:43 -0500 |
commit | 0d3d68b25a8e7790f58530ddccbd61f9fc0245ef (patch) | |
tree | 189b2096c1325c70abf7d20043af8a27bc341800 /include | |
parent | 05f6f66474312ad03c39b4ca4875af46c87366bf (diff) | |
download | u-boot-imx-0d3d68b25a8e7790f58530ddccbd61f9fc0245ef.zip u-boot-imx-0d3d68b25a8e7790f58530ddccbd61f9fc0245ef.tar.gz u-boot-imx-0d3d68b25a8e7790f58530ddccbd61f9fc0245ef.tar.bz2 |
driver/fsl_pci: Add fsl_pci_init_port function to initialize a PCI controller
fsl_pci_init_port can be called from board specific PCI initialization
routines to setup the PCI (or PCIe) controller. This will reduce code
redundancy in most of the 85xx/86xx FSL board ports that setup PCI.
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-ppc/fsl_pci.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/asm-ppc/fsl_pci.h b/include/asm-ppc/fsl_pci.h index b2ff0e9..f625d19 100644 --- a/include/asm-ppc/fsl_pci.h +++ b/include/asm-ppc/fsl_pci.h @@ -154,4 +154,30 @@ typedef struct ccsr_pci { char res24[252]; } ccsr_fsl_pci_t; +struct fsl_pci_info { + unsigned long regs; + pci_addr_t mem_bus; + phys_size_t mem_phys; + pci_size_t mem_size; + pci_addr_t io_bus; + phys_size_t io_phys; + pci_size_t io_size; + int pci_num; +}; + +int fsl_pci_init_port(struct fsl_pci_info *pci_info, + struct pci_controller *hose, int busno); + +#define SET_STD_PCIE_INFO(x, num) \ +{ \ + x.regs = CONFIG_SYS_PCIE##num##_ADDR; \ + x.mem_bus = CONFIG_SYS_PCIE##num##_MEM_BUS; \ + x.mem_phys = CONFIG_SYS_PCIE##num##_MEM_PHYS; \ + x.mem_size = CONFIG_SYS_PCIE##num##_MEM_SIZE; \ + x.io_bus = CONFIG_SYS_PCIE##num##_IO_BUS; \ + x.io_phys = CONFIG_SYS_PCIE##num##_IO_PHYS; \ + x.io_size = CONFIG_SYS_PCIE##num##_IO_SIZE; \ + x.pci_num = num; \ +} + #endif |