mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
linux/mpc83xx: add preliminary 2.6.36 kernel support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23633 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user