[ppc40x]: upgrade to 3.0 (magicbox ata and openrb usb is broken, but the current...
authorImre Kaloz <kaloz@openwrt.org>
Fri, 29 Jul 2011 10:16:48 +0000 (10:16 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Fri, 29 Jul 2011 10:16:48 +0000 (10:16 +0000)
SVN-Revision: 27826

target/linux/ppc40x/Makefile
target/linux/ppc40x/patches/003-powerpc-add-EBC_BXCR-defines.patch
target/linux/ppc40x/patches/004-magicbox.patch
target/linux/ppc40x/patches/005-openrb.patch
target/linux/ppc40x/patches/101-pata-magicbox-cf-driver.patch
target/linux/ppc40x/patches/110-kilauea_openwrt_flashmap.patch
target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch

index a889c349200f1295f1b08375c67e760bab9d4c1c..59db6ef45abdefe6f4bee57c820983ef9d9a1a39 100644 (file)
@@ -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
 
index ca70f7223c4015462789451051d81fe8b972accf..ebdaac8f46d239ac0c9e2d908a396f5b20810927 100644 (file)
@@ -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
index 78653afff917158a2499a0b73a782a985357e724..97de79c4e18c7240756399fe759436b6dc3e4760 100644 (file)
@@ -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
 +
 +      /* 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();
  $(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
  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.
  
        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",
index 638c81de5a1408b1657cddf0c35c9a45aa37ac14..ca998c67d5ebb150c995cd72561729b8f5328dab 100644 (file)
  $(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
  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.
  
        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",
index 3893587777c1343b48f22e9a50ecfb5145a53e37..bf49177d384b5cd37d140967248ed4ff18caf02f 100644 (file)
@@ -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.
  
        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 @@
index dac3b9efc11c2e36d7d992c41aa152617758d4f6..ab44a2d5722d31bc5a4a0d29441131a1d51f3140 100644 (file)
@@ -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>;
 -                                      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";
index 6de6e9b845ea9d7f58391986540680d76c895d23..6bc5a9fc463036245232bac8d3095668635768e4 100644 (file)
@@ -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
        },
  };
 +      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;
 + 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;
 +
 +      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);
  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.