summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-29 10:16:48 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-29 10:16:48 +0000
commit50841b8f24a56c5f920d58a64e407269954669dc (patch)
tree63e77e441f1c223e142ab77642fe75976c4b105f /target
parent14cabe8bc00a27d1cc9ac61b93557015abe2d89e (diff)
[ppc40x]: upgrade to 3.0 (magicbox ata and openrb usb is broken, but the current kernel didn't compile at all, so...)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27826 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/ppc40x/Makefile2
-rw-r--r--target/linux/ppc40x/patches/003-powerpc-add-EBC_BXCR-defines.patch4
-rw-r--r--target/linux/ppc40x/patches/004-magicbox.patch24
-rw-r--r--target/linux/ppc40x/patches/005-openrb.patch12
-rw-r--r--target/linux/ppc40x/patches/101-pata-magicbox-cf-driver.patch14
-rw-r--r--target/linux/ppc40x/patches/110-kilauea_openwrt_flashmap.patch12
-rw-r--r--target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch33
7 files changed, 44 insertions, 57 deletions
diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile
index a889c3492..59db6ef45 100644
--- a/target/linux/ppc40x/Makefile
+++ b/target/linux/ppc40x/Makefile
@@ -13,7 +13,7 @@ FEATURES:=squashfs
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
-LINUX_VERSION:=2.6.32.33
+LINUX_VERSION:=3.0
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/ppc40x/patches/003-powerpc-add-EBC_BXCR-defines.patch b/target/linux/ppc40x/patches/003-powerpc-add-EBC_BXCR-defines.patch
index ca70f7223..ebdaac8f4 100644
--- a/target/linux/ppc40x/patches/003-powerpc-add-EBC_BXCR-defines.patch
+++ b/target/linux/ppc40x/patches/003-powerpc-add-EBC_BXCR-defines.patch
@@ -1,6 +1,6 @@
--- a/arch/powerpc/boot/dcr.h
+++ b/arch/powerpc/boot/dcr.h
-@@ -49,6 +49,14 @@ static const unsigned long sdram_bxcr[]
+@@ -49,6 +49,14 @@ static const unsigned long sdram_bxcr[]
#define EBC_BXCR(n) (n)
#define EBC_BXCR_BAS 0xfff00000
#define EBC_BXCR_BS 0x000e0000
@@ -15,7 +15,7 @@
#define EBC_BXCR_BANK_SIZE(reg) \
(0x100000 << (((reg) & EBC_BXCR_BS) >> 17))
#define EBC_BXCR_BU 0x00018000
-@@ -57,6 +65,9 @@ static const unsigned long sdram_bxcr[]
+@@ -57,6 +65,9 @@ static const unsigned long sdram_bxcr[]
#define EBC_BXCR_BU_WO 0x00010000
#define EBC_BXCR_BU_RW 0x00018000
#define EBC_BXCR_BW 0x00006000
diff --git a/target/linux/ppc40x/patches/004-magicbox.patch b/target/linux/ppc40x/patches/004-magicbox.patch
index 78653afff..97de79c4e 100644
--- a/target/linux/ppc40x/patches/004-magicbox.patch
+++ b/target/linux/ppc40x/patches/004-magicbox.patch
@@ -28,6 +28,7 @@
+
+static void fixup_perwe(void)
+{
++
+#define DCRN_CPC0_PCI_BASE 0xf9
+
+ /* Turn on PerWE instead of PCIINT */
@@ -39,6 +40,7 @@
+
+static void fixup_cf_card(void)
+{
++
+#define CF_CS0_BASE 0xff100000
+#define CF_CS1_BASE 0xff200000
+
@@ -68,20 +70,18 @@
+ /* Magicbox v1 has only one ethernet, one serial and no
+ * CF slot -- detect it using it's fake enet1addr
+ */
-+ if ((bd.bi_enet1addr[0] == 0x00) &&
-+ (bd.bi_enet1addr[1] == 0x00) &&
-+ (bd.bi_enet1addr[2] == 0x02) &&
++ if ((bd.bi_enet1addr[2] == 0x02) &&
+ (bd.bi_enet1addr[3] == 0xfa) &&
+ (bd.bi_enet1addr[4] == 0xf0) &&
+ (bd.bi_enet1addr[5] == 0x80)) {
+ void *devp;
-+
+ devp = finddevice("/plb/opb/ethernet@ef600900");
+ del_node(devp);
+ devp = finddevice("/plb/opb/serial@ef600400");
+ del_node(devp);
+ devp = finddevice("/plb/ebc/cf_card@ff100000");
+ del_node(devp);
++
+ } else {
+ fixup_perwe();
+ fixup_cf_card();
@@ -395,19 +395,19 @@
$(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
+$(obj)/cuboot-magicbox.o: BOOTCFLAGS += -mcpu=405
$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
+ $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
$(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405
-
-@@ -76,7 +77,8 @@ src-plat := of.c cuboot-52xx.c cuboot-82
- cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
+@@ -79,7 +80,8 @@ src-plat := of.c cuboot-52xx.c cuboot-82
cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
-- cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c
-+ cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
+ cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
+- gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c
++ gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c \
+ cuboot-magicbox.c
src-boot := $(src-wlib) $(src-plat) empty.c
src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -194,6 +196,7 @@ image-$(CONFIG_EP405) += dtbImage.ep40
+@@ -198,6 +200,7 @@ image-$(CONFIG_EP405) += dtbImage.ep40
image-$(CONFIG_HOTFOOT) += cuImage.hotfoot
image-$(CONFIG_WALNUT) += treeImage.walnut
image-$(CONFIG_ACADIA) += cuImage.acadia
@@ -417,7 +417,7 @@
image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
-@@ -60,6 +60,16 @@ config KILAUEA
+@@ -62,6 +62,16 @@ config KILAUEA
help
This option enables support for the AMCC PPC405EX evaluation board.
@@ -436,7 +436,7 @@
depends on 40x
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
-@@ -55,7 +55,8 @@ static char *board[] __initdata = {
+@@ -55,7 +55,8 @@ static const char *board[] __initdata =
"amcc,haleakala",
"amcc,kilauea",
"amcc,makalu",
diff --git a/target/linux/ppc40x/patches/005-openrb.patch b/target/linux/ppc40x/patches/005-openrb.patch
index 638c81de5..ca998c67d 100644
--- a/target/linux/ppc40x/patches/005-openrb.patch
+++ b/target/linux/ppc40x/patches/005-openrb.patch
@@ -397,18 +397,18 @@
$(obj)/cuboot-magicbox.o: BOOTCFLAGS += -mcpu=405
+$(obj)/cuboot-openrb.o: BOOTCFLAGS += -mcpu=405
$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
+ $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
$(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405
-
-@@ -78,7 +79,7 @@ src-plat := of.c cuboot-52xx.c cuboot-82
- cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
+@@ -81,7 +82,7 @@ src-plat := of.c cuboot-52xx.c cuboot-82
virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
+ gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c \
- cuboot-magicbox.c
+ cuboot-magicbox.c cuboot-openrb.c
src-boot := $(src-wlib) $(src-plat) empty.c
src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -197,6 +198,7 @@ image-$(CONFIG_HOTFOOT) += cuImage.hot
+@@ -201,6 +202,7 @@ image-$(CONFIG_HOTFOOT) += cuImage.hot
image-$(CONFIG_WALNUT) += treeImage.walnut
image-$(CONFIG_ACADIA) += cuImage.acadia
image-$(CONFIG_MAGICBOX) += cuImage.magicbox
@@ -418,7 +418,7 @@
image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
-@@ -70,6 +70,16 @@ config MAGICBOX
+@@ -72,6 +72,16 @@ config MAGICBOX
help
This option enables support for the Magicbox boards.
@@ -437,7 +437,7 @@
depends on 40x
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
-@@ -56,7 +56,8 @@ static char *board[] __initdata = {
+@@ -56,7 +56,8 @@ static const char *board[] __initdata =
"amcc,kilauea",
"amcc,makalu",
"est,hotfoot",
diff --git a/target/linux/ppc40x/patches/101-pata-magicbox-cf-driver.patch b/target/linux/ppc40x/patches/101-pata-magicbox-cf-driver.patch
index 389358777..bf49177d3 100644
--- a/target/linux/ppc40x/patches/101-pata-magicbox-cf-driver.patch
+++ b/target/linux/ppc40x/patches/101-pata-magicbox-cf-driver.patch
@@ -1,6 +1,6 @@
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
-@@ -745,6 +745,16 @@ config PATA_IXP4XX_CF
+@@ -144,6 +144,16 @@ config PDC_ADMA
If unsure, say N.
@@ -19,14 +19,14 @@
depends on CPU_CAVIUM_OCTEON
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
-@@ -49,6 +49,7 @@ obj-$(CONFIG_PATA_OPTI) += pata_opti.o
- obj-$(CONFIG_PATA_OPTIDMA) += pata_optidma.o
- obj-$(CONFIG_PATA_MPC52xx) += pata_mpc52xx.o
- obj-$(CONFIG_PATA_MARVELL) += pata_marvell.o
+@@ -80,6 +80,7 @@ obj-$(CONFIG_PATA_AT91) += pata_at91.o
+ obj-$(CONFIG_PATA_CMD640_PCI) += pata_cmd640.o
+ obj-$(CONFIG_PATA_ISAPNP) += pata_isapnp.o
+ obj-$(CONFIG_PATA_IXP4XX_CF) += pata_ixp4xx_cf.o
+obj-$(CONFIG_PATA_MAGICBOX_CF) += pata_magicbox_cf.o
obj-$(CONFIG_PATA_MPIIX) += pata_mpiix.o
- obj-$(CONFIG_PATA_OLDPIIX) += pata_oldpiix.o
- obj-$(CONFIG_PATA_PALMLD) += pata_palmld.o
+ obj-$(CONFIG_PATA_NS87410) += pata_ns87410.o
+ obj-$(CONFIG_PATA_OPTI) += pata_opti.o
--- /dev/null
+++ b/drivers/ata/pata_magicbox_cf.c
@@ -0,0 +1,404 @@
diff --git a/target/linux/ppc40x/patches/110-kilauea_openwrt_flashmap.patch b/target/linux/ppc40x/patches/110-kilauea_openwrt_flashmap.patch
index dac3b9efc..ab44a2d57 100644
--- a/target/linux/ppc40x/patches/110-kilauea_openwrt_flashmap.patch
+++ b/target/linux/ppc40x/patches/110-kilauea_openwrt_flashmap.patch
@@ -1,6 +1,6 @@
--- a/arch/powerpc/boot/dts/kilauea.dts
+++ b/arch/powerpc/boot/dts/kilauea.dts
-@@ -93,8 +93,8 @@
+@@ -102,8 +102,8 @@
compatible = "ibm,sdram-405ex", "ibm,sdram-4xx-ddr2";
dcr-reg = <0x010 0x002>;
interrupt-parent = <&UIC2>;
@@ -11,7 +11,7 @@
};
CRYPTO: crypto@ef700000 {
-@@ -148,30 +148,30 @@
+@@ -157,30 +157,30 @@
reg = <0x00000000 0x00000000 0x04000000>;
#address-cells = <1>;
#size-cells = <1>;
@@ -28,14 +28,14 @@
- partition@200000 {
- label = "root";
- reg = <0x00200000 0x00200000>;
+- };
+- partition@400000 {
+- label = "user";
+- reg = <0x00400000 0x03b60000>;
+ partition2@200000 {
+ label = "rootfs";
+ reg = <0x00200000 0x03d60000>;
};
-- partition@400000 {
-- label = "user";
-- reg = <0x00400000 0x03b60000>;
-- };
- partition@3f60000 {
+ partition3@3f60000 {
label = "env";
diff --git a/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch b/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch
index 6de6e9b84..6bc5a9fc4 100644
--- a/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch
+++ b/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch
@@ -1,26 +1,13 @@
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
-@@ -1531,8 +1531,11 @@ static struct hc_driver isp116x_hc_drive
- .bus_resume = isp116x_bus_resume,
- };
+@@ -1535,6 +1535,7 @@ static struct hc_driver isp116x_hc_drive
-+#define resource_len(r) (((r)->end - (r)->start) + 1)
-+
/*----------------------------------------------------------------*/
+#ifdef CONFIG_USB_ISP116X_HCD_PLATFORM
static int isp116x_remove(struct platform_device *pdev)
{
struct usb_hcd *hcd = platform_get_drvdata(pdev);
-@@ -1556,8 +1559,6 @@ static int isp116x_remove(struct platfor
- return 0;
- }
-
--#define resource_len(r) (((r)->end - (r)->start) + 1)
--
- static int __devinit isp116x_probe(struct platform_device *pdev)
- {
- struct usb_hcd *hcd;
@@ -1708,22 +1709,253 @@ static struct platform_driver isp116x_dr
},
};
@@ -88,23 +75,23 @@
+ if (board == NULL)
+ return -ENOMEM;
+
-+ if (!request_mem_region(addr.start, resource_len(&addr), hcd_name)) {
++ if (!request_mem_region(addr.start, resource_size(&addr), hcd_name)) {
+ ret = -EBUSY;
+ goto err_free_board;
+ }
+
-+ addr_reg = ioremap_nocache(addr.start, resource_len(&addr));
++ addr_reg = ioremap_nocache(addr.start, resource_size(&addr));
+ if (addr_reg == NULL) {
+ ret = -ENOMEM;
+ goto err_release_addr;
+ }
+
-+ if (!request_mem_region(data.start, resource_len(&data), hcd_name)) {
++ if (!request_mem_region(data.start, resource_size(&data), hcd_name)) {
+ ret = -EBUSY;
+ goto err_unmap_addr;
+ }
+
-+ data_reg = ioremap_nocache(data.start, resource_len(&data));
++ data_reg = ioremap_nocache(data.start, resource_size(&data));
+ if (data_reg == NULL) {
+ ret = -ENOMEM;
+ goto err_release_data;
@@ -166,11 +153,11 @@
+ err_unmap_data:
+ iounmap(data_reg);
+ err_release_data:
-+ release_mem_region(data.start, resource_len(&data));
++ release_mem_region(data.start, resource_size(&data));
+ err_unmap_addr:
+ iounmap(addr_reg);
+ err_release_addr:
-+ release_mem_region(addr.start, resource_len(&addr));
++ release_mem_region(addr.start, resource_size(&addr));
+ err_free_board:
+ kfree(board);
+ return ret;
@@ -195,11 +182,11 @@
+
+ iounmap(isp116x->data_reg);
+ (void) of_address_to_resource(op->node, 0, &res);
-+ release_mem_region(res.start, resource_len(&res));
++ release_mem_region(res.start, resource_size(&res));
+
+ iounmap(isp116x->addr_reg);
+ (void) of_address_to_resource(op->node, 1, &res);
-+ release_mem_region(res.start, resource_len(&res));
++ release_mem_region(res.start, resource_size(&res));
+
+ kfree(isp116x->board);
+ usb_put_hcd(hcd);
@@ -279,7 +266,7 @@
module_exit(isp116x_cleanup);
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
-@@ -144,6 +144,24 @@ config USB_ISP116X_HCD
+@@ -242,6 +242,24 @@ config USB_ISP116X_HCD
To compile this driver as a module, choose M here: the
module will be called isp116x-hcd.