diff options
author | Scott Wood <scottwood@freescale.com> | 2008-01-17 17:37:51 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-01-23 20:34:46 -0500 |
commit | ff5ac76088cd317b6f534cbb774b92b26e508b34 (patch) | |
tree | 657e686211f4314a6f463ed142f8c306e08e56d0 /arch | |
parent | 0dde1a1df9ab0615ed08558fb7144e7739e9f565 (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.dts | 39 | ||||
-rw-r--r-- | arch/powerpc/platforms/83xx/mpc8313_rdb.c | 13 |
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 | ||
79 | static struct of_device_id __initdata of_bus_ids[] = { | ||
80 | { .compatible = "simple-bus" }, | ||
81 | {}, | ||
82 | }; | ||
83 | |||
84 | static int __init declare_of_platform_devices(void) | ||
85 | { | ||
86 | of_platform_bus_probe(NULL, of_bus_ids, NULL); | ||
87 | return 0; | ||
88 | } | ||
89 | machine_device_initcall(mpc8313_rdb, declare_of_platform_devices); | ||
90 | |||
78 | define_machine(mpc8313_rdb) { | 91 | define_machine(mpc8313_rdb) { |
79 | .name = "MPC8313 RDB", | 92 | .name = "MPC8313 RDB", |
80 | .probe = mpc8313_rdb_probe, | 93 | .probe = mpc8313_rdb_probe, |