aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2008-01-17 17:37:51 -0500
committerKumar Gala <galak@kernel.crashing.org>2008-01-23 20:34:46 -0500
commitff5ac76088cd317b6f534cbb774b92b26e508b34 (patch)
tree657e686211f4314a6f463ed142f8c306e08e56d0 /arch
parent0dde1a1df9ab0615ed08558fb7144e7739e9f565 (diff)
[POWERPC] 83xx: MPC8313e RBD add NAND to device tree
Add NAND to device tree, and call of_platform_bus_probe(). Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/boot/dts/mpc8313erdb.dts39
-rw-r--r--arch/powerpc/platforms/83xx/mpc8313_rdb.c13
2 files changed, 52 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/mpc8313erdb.dts b/arch/powerpc/boot/dts/mpc8313erdb.dts
index 6e8c6066de50..396710deccb1 100644
--- a/arch/powerpc/boot/dts/mpc8313erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8313erdb.dts
@@ -45,10 +45,49 @@
45 reg = <00000000 08000000>; // 128MB at 0 45 reg = <00000000 08000000>; // 128MB at 0
46 }; 46 };
47 47
48 localbus@e0005000 {
49 #address-cells = <2>;
50 #size-cells = <1>;
51 compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";
52 reg = <e0005000 1000>;
53 interrupts = <d#77 8>;
54 interrupt-parent = <&ipic>;
55
56 // CS0 and CS1 are swapped when
57 // booting from nand, but the
58 // addresses are the same.
59 ranges = <0 0 fe000000 00800000
60 1 0 e2800000 00008000
61 2 0 f0000000 00020000
62 3 0 fa000000 00008000>;
63
64 nand@1,0 {
65 #address-cells = <1>;
66 #size-cells = <1>;
67 compatible = "fsl,mpc8313-fcm-nand",
68 "fsl,elbc-fcm-nand";
69 reg = <1 0 2000>;
70
71 u-boot@0 {
72 reg = <0 100000>;
73 read-only;
74 };
75
76 kernel@100000 {
77 reg = <100000 300000>;
78 };
79
80 fs@400000 {
81 reg = <400000 1c00000>;
82 };
83 };
84 };
85
48 soc8313@e0000000 { 86 soc8313@e0000000 {
49 #address-cells = <1>; 87 #address-cells = <1>;
50 #size-cells = <1>; 88 #size-cells = <1>;
51 device_type = "soc"; 89 device_type = "soc";
90 compatible = "simple-bus";
52 ranges = <0 e0000000 00100000>; 91 ranges = <0 e0000000 00100000>;
53 reg = <e0000000 00000200>; 92 reg = <e0000000 00000200>;
54 bus-frequency = <0>; 93 bus-frequency = <0>;
diff --git a/arch/powerpc/platforms/83xx/mpc8313_rdb.c b/arch/powerpc/platforms/83xx/mpc8313_rdb.c
index 6fb82993967c..4996b7dfdf1d 100644
--- a/arch/powerpc/platforms/83xx/mpc8313_rdb.c
+++ b/arch/powerpc/platforms/83xx/mpc8313_rdb.c
@@ -14,6 +14,7 @@
14 */ 14 */
15 15
16#include <linux/pci.h> 16#include <linux/pci.h>
17#include <linux/of_platform.h>
17 18
18#include <asm/time.h> 19#include <asm/time.h>
19#include <asm/ipic.h> 20#include <asm/ipic.h>
@@ -75,6 +76,18 @@ static int __init mpc8313_rdb_probe(void)
75 return of_flat_dt_is_compatible(root, "MPC8313ERDB"); 76 return of_flat_dt_is_compatible(root, "MPC8313ERDB");
76} 77}
77 78
79static struct of_device_id __initdata of_bus_ids[] = {
80 { .compatible = "simple-bus" },
81 {},
82};
83
84static int __init declare_of_platform_devices(void)
85{
86 of_platform_bus_probe(NULL, of_bus_ids, NULL);
87 return 0;
88}
89machine_device_initcall(mpc8313_rdb, declare_of_platform_devices);
90
78define_machine(mpc8313_rdb) { 91define_machine(mpc8313_rdb) {
79 .name = "MPC8313 RDB", 92 .name = "MPC8313 RDB",
80 .probe = mpc8313_rdb_probe, 93 .probe = mpc8313_rdb_probe,