mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
mpc83xx: Add support for MPC83xx PCI-E controllers
This patch adds support for MPC83xx PCI-E controllers in Root Complex mode. The patch is based on Tony Li and Dave Liu work[1]. Though unlike the original patch, by default we don't register PCI-E buses for use in U-Boot, we only configure the controllers for future use in other OSes (Linux). This is done because we don't have enough of spare BATs to map all the PCI-E regions. To actually use PCI-E in U-Boot, users should explicitly define CONFIG_83XX_GENERIC_PCIE_REGISTER_HOSES symbol in the board file. And only then U-Boot will able to access PCI-E, but at the cost of disabled address translation. [1] http://lists.denx.de/pipermail/u-boot/2008-January/027630.html Signed-off-by: Tony Li <tony.li@freescale.com> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
This commit is contained in:
parent
88ecf55cab
commit
fd6646c0b9
7 changed files with 488 additions and 23 deletions
|
@ -382,6 +382,8 @@ extern void pci_cfgfunc_config_device(struct pci_controller* hose, pci_dev_t dev
|
|||
|
||||
#define MAX_PCI_REGIONS 7
|
||||
|
||||
#define INDIRECT_TYPE_NO_PCIE_LINK 1
|
||||
|
||||
/*
|
||||
* Structure of a PCI controller (host bridge)
|
||||
*/
|
||||
|
@ -394,6 +396,8 @@ struct pci_controller {
|
|||
volatile unsigned int *cfg_addr;
|
||||
volatile unsigned char *cfg_data;
|
||||
|
||||
int indirect_type;
|
||||
|
||||
struct pci_region regions[MAX_PCI_REGIONS];
|
||||
int region_count;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue