From e4b6839fd399aa4e66712af87c51b1934c9b1d16 Mon Sep 17 00:00:00 2001
From: Imre Kaloz <kaloz@openwrt.org>
Date: Fri, 29 Jul 2011 10:16:48 +0000
Subject: upgrade to 3.0 (magicbox ata and openrb usb is broken, but the
 current kernel didn't compile at all, so...)

SVN-Revision: 27826
---
 target/linux/ppc40x/Makefile                       |  2 +-
 .../patches/003-powerpc-add-EBC_BXCR-defines.patch |  4 +--
 target/linux/ppc40x/patches/004-magicbox.patch     | 24 ++++++++--------
 target/linux/ppc40x/patches/005-openrb.patch       | 12 ++++----
 .../patches/101-pata-magicbox-cf-driver.patch      | 14 ++++-----
 .../patches/110-kilauea_openwrt_flashmap.patch     | 12 ++++----
 .../120-usb-isp116x-hcd-add-of-binding.patch       | 33 +++++++---------------
 7 files changed, 44 insertions(+), 57 deletions(-)

(limited to 'target/linux')

diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile
index a889c34920..59db6ef45a 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 ca70f7223c..ebdaac8f46 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 78653afff9..97de79c4e1 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 638c81de5a..ca998c67d5 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 3893587777..bf49177d38 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 dac3b9efc1..ab44a2d572 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 6de6e9b845..6bc5a9fc46 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.
  
-- 
cgit v1.2.3