fc7c4dae931e0772de56903d4a68629bb2729245
[openwrt.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 2010-04-01 07:46:37.000000000 +0300
62 +++ b/arch/powerpc/boot/rb600.c 2010-04-01 08:04:03.000000000 +0300
63 @@ -45,14 +45,6 @@
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       2010-04-01 09:04:09.000000000 +0300
79 +++ b/arch/powerpc/platforms/83xx/rbppc.c       2010-04-01 09:02:00.000000000 +0300
80 @@ -56,6 +56,8 @@
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 @@
90         }
91  #endif
92  
93 +if (rb333model) {
94 +
95  #ifdef CONFIG_QUICC_ENGINE
96          qe_reset();
97  
98 @@ -132,6 +136,8 @@
99          }
100  #endif 
101  
102 +}  /* RB333 */
103 +
104  }
105  
106  void __init rbppc_init_IRQ(void)
107 @@ -145,6 +151,8 @@
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 @@
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 @@
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;