Signed-off-by: Mauri Sandberg <mau...@ext.kapsi.fi>
---
 .../dts/ar9132_buffalo_wzr-hp-g300nh.dtsi     | 41 ++++++++++++++-----
 target/linux/ath79/image/generic.mk           |  2 +-
 2 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi 
b/target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
index ca1eeab449..7b0c09f68e 100644
--- a/target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
+++ b/target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
@@ -17,16 +17,37 @@
                clock-frequency = <40000000>;
        };
 
-       gpio2: gpio-extender {
-               compatible = "nxp,74hc153-gpio";
+       /* There is a GPIO driven NXP 74HC153 dual 4-way multiplexer on board
+        * used for buttons that are on top of the the device.
+         */
+       mux: mux-controller {
+               compatible = "gpio-mux";
+               #mux-control-cells = <0>;
+
+               mux-gpios = <&gpio 9 GPIO_ACTIVE_HIGH>,         /* s0 */
+                           <&gpio 11 GPIO_ACTIVE_HIGH>;        /* s1 */
+       };
+
+       gpio2: key-mux1 {
+               compatible = "gpio-cascade";
+               mux-controls = <&mux>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               // GPIOs used by this node, the mux pin
+               upstream-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; /* 1y */
+       };
+
+       gpio3: key-mux2 {
+               compatible = "gpio-cascade";
+               mux-controls = <&mux>;
+
                gpio-controller;
                #gpio-cells = <2>;
 
-               // GPIOs used by this node
-               gpio-s0 = <&gpio 9 GPIO_ACTIVE_HIGH>;
-               gpio-s1 = <&gpio 11 GPIO_ACTIVE_HIGH>;
-               gpio-1y = <&gpio 12 GPIO_ACTIVE_HIGH>;
-               gpio-2y = <&gpio 14 GPIO_ACTIVE_HIGH>;
+               // GPIOs used by this node, the mux pin
+               upstream-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; /* 2y */
        };
 
        keys {
@@ -64,21 +85,21 @@
                usb {
                        label = "usb";
                        linux,code = <BTN_2>;
-                       gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
+                       gpios = <&gpio3 1 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };
 
                router_auto {
                        label = "router_auto";
                        linux,code = <BTN_6>;
-                       gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+                       gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>;
                        debounce-interval = <60>;
                };
 
                movie_on {
                        label = "movie_on";
                        linux,code = <BTN_4>;
-                       gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+                       gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
                        debounce-interval = <60>;
                };
        };
diff --git a/target/linux/ath79/image/generic.mk 
b/target/linux/ath79/image/generic.mk
index b3598a2000..2e4255715d 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -496,7 +496,7 @@ define Device/buffalo_wzr-hp-g300nh
   SOC := ar9132
   BUFFALO_PRODUCT := WZR-HP-G300NH
   BUFFALO_HWVER := 1
-  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-gpio-nxp-74hc153
+  DEVICE_PACKAGES := kmod-gpio-cascade kmod-mux-gpio kmod-usb2 
kmod-usb-ledtrig-usbport
   BLOCKSIZE := 128k
   IMAGE_SIZE := 32128k
   SUPPORTED_DEVICES += wzr-hp-g300nh
-- 
2.25.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to