diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-09-14 16:17:36 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-09-14 16:17:36 +0000 |
commit | 9f83e82b11888bd5a5181bf55084805849dbe511 (patch) | |
tree | c0b61ef32f1175c54c2302032b1b26082986d459 /target | |
parent | 1f9a4043c628cec7830989ffcda55f59693c71d2 (diff) |
kernel: b53: use hard coded switch reset gpio on some boards.
The Linksys wrt310n v1 does not have a robo_reset config variable in
nvram, but GPIO Pin 8 is the pin needed for resetting the external
switch, Linksys hard coded it into their source code.
Thank you Devastator for testing.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37988 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/b53/b53_priv.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/b53/b53_priv.h b/target/linux/generic/files/drivers/net/phy/b53/b53_priv.h index 308a729a3c..60f6bf96a5 100644 --- a/target/linux/generic/files/drivers/net/phy/b53/b53_priv.h +++ b/target/linux/generic/files/drivers/net/phy/b53/b53_priv.h @@ -286,14 +286,22 @@ static inline int b53_write64(struct b53_device *dev, u8 page, u8 reg, #ifdef CONFIG_BCM47XX #include <bcm47xx_nvram.h> +#include <bcm47xx_board.h> static inline int b53_switch_get_reset_gpio(struct b53_device *dev) { - return bcm47xx_nvram_gpio_pin("robo_reset"); + enum bcm47xx_board board = bcm47xx_board_get(); + + switch (board) { + case BCM47XX_BOARD_LINKSYS_WRT310NV1: + return 8; + default: + return bcm47xx_nvram_gpio_pin("robo_reset"); + } } #else static inline int b53_switch_get_reset_gpio(struct b53_device *dev) { - return -ENOENT; + return -ENOENT; } #endif #endif |