* [PATCH v2 1/3] arm64: dts: ti: k3-am62: use ti,am62-m_can compatible for m_can devices
2026-09-02 21:04 [PATCH v2 0/3] arm64: dts: ti: use ti,am62-m_can compatible for m_can devices Kendall Willis
@ 2026-09-02 21:04 ` Kendall Willis
2026-09-02 21:04 ` [PATCH v2 2/3] arm64: dts: ti: k3-am62a: " Kendall Willis
2026-09-02 21:04 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62p: " Kendall Willis
2 siblings, 0 replies; 6+ messages in thread
From: Kendall Willis @ 2026-09-02 21:04 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, k-willis,
linux-arm-kernel, devicetree, linux-kernel
Prepend "ti,am62-m_can" to the m_can device compatible property since
this compatible adds out-of-band wakeup functionality to the m_can devices.
The m_can pins can be a wakeup source in the deepest low power states,
despite being in the MCU domain which is OFF during deeper low power states
since it has the out-of-band wakeup capability.
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
index 68e906796aefebc5eaaa5a231e56105a9cdd13e5..b4e14364e7e2b3e40afd1d010a012de6414409dd 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
@@ -152,7 +152,7 @@ mcu_rti0: watchdog@4880000 {
};
mcu_mcan0: can@4e08000 {
- compatible = "bosch,m_can";
+ compatible = "ti,am62-m_can", "bosch,m_can";
reg = <0x00 0x4e08000 0x00 0x200>,
<0x00 0x4e00000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
@@ -164,7 +164,7 @@ mcu_mcan0: can@4e08000 {
};
mcu_mcan1: can@4e18000 {
- compatible = "bosch,m_can";
+ compatible = "ti,am62-m_can", "bosch,m_can";
reg = <0x00 0x4e18000 0x00 0x200>,
<0x00 0x4e10000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v2 2/3] arm64: dts: ti: k3-am62a: use ti,am62-m_can compatible for m_can devices
2026-09-02 21:04 [PATCH v2 0/3] arm64: dts: ti: use ti,am62-m_can compatible for m_can devices Kendall Willis
2026-09-02 21:04 ` [PATCH v2 1/3] arm64: dts: ti: k3-am62: " Kendall Willis
@ 2026-09-02 21:04 ` Kendall Willis
2026-09-02 21:04 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62p: " Kendall Willis
2 siblings, 0 replies; 6+ messages in thread
From: Kendall Willis @ 2026-09-02 21:04 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, k-willis,
linux-arm-kernel, devicetree, linux-kernel
Prepend "ti,am62-m_can" to the m_can device compatible property since
this compatible adds out-of-band wakeup functionality to the m_can devices.
The m_can pins can be a wakeup source in the deepest low power states,
despite being in the MCU domain which is OFF during deeper low power states
since it has the out-of-band wakeup capability.
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
index d22caa7c346b35dcb11163a5e73e17790ff751dd..7026c15ef8e3df47f27d22b3cb86c1985e374123 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
@@ -152,7 +152,7 @@ mcu_rti0: watchdog@4880000 {
};
mcu_mcan0: can@4e08000 {
- compatible = "bosch,m_can";
+ compatible = "ti,am62-m_can", "bosch,m_can";
reg = <0x00 0x4e08000 0x00 0x200>,
<0x00 0x4e00000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
@@ -164,7 +164,7 @@ mcu_mcan0: can@4e08000 {
};
mcu_mcan1: can@4e18000 {
- compatible = "bosch,m_can";
+ compatible = "ti,am62-m_can", "bosch,m_can";
reg = <0x00 0x4e18000 0x00 0x200>,
<0x00 0x4e10000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v2 3/3] arm64: dts: ti: k3-am62p: use ti,am62-m_can compatible for m_can devices
2026-09-02 21:04 [PATCH v2 0/3] arm64: dts: ti: use ti,am62-m_can compatible for m_can devices Kendall Willis
2026-09-02 21:04 ` [PATCH v2 1/3] arm64: dts: ti: k3-am62: " Kendall Willis
2026-09-02 21:04 ` [PATCH v2 2/3] arm64: dts: ti: k3-am62a: " Kendall Willis
@ 2026-09-02 21:04 ` Kendall Willis
2026-09-04 14:09 ` Kumar, Udit
2 siblings, 1 reply; 6+ messages in thread
From: Kendall Willis @ 2026-09-02 21:04 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, k-willis,
linux-arm-kernel, devicetree, linux-kernel
Prepend "ti,am62-m_can" to the m_can device compatible property since
this compatible adds out-of-band wakeup functionality to the m_can devices.
The m_can pins can be a wakeup source in the deepest low power states,
despite being in the MCU domain which is OFF during deeper low power states
since it has the out-of-band wakeup capability.
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
index 5288c959f3c1aecfde363f9e2440253545591171..d26d6b6d0cf46a19bde9f58769b3eb8c86c836ab 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
@@ -154,7 +154,7 @@ mcu_rti0: watchdog@4880000 {
};
mcu_mcan0: can@4e08000 {
- compatible = "bosch,m_can";
+ compatible = "ti,am62-m_can", "bosch,m_can";
reg = <0x00 0x4e08000 0x00 0x200>,
<0x00 0x4e00000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
@@ -169,7 +169,7 @@ mcu_mcan0: can@4e08000 {
};
mcu_mcan1: can@4e18000 {
- compatible = "bosch,m_can";
+ compatible = "ti,am62-m_can", "bosch,m_can";
reg = <0x00 0x4e18000 0x00 0x200>,
<0x00 0x4e10000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 3/3] arm64: dts: ti: k3-am62p: use ti,am62-m_can compatible for m_can devices
2026-09-02 21:04 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62p: " Kendall Willis
@ 2026-09-04 14:09 ` Kumar, Udit
2026-09-04 14:59 ` Kendall Willis
0 siblings, 1 reply; 6+ messages in thread
From: Kumar, Udit @ 2026-09-04 14:09 UTC (permalink / raw)
To: Kendall Willis, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, linux-arm-kernel,
devicetree, linux-kernel, u-kumar1
Hello Kendall,
On 9/3/2026 2:34 AM, Kendall Willis wrote:
> Prepend "ti,am62-m_can" to the m_can device compatible property since
> this compatible adds out-of-band wakeup functionality to the m_can devices.
> The m_can pins can be a wakeup source in the deepest low power states,
> despite being in the MCU domain which is OFF during deeper low power states
> since it has the out-of-band wakeup capability.
>
Instead of adding new compatible,
what you think
1) if pinctrl_state_wakeup is set ("wakeup", prop in pin control) then
treat this as out of band wakeup
2) if device itself enabled as wakeup device treat as in band wakeup source
> Signed-off-by: Kendall Willis <k-willis@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
> index 5288c959f3c1aecfde363f9e2440253545591171..d26d6b6d0cf46a19bde9f58769b3eb8c86c836ab 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
> @@ -154,7 +154,7 @@ mcu_rti0: watchdog@4880000 {
> };
>
> mcu_mcan0: can@4e08000 {
> - compatible = "bosch,m_can";
> + compatible = "ti,am62-m_can", "bosch,m_can";
> reg = <0x00 0x4e08000 0x00 0x200>,
> <0x00 0x4e00000 0x00 0x8000>;
> reg-names = "m_can", "message_ram";
> @@ -169,7 +169,7 @@ mcu_mcan0: can@4e08000 {
> };
>
> mcu_mcan1: can@4e18000 {
> - compatible = "bosch,m_can";
> + compatible = "ti,am62-m_can", "bosch,m_can";
> reg = <0x00 0x4e18000 0x00 0x200>,
> <0x00 0x4e10000 0x00 0x8000>;
> reg-names = "m_can", "message_ram";
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 3/3] arm64: dts: ti: k3-am62p: use ti,am62-m_can compatible for m_can devices
2026-09-04 14:09 ` Kumar, Udit
@ 2026-09-04 14:59 ` Kendall Willis
0 siblings, 0 replies; 6+ messages in thread
From: Kendall Willis @ 2026-09-04 14:59 UTC (permalink / raw)
To: Kumar, Udit
Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, s-kochidanadu, a-kaur,
s-tripathi1, vishalm, linux-arm-kernel, devicetree, linux-kernel
Hi Udit,
On 19:39-20260904, Kumar, Udit wrote:
> Hello Kendall,
>
> On 9/3/2026 2:34 AM, Kendall Willis wrote:
> > Prepend "ti,am62-m_can" to the m_can device compatible property since
> > this compatible adds out-of-band wakeup functionality to the m_can devices.
> > The m_can pins can be a wakeup source in the deepest low power states,
> > despite being in the MCU domain which is OFF during deeper low power states
> > since it has the out-of-band wakeup capability.
> >
>
> Instead of adding new compatible,
> what you think
>
> 1) if pinctrl_state_wakeup is set ("wakeup", prop in pin control) then
> treat this as out of band wakeup
Yes, that is essentially what the following patch is doing. But for CAN
devices, there is a chance that not all pinctrl_state_wakeup have
out-of-band wakeup functionality which is why the compatible is needed.
https://lore.kernel.org/all/20260902-temp-v4-2-3896f7d16ce8@ti.com/
> 2) if device itself enabled as wakeup device treat as in band wakeup source
MCU CAN wakeup is IO daisy chained so it should be treated as out-of-band
wakeup. Additionally, the out-of-band wakeup capability needs to be set
so that TI SCI PM domains does not set the wakeup constraint on CAN so
that the FW will allow the system to enter DeepSleep.
Best,
Kendall
> > Signed-off-by: Kendall Willis <k-willis@ti.com>
> > ---
> > arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
> > index 5288c959f3c1aecfde363f9e2440253545591171..d26d6b6d0cf46a19bde9f58769b3eb8c86c836ab 100644
> > --- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
> > +++ b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi
> > @@ -154,7 +154,7 @@ mcu_rti0: watchdog@4880000 {
> > };
> >
> > mcu_mcan0: can@4e08000 {
> > - compatible = "bosch,m_can";
> > + compatible = "ti,am62-m_can", "bosch,m_can";
> > reg = <0x00 0x4e08000 0x00 0x200>,
> > <0x00 0x4e00000 0x00 0x8000>;
> > reg-names = "m_can", "message_ram";
> > @@ -169,7 +169,7 @@ mcu_mcan0: can@4e08000 {
> > };
> >
> > mcu_mcan1: can@4e18000 {
> > - compatible = "bosch,m_can";
> > + compatible = "ti,am62-m_can", "bosch,m_can";
> > reg = <0x00 0x4e18000 0x00 0x200>,
> > <0x00 0x4e10000 0x00 0x8000>;
> > reg-names = "m_can", "message_ram";
> >
>
^ permalink raw reply [flat|nested] 6+ messages in thread