]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: lemans-evk: Enable CAN RX via I2C GPIO expander
authorAnup Kulkarni <anup.kulkarni@oss.qualcomm.com>
Tue, 19 May 2026 06:49:54 +0000 (12:19 +0530)
committerBjorn Andersson <andersson@kernel.org>
Fri, 22 May 2026 02:55:28 +0000 (21:55 -0500)
The LeMans EVK board routes the RX lines of CAN controllers 2, 4, and 6
(part of the RTSS subsystem) through a signal multiplexer controlled by
GPIO 4 of the I2C GPIO expander at address 0x3b. The remaining CAN
controllers, out of 8 total on RTSS, are wired directly to their
transceivers.

The multiplexer select pin defaults low on reset, disconnecting CAN 2,
4, and 6 RX lines from their respective transceivers, which results in
no data being received on these interfaces.

Configure GPIO 4 as output-high to assert the mux select line at boot,
connecting the RX signals of CAN 2, 4, and 6 to their transceivers as
required by the EVK board wiring.

Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260519064954.2759960-1-anup.kulkarni@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/lemans-evk.dts

index c665db6a4595cef441f4bd5ba21fe133652b97c6..34dfc8d22b6a58af8e156194681fe65cfa89507d 100644 (file)
                interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
                pinctrl-0 = <&expander3_int>;
                pinctrl-names = "default";
+
+               rtss-can-sel-hog {
+                       gpio-hog;
+                       gpios = <4 GPIO_ACTIVE_HIGH>;
+                       output-high;
+                       line-name = "rtss-can-sel";
+               };
        };
 
        eeprom@50 {