[PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Enable GPIO expander interrupt for Lemans EVK
From: Swati Agarwal
Date: Wed Feb 25 2026 - 04:40:58 EST
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.
Signed-off-by: Swati Agarwal <swati.agarwal@xxxxxxxxxxxxxxxx>
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 44 +++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 90fce947ca7e..397052394930 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -546,6 +546,11 @@ expander0: gpio@38 {
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 {
@@ -553,6 +558,11 @@ 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 {
@@ -560,6 +570,11 @@ 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 {
@@ -567,6 +582,11 @@ 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 {
@@ -804,6 +824,30 @@ ethernet0_mdio: ethernet0-mdio-pins {
};
};
+ 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";
--
2.34.1