brcm63xx: Fixes and additions to the GPIO assignment of Huawei HW556 leds

- Some fixes for the incorrect GPIO assignment of leds on Huawei HW556.
- Addition of unassigned (LAN) leds which can be found on the back of the device.

Signed-off-by: Angga Reza Fardana <angga@norture.com>
Patchwork: http://patchwork.openwrt.org/patch/3744/
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 37102
This commit is contained in:
Jonas Gorski 2013-06-30 13:10:08 +00:00
parent 7d1cd9dfab
commit 6a4e78dca6
3 changed files with 125 additions and 11 deletions

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2891,6 +2891,374 @@ static struct board_info __initdata boar @@ -2891,6 +2891,488 @@ static struct board_info __initdata boar
}, },
}; };
@ -122,12 +122,12 @@
+ +
+ .leds = { + .leds = {
+ { + {
+ .name = "HW556:red:message", + .name = "HW556:green:lan1",
+ .gpio = 0, + .gpio = 0,
+ .active_low = 1, + .active_low = 1,
+ }, + },
+ { + {
+ .name = "HW556:red:hspa", + .name = "HW556:green:lan2",
+ .gpio = 1, + .gpio = 1,
+ .active_low = 1, + .active_low = 1,
+ }, + },
@ -143,10 +143,44 @@
+ .default_trigger = "default-on", + .default_trigger = "default-on",
+ }, + },
+ { + {
+ .name = "HW556:red:all", + .name = "HW556:red:message",
+ .gpio = 6, + .gpio = 12,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan1",
+ .gpio = 13,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:hspa",
+ .gpio = 15,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan2",
+ .gpio = 22,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan3",
+ .gpio = 23,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan3",
+ .gpio = 26,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan4",
+ .gpio = 27,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan4",
+ .gpio = 28,
+ .active_low = 1, + .active_low = 1,
+ .default_trigger = "default-on",
+ }, + },
+ }, + },
+ +
@ -241,6 +275,46 @@
+ .active_low = 1, + .active_low = 1,
+ .default_trigger = "default-on", + .default_trigger = "default-on",
+ }, + },
+ {
+ .name = "HW556:green:lan1",
+ .gpio = 12,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan1",
+ .gpio = 13,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan2",
+ .gpio = 15,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan2",
+ .gpio = 22,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan3",
+ .gpio = 23,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan3",
+ .gpio = 26,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan4",
+ .gpio = 27,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan4",
+ .gpio = 28,
+ .active_low = 1,
+ },
+ }, + },
+ +
+ .buttons = { + .buttons = {
@ -334,6 +408,46 @@
+ .active_low = 1, + .active_low = 1,
+ .default_trigger = "default-on", + .default_trigger = "default-on",
+ }, + },
+ {
+ .name = "HW556:green:lan1",
+ .gpio = 12,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan1",
+ .gpio = 13,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan2",
+ .gpio = 15,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan2",
+ .gpio = 22,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan3",
+ .gpio = 23,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan3",
+ .gpio = 26,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:green:lan4",
+ .gpio = 27,
+ .active_low = 1,
+ },
+ {
+ .name = "HW556:red:lan4",
+ .gpio = 28,
+ .active_low = 1,
+ },
+ }, + },
+ +
+ .buttons = { + .buttons = {
@ -375,7 +489,7 @@
/* T-Home Speedport W 303V Typ B */ /* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = { static struct board_info __initdata board_spw303v = {
.name = "96358-502V", .name = "96358-502V",
@@ -3322,6 +3690,10 @@ static const struct board_info __initcon @@ -3322,6 +3804,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2, &board_nb4_fxc_r2,
&board_ct6373_1, &board_ct6373_1,
&board_HW553, &board_HW553,
@ -386,7 +500,7 @@
&board_spw303v, &board_spw303v,
&board_DVAG3810BN, &board_DVAG3810BN,
#endif #endif
@@ -3387,13 +3759,37 @@ static void __init boardid_fixup(u8 *boo @@ -3387,13 +3873,37 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name(); char *board_name = (char *)bcm63xx_nvram_get_name();

View file

@ -61,7 +61,7 @@
#endif #endif
/* /*
@@ -3652,6 +3706,7 @@ static const struct board_info __initcon @@ -3766,6 +3820,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345 #ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2, &board_96345gw2,
&board_rta770bw, &board_rta770bw,

View file

@ -8,7 +8,7 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h> #include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h> #include <linux/spi/74x164.h>
@@ -3999,7 +4000,7 @@ static const struct board_info __initcon @@ -4113,7 +4114,7 @@ static const struct board_info __initcon
* bcm4318 WLAN work * bcm4318 WLAN work
*/ */
#ifdef CONFIG_SSB_PCIHOST #ifdef CONFIG_SSB_PCIHOST
@ -17,7 +17,7 @@
.revision = 0x02, .revision = 0x02,
.board_rev = 0x17, .board_rev = 0x17,
.country_code = 0x0, .country_code = 0x0,
@@ -4019,6 +4020,7 @@ static struct ssb_sprom bcm63xx_sprom = @@ -4133,6 +4134,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848, .boardflags_lo = 0x2848,
.boardflags_hi = 0x0000, .boardflags_hi = 0x0000,
}; };