6to4: support multiple internal networks, use state vars for radvd config
[openwrt/staging/florian.git] / target / linux / mpc83xx / patches-2.6.33 / 025-rb600-dts-qe-boot-fixups.patch
1 --- a/arch/powerpc/boot/dts/rb600.dts
2 +++ b/arch/powerpc/boot/dts/rb600.dts
3 @@ -20,9 +20,11 @@
4 aliases {
5 ethernet0 = &enet0;
6 ethernet1 = &enet1;
7 + pci0 = &pci0;
8 };
9
10 chosen {
11 + bootargs = "console=ttyS0,115200 board=mpc8323 rootfstype=squashfs,yaffs2,jffs2 root=/dev/mtdblock1 boot=1";
12 linux,stdout-path = "/soc8343@e0000000/serial@4500";
13 };
14
15 @@ -150,6 +152,45 @@
16 device_type = "gpio";
17 };
18
19 + dma@82a8 {
20 + #address-cells = <1>;
21 + #size-cells = <1>;
22 + compatible = "fsl,mpc8349-dma", "fsl,elo-dma";
23 + reg = <0x82a8 4>;
24 + ranges = <0 0x8100 0x1a8>;
25 + interrupt-parent = <&ipic>;
26 + interrupts = <71 8>;
27 + cell-index = <0>;
28 + dma-channel@0 {
29 + compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
30 + reg = <0 0x80>;
31 + cell-index = <0>;
32 + interrupt-parent = <&ipic>;
33 + interrupts = <71 8>;
34 + };
35 + dma-channel@80 {
36 + compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
37 + reg = <0x80 0x80>;
38 + cell-index = <1>;
39 + interrupt-parent = <&ipic>;
40 + interrupts = <71 8>;
41 + };
42 + dma-channel@100 {
43 + compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
44 + reg = <0x100 0x80>;
45 + cell-index = <2>;
46 + interrupt-parent = <&ipic>;
47 + interrupts = <71 8>;
48 + };
49 + dma-channel@180 {
50 + compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
51 + reg = <0x180 0x28>;
52 + cell-index = <3>;
53 + interrupt-parent = <&ipic>;
54 + interrupts = <71 8>;
55 + };
56 + };
57 +
58 enet0: ethernet@25000 {
59 #address-cells = <1>;
60 #size-cells = <1>;
61 --- a/arch/powerpc/boot/rb600.c
62 +++ b/arch/powerpc/boot/rb600.c
63 @@ -45,14 +45,6 @@ static void rb600_fixups(void)
64 clock = fdt_getprop(fw_dtb, node, "clock-frequency", &size);
65 dt_fixup_cpu_clocks(*clock, *timebase, 0);
66
67 - /* Fixup chosen
68 - * The bootloader reads the kernelparm segment and adds the content to
69 - * bootargs. This is needed to specify root and other boot flags.
70 - */
71 - chosen = finddevice("/chosen");
72 - node = fdt_path_offset(fw_dtb, "/chosen");
73 - bootargs = fdt_getprop(fw_dtb, node, "bootargs", &size);
74 - setprop_str(chosen, "bootargs", bootargs);
75 }
76
77 void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
78 --- a/arch/powerpc/platforms/83xx/rbppc.c
79 +++ b/arch/powerpc/platforms/83xx/rbppc.c
80 @@ -56,6 +56,8 @@ static void *gtm;
81 static int beeper_irq;
82 static unsigned beeper_gpio_pin[2];
83
84 +int rb333model = 0;
85 +
86 irqreturn_t rbppc_timer_irq(int irq, void *ptr)
87 {
88 static int toggle = 0;
89 @@ -120,6 +122,8 @@ static void __init rbppc_setup_arch(void
90 }
91 #endif
92
93 +if (rb333model) {
94 +
95 #ifdef CONFIG_QUICC_ENGINE
96 qe_reset();
97
98 @@ -132,6 +136,8 @@ static void __init rbppc_setup_arch(void
99 }
100 #endif
101
102 +} /* RB333 */
103 +
104 }
105
106 void __init rbppc_init_IRQ(void)
107 @@ -145,6 +151,8 @@ void __init rbppc_init_IRQ(void)
108 of_node_put(np);
109 }
110
111 +if (rb333model) {
112 +
113 #ifdef CONFIG_QUICC_ENGINE
114 np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
115 if (!np) {
116 @@ -156,6 +164,8 @@ void __init rbppc_init_IRQ(void)
117 of_node_put(np);
118 #endif /* CONFIG_QUICC_ENGINE */
119
120 +} /* RB333 */
121 +
122 }
123
124 static int __init rbppc_probe(void)
125 @@ -167,8 +177,10 @@ static int __init rbppc_probe(void)
126 if (!model)
127 return 0;
128
129 - if (strcmp(model, "RB333") == 0)
130 + if (strcmp(model, "RB333") == 0) {
131 + rb333model = 1;
132 return 1;
133 + }
134
135 if (strcmp(model, "RB600") == 0)
136 return 1;