aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mpc83xx/patches-2.6.33/025-rb600-dts-qe-boot-fixups.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mpc83xx/patches-2.6.33/025-rb600-dts-qe-boot-fixups.patch')
-rw-r--r--target/linux/mpc83xx/patches-2.6.33/025-rb600-dts-qe-boot-fixups.patch136
1 files changed, 136 insertions, 0 deletions
diff --git a/target/linux/mpc83xx/patches-2.6.33/025-rb600-dts-qe-boot-fixups.patch b/target/linux/mpc83xx/patches-2.6.33/025-rb600-dts-qe-boot-fixups.patch
new file mode 100644
index 0000000000..fc7c4dae93
--- /dev/null
+++ b/target/linux/mpc83xx/patches-2.6.33/025-rb600-dts-qe-boot-fixups.patch
@@ -0,0 +1,136 @@
+--- a/arch/powerpc/boot/dts/rb600.dts
++++ b/arch/powerpc/boot/dts/rb600.dts
+@@ -20,9 +20,11 @@
+ aliases {
+ ethernet0 = &enet0;
+ ethernet1 = &enet1;
++ pci0 = &pci0;
+ };
+
+ chosen {
++ bootargs = "console=ttyS0,115200 board=mpc8323 rootfstype=squashfs,yaffs2,jffs2 root=/dev/mtdblock1 boot=1";
+ linux,stdout-path = "/soc8343@e0000000/serial@4500";
+ };
+
+@@ -150,6 +152,45 @@
+ device_type = "gpio";
+ };
+
++ dma@82a8 {
++ #address-cells = <1>;
++ #size-cells = <1>;
++ compatible = "fsl,mpc8349-dma", "fsl,elo-dma";
++ reg = <0x82a8 4>;
++ ranges = <0 0x8100 0x1a8>;
++ interrupt-parent = <&ipic>;
++ interrupts = <71 8>;
++ cell-index = <0>;
++ dma-channel@0 {
++ compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
++ reg = <0 0x80>;
++ cell-index = <0>;
++ interrupt-parent = <&ipic>;
++ interrupts = <71 8>;
++ };
++ dma-channel@80 {
++ compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
++ reg = <0x80 0x80>;
++ cell-index = <1>;
++ interrupt-parent = <&ipic>;
++ interrupts = <71 8>;
++ };
++ dma-channel@100 {
++ compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
++ reg = <0x100 0x80>;
++ cell-index = <2>;
++ interrupt-parent = <&ipic>;
++ interrupts = <71 8>;
++ };
++ dma-channel@180 {
++ compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
++ reg = <0x180 0x28>;
++ cell-index = <3>;
++ interrupt-parent = <&ipic>;
++ interrupts = <71 8>;
++ };
++ };
++
+ enet0: ethernet@25000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+--- a/arch/powerpc/boot/rb600.c 2010-04-01 07:46:37.000000000 +0300
++++ b/arch/powerpc/boot/rb600.c 2010-04-01 08:04:03.000000000 +0300
+@@ -45,14 +45,6 @@
+ clock = fdt_getprop(fw_dtb, node, "clock-frequency", &size);
+ dt_fixup_cpu_clocks(*clock, *timebase, 0);
+
+- /* Fixup chosen
+- * The bootloader reads the kernelparm segment and adds the content to
+- * bootargs. This is needed to specify root and other boot flags.
+- */
+- chosen = finddevice("/chosen");
+- node = fdt_path_offset(fw_dtb, "/chosen");
+- bootargs = fdt_getprop(fw_dtb, node, "bootargs", &size);
+- setprop_str(chosen, "bootargs", bootargs);
+ }
+
+ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+--- a/arch/powerpc/platforms/83xx/rbppc.c 2010-04-01 09:04:09.000000000 +0300
++++ b/arch/powerpc/platforms/83xx/rbppc.c 2010-04-01 09:02:00.000000000 +0300
+@@ -56,6 +56,8 @@
+ static int beeper_irq;
+ static unsigned beeper_gpio_pin[2];
+
++int rb333model = 0;
++
+ irqreturn_t rbppc_timer_irq(int irq, void *ptr)
+ {
+ static int toggle = 0;
+@@ -120,6 +122,8 @@
+ }
+ #endif
+
++if (rb333model) {
++
+ #ifdef CONFIG_QUICC_ENGINE
+ qe_reset();
+
+@@ -132,6 +136,8 @@
+ }
+ #endif
+
++} /* RB333 */
++
+ }
+
+ void __init rbppc_init_IRQ(void)
+@@ -145,6 +151,8 @@
+ of_node_put(np);
+ }
+
++if (rb333model) {
++
+ #ifdef CONFIG_QUICC_ENGINE
+ np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
+ if (!np) {
+@@ -156,6 +164,8 @@
+ of_node_put(np);
+ #endif /* CONFIG_QUICC_ENGINE */
+
++} /* RB333 */
++
+ }
+
+ static int __init rbppc_probe(void)
+@@ -167,8 +177,10 @@
+ if (!model)
+ return 0;
+
+- if (strcmp(model, "RB333") == 0)
++ if (strcmp(model, "RB333") == 0) {
++ rb333model = 1;
+ return 1;
++ }
+
+ if (strcmp(model, "RB600") == 0)
+ return 1;