diff options
Diffstat (limited to 'target/linux/mpc83xx/patches-2.6.36/025-rb600-dts-qe-boot-fixups.patch')
-rw-r--r-- | target/linux/mpc83xx/patches-2.6.36/025-rb600-dts-qe-boot-fixups.patch | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/target/linux/mpc83xx/patches-2.6.36/025-rb600-dts-qe-boot-fixups.patch b/target/linux/mpc83xx/patches-2.6.36/025-rb600-dts-qe-boot-fixups.patch new file mode 100644 index 0000000000..2f6fdad547 --- /dev/null +++ b/target/linux/mpc83xx/patches-2.6.36/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 ++++ b/arch/powerpc/boot/rb600.c +@@ -45,14 +45,6 @@ static void rb600_fixups(void) + 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 ++++ b/arch/powerpc/platforms/83xx/rbppc.c +@@ -56,6 +56,8 @@ static void *gtm; + 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 @@ static void __init rbppc_setup_arch(void + } + #endif + ++if (rb333model) { ++ + #ifdef CONFIG_QUICC_ENGINE + qe_reset(); + +@@ -132,6 +136,8 @@ static void __init rbppc_setup_arch(void + } + #endif + ++} /* RB333 */ ++ + } + + void __init rbppc_init_IRQ(void) +@@ -145,6 +151,8 @@ void __init rbppc_init_IRQ(void) + 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 @@ void __init rbppc_init_IRQ(void) + of_node_put(np); + #endif /* CONFIG_QUICC_ENGINE */ + ++} /* RB333 */ ++ + } + + static int __init rbppc_probe(void) +@@ -167,8 +177,10 @@ static int __init rbppc_probe(void) + 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; |