diff options
Diffstat (limited to 'target/linux/brcm63xx/patches-3.9/039-MIPS-BCM63XX-let-board-specify-an-external-GPIO-to-r.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-3.9/039-MIPS-BCM63XX-let-board-specify-an-external-GPIO-to-r.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.9/039-MIPS-BCM63XX-let-board-specify-an-external-GPIO-to-r.patch b/target/linux/brcm63xx/patches-3.9/039-MIPS-BCM63XX-let-board-specify-an-external-GPIO-to-r.patch new file mode 100644 index 0000000..122d915 --- /dev/null +++ b/target/linux/brcm63xx/patches-3.9/039-MIPS-BCM63XX-let-board-specify-an-external-GPIO-to-r.patch @@ -0,0 +1,49 @@ +From 0a97aafe7fe50ed183e7fa0121fa7838e2e20306 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli <florian@openwrt.org> +Date: Tue, 18 Jun 2013 16:55:43 +0000 +Subject: [PATCH 5/6] MIPS: BCM63XX: let board specify an external GPIO to + reset PHY + +Some boards may need to reset their external PHY or switch they are +attached to, add a hook for doing this along with providing custom +linux/gpio.h flags for doing this. + +Signed-off-by: Florian Fainelli <florian@openwrt.org> +Cc: linux-mips@linux-mips.org +Cc: cernekee@gmail.com +Cc: jogo@openwrt.org +Cc: Florian Fainelli <florian@openwrt.org> +Patchwork: https://patchwork.linux-mips.org/patch/5501/ +Signed-off-by: Ralf Baechle <ralf@linux-mips.org> +--- + arch/mips/bcm63xx/boards/board_bcm963xx.c | 4 ++++ + arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 6 ++++++ + 2 files changed, 10 insertions(+) + +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -883,5 +883,9 @@ int __init board_register_devices(void) + + platform_device_register(&bcm63xx_gpio_leds); + ++ if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags) ++ gpio_request_one(board.ephy_reset_gpio, ++ board.ephy_reset_gpio_flags, "ephy-reset"); ++ + return 0; + } +--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h ++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +@@ -45,6 +45,12 @@ struct board_info { + + /* GPIO LEDs */ + struct gpio_led leds[5]; ++ ++ /* External PHY reset GPIO */ ++ unsigned int ephy_reset_gpio; ++ ++ /* External PHY reset GPIO flags from gpio.h */ ++ unsigned long ephy_reset_gpio_flags; + }; + + #endif /* ! BOARD_BCM963XX_H_ */ |