summaryrefslogtreecommitdiffstats
path: root/target/linux/ppc44x/patches
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ppc44x/patches')
-rw-r--r--target/linux/ppc44x/patches/001-taishan_openwrt_flashmap.patch5
-rw-r--r--target/linux/ppc44x/patches/003-canyonlands_openwrt_flashmap.patch31
-rw-r--r--target/linux/ppc44x/patches/004-canyonlands_dts_sync.patch108
-rw-r--r--target/linux/ppc44x/patches/005-canyonlands_remove_nonexisting_uarts.patch31
-rw-r--r--target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch9
5 files changed, 182 insertions, 2 deletions
diff --git a/target/linux/ppc44x/patches/001-taishan_openwrt_flashmap.patch b/target/linux/ppc44x/patches/001-taishan_openwrt_flashmap.patch
index be4270068..b0201fbc0 100644
--- a/target/linux/ppc44x/patches/001-taishan_openwrt_flashmap.patch
+++ b/target/linux/ppc44x/patches/001-taishan_openwrt_flashmap.patch
@@ -8,9 +8,10 @@
+ reg = <0x0 0x200000>;
};
- partition@180000 {
-+ partition@200000 {
- label = "root";
+- label = "root";
- reg = <0x180000 0x200000>;
++ partition@200000 {
++ label = "rootfs";
+ reg = <0x200000 0x3c00000>;
};
- partition@380000 {
diff --git a/target/linux/ppc44x/patches/003-canyonlands_openwrt_flashmap.patch b/target/linux/ppc44x/patches/003-canyonlands_openwrt_flashmap.patch
new file mode 100644
index 000000000..83c0dd292
--- /dev/null
+++ b/target/linux/ppc44x/patches/003-canyonlands_openwrt_flashmap.patch
@@ -0,0 +1,31 @@
+--- a/arch/powerpc/boot/dts/canyonlands.dts
++++ b/arch/powerpc/boot/dts/canyonlands.dts
+@@ -155,24 +155,12 @@
+ #address-cells = <1>;
+ #size-cells = <1>;
+ partition@0 {
+- label = "kernel";
+- reg = <0x00000000 0x001e0000>;
+- };
+- partition@1e0000 {
+- label = "dtb";
+- reg = <0x001e0000 0x00020000>;
++ label = "kernel+dtb";
++ reg = <0x00000000 0x00200000>;
+ };
+ partition@200000 {
+- label = "ramdisk";
+- reg = <0x00200000 0x01400000>;
+- };
+- partition@1600000 {
+- label = "jffs2";
+- reg = <0x01600000 0x00400000>;
+- };
+- partition@1a00000 {
+- label = "user";
+- reg = <0x01a00000 0x02560000>;
++ label = "rootfs";
++ reg = <0x00200000 0x03d60000>;
+ };
+ partition@3f60000 {
+ label = "env";
diff --git a/target/linux/ppc44x/patches/004-canyonlands_dts_sync.patch b/target/linux/ppc44x/patches/004-canyonlands_dts_sync.patch
new file mode 100644
index 000000000..83e6c74e1
--- /dev/null
+++ b/target/linux/ppc44x/patches/004-canyonlands_dts_sync.patch
@@ -0,0 +1,108 @@
+--- a/arch/powerpc/boot/dts/canyonlands.dts
++++ b/arch/powerpc/boot/dts/canyonlands.dts
+@@ -40,6 +40,7 @@
+ d-cache-size = <32768>;
+ dcr-controller;
+ dcr-access-method = "native";
++ next-level-cache = <&L2C0>;
+ };
+ };
+
+@@ -104,6 +105,16 @@
+ dcr-reg = <0x00c 0x002>;
+ };
+
++ L2C0: l2c {
++ compatible = "ibm,l2-cache-460ex", "ibm,l2-cache";
++ dcr-reg = <0x020 0x008 /* Internal SRAM DCR's */
++ 0x030 0x008>; /* L2 cache DCR's */
++ cache-line-size = <32>; /* 32 bytes */
++ cache-size = <262144>; /* L2, 256K */
++ interrupt-parent = <&UIC1>;
++ interrupts = <11 1>;
++ };
++
+ plb {
+ compatible = "ibm,plb-460ex", "ibm,plb4";
+ #address-cells = <2>;
+@@ -131,6 +142,43 @@
+ /*RXDE*/ 0x5 0x4>;
+ };
+
++ USB0: ehci@bffd0400 {
++ compatible = "ibm,usb-ehci-460ex", "usb-ehci";
++ interrupt-parent = <&UIC2>;
++ interrupts = <0x1d 4>;
++ reg = <4 0xbffd0400 0x90 4 0xbffd0490 0x70>;
++ };
++
++ USB1: usb@bffd0000 {
++ compatible = "ohci-le";
++ reg = <4 0xbffd0000 0x60>;
++ interrupt-parent = <&UIC2>;
++ interrupts = <0x1e 4>;
++ };
++
++ USBOTG0: usbotg@bff80000 {
++ compatible = "amcc,usb-otg-460ex";
++ reg = <4 0xbff80000 0x10000>;
++ interrupt-parent = <&USBOTG0>;
++ interrupts = <0 1 2>;
++ #interrupt-cells = <1>;
++ #address-cells = <0>;
++ #size-cells = <0>;
++ interrupt-map = </* USB-OTG */ 0 &UIC2 0x1c 4
++ /* HIGH-POWER */ 1 &UIC1 0x1a 8
++ /* DMA */ 2 &UIC0 0xc 4>;
++ interrupt-map-mask = <0xffffffff>;
++ };
++
++ SATA0: sata@bffd1000 {
++ compatible = "amcc,sata-460ex";
++ reg = <4 0xbffd1000 0x800 /* SATA */
++ 4 0xbffd0800 0x400>; /* AHBDMA */
++ interrupt-parent = <&UIC3>;
++ interrupts = <0 4 /* SATA */
++ 5 4>; /* AHBDMA */
++ };
++
+ POB0: opb {
+ compatible = "ibm,opb-460ex", "ibm,opb";
+ #address-cells = <1>;
+@@ -222,6 +282,12 @@
+ reg = <0xef600700 0x00000014>;
+ interrupt-parent = <&UIC0>;
+ interrupts = <0x2 0x4>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ rtc@68 {
++ compatible = "stm,m41t80";
++ reg = <68>;
++ };
+ };
+
+ IIC1: i2c@ef600800 {
+@@ -331,6 +397,7 @@
+ * later cannot be changed
+ */
+ ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000
++ 0x02000000 0x00000000 0x00000000 0x0000000c 0x0ee00000 0x00000000 0x00100000
+ 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>;
+
+ /* Inbound 2GB range starting at 0 */
+@@ -361,6 +428,7 @@
+ * later cannot be changed
+ */
+ ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
++ 0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000
+ 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
+
+ /* Inbound 2GB range starting at 0 */
+@@ -402,6 +470,7 @@
+ * later cannot be changed
+ */
+ ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000
++ 0x02000000 0x00000000 0x00000000 0x0000000f 0x00100000 0x00000000 0x00100000
+ 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>;
+
+ /* Inbound 2GB range starting at 0 */
diff --git a/target/linux/ppc44x/patches/005-canyonlands_remove_nonexisting_uarts.patch b/target/linux/ppc44x/patches/005-canyonlands_remove_nonexisting_uarts.patch
new file mode 100644
index 000000000..e05278cf2
--- /dev/null
+++ b/target/linux/ppc44x/patches/005-canyonlands_remove_nonexisting_uarts.patch
@@ -0,0 +1,31 @@
+--- a/arch/powerpc/boot/dts/canyonlands.dts
++++ b/arch/powerpc/boot/dts/canyonlands.dts
+@@ -195,28 +195,6 @@
+ interrupts = <0x1 0x4>;
+ };
+
+- UART2: serial@ef600500 {
+- device_type = "serial";
+- compatible = "ns16550";
+- reg = <0xef600500 0x00000008>;
+- virtual-reg = <0xef600500>;
+- clock-frequency = <0>; /* Filled in by U-Boot */
+- current-speed = <0>; /* Filled in by U-Boot */
+- interrupt-parent = <&UIC1>;
+- interrupts = <0x1d 0x4>;
+- };
+-
+- UART3: serial@ef600600 {
+- device_type = "serial";
+- compatible = "ns16550";
+- reg = <0xef600600 0x00000008>;
+- virtual-reg = <0xef600600>;
+- clock-frequency = <0>; /* Filled in by U-Boot */
+- current-speed = <0>; /* Filled in by U-Boot */
+- interrupt-parent = <&UIC1>;
+- interrupts = <0x1e 0x4>;
+- };
+-
+ IIC0: i2c@ef600700 {
+ compatible = "ibm,iic-460ex", "ibm,iic";
+ reg = <0xef600700 0x00000014>;
diff --git a/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch b/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch
new file mode 100644
index 000000000..3ab51d8db
--- /dev/null
+++ b/target/linux/ppc44x/patches/100-openwrt_dts_cmdline.patch
@@ -0,0 +1,9 @@
+--- a/arch/powerpc/boot/dts/taishan.dts 2009-01-18 19:45:37.000000000 +0100
++++ b/arch/powerpc/boot/dts/taishan.dts 2009-01-29 18:55:40.000000000 +0100
+@@ -423,5 +423,6 @@
+
+ chosen {
+ linux,stdout-path = "/plb/opb/serial@40000300";
++ bootargs = "console=ttyS1,115200 root=/dev/mtdblock1 rootfstype=squashfs noinitrd init=/etc/preinit";
+ };
+ };