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:
parent
5b70a09705
commit
35225802e2
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue