diff options
| author | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-07-29 10:16:48 +0000 | 
|---|---|---|
| committer | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-07-29 10:16:48 +0000 | 
| commit | 50841b8f24a56c5f920d58a64e407269954669dc (patch) | |
| tree | 63e77e441f1c223e142ab77642fe75976c4b105f | |
| parent | 14cabe8bc00a27d1cc9ac61b93557015abe2d89e (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
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.  | 
