From 7cbd39421e6718f9320614b9d24370fb9822e056 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Thu, 30 Jan 2020 14:59:25 +0100 Subject: [PATCH] ath79: add gpio4 pinmux on TL-WR841N/ND v8, WR842N v2, MR3420 v2 This adds a pinmux to the shared DTSI for TP-Link TL-WR841N/ND v8, TL-WR842N v2 and TL-MR3420 v2. It is supposed to be the equivalent of: /* config gpio4 as normal gpio function */ ath79_gpio_output_select(TL_MR3420V2_GPIO_USB_POWER,AR934X_GPIO_OUT_GPIO); This allows to enable USB power on these devices. While at it, move the jtag_disable_pins to &gpio node and remove the redundant status=okay there. Tested on TP-Link TL-WR842N v2. Fixes: FS#2753 Signed-off-by: Adrian Schmutzler Tested-by: Armin Fuerst [backport: change individual DTS files, no mr3420-v2 present] (backported from commit 18c95c9d6ebea5cef1254ee917bff8aba993666d) --- target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts | 12 ++++++++---- .../linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts index ec89be5318..ccc0c195ca 100644 --- a/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts @@ -22,9 +22,6 @@ compatible = "gpio-keys-polled"; poll-interval = <20>; - pinctrl-names = "default"; - pinctrl-0 = <&jtag_disable_pins>; - reset { label = "Reset"; linux,code = ; @@ -96,7 +93,14 @@ }; &gpio { - status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins &pmx_usb_power>; +}; + +&pinmux { + pmx_usb_power: usb_power { + pinctrl-single,bits = <0x4 0x0 0xff>; + }; }; &spi { diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts index c7a251cbf1..e64a822078 100644 --- a/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts @@ -22,9 +22,6 @@ compatible = "gpio-keys-polled"; poll-interval = <20>; - pinctrl-names = "default"; - pinctrl-0 = <&jtag_disable_pins>; - reset { label = "Reset"; linux,code = ; @@ -113,7 +110,14 @@ }; &gpio { - status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins &pmx_usb_power>; +}; + +&pinmux { + pmx_usb_power: usb_power { + pinctrl-single,bits = <0x4 0x0 0xff>; + }; }; &spi {