ath79: add LAN LEDs control bits for AR724x GPIO function pinmux
authorMichal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Wed, 16 Oct 2019 10:38:43 +0000 (12:38 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 17 Aug 2020 13:49:01 +0000 (15:49 +0200)
Currently AR724x pinmux for register 0x18040028 controls only JTAG disable bit.
This patch adds new DTS settings to control LAN LEDs and CLKs that allow
full software control over these diodes - exactly the same is done by ar71xx
target in device setup phase for many routers (WNR2000v3 for example).

'switch_led_disable_pins' clears AR724X_GPIO_FUNC_ETH_SWITCH_LED[0-4]_EN bits.
'clks_disable_pins' clears AR724X_GPIO_FUNC_CLK_OBS[1-5]_EN and
AR724X_GPIO_FUNC_GE0_MII_CLK_EN bits. These all should be used together, along
with 'jtag_disable_pins', to allow OS to control all GPIO-connected LEDs and
buttons on device.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
(cherry picked from commit 69df7eb73d9922e5e717b004aae06f93fe692dba)

target/linux/ath79/dts/ar724x.dtsi

index b2844bf1794161e7d64b63e8701127c3c299c7b0..95832d998ad38da08266ce09128c3f18618d58bc 100644 (file)
                                #pinctrl-cells = <2>;
 
                                jtag_disable_pins: pinmux_jtag_disable_pins {
-                               pinctrl-single,bits = <0x0 0x1 0x1>;
+                                       pinctrl-single,bits = <0x0 0x1 0x1>;
+                               };
+
+                               switch_led_disable_pins: pinmux_switch_led_disable_pins {
+                                       pinctrl-single,bits = <0x0 0x0 0xf8>;
+                               };
+
+                               clks_disable_pins: pinmux_clks_disable_pins {
+                                       pinctrl-single,bits = <0x0 0x0 0x81f00>;
                                };
                        };