brcm63xx: setup internal switch leds for bcm6368
authorJonas Gorski <jonas.gorski@gmail.com>
Wed, 1 Feb 2017 11:58:22 +0000 (12:58 +0100)
committerJonas Gorski <jonas.gorski@gmail.com>
Thu, 9 Feb 2017 13:30:44 +0000 (14:30 +0100)
Setup the GPIO_MODE register bits for used internal switch port leds.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
target/linux/brcm63xx/dts/hg655b.dts
target/linux/brcm63xx/dts/vr-3025u.dts
target/linux/brcm63xx/dts/vr-3025un.dts
target/linux/brcm63xx/dts/vr-3026e.dts
target/linux/brcm63xx/patches-4.4/382-brcm63xx-setup-pinctrl-for-internal-switch-leds-on-b.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-4.4/403-6358-enet1-external-mii-clk.patch
target/linux/brcm63xx/patches-4.4/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
target/linux/brcm63xx/patches-4.4/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
target/linux/brcm63xx/patches-4.4/420-BCM63XX-add-endian-check-for-ath9k.patch
target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
target/linux/brcm63xx/patches-4.4/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch

index 7f4a7cab56cfed2e05df417e21f44e121d228372..58ef715a93579ce8e108adcff8e8a46b5a1eb18c 100644 (file)
                        label = "HW65x:green:internet";
                        gpios = <&gpio0 5 1>;
                };
-               lan1_green {
-                       label = "HW65x:green:lan1";
-                       gpios = <&gpio0 6 1>;
-               };
-               lan2_green {
-                       label = "HW65x:green:lan2";
-                       gpios = <&gpio0 7 1>;
-               };
-               lan3_green {
-                       label = "HW65x:green:lan3";
-                       gpios = <&gpio0 8 1>;
-               };
-               lan4_green {
-                       label = "HW65x:green:lan4";
-                       gpios = <&gpio0 9 1>;
-               };
                usb_green {
                        label = "HW65x:green:usb";
                        gpios = <&gpio0 14 1>;
index 7b37fadcd361feea2a4d0f7a3ed1695c6cf7fa11..63b1427704461ba07c6578748e891b38d5675a9a 100644 (file)
                        label = "VR-3025u:green:inet";
                        gpios = <&gpio0 5 0>;
                };
-               lan1_green {
-                       label = "VR-3025u:green:lan1";
-                       gpios = <&gpio0 6 1>;
-               };
-               lan2_green {
-                       label = "VR-3025u:green:lan2";
-                       gpios = <&gpio0 7 1>;
-               };
-               lan3_green {
-                       label = "VR-3025u:green:lan3";
-                       gpios = <&gpio0 8 1>;
-               };
-               lan4_green {
-                       label = "VR-3025u:green:lan4";
-                       gpios = <&gpio0 9 1>;
-               };
                power_green {
                        label = "VR-3025u:green:power";
                        gpios = <&gpio0 22 0>;
index 9c7e0dc2fea286475844cb1434695602b0ed304e..864eb8216ea60342d29c9b310f583b775acb244d 100644 (file)
                        label = "VR-3025un:green:inet";
                        gpios = <&gpio0 5 0>;
                };
-               lan1_green {
-                       label = "VR-3025un:green:lan1";
-                       gpios = <&gpio0 6 1>;
-               };
-               lan2_green {
-                       label = "VR-3025un:green:lan2";
-                       gpios = <&gpio0 7 1>;
-               };
-               lan3_green {
-                       label = "VR-3025un:green:lan3";
-                       gpios = <&gpio0 8 1>;
-               };
-               iptv_green {
-                       label = "VR-3025un:green:iptv";
-                       gpios = <&gpio0 9 1>;
-               };
                power_green {
                        label = "VR-3025un:green:power";
                        gpios = <&gpio0 22 0>;
index 5ecfdfd44e3e3bff42c208ac5f011cb06db32501..eecbf56d127bd16d2168be0dc161ceb5be63c78d 100644 (file)
                        label = "VR-3026e:green:inet";
                        gpios = <&gpio0 5 0>;
                };
-               lan1_green {
-                       label = "VR-3026e:green:lan1";
-                       gpios = <&gpio0 6 1>;
-               };
-               lan2_green {
-                       label = "VR-3026e:green:lan2";
-                       gpios = <&gpio0 7 1>;
-               };
-               lan3_green {
-                       label = "VR-3026e:green:lan3";
-                       gpios = <&gpio0 8 1>;
-               };
-               lan4_green {
-                       label = "VR-3026e:green:lan4";
-                       gpios = <&gpio0 9 1>;
-               };
                power_green {
                        label = "VR-3026e:green:power";
                        gpios = <&gpio0 22 0>;
diff --git a/target/linux/brcm63xx/patches-4.4/382-brcm63xx-setup-pinctrl-for-internal-switch-leds-on-b.patch b/target/linux/brcm63xx/patches-4.4/382-brcm63xx-setup-pinctrl-for-internal-switch-leds-on-b.patch
new file mode 100644 (file)
index 0000000..83e1ddc
--- /dev/null
@@ -0,0 +1,27 @@
+From 8940437e017d446d61a035e847c2a1d7a57a4354 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Wed, 1 Feb 2017 12:17:13 +0100
+Subject: [PATCH] brcm63xx: setup pinctrl for internal switch leds on bcm6368
+
+---
+ arch/mips/bcm63xx/boards/board_common.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/arch/mips/bcm63xx/boards/board_common.c
++++ b/arch/mips/bcm63xx/boards/board_common.c
+@@ -104,6 +104,15 @@ void __init board_early_setup(const stru
+                               GPIO_MODE_6348_G0_EXT_MII;
+       }
++      if (BCMCPU_IS_6368() && board.has_enetsw) {
++              int i;
++
++              for (i = 0; i < 4; i++) {
++                      if (board.enetsw.used_ports[i].used)
++                              val |= (GPIO_MODE_6368_EPHY0_LED << i);
++              }
++      }
++
+       bcm_gpio_writel(val, GPIO_MODE_REG);
+ #if IS_ENABLED(CONFIG_USB)
index 9699cf351156fa87007992436b2430e07f24162a..206fc3f1795f9631d3d18cb3ef11438d60c9c548 100644 (file)
@@ -8,7 +8,7 @@
 +                      val |= GPIO_MODE_6358_ENET1_MII_CLK_INV;
        }
  
-       bcm_gpio_writel(val, GPIO_MODE_REG);
+       if (BCMCPU_IS_6368() && board.has_enetsw) {
 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
 +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
 @@ -651,6 +651,8 @@
index ab44dc439bca88189ddc12c1d404c4871e16a655..2d31f428360bb464fb2e10d96e91018b189224b4 100644 (file)
@@ -18,7 +18,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
  
  #include "board_common.h"
  
-@@ -182,6 +183,7 @@ static struct of_device_id of_ids[] = {
+@@ -191,6 +192,7 @@ static struct of_device_id of_ids[] = {
  int __init board_register_devices(void)
  {
        int usbh_ports = 0;
@@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
  
  #if CONFIG_OF
        if (of_have_populated_dt()) {
-@@ -265,6 +267,10 @@ int __init board_register_devices(void)
+@@ -274,6 +276,10 @@ int __init board_register_devices(void)
                                        board.ephy_reset_gpio_flags);
        }
  
index b3931982e011b6bc5ba9279b6cbebc626001c261..a0b2bdc336def575728c17459fb4295e553eb36b 100644 (file)
@@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash
 
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -255,7 +255,7 @@ int __init board_register_devices(void)
+@@ -264,7 +264,7 @@ int __init board_register_devices(void)
        if (board.num_spis)
                spi_register_board_info(board.spis, board.num_spis);
  
index fd5cbfb51f39a2bb306c00d8b4bd46277eb9d50a..6473c4d07fb5ed3f0611a778f5dacb9d9a9b5df1 100644 (file)
@@ -39,7 +39,7 @@
                return;
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -269,7 +269,8 @@ int __init board_register_devices(void)
+@@ -278,7 +278,8 @@ int __init board_register_devices(void)
  
        /* register any fixups */
        for (i = 0; i < board.has_caldata; i++)
index c18d8db048130325b2d07cc4c21de4b106ddb15e..d3d16a1c31f18557c16f616c291463f822ce5fec 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -270,7 +270,7 @@ int __init board_register_devices(void)
+@@ -279,7 +279,7 @@ int __init board_register_devices(void)
        /* register any fixups */
        for (i = 0; i < board.has_caldata; i++)
                pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
index cdbecfd0eb1bbc90c10f2fd231c20d14ac65516b..2d4bb405b225d498a78476d0e661b566e22b5358 100644 (file)
@@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
  
  #include "board_common.h"
  
-@@ -268,9 +269,19 @@ int __init board_register_devices(void)
+@@ -277,9 +278,19 @@ int __init board_register_devices(void)
        }
  
        /* register any fixups */