brcm63xx: improve BCM63268 support
authorFlorian Fainelli <florian@openwrt.org>
Tue, 21 Jan 2014 18:49:50 +0000 (18:49 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 21 Jan 2014 18:49:50 +0000 (18:49 +0000)
Allow using the HSSPI controller since it works just fine, as well as
the integrated switch core, since that one works too.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 39362

target/linux/brcm63xx/patches-3.10/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
target/linux/brcm63xx/patches-3.10/341-MIPS-BCM63XX-add-support-for-BCM6318.patch

index 9a2eb46c7ce98f6456b0161feaa9052cfdf3f95e..2245c2e469e2562014832edcd8d578907c9d99df 100644 (file)
@@ -711,3 +711,55 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                if (offset >= 0xb0000000 && offset < 0xb1000000)
                        return 1;
                break;
+--- a/arch/mips/bcm63xx/dev-hsspi.c
++++ b/arch/mips/bcm63xx/dev-hsspi.c
+@@ -35,7 +35,7 @@ static struct platform_device bcm63xx_hs
+ int __init bcm63xx_hsspi_register(void)
+ {
+-      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362())
++      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362() && !BCMCPU_IS_63268())
+               return -ENODEV;
+       spi_resources[0].start = bcm63xx_regset_address(RSET_HSSPI);
+--- a/arch/mips/bcm63xx/dev-enet.c
++++ b/arch/mips/bcm63xx/dev-enet.c
+@@ -176,7 +176,8 @@ static int __init register_shared(void)
+       else
+               shared_res[0].end += (RSET_ENETDMA_SIZE)  - 1;
+-      if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
++      if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368() ||
++              BCMCPU_IS_63268())
+               chan_count = 32;
+       else if (BCMCPU_IS_6345())
+               chan_count = 8;
+@@ -276,7 +277,8 @@ bcm63xx_enetsw_register(const struct bcm
+ {
+       int ret;
+-      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362() && !BCMCPU_IS_6368())
++      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362() && !BCMCPU_IS_6368() &&
++              !BCMCPU_IS_63268())
+               return -ENODEV;
+       ret = register_shared();
+@@ -297,6 +299,8 @@ bcm63xx_enetsw_register(const struct bcm
+               enetsw_pd.num_ports = ENETSW_PORTS_6328;
+       else if (BCMCPU_IS_6362() || BCMCPU_IS_6368())
+               enetsw_pd.num_ports = ENETSW_PORTS_6368;
++      else if (BCMCPU_IS_63268())
++              enetsw_pd.num_ports = ENETSW_PORTS_63268;
+       enetsw_pd.dma_has_sram = true;
+       enetsw_pd.dma_chan_width = ENETDMA_CHAN_WIDTH;
+--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h
++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h
+@@ -62,6 +62,7 @@ struct bcm63xx_enet_platform_data {
+ #define ENETSW_MAX_PORT       8
+ #define ENETSW_PORTS_6328 5 /* 4 FE PHY + 1 RGMII */
+ #define ENETSW_PORTS_6368 6 /* 4 FE PHY + 2 RGMII */
++#define ENETSW_PORTS_63268 4 /* 3 FE PHY + 1 RGMII */
+ #define ENETSW_RGMII_PORT0    4
index d334386c763cff1d60dc6184b2a2d20c8dcdfcb2..abfc17ce9cb7e55b9a418ff131d6021a4347248c 100644 (file)
@@ -592,12 +592,13 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
        case BCM6368_CPU_ID:
 --- a/arch/mips/bcm63xx/dev-hsspi.c
 +++ b/arch/mips/bcm63xx/dev-hsspi.c
-@@ -35,7 +35,7 @@ static struct platform_device bcm63xx_hs
+@@ -35,7 +35,8 @@ static struct platform_device bcm63xx_hs
  
  int __init bcm63xx_hsspi_register(void)
  {
--      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362())
-+      if (!BCMCPU_IS_6318() && !BCMCPU_IS_6328() && !BCMCPU_IS_6362())
+-      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362() && !BCMCPU_IS_63268())
++      if (!BCMCPU_IS_6318() && !BCMCPU_IS_6328() && !BCMCPU_IS_6362() &&
++              !BCMCPU_IS_63268())
                return -ENODEV;
  
        spi_resources[0].start = bcm63xx_regset_address(RSET_HSSPI);
@@ -614,27 +615,29 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
        usbd_resources[0].start = bcm63xx_regset_address(RSET_USBD);
 --- a/arch/mips/bcm63xx/dev-enet.c
 +++ b/arch/mips/bcm63xx/dev-enet.c
-@@ -176,7 +176,8 @@ static int __init register_shared(void)
+@@ -176,8 +176,8 @@ static int __init register_shared(void)
        else
                shared_res[0].end += (RSET_ENETDMA_SIZE)  - 1;
  
--      if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368())
+-      if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368() ||
+-              BCMCPU_IS_63268())
 +      if (BCMCPU_IS_6318() || BCMCPU_IS_6328() || BCMCPU_IS_6362() ||
-+              BCMCPU_IS_6368())
++              BCMCPU_IS_6368() || BCMCPU_IS_63268())
                chan_count = 32;
        else if (BCMCPU_IS_6345())
                chan_count = 8;
-@@ -276,7 +277,8 @@ bcm63xx_enetsw_register(const struct bcm
+@@ -277,8 +277,8 @@ bcm63xx_enetsw_register(const struct bcm
  {
        int ret;
  
--      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362() && !BCMCPU_IS_6368())
+-      if (!BCMCPU_IS_6328() && !BCMCPU_IS_6362() && !BCMCPU_IS_6368() &&
+-              !BCMCPU_IS_63268())
 +      if (!BCMCPU_IS_6318() && !BCMCPU_IS_6328() && !BCMCPU_IS_6362() &&
-+              !BCMCPU_IS_6368())
++              !BCMCPU_IS_6368() && !BCMCPU_IS_63268())
                return -ENODEV;
  
        ret = register_shared();
-@@ -293,7 +295,7 @@ bcm63xx_enetsw_register(const struct bcm
+@@ -295,7 +295,7 @@ bcm63xx_enetsw_register(const struct bcm
  
        memcpy(bcm63xx_enetsw_device.dev.platform_data, pd, sizeof(*pd));