ath79: use gpio-cascade for Buffalo WZR-HP-G300NH
authorMauri Sandberg <maukka@ext.kapsi.fi>
Sat, 5 Feb 2022 23:07:10 +0000 (01:07 +0200)
committerPetr Štetiar <ynezz@true.cz>
Sat, 19 Feb 2022 12:10:01 +0000 (13:10 +0100)
Switch to a generic GPIO cascade driver.

Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [missing commit description]
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
target/linux/ath79/image/generic.mk

index ca1eeab4494f8c60fa6293f42318e77d2e95e955..7b0c09f68e030c2acb9845df27dc1a2b1e060092 100644 (file)
                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 {
                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>;
                };
        };
index 3b23267b700b79356776cdf13b1f613702475524..8988ac7a5e93c77fa1bb0cc5cee00e0a5cd00849 100644 (file)
@@ -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