ARM: dts: qcom: msm8974-klte: Add gpio expander chip
authorIskren Chernev <iskren.chernev@gmail.com>
Sun, 20 Sep 2020 14:48:57 +0000 (17:48 +0300)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 26 Oct 2020 14:52:39 +0000 (09:52 -0500)
The Samsung Galaxy S5 has a GPIO Expander chip, the PCAL6416A with 16
ports on a i2c bus. These pins are used for WiFi, NFC, IR among other
things.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Link: https://lore.kernel.org/r/20200920144859.813032-6-iskren.chernev@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts

index 7b398da..29099b8 100644 (file)
                scl-gpios = <&msmgpio 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                sda-gpios = <&msmgpio 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                pinctrl-names = "default";
-               pinctrl-0 = <&i2c_led_pins>;
+               pinctrl-0 = <&i2c_led_gpioex_pins>;
 
                i2c-gpio,delay-us = <2>;
 
+               gpio_expander: gpio@20 {
+                       compatible = "nxp,pcal6416";
+                       reg = <0x20>;
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       vcc-supply = <&pma8084_s4>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&gpioex_pin>;
+
+                       reset-gpios = <&msmgpio 145 GPIO_ACTIVE_LOW>;
+               };
+
                led-controller@30 {
                        compatible = "panasonic,an30259a";
                        reg = <0x30>;
                        };
                };
 
-               i2c_led_pins: i2c-led {
+               i2c_led_gpioex_pins: i2c-led-gpioex {
                        mux {
                                pins = "gpio120", "gpio121";
                                function = "gpio";
                                bias-pull-down;
                        };
                };
+
+               gpioex_pin: gpioex {
+                       res {
+                               pins = "gpio145";
+                               function = "gpio";
+
+                               bias-pull-up;
+                               drive-strength = <2>;
+                       };
+               };
        };
 
        sdhci@f9824900 {