diff options
author | Jonas Gorski <jogo@openwrt.org> | 2015-12-02 22:16:37 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2015-12-02 22:16:37 +0000 |
commit | 9d7e058a237f04d99797174f2764d90ac8b41818 (patch) | |
tree | bae58af1d3e549db373c32b9c46b4e3e1eef46d3 /target/linux/brcm63xx/patches-3.18/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch | |
parent | e9390dcf233733ec269c30e922d285523d068ffc (diff) | |
download | mtk-20170518-9d7e058a237f04d99797174f2764d90ac8b41818.zip mtk-20170518-9d7e058a237f04d99797174f2764d90ac8b41818.tar.gz mtk-20170518-9d7e058a237f04d99797174f2764d90ac8b41818.tar.bz2 |
brcm63xx: drop 3.18 support
Drop 3.18 support; it will live on in CC.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 47696
Diffstat (limited to 'target/linux/brcm63xx/patches-3.18/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-3.18/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/target/linux/brcm63xx/patches-3.18/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch b/target/linux/brcm63xx/patches-3.18/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch deleted file mode 100644 index 30f6ba5..0000000 --- a/target/linux/brcm63xx/patches-3.18/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch +++ /dev/null @@ -1,138 +0,0 @@ -From d13bdf92ec885105cf107183f8464c40e5f3b93b Mon Sep 17 00:00:00 2001 -From: Jonas Gorski <jogo@openwrt.org> -Date: Sat, 21 Feb 2015 17:21:59 +0100 -Subject: [PATCH 4/6] MIPS: BCM63XX: register lookup for ephy-reset gpio - - -Signed-off-by: Jonas Gorski <jogo@openwrt.org> ---- - arch/mips/bcm63xx/boards/board_bcm963xx.c | 2 +- - arch/mips/bcm63xx/boards/board_common.c | 7 +++-- - arch/mips/bcm63xx/gpio.c | 32 ++++++++++++++++++++ - arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h | 2 ++ - .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 5 +-- - 5 files changed, 42 insertions(+), 6 deletions(-) - ---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c -+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -59,7 +59,7 @@ static struct board_info __initdata boar - }, - - .ephy_reset_gpio = 36, -- .ephy_reset_gpio_flags = GPIOF_INIT_HIGH, -+ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW, - }; - #endif - ---- a/arch/mips/bcm63xx/boards/board_common.c -+++ b/arch/mips/bcm63xx/boards/board_common.c -@@ -278,9 +278,10 @@ 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"); -+ if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags) { -+ bcm63xx_gpio_ephy_reset(board.ephy_reset_gpio, -+ board.ephy_reset_gpio_flags); -+ } - - /* count number of BUTTONs defined by this device */ - while (button_count < ARRAY_SIZE(board.buttons) && board.buttons[button_count].desc) ---- a/arch/mips/bcm63xx/gpio.c -+++ b/arch/mips/bcm63xx/gpio.c -@@ -8,15 +8,24 @@ - * Copyright (C) Jonas Gorski <jogo@openwrt.org> - */ - -+#include <asm/addrspace.h> -+ - #include <linux/kernel.h> - #include <linux/platform_device.h> - #include <linux/basic_mmio_gpio.h> - #include <linux/gpio.h> -+#include <linux/gpio/machine.h> - - #include <bcm63xx_cpu.h> - #include <bcm63xx_gpio.h> - #include <bcm63xx_regs.h> - -+/* for registering lookups; make them large enough to hold OF names */ -+static char *gpio_chip_labels[] = { -+ "xxxxxxxx.gpio-controller", -+ "xxxxxxxx.gpio-controller", -+}; -+ - static void __init bcm63xx_gpio_init_one(int id, int dir, int data, int ngpio) - { - struct resource res[2]; -@@ -40,6 +49,7 @@ static void __init bcm63xx_gpio_init_one - pdata.base = id * 32; - pdata.ngpio = ngpio; - -+ sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); - platform_device_register_resndata(NULL, "bcm63xx-gpio", id, res, 2, - &pdata, sizeof(pdata)); - } -@@ -64,3 +74,25 @@ int __init bcm63xx_gpio_init(void) - return 0; - - } -+ -+static struct gpiod_lookup_table ephy_reset = { -+ .dev_id = "bcm63xx_enet_shared.0", -+ .table = { -+ { /* filled at runtime */ }, -+ { }, -+ }, -+}; -+ -+ -+void bcm63xx_gpio_ephy_reset(int hw_gpio, enum gpio_lookup_flags flags) -+{ -+ if (ephy_reset.table[0].chip_label) -+ return; -+ -+ ephy_reset.table[0].chip_label = gpio_chip_labels[hw_gpio / 32]; -+ ephy_reset.table[0].chip_hwnum = hw_gpio % 32; -+ ephy_reset.table[0].con_id = "ephy-reset"; -+ ephy_reset.table[0].flags = flags; -+ -+ gpiod_add_lookup_table(&ephy_reset); -+} ---- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h -+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h -@@ -2,9 +2,11 @@ - #define BCM63XX_GPIO_H - - #include <linux/init.h> -+#include <linux/gpio/machine.h> - #include <bcm63xx_cpu.h> - - int __init bcm63xx_gpio_init(void); -+void bcm63xx_gpio_ephy_reset(int hw_gpio, enum gpio_lookup_flags flags); - - static inline unsigned long bcm63xx_gpio_count(void) - { ---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -4,6 +4,7 @@ - #include <linux/types.h> - #include <linux/gpio.h> - #include <linux/gpio_keys.h> -+#include <linux/gpio/machine.h> - #include <linux/leds.h> - #include <bcm63xx_dev_enet.h> - #include <bcm63xx_dev_usb_usbd.h> -@@ -58,8 +59,8 @@ struct board_info { - /* External PHY reset GPIO */ - unsigned int ephy_reset_gpio; - -- /* External PHY reset GPIO flags from gpio.h */ -- unsigned long ephy_reset_gpio_flags; -+ /* External PHY reset GPIO flags from gpio/machine.h */ -+ enum gpio_lookup_flags ephy_reset_gpio_flags; - - /* fallback sprom config */ - struct fallback_sprom_data fallback_sprom; |