]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK
authorSwati Agarwal <swati.agarwal@oss.qualcomm.com>
Fri, 6 Mar 2026 09:13:52 +0000 (14:43 +0530)
committerBjorn Andersson <andersson@kernel.org>
Thu, 26 Mar 2026 14:40:54 +0000 (09:40 -0500)
Enable PCA9538 expander as interrupt controller on Lemans EVK and configure
the corresponding TLMM pins via pinctrl to operate as GPIO inputs with
internal pull-ups.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260306091355.1178333-2-swati.agarwal@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/lemans-evk.dts

index 90fce947ca7e5c4af49952b012647664cffbb687..39705239493050bf8f1102475d6bc2dc387811d2 100644 (file)
                reg = <0x38>;
                #gpio-cells = <2>;
                gpio-controller;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               interrupts-extended = <&tlmm 138 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-0 = <&expander0_int>;
+               pinctrl-names = "default";
        };
 
        expander1: gpio@39 {
                reg = <0x39>;
                #gpio-cells = <2>;
                gpio-controller;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               interrupts-extended = <&tlmm 19 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-0 = <&expander1_int>;
+               pinctrl-names = "default";
        };
 
        expander2: gpio@3a {
                reg = <0x3a>;
                #gpio-cells = <2>;
                gpio-controller;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               interrupts-extended = <&tlmm 139 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-0 = <&expander2_int>;
+               pinctrl-names = "default";
        };
 
        expander3: gpio@3b {
                reg = <0x3b>;
                #gpio-cells = <2>;
                gpio-controller;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-0 = <&expander3_int>;
+               pinctrl-names = "default";
        };
 
        eeprom@50 {
                };
        };
 
+       expander0_int: expander0-int-state {
+               pins = "gpio138";
+               function = "gpio";
+               bias-pull-up;
+       };
+
+       expander1_int: expander1-int-state {
+               pins = "gpio19";
+               function = "gpio";
+               bias-pull-up;
+       };
+
+       expander2_int: expander2-int-state {
+               pins = "gpio139";
+               function = "gpio";
+               bias-pull-up;
+       };
+
+       expander3_int: expander3-int-state {
+               pins = "gpio39";
+               function = "gpio";
+               bias-pull-up;
+       };
+
        pcie0_default_state: pcie0-default-state {
                clkreq-pins {
                        pins = "gpio1";