Commit 35225802 authored by John Rigby's avatar John Rigby Committed by Kumar Gala
Browse files

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: default avatarJohn Rigby <jrigby@freescale.com>
Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 5b70a097
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -403,7 +403,8 @@
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <0x80008500 0x100>;
		reg = <0x80008500 0x100		/* internal registers */
		       0x80008300 0x8>;		/* config space access registers */
		compatible = "fsl,mpc5121-pci";
		device_type = "pci";
	};
+2 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ config PPC_MPC512x
	select FSL_SOC
	select IPIC
	select PPC_CLOCK
	select PPC_PCI_CHOICE
	select FSL_PCI if PCI

config PPC_MPC5121
	bool
+10 −0
Original line number Diff line number Diff line
@@ -22,16 +22,26 @@
#include <asm/prom.h>
#include <asm/time.h>

#include <sysdev/fsl_pci.h>

#include "mpc512x.h"
#include "mpc5121_ads.h"

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");
	/*
	 * cpld regs are needed early
	 */
	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)
+2 −2
Original line number Diff line number Diff line
@@ -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);
#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 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);

	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",
	       (unsigned long long)rsrc_reg.start, hose->first_busno,
	       hose->last_busno);