--- 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;