powerpc/5121: Add PCI support.

Uses mpc83xx_add_bridge in fsl_pci.c

Adds second register tuple to pci node register property
as done for 83xx device trees in a previous patch.

Signed-off-by: John Rigby <jrigby@freescale.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
John Rigby 2008-10-07 15:13:18 -06:00 committed by Kumar Gala
parent 5b70a09705
commit 35225802e2
4 changed files with 16 additions and 3 deletions

View File

@ -403,7 +403,8 @@
#interrupt-cells = <1>; #interrupt-cells = <1>;
#size-cells = <2>; #size-cells = <2>;
#address-cells = <3>; #address-cells = <3>;
reg = <0x80008500 0x100>; reg = <0x80008500 0x100 /* internal registers */
0x80008300 0x8>; /* config space access registers */
compatible = "fsl,mpc5121-pci"; compatible = "fsl,mpc5121-pci";
device_type = "pci"; device_type = "pci";
}; };

View File

@ -3,6 +3,8 @@ config PPC_MPC512x
select FSL_SOC select FSL_SOC
select IPIC select IPIC
select PPC_CLOCK select PPC_CLOCK
select PPC_PCI_CHOICE
select FSL_PCI if PCI
config PPC_MPC5121 config PPC_MPC5121
bool bool

View File

@ -22,16 +22,26 @@
#include <asm/prom.h> #include <asm/prom.h>
#include <asm/time.h> #include <asm/time.h>
#include <sysdev/fsl_pci.h>
#include "mpc512x.h" #include "mpc512x.h"
#include "mpc5121_ads.h" #include "mpc5121_ads.h"
static void __init mpc5121_ads_setup_arch(void) static void __init mpc5121_ads_setup_arch(void)
{ {
#ifdef CONFIG_PCI
struct device_node *np;
#endif
printk(KERN_INFO "MPC5121 ADS board from Freescale Semiconductor\n"); printk(KERN_INFO "MPC5121 ADS board from Freescale Semiconductor\n");
/* /*
* cpld regs are needed early * cpld regs are needed early
*/ */
mpc5121_ads_cpld_map(); mpc5121_ads_cpld_map();
#ifdef CONFIG_PCI
for_each_compatible_node(np, "pci", "fsl,mpc5121-pci")
mpc83xx_add_bridge(np);
#endif
} }
static void __init mpc5121_ads_init_IRQ(void) static void __init mpc5121_ads_init_IRQ(void)

View File

@ -251,7 +251,7 @@ DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8641D, quirk_fsl_pcie_header);
DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8610, quirk_fsl_pcie_header); DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8610, quirk_fsl_pcie_header);
#endif /* CONFIG_PPC_85xx || CONFIG_PPC_86xx */ #endif /* CONFIG_PPC_85xx || CONFIG_PPC_86xx */
#if defined(CONFIG_PPC_83xx) #if defined(CONFIG_PPC_83xx) || defined(CONFIG_PPC_MPC512x)
int __init mpc83xx_add_bridge(struct device_node *dev) int __init mpc83xx_add_bridge(struct device_node *dev)
{ {
int len; int len;
@ -310,7 +310,7 @@ int __init mpc83xx_add_bridge(struct device_node *dev)
setup_indirect_pci(hose, rsrc_cfg.start, rsrc_cfg.start + 4, 0); setup_indirect_pci(hose, rsrc_cfg.start, rsrc_cfg.start + 4, 0);
printk(KERN_INFO "Found MPC83xx PCI host bridge at 0x%016llx. " printk(KERN_INFO "Found FSL PCI host bridge at 0x%016llx. "
"Firmware bus number: %d->%d\n", "Firmware bus number: %d->%d\n",
(unsigned long long)rsrc_reg.start, hose->first_busno, (unsigned long long)rsrc_reg.start, hose->first_busno,
hose->last_busno); hose->last_busno);