From: Scott Wood Date: Thu, 17 Jan 2008 22:37:51 +0000 (-0600) Subject: [POWERPC] 83xx: MPC8313e RBD add NAND to device tree X-Git-Tag: v2.6.25-rc1~1131^2~99^2~14 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=ff5ac76088cd317b6f534cbb774b92b26e508b34 [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 Signed-off-by: Kumar Gala --- 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 @@ reg = <00000000 08000000>; // 128MB at 0 }; + localbus@e0005000 { + #address-cells = <2>; + #size-cells = <1>; + compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus"; + reg = ; + interrupts = ; + interrupt-parent = <&ipic>; + + // CS0 and CS1 are swapped when + // booting from nand, but the + // addresses are the same. + ranges = <0 0 fe000000 00800000 + 1 0 e2800000 00008000 + 2 0 f0000000 00020000 + 3 0 fa000000 00008000>; + + nand@1,0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "fsl,mpc8313-fcm-nand", + "fsl,elbc-fcm-nand"; + reg = <1 0 2000>; + + u-boot@0 { + reg = <0 100000>; + read-only; + }; + + kernel@100000 { + reg = <100000 300000>; + }; + + fs@400000 { + reg = <400000 1c00000>; + }; + }; + }; + soc8313@e0000000 { #address-cells = <1>; #size-cells = <1>; device_type = "soc"; + compatible = "simple-bus"; ranges = <0 e0000000 00100000>; reg = ; 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 @@ */ #include +#include #include #include @@ -75,6 +76,18 @@ static int __init mpc8313_rdb_probe(void) return of_flat_dt_is_compatible(root, "MPC8313ERDB"); } +static struct of_device_id __initdata of_bus_ids[] = { + { .compatible = "simple-bus" }, + {}, +}; + +static int __init declare_of_platform_devices(void) +{ + of_platform_bus_probe(NULL, of_bus_ids, NULL); + return 0; +} +machine_device_initcall(mpc8313_rdb, declare_of_platform_devices); + define_machine(mpc8313_rdb) { .name = "MPC8313 RDB", .probe = mpc8313_rdb_probe,