summaryrefslogtreecommitdiff
path: root/target/linux/brcm63xx/patches-3.9/039-MIPS-BCM63XX-let-board-specify-an-external-GPIO-to-r.patch
diff options
context:
space:
mode:
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.patch49
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_ */