linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] MPC5121 add pci support
@ 2008-10-07 19:00 John Rigby
  2008-10-07 19:00 ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge John Rigby
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: John Rigby @ 2008-10-07 19:00 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: John Rigby

The following three patches add pci support for MPC5121
These got no NACKs back in August but they were not picked up
by anyone either.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge.
  2008-10-07 19:00 [PATCH 0/3] MPC5121 add pci support John Rigby
@ 2008-10-07 19:00 ` John Rigby
  2008-10-07 19:00   ` [PATCH 2/3] powerpc: 5121: Add PCI support John Rigby
  2008-10-08 12:35   ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge Kumar Gala
  2008-10-08  6:20 ` [PATCH 0/3] MPC5121 add pci support Kumar Gala
  2008-10-08 15:29 ` Matt Sealey
  2 siblings, 2 replies; 17+ messages in thread
From: John Rigby @ 2008-10-07 19:00 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: John Rigby

Modify mpc83xx_add_bridge to get config space register base address from the device
tree instead of immr + hardcoded offset.

83xx pci nodes have this change:
    register properties now contain two address length tuples:
	First is the pci bridge register base, this has always been there.
	Second is the config base, this is new.

This is documented in Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt

The changes accomplish these things:
    mpc83xx_add_bridge no longer needs to call get_immrbase
    it uses hard coded addresses if the second register value is missing

Signed-off-by: John Rigby <jrigby@freescale.com>
---
 .../powerpc/dts-bindings/fsl/83xx-512x-pci.txt     |   40 ++++++++++++++
 arch/powerpc/boot/dts/mpc8313erdb.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8315erdb.dts              |    3 +-
 arch/powerpc/boot/dts/mpc832x_mds.dts              |    3 +-
 arch/powerpc/boot/dts/mpc832x_rdb.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8349emitx.dts             |    6 ++-
 arch/powerpc/boot/dts/mpc8349emitxgp.dts           |    3 +-
 arch/powerpc/boot/dts/mpc834x_mds.dts              |    6 ++-
 arch/powerpc/boot/dts/mpc836x_mds.dts              |    3 +-
 arch/powerpc/boot/dts/mpc836x_rdk.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8377_mds.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8377_rdb.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8378_mds.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8378_rdb.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8379_mds.dts              |    3 +-
 arch/powerpc/boot/dts/mpc8379_rdb.dts              |    3 +-
 arch/powerpc/boot/dts/sbc8349.dts                  |    3 +-
 arch/powerpc/sysdev/fsl_pci.c                      |   54 +++++++++++++-------
 18 files changed, 111 insertions(+), 37 deletions(-)
 create mode 100644 Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt

diff --git a/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt b/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt
new file mode 100644
index 0000000..35a4653
--- /dev/null
+++ b/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt
@@ -0,0 +1,40 @@
+* Freescale 83xx and 512x PCI bridges
+
+Freescale 83xx and 512x SOCs include the same pci bridge core.
+
+83xx/512x specific notes:
+- reg: should contain two address length tuples
+    The first is for the internal pci bridge registers
+    The second is for the pci config space access registers
+
+Example (MPC8313ERDB)
+	pci0: pci@e0008500 {
+		cell-index = <1>;
+		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+		interrupt-map = <
+				/* IDSEL 0x0E -mini PCI */
+				 0x7000 0x0 0x0 0x1 &ipic 18 0x8
+				 0x7000 0x0 0x0 0x2 &ipic 18 0x8
+				 0x7000 0x0 0x0 0x3 &ipic 18 0x8
+				 0x7000 0x0 0x0 0x4 &ipic 18 0x8
+
+				/* IDSEL 0x0F - PCI slot */
+				 0x7800 0x0 0x0 0x1 &ipic 17 0x8
+				 0x7800 0x0 0x0 0x2 &ipic 18 0x8
+				 0x7800 0x0 0x0 0x3 &ipic 17 0x8
+				 0x7800 0x0 0x0 0x4 &ipic 18 0x8>;
+		interrupt-parent = <&ipic>;
+		interrupts = <66 0x8>;
+		bus-range = <0x0 0x0>;
+		ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
+			  0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
+			  0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
+		clock-frequency = <66666666>;
+		#interrupt-cells = <1>;
+		#size-cells = <2>;
+		#address-cells = <3>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
+		compatible = "fsl,mpc8349-pci";
+		device_type = "pci";
+	};
diff --git a/arch/powerpc/boot/dts/mpc8313erdb.dts b/arch/powerpc/boot/dts/mpc8313erdb.dts
index 5390855..747f276 100644
--- a/arch/powerpc/boot/dts/mpc8313erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8313erdb.dts
@@ -363,7 +363,8 @@
 			#interrupt-cells = <1>;
 			#size-cells = <2>;
 			#address-cells = <3>;
-			reg = <0xe0008500 0x100>;
+			reg = <0xe0008500 0x100		/* internal registers */
+			       0xe0008300 0x8>;		/* config space access registers */
 			compatible = "fsl,mpc8349-pci";
 			device_type = "pci";
 		};
diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts
index 94c9b41..7449e54 100644
--- a/arch/powerpc/boot/dts/mpc8315erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8315erdb.dts
@@ -318,7 +318,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc832x_mds.dts b/arch/powerpc/boot/dts/mpc832x_mds.dts
index 015808a..e4cc176 100644
--- a/arch/powerpc/boot/dts/mpc832x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc832x_mds.dts
@@ -423,7 +423,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc832x_rdb.dts b/arch/powerpc/boot/dts/mpc832x_rdb.dts
index b5b0ec2..226ff06 100644
--- a/arch/powerpc/boot/dts/mpc832x_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc832x_rdb.dts
@@ -331,7 +331,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts b/arch/powerpc/boot/dts/mpc8349emitx.dts
index 1327a61..5cedf37 100644
--- a/arch/powerpc/boot/dts/mpc8349emitx.dts
+++ b/arch/powerpc/boot/dts/mpc8349emitx.dts
@@ -254,7 +254,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
@@ -280,7 +281,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008600 0x100>;
+		reg = <0xe0008600 0x100		/* internal registers */
+		       0xe0008380 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8349emitxgp.dts b/arch/powerpc/boot/dts/mpc8349emitxgp.dts
index f70d3a0..81ae1d3 100644
--- a/arch/powerpc/boot/dts/mpc8349emitxgp.dts
+++ b/arch/powerpc/boot/dts/mpc8349emitxgp.dts
@@ -228,7 +228,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008600 0x100>;
+		reg = <0xe0008600 0x100		/* internal registers */
+		       0xe0008380 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc834x_mds.dts b/arch/powerpc/boot/dts/mpc834x_mds.dts
index e29739e..04bfde3 100644
--- a/arch/powerpc/boot/dts/mpc834x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc834x_mds.dts
@@ -315,7 +315,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
@@ -376,7 +377,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008600 0x100>;
+		reg = <0xe0008600 0x100		/* internal registers */
+		       0xe0008380 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc836x_mds.dts b/arch/powerpc/boot/dts/mpc836x_mds.dts
index 49aec71..66a12d2 100644
--- a/arch/powerpc/boot/dts/mpc836x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc836x_mds.dts
@@ -426,7 +426,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc836x_rdk.dts b/arch/powerpc/boot/dts/mpc836x_rdk.dts
index 69c9bd2..f747747 100644
--- a/arch/powerpc/boot/dts/mpc836x_rdk.dts
+++ b/arch/powerpc/boot/dts/mpc836x_rdk.dts
@@ -409,7 +409,8 @@
 		#interrupt-cells = <1>;
 		device_type = "pci";
 		compatible = "fsl,mpc8360-pci", "fsl,mpc8349-pci";
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000
 			  0x42000000 0 0x80000000 0x80000000 0 0x10000000
 			  0x01000000 0 0xe0300000 0xe0300000 0 0x00100000>;
diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts
index 78f0f11..87314c7 100644
--- a/arch/powerpc/boot/dts/mpc8377_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8377_mds.dts
@@ -378,7 +378,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts
index d46327e..53191ba 100644
--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
@@ -319,7 +319,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8378_mds.dts b/arch/powerpc/boot/dts/mpc8378_mds.dts
index c44f30f..0294191 100644
--- a/arch/powerpc/boot/dts/mpc8378_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8378_mds.dts
@@ -364,7 +364,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts
index b3e3bd7..4a09153 100644
--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
@@ -305,7 +305,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts b/arch/powerpc/boot/dts/mpc8379_mds.dts
index 653ed47..13a2311 100644
--- a/arch/powerpc/boot/dts/mpc8379_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8379_mds.dts
@@ -392,7 +392,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts
index 123c8df..bbd884a 100644
--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
@@ -333,7 +333,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/boot/dts/sbc8349.dts b/arch/powerpc/boot/dts/sbc8349.dts
index c7f411f..0f941f3 100644
--- a/arch/powerpc/boot/dts/sbc8349.dts
+++ b/arch/powerpc/boot/dts/sbc8349.dts
@@ -272,7 +272,8 @@
 		#interrupt-cells = <1>;
 		#size-cells = <2>;
 		#address-cells = <3>;
-		reg = <0xe0008500 0x100>;
+		reg = <0xe0008500 0x100		/* internal registers */
+		       0xe0008300 0x8>;		/* config space access registers */
 		compatible = "fsl,mpc8349-pci";
 		device_type = "pci";
 	};
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 61e6d77..a3f4aba 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -1,7 +1,7 @@
 /*
- * MPC85xx/86xx PCI/PCIE support routing.
+ * MPC83xx/85xx/86xx PCI/PCIE support routing.
  *
- * Copyright 2007 Freescale Semiconductor, Inc
+ * Copyright 2007,2008 Freescale Semiconductor, Inc
  *
  * Initial author: Xianghua Xiao <x.xiao@freescale.com>
  * Recode: ZHANG WEI <wei.zhang@freescale.com>
@@ -256,15 +256,42 @@ int __init mpc83xx_add_bridge(struct device_node *dev)
 {
 	int len;
 	struct pci_controller *hose;
-	struct resource rsrc;
+	struct resource rsrc_reg;
+	struct resource rsrc_cfg;
 	const int *bus_range;
-	int primary = 1, has_address = 0;
-	phys_addr_t immr = get_immrbase();
+	int primary;
 
 	pr_debug("Adding PCI host bridge %s\n", dev->full_name);
 
 	/* Fetch host bridge registers address */
-	has_address = (of_address_to_resource(dev, 0, &rsrc) == 0);
+	if (of_address_to_resource(dev, 0, &rsrc_reg)) {
+		printk(KERN_WARNING "Can't get pci register base!\n");
+		return -ENOMEM;
+	}
+
+	memset(&rsrc_cfg, 0, sizeof(rsrc_cfg));
+
+	if (of_address_to_resource(dev, 1, &rsrc_cfg)) {
+		printk(KERN_WARNING
+			"No pci config register base in dev tree, "
+			"using default\n");
+		/*
+		 * MPC83xx supports up to two host controllers
+		 * 	one at 0x8500 has config space registers at 0x8300
+		 * 	one at 0x8600 has config space registers at 0x8380
+		 */
+		if ((rsrc_reg.start & 0xfffff) == 0x8500)
+			rsrc_cfg.start = (rsrc_reg.start & 0xfff00000) + 0x8300;
+		else if ((rsrc_reg.start & 0xfffff) == 0x8600)
+			rsrc_cfg.start = (rsrc_reg.start & 0xfff00000) + 0x8380;
+	}
+	/*
+	 * Controller at offset 0x8500 is primary
+	 */
+	if ((rsrc_reg.start & 0xfffff) == 0x8500)
+		primary = 1;
+	else
+		primary = 0;
 
 	/* Get bus range if any */
 	bus_range = of_get_property(dev, "bus-range", &len);
@@ -281,22 +308,11 @@ int __init mpc83xx_add_bridge(struct device_node *dev)
 	hose->first_busno = bus_range ? bus_range[0] : 0;
 	hose->last_busno = bus_range ? bus_range[1] : 0xff;
 
-	/* MPC83xx supports up to two host controllers one at 0x8500 from immrbar
-	 * the other at 0x8600, we consider the 0x8500 the primary controller
-	 */
-	/* PCI 1 */
-	if ((rsrc.start & 0xfffff) == 0x8500) {
-		setup_indirect_pci(hose, immr + 0x8300, immr + 0x8304, 0);
-	}
-	/* PCI 2 */
-	if ((rsrc.start & 0xfffff) == 0x8600) {
-		setup_indirect_pci(hose, immr + 0x8380, immr + 0x8384, 0);
-		primary = 0;
-	}
+	setup_indirect_pci(hose, rsrc_cfg.start, rsrc_cfg.start + 4, 0);
 
 	printk(KERN_INFO "Found MPC83xx PCI host bridge at 0x%016llx. "
 	       "Firmware bus number: %d->%d\n",
-	       (unsigned long long)rsrc.start, hose->first_busno,
+	       (unsigned long long)rsrc_reg.start, hose->first_busno,
 	       hose->last_busno);
 
 	pr_debug(" ->Hose at 0x%p, cfg_addr=0x%p,cfg_data=0x%p\n",
-- 
1.5.6.2.255.gbed62

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/3] powerpc: 5121: Add PCI support.
  2008-10-07 19:00 ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge John Rigby
@ 2008-10-07 19:00   ` John Rigby
  2008-10-07 19:00     ` [PATCH 3/3] powerpc: pci: 5121: Hide pci bridge John Rigby
  2008-10-08 12:35   ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge Kumar Gala
  1 sibling, 1 reply; 17+ messages in thread
From: John Rigby @ 2008-10-07 19:00 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: John Rigby

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>
---
 arch/powerpc/boot/dts/mpc5121ads.dts      |    3 ++-
 arch/powerpc/platforms/512x/Kconfig       |    2 ++
 arch/powerpc/platforms/512x/mpc5121_ads.c |   10 ++++++++++
 arch/powerpc/sysdev/fsl_pci.c             |    4 ++--
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/dts/mpc5121ads.dts b/arch/powerpc/boot/dts/mpc5121ads.dts
index 1f9036c..c2b8dbf 100644
--- a/arch/powerpc/boot/dts/mpc5121ads.dts
+++ b/arch/powerpc/boot/dts/mpc5121ads.dts
@@ -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";
 	};
diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig
index c62f893..326852c 100644
--- a/arch/powerpc/platforms/512x/Kconfig
+++ b/arch/powerpc/platforms/512x/Kconfig
@@ -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
diff --git a/arch/powerpc/platforms/512x/mpc5121_ads.c b/arch/powerpc/platforms/512x/mpc5121_ads.c
index 5ebf693..441abc4 100644
--- a/arch/powerpc/platforms/512x/mpc5121_ads.c
+++ b/arch/powerpc/platforms/512x/mpc5121_ads.c
@@ -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)
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index a3f4aba..5b264eb 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -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);
-- 
1.5.6.2.255.gbed62

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/3] powerpc: pci: 5121: Hide pci bridge.
  2008-10-07 19:00   ` [PATCH 2/3] powerpc: 5121: Add PCI support John Rigby
@ 2008-10-07 19:00     ` John Rigby
  2008-10-08 12:30       ` Kumar Gala
  0 siblings, 1 reply; 17+ messages in thread
From: John Rigby @ 2008-10-07 19:00 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: John Rigby

The class of the MPC5121 pci host bridge is PCI_CLASS_BRIDGE_OTHER
while other freescale host bridges have class set to
PCI_CLASS_PROCESSOR_POWERPC.

This patch makes fixup_hide_host_resource_fsl match
PCI_CLASS_BRIDGE_OTHER in addition to PCI_CLASS_PROCESSOR_POWERPC.

Signed-off-by: John Rigby <jrigby@freescale.com>
---
 arch/powerpc/kernel/pci_32.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 174b77e..a848c63 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -54,11 +54,12 @@ LIST_HEAD(hose_list);
 static int pci_bus_count;
 
 static void
-fixup_hide_host_resource_fsl(struct pci_dev* dev)
+fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
 	int i, class = dev->class >> 8;
 
-	if ((class == PCI_CLASS_PROCESSOR_POWERPC) &&
+	if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
+	     class == PCI_CLASS_BRIDGE_OTHER) &&
 		(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
 		(dev->bus->parent == NULL)) {
 		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-- 
1.5.6.2.255.gbed62

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-07 19:00 [PATCH 0/3] MPC5121 add pci support John Rigby
  2008-10-07 19:00 ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge John Rigby
@ 2008-10-08  6:20 ` Kumar Gala
  2008-10-08 16:14   ` Grant Likely
  2008-10-08 15:29 ` Matt Sealey
  2 siblings, 1 reply; 17+ messages in thread
From: Kumar Gala @ 2008-10-08  6:20 UTC (permalink / raw)
  To: John Rigby; +Cc: linuxppc-dev


On Oct 7, 2008, at 2:00 PM, John Rigby wrote:

> The following three patches add pci support for MPC5121
> These got no NACKs back in August but they were not picked up
> by anyone either.

I'll look at picking up patches 1/3 and 3/3.  I'll leave 2/3 to Grant.

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/3] powerpc: pci: 5121: Hide pci bridge.
  2008-10-07 19:00     ` [PATCH 3/3] powerpc: pci: 5121: Hide pci bridge John Rigby
@ 2008-10-08 12:30       ` Kumar Gala
  0 siblings, 0 replies; 17+ messages in thread
From: Kumar Gala @ 2008-10-08 12:30 UTC (permalink / raw)
  To: John Rigby; +Cc: linuxppc-dev


On Oct 7, 2008, at 2:00 PM, John Rigby wrote:

> The class of the MPC5121 pci host bridge is PCI_CLASS_BRIDGE_OTHER
> while other freescale host bridges have class set to
> PCI_CLASS_PROCESSOR_POWERPC.
>
> This patch makes fixup_hide_host_resource_fsl match
> PCI_CLASS_BRIDGE_OTHER in addition to PCI_CLASS_PROCESSOR_POWERPC.
>
> Signed-off-by: John Rigby <jrigby@freescale.com>
> ---
> arch/powerpc/kernel/pci_32.c |    5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)

applied

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge.
  2008-10-07 19:00 ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge John Rigby
  2008-10-07 19:00   ` [PATCH 2/3] powerpc: 5121: Add PCI support John Rigby
@ 2008-10-08 12:35   ` Kumar Gala
  1 sibling, 0 replies; 17+ messages in thread
From: Kumar Gala @ 2008-10-08 12:35 UTC (permalink / raw)
  To: John Rigby; +Cc: linuxppc-dev


On Oct 7, 2008, at 2:00 PM, John Rigby wrote:

> Modify mpc83xx_add_bridge to get config space register base address  
> from the device
> tree instead of immr + hardcoded offset.
>
> 83xx pci nodes have this change:
>    register properties now contain two address length tuples:
> 	First is the pci bridge register base, this has always been there.
> 	Second is the config base, this is new.
>
> This is documented in Documentation/powerpc/dts-bindings/fsl/ 
> 83xx-512x-pci.txt
>
> The changes accomplish these things:
>    mpc83xx_add_bridge no longer needs to call get_immrbase
>    it uses hard coded addresses if the second register value is  
> missing
>
> Signed-off-by: John Rigby <jrigby@freescale.com>
> ---
> .../powerpc/dts-bindings/fsl/83xx-512x-pci.txt     |   40 +++++++++++ 
> +++
> arch/powerpc/boot/dts/mpc8313erdb.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8315erdb.dts              |    3 +-
> arch/powerpc/boot/dts/mpc832x_mds.dts              |    3 +-
> arch/powerpc/boot/dts/mpc832x_rdb.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8349emitx.dts             |    6 ++-
> arch/powerpc/boot/dts/mpc8349emitxgp.dts           |    3 +-
> arch/powerpc/boot/dts/mpc834x_mds.dts              |    6 ++-
> arch/powerpc/boot/dts/mpc836x_mds.dts              |    3 +-
> arch/powerpc/boot/dts/mpc836x_rdk.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8377_mds.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8377_rdb.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8378_mds.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8378_rdb.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8379_mds.dts              |    3 +-
> arch/powerpc/boot/dts/mpc8379_rdb.dts              |    3 +-
> arch/powerpc/boot/dts/sbc8349.dts                  |    3 +-
> arch/powerpc/sysdev/fsl_pci.c                      |   54 +++++++++++ 
> ++-------
> 18 files changed, 111 insertions(+), 37 deletions(-)
> create mode 100644 Documentation/powerpc/dts-bindings/fsl/83xx-512x- 
> pci.txt

applied

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-07 19:00 [PATCH 0/3] MPC5121 add pci support John Rigby
  2008-10-07 19:00 ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge John Rigby
  2008-10-08  6:20 ` [PATCH 0/3] MPC5121 add pci support Kumar Gala
@ 2008-10-08 15:29 ` Matt Sealey
  2008-10-08 15:31   ` Grant Likely
  2 siblings, 1 reply; 17+ messages in thread
From: Matt Sealey @ 2008-10-08 15:29 UTC (permalink / raw)
  To: John Rigby; +Cc: linuxppc-dev

If this patchset is okay with everyone, is it possible that it could
be rushed into 2.6.27 before it hits rc10 or release? :/

-- 
Matt Sealey <matt@genesi-usa.com>
Genesi, Manager, Developer Relations

John Rigby wrote:
> The following three patches add pci support for MPC5121
> These got no NACKs back in August but they were not picked up
> by anyone either.
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-08 15:29 ` Matt Sealey
@ 2008-10-08 15:31   ` Grant Likely
  2008-10-08 18:51     ` Matt Sealey
  0 siblings, 1 reply; 17+ messages in thread
From: Grant Likely @ 2008-10-08 15:31 UTC (permalink / raw)
  To: Matt Sealey; +Cc: linuxppc-dev, John Rigby

On Wed, Oct 8, 2008 at 9:29 AM, Matt Sealey <matt@genesi-usa.com> wrote:
> If this patchset is okay with everyone, is it possible that it could
> be rushed into 2.6.27 before it hits rc10 or release? :/

no

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-08  6:20 ` [PATCH 0/3] MPC5121 add pci support Kumar Gala
@ 2008-10-08 16:14   ` Grant Likely
  2008-10-08 18:02     ` Kumar Gala
  0 siblings, 1 reply; 17+ messages in thread
From: Grant Likely @ 2008-10-08 16:14 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev, John Rigby

On Wed, Oct 8, 2008 at 12:20 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
>
> On Oct 7, 2008, at 2:00 PM, John Rigby wrote:
>
>> The following three patches add pci support for MPC5121
>> These got no NACKs back in August but they were not picked up
>> by anyone either.
>
> I'll look at picking up patches 1/3 and 3/3.  I'll leave 2/3 to Grant.

Kumar, since both 1/3 and 2/3 touch fsl_pci.c, can you please pick up
2/3?  It won't conflict with anything that I'm pushing.  I'll post my
ack-by line.

g.

>
> - k
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>



-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-08 16:14   ` Grant Likely
@ 2008-10-08 18:02     ` Kumar Gala
  0 siblings, 0 replies; 17+ messages in thread
From: Kumar Gala @ 2008-10-08 18:02 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev, John Rigby


On Oct 8, 2008, at 11:14 AM, Grant Likely wrote:

> On Wed, Oct 8, 2008 at 12:20 AM, Kumar Gala  
> <galak@kernel.crashing.org> wrote:
>>
>> On Oct 7, 2008, at 2:00 PM, John Rigby wrote:
>>
>>> The following three patches add pci support for MPC5121
>>> These got no NACKs back in August but they were not picked up
>>> by anyone either.
>>
>> I'll look at picking up patches 1/3 and 3/3.  I'll leave 2/3 to  
>> Grant.
>
> Kumar, since both 1/3 and 2/3 touch fsl_pci.c, can you please pick up
> 2/3?  It won't conflict with anything that I'm pushing.  I'll post my
> ack-by line.

will do.

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-08 15:31   ` Grant Likely
@ 2008-10-08 18:51     ` Matt Sealey
  2008-10-08 18:56       ` Kumar Gala
  0 siblings, 1 reply; 17+ messages in thread
From: Matt Sealey @ 2008-10-08 18:51 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev, John Rigby


Grant Likely wrote:
> On Wed, Oct 8, 2008 at 9:29 AM, Matt Sealey <matt@genesi-usa.com> wrote:
>> If this patchset is okay with everyone, is it possible that it could
>> be rushed into 2.6.27 before it hits rc10 or release? :/
> 
> no

Shucks :(

At least it'll patch cleanly against 2.6.27 though right? It doesn't look
very intrusive..

-- 
Matt Sealey <matt@genesi-usa.com>
Genesi, Manager, Developer Relations

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/3] MPC5121 add pci support
  2008-10-08 18:51     ` Matt Sealey
@ 2008-10-08 18:56       ` Kumar Gala
  0 siblings, 0 replies; 17+ messages in thread
From: Kumar Gala @ 2008-10-08 18:56 UTC (permalink / raw)
  To: Matt Sealey; +Cc: linuxppc-dev, John Rigby


On Oct 8, 2008, at 1:51 PM, Matt Sealey wrote:

>
> Grant Likely wrote:
>> On Wed, Oct 8, 2008 at 9:29 AM, Matt Sealey <matt@genesi-usa.com>  
>> wrote:
>>> If this patchset is okay with everyone, is it possible that it could
>>> be rushed into 2.6.27 before it hits rc10 or release? :/
>> no
>
> Shucks :(
>
> At least it'll patch cleanly against 2.6.27 though right? It doesn't  
> look
> very intrusive..

It should patch cleanly against 2.6.27.. A few simple git cherry-picks  
will get you what you want.

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/3] powerpc: 5121: Add PCI support.
  2008-10-08 16:15   ` Grant Likely
@ 2008-10-10  3:42     ` Kumar Gala
  0 siblings, 0 replies; 17+ messages in thread
From: Kumar Gala @ 2008-10-10  3:42 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev list, John Rigby


On Oct 8, 2008, at 11:15 AM, Grant Likely wrote:

> On Wed, Oct 8, 2008 at 6:38 AM, Kumar Gala  
> <galak@kernel.crashing.org> wrote:
>>
>> On Oct 7, 2008, at 4:13 PM, John Rigby wrote:
>>
>>> 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>
>>> ---
>>> arch/powerpc/boot/dts/mpc5121ads.dts      |    3 ++-
>>> arch/powerpc/platforms/512x/Kconfig       |    2 ++
>>> arch/powerpc/platforms/512x/mpc5121_ads.c |   10 ++++++++++
>>> arch/powerpc/sysdev/fsl_pci.c             |    4 ++--
>>> 4 files changed, 16 insertions(+), 3 deletions(-)
>>
>> Acked-by: Kumar Gala <galak@kernel.crashing.org>
> Acked-by: Grant Likely <grant.likely@secretlab.ca>

applied

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/3] powerpc: 5121: Add PCI support.
  2008-10-08 12:38 ` Kumar Gala
@ 2008-10-08 16:15   ` Grant Likely
  2008-10-10  3:42     ` Kumar Gala
  0 siblings, 1 reply; 17+ messages in thread
From: Grant Likely @ 2008-10-08 16:15 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev list, John Rigby

On Wed, Oct 8, 2008 at 6:38 AM, Kumar Gala <galak@kernel.crashing.org> wrote:
>
> On Oct 7, 2008, at 4:13 PM, John Rigby wrote:
>
>> 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>
>> ---
>> arch/powerpc/boot/dts/mpc5121ads.dts      |    3 ++-
>> arch/powerpc/platforms/512x/Kconfig       |    2 ++
>> arch/powerpc/platforms/512x/mpc5121_ads.c |   10 ++++++++++
>> arch/powerpc/sysdev/fsl_pci.c             |    4 ++--
>> 4 files changed, 16 insertions(+), 3 deletions(-)
>
> Acked-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/3] powerpc: 5121: Add PCI support.
  2008-10-07 21:13 [PATCH 2/3] powerpc: 5121: Add PCI support John Rigby
@ 2008-10-08 12:38 ` Kumar Gala
  2008-10-08 16:15   ` Grant Likely
  0 siblings, 1 reply; 17+ messages in thread
From: Kumar Gala @ 2008-10-08 12:38 UTC (permalink / raw)
  To: John Rigby; +Cc: linuxppc-dev list


On Oct 7, 2008, at 4:13 PM, John Rigby wrote:

> 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>
> ---
> arch/powerpc/boot/dts/mpc5121ads.dts      |    3 ++-
> arch/powerpc/platforms/512x/Kconfig       |    2 ++
> arch/powerpc/platforms/512x/mpc5121_ads.c |   10 ++++++++++
> arch/powerpc/sysdev/fsl_pci.c             |    4 ++--
> 4 files changed, 16 insertions(+), 3 deletions(-)

Acked-by: Kumar Gala <galak@kernel.crashing.org>

- k

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 2/3] powerpc: 5121: Add PCI support.
@ 2008-10-07 21:13 John Rigby
  2008-10-08 12:38 ` Kumar Gala
  0 siblings, 1 reply; 17+ messages in thread
From: John Rigby @ 2008-10-07 21:13 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: John Rigby

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>
---
 arch/powerpc/boot/dts/mpc5121ads.dts      |    3 ++-
 arch/powerpc/platforms/512x/Kconfig       |    2 ++
 arch/powerpc/platforms/512x/mpc5121_ads.c |   10 ++++++++++
 arch/powerpc/sysdev/fsl_pci.c             |    4 ++--
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/dts/mpc5121ads.dts b/arch/powerpc/boot/dts/mpc5121ads.dts
index 1f9036c..c2b8dbf 100644
--- a/arch/powerpc/boot/dts/mpc5121ads.dts
+++ b/arch/powerpc/boot/dts/mpc5121ads.dts
@@ -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";
 	};
diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig
index c62f893..326852c 100644
--- a/arch/powerpc/platforms/512x/Kconfig
+++ b/arch/powerpc/platforms/512x/Kconfig
@@ -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
diff --git a/arch/powerpc/platforms/512x/mpc5121_ads.c b/arch/powerpc/platforms/512x/mpc5121_ads.c
index 5ebf693..441abc4 100644
--- a/arch/powerpc/platforms/512x/mpc5121_ads.c
+++ b/arch/powerpc/platforms/512x/mpc5121_ads.c
@@ -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)
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index a3f4aba..5b264eb 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -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);
-- 
1.5.6.2.255.gbed62

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2008-10-10  3:42 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-07 19:00 [PATCH 0/3] MPC5121 add pci support John Rigby
2008-10-07 19:00 ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge John Rigby
2008-10-07 19:00   ` [PATCH 2/3] powerpc: 5121: Add PCI support John Rigby
2008-10-07 19:00     ` [PATCH 3/3] powerpc: pci: 5121: Hide pci bridge John Rigby
2008-10-08 12:30       ` Kumar Gala
2008-10-08 12:35   ` [PATCH 1/3] powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge Kumar Gala
2008-10-08  6:20 ` [PATCH 0/3] MPC5121 add pci support Kumar Gala
2008-10-08 16:14   ` Grant Likely
2008-10-08 18:02     ` Kumar Gala
2008-10-08 15:29 ` Matt Sealey
2008-10-08 15:31   ` Grant Likely
2008-10-08 18:51     ` Matt Sealey
2008-10-08 18:56       ` Kumar Gala
2008-10-07 21:13 [PATCH 2/3] powerpc: 5121: Add PCI support John Rigby
2008-10-08 12:38 ` Kumar Gala
2008-10-08 16:15   ` Grant Likely
2008-10-10  3:42     ` Kumar Gala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).