mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-09-12 21:08:58 +03:00
137 lines
4.2 KiB
Diff
137 lines
4.2 KiB
Diff
|
--- 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;
|