* [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders
@ 2026-09-29 8:35 Komal Bajaj
2026-09-29 8:44 ` sashiko-bot
2026-09-30 9:52 ` Konrad Dybcio
0 siblings, 2 replies; 5+ messages in thread
From: Komal Bajaj @ 2026-09-29 8:35 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Faruque Ansari,
Komal Bajaj
Add the EVK GPIO expander definitions on the I2C3 bus. Describe the
TCA9538 and TCA9539 expanders used by EVK boards.
Co-developed-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
Signed-off-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
---
Changes in v2:
- Moved GPIO expander nodes to i2c3 (sashiko)
- Link to v1: https://lore.kernel.org/r/20260924-shikra-gpio-expander-v1-1-71929498ea44@oss.qualcomm.com
---
arch/arm64/boot/dts/qcom/shikra-evk.dtsi | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
index da484887110b..ecc630117940 100644
--- a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
@@ -11,6 +11,38 @@ &gpu_zap_shader {
firmware-name = "qcom/shikra/a704_zap.mbn";
};
+&i2c3 {
+ status = "okay";
+
+ expander0: pca953x@38 {
+ compatible = "ti,tca9538";
+ reg = <0x38>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander1: pca953x@3c {
+ compatible = "ti,tca9538";
+ reg = <0x3c>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander2: pca953x@20 {
+ compatible = "ti,tca9539";
+ reg = <0x20>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ expander3: pca953x@21 {
+ compatible = "ti,tca9539";
+ reg = <0x21>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
+
&qupv3_0 {
firmware-name = "qcom/shikra/qupv3fw.elf";
---
base-commit: 6375e61c01e93e35ee7acd336a689ac1fae4b509
change-id: 20260924-shikra-gpio-expander-25ff4a29c848
Best regards,
--
Komal Bajaj <komal.bajaj@oss.qualcomm.com>
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders
2026-09-29 8:35 [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders Komal Bajaj
@ 2026-09-29 8:44 ` sashiko-bot
2026-10-01 8:56 ` Komal Bajaj
2026-09-30 9:52 ` Konrad Dybcio
1 sibling, 1 reply; 5+ messages in thread
From: sashiko-bot @ 2026-09-29 8:44 UTC (permalink / raw)
To: Komal Bajaj; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [Low] dts: incorrect hardware compatible string for GPIO expanders
- [Low] dts: devicetree schema violation for GPIO node names
- [Low] dts: unsorted i2c child nodes
--
commit 9c266369a865f519d07da1f291fbd2938e091d86
Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
arm64: dts: qcom: shikra-evk: Add GPIO expanders
This commit adds the EVK GPIO expander definitions to the I2C3 bus for the
shikra-evk board. It describes the TCA9538 and TCA9539 expanders used by
the EVK boards.
Link: https://lore.kernel.org/r/20260924-shikra-gpio-expander-v1-1-71929498ea44@oss.qualcomm.com
> diff --git a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
> index da484887110b0..ecc6301179400 100644
> --- a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
> +++ b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
> @@ -11,6 +11,38 @@ &gpu_zap_shader {
> firmware-name = "qcom/shikra/a704_zap.mbn";
> };
>
> +&i2c3 {
> + status = "okay";
> +
> + expander0: pca953x@38 {
[Severity: Low]
Should the child nodes of the i2c3 bus be sorted by unit address in
ascending order? The node at unit address 38 currently precedes the nodes
at unit addresses 20 and 21.
[Severity: Low]
Should this node be named gpio@38 instead of pca953x@38? The generic node
name recommendation suggests using 'gpio', which helps avoid dt-schema
validation warnings during dtbs_check.
> + compatible = "ti,tca9538";
> + reg = <0x38>;
[Severity: Low]
Does the TCA9538 hardware actually support the 0x38 I2C address? The 0x38
address natively belongs to a TCA9554A or PCA9534A. While the gpio-pca953x
driver abstracts these expanders using identical logic, should the
devicetree accurately describe the physical hardware limitations?
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +
> + expander1: pca953x@3c {
> + compatible = "ti,tca9538";
> + reg = <0x3c>;
[Severity: Low]
Is this address physically possible for a TCA9538? Configuring an offset
of +4 requires an A2 address pin, which the TCA9538 physically lacks.
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +
> + expander2: pca953x@20 {
> + compatible = "ti,tca9539";
> + reg = <0x20>;
[Severity: Low]
Does this setup actually use a TCA9539, or might it be a TCA9535? The I2C
address 0x20 natively belongs to a TCA9535, so this compatible string claims
hardware at an address it cannot physically occupy.
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +
> + expander3: pca953x@21 {
> + compatible = "ti,tca9539";
> + reg = <0x21>;
[Severity: Low]
Similar to the node above, does this represent a TCA9535? Address 0x21
is the hardware address for a TCA9535, not a TCA9539.
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +};
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260929-shikra-gpio-expander-v2-1-98ea5808c4a6@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders
2026-09-29 8:35 [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders Komal Bajaj
2026-09-29 8:44 ` sashiko-bot
@ 2026-09-30 9:52 ` Konrad Dybcio
2026-10-01 8:58 ` Komal Bajaj
1 sibling, 1 reply; 5+ messages in thread
From: Konrad Dybcio @ 2026-09-30 9:52 UTC (permalink / raw)
To: Komal Bajaj, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Faruque Ansari
On 9/29/26 10:35 AM, Komal Bajaj wrote:
> Add the EVK GPIO expander definitions on the I2C3 bus. Describe the
> TCA9538 and TCA9539 expanders used by EVK boards.
>
> Co-developed-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
> Signed-off-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
> ---
[...]
> +&i2c3 {
> + status = "okay";
> +
> + expander0: pca953x@38 {
> + compatible = "ti,tca9538";
> + reg = <0x38>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
Please keep the nodes sorted by their unit address
Konrad
> +
> + expander1: pca953x@3c {
> + compatible = "ti,tca9538";
> + reg = <0x3c>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +
> + expander2: pca953x@20 {
> + compatible = "ti,tca9539";
> + reg = <0x20>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +
> + expander3: pca953x@21 {
> + compatible = "ti,tca9539";
> + reg = <0x21>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + };
> +};
> +
> &qupv3_0 {
> firmware-name = "qcom/shikra/qupv3fw.elf";
>
>
> ---
> base-commit: 6375e61c01e93e35ee7acd336a689ac1fae4b509
> change-id: 20260924-shikra-gpio-expander-25ff4a29c848
>
> Best regards,
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders
2026-09-29 8:44 ` sashiko-bot
@ 2026-10-01 8:56 ` Komal Bajaj
0 siblings, 0 replies; 5+ messages in thread
From: Komal Bajaj @ 2026-10-01 8:56 UTC (permalink / raw)
To: sashiko-reviews; +Cc: robh, conor+dt, devicetree
On 9/29/2026 2:14 PM, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
> - [Low] dts: incorrect hardware compatible string for GPIO expanders
> - [Low] dts: devicetree schema violation for GPIO node names
> - [Low] dts: unsorted i2c child nodes
> --
>
> commit 9c266369a865f519d07da1f291fbd2938e091d86
> Author: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>
> arm64: dts: qcom: shikra-evk: Add GPIO expanders
>
> This commit adds the EVK GPIO expander definitions to the I2C3 bus for the
> shikra-evk board. It describes the TCA9538 and TCA9539 expanders used by
> the EVK boards.
>
> Link: https://lore.kernel.org/r/20260924-shikra-gpio-expander-v1-1-71929498ea44@oss.qualcomm.com
>
>> diff --git a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
>> index da484887110b0..ecc6301179400 100644
>> --- a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
>> @@ -11,6 +11,38 @@ &gpu_zap_shader {
>> firmware-name = "qcom/shikra/a704_zap.mbn";
>> };
>>
>> +&i2c3 {
>> + status = "okay";
>> +
>> + expander0: pca953x@38 {
> [Severity: Low]
> Should the child nodes of the i2c3 bus be sorted by unit address in
> ascending order? The node at unit address 38 currently precedes the nodes
> at unit addresses 20 and 21.
I will reorder child nodes by ascending unit address in next revision.
>
> [Severity: Low]
> Should this node be named gpio@38 instead of pca953x@38? The generic node
> name recommendation suggests using 'gpio', which helps avoid dt-schema
> validation warnings during dtbs_check.
Agree. I will rename it to gpio@38 in next revision.
>
>> + compatible = "ti,tca9538";
>> + reg = <0x38>;
> [Severity: Low]
> Does the TCA9538 hardware actually support the 0x38 I2C address? The 0x38
> address natively belongs to a TCA9554A or PCA9534A. While the gpio-pca953x
> driver abstracts these expanders using identical logic, should the
> devicetree accurately describe the physical hardware limitations?
The hardware configuration, including assigned I2C address, has been
verified against board schematics. The address assignment in this design
is intentional. Same applies for TCA9539 hardware.
>
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +
>> + expander1: pca953x@3c {
>> + compatible = "ti,tca9538";
>> + reg = <0x3c>;
> [Severity: Low]
> Is this address physically possible for a TCA9538? Configuring an offset
> of +4 requires an A2 address pin, which the TCA9538 physically lacks.
This is correct, has been verified against board schematics.
Thanks
Komal
>
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +
>> + expander2: pca953x@20 {
>> + compatible = "ti,tca9539";
>> + reg = <0x20>;
> [Severity: Low]
> Does this setup actually use a TCA9539, or might it be a TCA9535? The I2C
> address 0x20 natively belongs to a TCA9535, so this compatible string claims
> hardware at an address it cannot physically occupy.
>
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +
>> + expander3: pca953x@21 {
>> + compatible = "ti,tca9539";
>> + reg = <0x21>;
> [Severity: Low]
> Similar to the node above, does this represent a TCA9535? Address 0x21
> is the hardware address for a TCA9535, not a TCA9539.
>
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +};
> [ ... ]
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders
2026-09-30 9:52 ` Konrad Dybcio
@ 2026-10-01 8:58 ` Komal Bajaj
0 siblings, 0 replies; 5+ messages in thread
From: Komal Bajaj @ 2026-10-01 8:58 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Faruque Ansari
On 9/30/2026 3:22 PM, Konrad Dybcio wrote:
> On 9/29/26 10:35 AM, Komal Bajaj wrote:
>> Add the EVK GPIO expander definitions on the I2C3 bus. Describe the
>> TCA9538 and TCA9539 expanders used by EVK boards.
>>
>> Co-developed-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
>> Signed-off-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
>> Signed-off-by: Komal Bajaj <komal.bajaj@oss.qualcomm.com>
>> ---
> [...]
>
>> +&i2c3 {
>> + status = "okay";
>> +
>> + expander0: pca953x@38 {
>> + compatible = "ti,tca9538";
>> + reg = <0x38>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
> Please keep the nodes sorted by their unit address
Ack. I will do it next revision.
Thanks
Komal
>
> Konrad
> > +
>> + expander1: pca953x@3c {
>> + compatible = "ti,tca9538";
>> + reg = <0x3c>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +
>> + expander2: pca953x@20 {
>> + compatible = "ti,tca9539";
>> + reg = <0x20>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +
>> + expander3: pca953x@21 {
>> + compatible = "ti,tca9539";
>> + reg = <0x21>;
>> + #gpio-cells = <2>;
>> + gpio-controller;
>> + };
>> +};
>> +
>> &qupv3_0 {
>> firmware-name = "qcom/shikra/qupv3fw.elf";
>>
>>
>> ---
>> base-commit: 6375e61c01e93e35ee7acd336a689ac1fae4b509
>> change-id: 20260924-shikra-gpio-expander-25ff4a29c848
>>
>> Best regards,
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-01 8:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-29 8:35 [PATCH v2] arm64: dts: qcom: shikra-evk: Add GPIO expanders Komal Bajaj
2026-09-29 8:44 ` sashiko-bot
2026-10-01 8:56 ` Komal Bajaj
2026-09-30 9:52 ` Konrad Dybcio
2026-10-01 8:58 ` Komal Bajaj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox