* [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
@ 2026-04-02 10:52 Anup Kulkarni
2026-04-14 15:07 ` Konrad Dybcio
2026-04-14 16:08 ` Dmitry Baryshkov
0 siblings, 2 replies; 7+ messages in thread
From: Anup Kulkarni @ 2026-04-02 10:52 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
Cc: mukesh.savaliya, viken.dadhaniya, Anup Kulkarni
Few CAN controllers, part of RTSS sub-system on LeMans, route
their RX signal through a I2C GPIO expander at address 0x3b.
RTSS subsystem is an MCU like sub-system on LeMans with independent
booting capability through OSPI interface and supports peripherals like
RGMII, CAN-FD, UART, I2C, SPI etc.
Describe this hardware wiring by configuring the expander GPIO 4 pin as
hog with output-high, asserting the selected line during boot.
Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index a1ef4eba2a20..b8371bdf9933 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -615,6 +615,13 @@ expander3: gpio@3b {
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 {
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
2026-04-02 10:52 [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander Anup Kulkarni
@ 2026-04-14 15:07 ` Konrad Dybcio
2026-04-14 16:08 ` Dmitry Baryshkov
1 sibling, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-04-14 15:07 UTC (permalink / raw)
To: Anup Kulkarni, andersson, konradybcio, robh, krzk+dt, conor+dt,
linux-arm-msm, devicetree, linux-kernel
Cc: mukesh.savaliya, viken.dadhaniya
On 4/2/26 12:52 PM, Anup Kulkarni wrote:
> Few CAN controllers, part of RTSS sub-system on LeMans, route
> their RX signal through a I2C GPIO expander at address 0x3b.
> RTSS subsystem is an MCU like sub-system on LeMans with independent
> booting capability through OSPI interface and supports peripherals like
> RGMII, CAN-FD, UART, I2C, SPI etc.
>
> Describe this hardware wiring by configuring the expander GPIO 4 pin as
> hog with output-high, asserting the selected line during boot.
>
> Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
> ---
Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
2026-04-02 10:52 [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander Anup Kulkarni
2026-04-14 15:07 ` Konrad Dybcio
@ 2026-04-14 16:08 ` Dmitry Baryshkov
2026-04-14 16:20 ` Konrad Dybcio
1 sibling, 1 reply; 7+ messages in thread
From: Dmitry Baryshkov @ 2026-04-14 16:08 UTC (permalink / raw)
To: Anup Kulkarni
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel, mukesh.savaliya, viken.dadhaniya
On Thu, Apr 02, 2026 at 04:22:53PM +0530, Anup Kulkarni wrote:
> Few CAN controllers, part of RTSS sub-system on LeMans, route
> their RX signal through a I2C GPIO expander at address 0x3b.
> RTSS subsystem is an MCU like sub-system on LeMans with independent
> booting capability through OSPI interface and supports peripherals like
> RGMII, CAN-FD, UART, I2C, SPI etc.
>
> Describe this hardware wiring by configuring the expander GPIO 4 pin as
> hog with output-high, asserting the selected line during boot.
Missing platform name in the subject.
>
> Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/lemans-evk.dts | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> index a1ef4eba2a20..b8371bdf9933 100644
> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> @@ -615,6 +615,13 @@ expander3: gpio@3b {
> interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
> pinctrl-0 = <&expander3_int>;
> pinctrl-names = "default";
> +
> + rtss-can-sel-hog {
Why is it being described as a hog rather than a pinctrl used by the
CAN device?
> + gpio-hog;
> + gpios = <4 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "rtss-can-sel";
> + };
> };
>
> eeprom@50 {
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
2026-04-14 16:08 ` Dmitry Baryshkov
@ 2026-04-14 16:20 ` Konrad Dybcio
2026-04-14 18:09 ` Dmitry Baryshkov
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Dybcio @ 2026-04-14 16:20 UTC (permalink / raw)
To: Dmitry Baryshkov, Anup Kulkarni
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel, mukesh.savaliya, viken.dadhaniya
On 4/14/26 6:08 PM, Dmitry Baryshkov wrote:
> On Thu, Apr 02, 2026 at 04:22:53PM +0530, Anup Kulkarni wrote:
>> Few CAN controllers, part of RTSS sub-system on LeMans, route
>> their RX signal through a I2C GPIO expander at address 0x3b.
>> RTSS subsystem is an MCU like sub-system on LeMans with independent
>> booting capability through OSPI interface and supports peripherals like
>> RGMII, CAN-FD, UART, I2C, SPI etc.
>>
>> Describe this hardware wiring by configuring the expander GPIO 4 pin as
>> hog with output-high, asserting the selected line during boot.
>
> Missing platform name in the subject.
>
>>
>> Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/lemans-evk.dts | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>> index a1ef4eba2a20..b8371bdf9933 100644
>> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
>> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>> @@ -615,6 +615,13 @@ expander3: gpio@3b {
>> interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
>> pinctrl-0 = <&expander3_int>;
>> pinctrl-names = "default";
>> +
>> + rtss-can-sel-hog {
>
> Why is it being described as a hog rather than a pinctrl used by the
> CAN device?
My understanding is that the CAN bus is managed by SAIL ("RTSS")
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
2026-04-14 16:20 ` Konrad Dybcio
@ 2026-04-14 18:09 ` Dmitry Baryshkov
2026-04-15 8:56 ` Konrad Dybcio
2026-04-16 12:11 ` Anup Kulkarni
0 siblings, 2 replies; 7+ messages in thread
From: Dmitry Baryshkov @ 2026-04-14 18:09 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Anup Kulkarni, andersson, konradybcio, robh, krzk+dt, conor+dt,
linux-arm-msm, devicetree, linux-kernel, mukesh.savaliya,
viken.dadhaniya
On Tue, Apr 14, 2026 at 06:20:14PM +0200, Konrad Dybcio wrote:
> On 4/14/26 6:08 PM, Dmitry Baryshkov wrote:
> > On Thu, Apr 02, 2026 at 04:22:53PM +0530, Anup Kulkarni wrote:
> >> Few CAN controllers, part of RTSS sub-system on LeMans, route
> >> their RX signal through a I2C GPIO expander at address 0x3b.
> >> RTSS subsystem is an MCU like sub-system on LeMans with independent
> >> booting capability through OSPI interface and supports peripherals like
> >> RGMII, CAN-FD, UART, I2C, SPI etc.
> >>
> >> Describe this hardware wiring by configuring the expander GPIO 4 pin as
> >> hog with output-high, asserting the selected line during boot.
> >
> > Missing platform name in the subject.
> >
> >>
> >> Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
> >> ---
> >> arch/arm64/boot/dts/qcom/lemans-evk.dts | 7 +++++++
> >> 1 file changed, 7 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> >> index a1ef4eba2a20..b8371bdf9933 100644
> >> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
> >> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
> >> @@ -615,6 +615,13 @@ expander3: gpio@3b {
> >> interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
> >> pinctrl-0 = <&expander3_int>;
> >> pinctrl-names = "default";
> >> +
> >> + rtss-can-sel-hog {
> >
> > Why is it being described as a hog rather than a pinctrl used by the
> > CAN device?
>
> My understanding is that the CAN bus is managed by SAIL ("RTSS")
So, Linux can affect what is being required for the safety island?
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
2026-04-14 18:09 ` Dmitry Baryshkov
@ 2026-04-15 8:56 ` Konrad Dybcio
2026-04-16 12:11 ` Anup Kulkarni
1 sibling, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-04-15 8:56 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Anup Kulkarni, andersson, konradybcio, robh, krzk+dt, conor+dt,
linux-arm-msm, devicetree, linux-kernel, mukesh.savaliya,
viken.dadhaniya
On 4/14/26 8:09 PM, Dmitry Baryshkov wrote:
> On Tue, Apr 14, 2026 at 06:20:14PM +0200, Konrad Dybcio wrote:
>> On 4/14/26 6:08 PM, Dmitry Baryshkov wrote:
>>> On Thu, Apr 02, 2026 at 04:22:53PM +0530, Anup Kulkarni wrote:
>>>> Few CAN controllers, part of RTSS sub-system on LeMans, route
>>>> their RX signal through a I2C GPIO expander at address 0x3b.
>>>> RTSS subsystem is an MCU like sub-system on LeMans with independent
>>>> booting capability through OSPI interface and supports peripherals like
>>>> RGMII, CAN-FD, UART, I2C, SPI etc.
>>>>
>>>> Describe this hardware wiring by configuring the expander GPIO 4 pin as
>>>> hog with output-high, asserting the selected line during boot.
>>>
>>> Missing platform name in the subject.
>>>
>>>>
>>>> Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/lemans-evk.dts | 7 +++++++
>>>> 1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>>>> index a1ef4eba2a20..b8371bdf9933 100644
>>>> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>>>> @@ -615,6 +615,13 @@ expander3: gpio@3b {
>>>> interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
>>>> pinctrl-0 = <&expander3_int>;
>>>> pinctrl-names = "default";
>>>> +
>>>> + rtss-can-sel-hog {
>>>
>>> Why is it being described as a hog rather than a pinctrl used by the
>>> CAN device?
>>
>> My understanding is that the CAN bus is managed by SAIL ("RTSS")
>
> So, Linux can affect what is being required for the safety island?
Seems that way!
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander
2026-04-14 18:09 ` Dmitry Baryshkov
2026-04-15 8:56 ` Konrad Dybcio
@ 2026-04-16 12:11 ` Anup Kulkarni
1 sibling, 0 replies; 7+ messages in thread
From: Anup Kulkarni @ 2026-04-16 12:11 UTC (permalink / raw)
To: Dmitry Baryshkov, Konrad Dybcio
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel, mukesh.savaliya, viken.dadhaniya
On 4/14/2026 11:39 PM, Dmitry Baryshkov wrote:
> On Tue, Apr 14, 2026 at 06:20:14PM +0200, Konrad Dybcio wrote:
>> On 4/14/26 6:08 PM, Dmitry Baryshkov wrote:
>>> On Thu, Apr 02, 2026 at 04:22:53PM +0530, Anup Kulkarni wrote:
>>>> Few CAN controllers, part of RTSS sub-system on LeMans, route
>>>> their RX signal through a I2C GPIO expander at address 0x3b.
>>>> RTSS subsystem is an MCU like sub-system on LeMans with independent
>>>> booting capability through OSPI interface and supports peripherals like
>>>> RGMII, CAN-FD, UART, I2C, SPI etc.
>>>>
>>>> Describe this hardware wiring by configuring the expander GPIO 4 pin as
>>>> hog with output-high, asserting the selected line during boot.
>>> Missing platform name in the subject.
Will update the name in the next patch.
>>>
>>>> Signed-off-by: Anup Kulkarni <anup.kulkarni@oss.qualcomm.com>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/lemans-evk.dts | 7 +++++++
>>>> 1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>>>> index a1ef4eba2a20..b8371bdf9933 100644
>>>> --- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
>>>> @@ -615,6 +615,13 @@ expander3: gpio@3b {
>>>> interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
>>>> pinctrl-0 = <&expander3_int>;
>>>> pinctrl-names = "default";
>>>> +
>>>> + rtss-can-sel-hog {
>>> Why is it being described as a hog rather than a pinctrl used by the
>>> CAN device?
The RTSS CAN device is active at boot-up so used hog property here.
>> My understanding is that the CAN bus is managed by SAIL ("RTSS")
> So, Linux can affect what is being required for the safety island?
Yes, CAN bus is managed by RTSS, but the transceivers are
outside of RTSS. The RX line of CAN device is connected to the transceiver through I2C
GPIO expander on board level. GPIO Expander pin enables mux to connect CAN RX to transceiver.
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-04-16 12:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-02 10:52 [PATCH v1] arm64: dts: qcom: Enable CAN RX via GPIO expander Anup Kulkarni
2026-04-14 15:07 ` Konrad Dybcio
2026-04-14 16:08 ` Dmitry Baryshkov
2026-04-14 16:20 ` Konrad Dybcio
2026-04-14 18:09 ` Dmitry Baryshkov
2026-04-15 8:56 ` Konrad Dybcio
2026-04-16 12:11 ` Anup Kulkarni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox