Setup the GPIO_MODE register bits for used internal switch port leds.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
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>;
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>;
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>;
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>;
--- /dev/null
+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)
+ 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 @@
#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;
#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);
}
--- 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);
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++)
--- 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,
#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 */