summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-09-14 16:17:36 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-09-14 16:17:36 +0000
commitcde1d53625ab93fb8ddf3121f33756f36ca1aff5 (patch)
tree7c2a3232f85253f0c39c615188093dc0530cacf2
parent2da56b4ebc89c145fd97aefcce7ac5d9616739f1 (diff)
downloadopenwrt-cde1d53625ab93fb8ddf3121f33756f36ca1aff5.tar.gz
openwrt-cde1d53625ab93fb8ddf3121f33756f36ca1aff5.tar.bz2
openwrt-cde1d53625ab93fb8ddf3121f33756f36ca1aff5.zip
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> SVN-Revision: 37988
-rw-r--r--target/linux/generic/files/drivers/net/phy/b53/b53_priv.h12
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