Enable PCA9538 expander3 as interrupt controller on Lemans EVK and
configures the corresponding TLMM pins via pinctrl to operate as GPIO
inputs with internal pull-ups.
Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index a549f7fe53a1..473cc2a81670 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -649,6 +649,12 @@ expander3: gpio@3b {
reg = <0x3b>;
#gpio-cells = <2>;
gpio-controller;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&tlmm>;
+ interrupts = <39 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&expander3_int>;
};
eeprom@50 {
@@ -894,6 +900,13 @@ ethernet0_mdio: ethernet0-mdio-pins {
};
};
+ expander3_int: expander3-int-state {
+ pins = "gpio39";
+ function = "gpio";
+ input-enable;
+ bias-pull-up;
+ };
+
pcie0_default_state: pcie0-default-state {
clkreq-pins {
pins = "gpio1";
--
2.34.1
On Fri, Feb 06, 2026 at 04:16:41PM +0530, Swati Agarwal wrote:
> Enable PCA9538 expander3 as interrupt controller on Lemans EVK and
> configures the corresponding TLMM pins via pinctrl to operate as GPIO
> inputs with internal pull-ups.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> index a549f7fe53a1..473cc2a81670 100644
> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> @@ -649,6 +649,12 @@ expander3: gpio@3b {
> reg = <0x3b>;
> #gpio-cells = <2>;
> gpio-controller;
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&tlmm>;
> + interrupts = <39 IRQ_TYPE_LEVEL_LOW>;
interrupts-extended, please.
> + pinctrl-names = "default";
> + pinctrl-0 = <&expander3_int>;
> };
>
> eeprom@50 {
--
With best wishes
Dmitry
On 2/6/26 1:12 PM, Dmitry Baryshkov wrote:
> On Fri, Feb 06, 2026 at 04:16:41PM +0530, Swati Agarwal wrote:
>> Enable PCA9538 expander3 as interrupt controller on Lemans EVK and
>> configures the corresponding TLMM pins via pinctrl to operate as GPIO
>> inputs with internal pull-ups.
>>
>> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/lemans-evk.dts | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>> index a549f7fe53a1..473cc2a81670 100644
>> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
>> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>> @@ -649,6 +649,12 @@ expander3: gpio@3b {
>> reg = <0x3b>;
>> #gpio-cells = <2>;
>> gpio-controller;
>> + #interrupt-cells = <2>;
>> + interrupt-controller;
>> + interrupt-parent = <&tlmm>;
>> + interrupts = <39 IRQ_TYPE_LEVEL_LOW>;
>
> interrupts-extended, please.
I think interrupt-parent makes sense for a child that's also an
interrupt provider, IDK if interrupt-extended maintains the
topology
Konrad
On 2/6/26 11:46 AM, Swati Agarwal wrote:
> Enable PCA9538 expander3 as interrupt controller on Lemans EVK and
> configures the corresponding TLMM pins via pinctrl to operate as GPIO
> inputs with internal pull-ups.
>
> Signed-off-by: Swati Agarwal <swati.agarwal@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> index a549f7fe53a1..473cc2a81670 100644
> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> @@ -649,6 +649,12 @@ expander3: gpio@3b {
> reg = <0x3b>;
> #gpio-cells = <2>;
> gpio-controller;
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&tlmm>;
> + interrupts = <39 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&expander3_int>;
property-n
property-names
in this order, please
Could you wire up the interrupts from other expanders while at it?
> };
>
> eeprom@50 {
> @@ -894,6 +900,13 @@ ethernet0_mdio: ethernet0-mdio-pins {
> };
> };
>
> + expander3_int: expander3-int-state {
> + pins = "gpio39";
> + function = "gpio";
> + input-enable;
input-enable is not allowed for TLMM GPIOs, please make sure to run "make dtbs_check"
(or at least make [...] CHECK_DTBS=1 qcom/lemans-evk.dtb) before submitting
Konrad
© 2016 - 2026 Red Hat, Inc.