ath79: restore gpio-export on TL-WDR3600/4300
authorLech Perczak <lech.perczak@gmail.com>
Sun, 8 Dec 2019 14:23:54 +0000 (15:23 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Thu, 19 Dec 2019 14:40:49 +0000 (15:40 +0100)
This partially reverts commit 32144ba275d163ce6e7d93546ab4414f03f508fb.

This commit replaced gpio-exports in favor of gpio-hogs for enabling USB
power at boot, but this rids the user of control of the USB port power
present on this device for a long time. It was agreed on a mailing list
[1] that this is not the way to go, and this patch breaks a very common
use-case of WWAN modem reset by power cycle, used on a lot USB equipped
routers, hence revert this change until a better solution can be found.

[1] http://lists.infradead.org/pipermail/openwrt-devel/2019-November/020151.html

Tested-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[adjusted commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi

index 9ca96cc7cd0221b9fe49050bcb8a404d71abcfed..7071d35e2456e51a4e852de2ffecc5f7b29d5abc 100644 (file)
@@ -6,6 +6,34 @@
        aliases {
                label-mac-device = &ath9k;
        };
+
+       gpio-export {
+               compatible = "gpio-export";
+
+               gpio_usb1_power {
+                       gpio-export,name = "tp-link:power:usb1";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
+               };
+
+               gpio_usb2_power {
+                       gpio-export,name = "tp-link:power:usb2";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
+               };
+
+               gpio_ext_lna0 {
+                       gpio-export,name = "tp-link:ext:lna0";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
+               };
+
+               gpio_ext_lna1 {
+                       gpio-export,name = "tp-link:ext:lna1";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+               };
+       };
 };
 
 &leds {
        };
 };
 
-&gpio {
-       lna0 {
-               gpio-hog;
-               gpios = <18 GPIO_ACTIVE_HIGH>;
-               output-high;
-               line-name = "tp-link:ext:lna0";
-       };
-
-       lna1 {
-               gpio-hog;
-               gpios = <19 GPIO_ACTIVE_HIGH>;
-               output-high;
-               line-name = "tp-link:ext:lna1";
-       };
-
-       usb1_power {
-               gpio-hog;
-               gpios = <22 GPIO_ACTIVE_HIGH>;
-               output-high;
-               line-name = "tp-link:power:usb1";
-       };
-
-       usb2_power {
-               gpio-hog;
-               gpios = <21 GPIO_ACTIVE_HIGH>;
-               output-high;
-               line-name = "tp-link:power:usb2";
-       };
-};
-
 &usb {
        #address-cells = <1>;
        #size-cells = <0>;