* [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:16 ` sashiko-bot
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, 1 reply; 9+ 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 related [flat|nested] 9+ messages in thread* Re: [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 1/3] arm64: dts: ti: k3-am62: " Kendall Willis
@ 2026-09-02 21:16 ` sashiko-bot
0 siblings, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-09-02 21:16 UTC (permalink / raw)
To: Kendall Willis; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The patch introduces a new device tree compatible string 'ti,am62-m_can' without updating the corresponding device tree binding schema, which will cause dtbs_check validation failures.
--
commit aab89344d119641f5683480ba4bd99f51381ae13
Author: Kendall Willis <k-willis@ti.com>
arm64: dts: ti: k3-am62: use ti,am62-m_can compatible for m_can devices
This commit prepends the "ti,am62-m_can" compatible string to the m_can
devices in the k3-am62-mcu device tree. This change reflects the out-of-band
wakeup functionality available for these devices during deeper low power
states.
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> --- 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";
[Severity: Low]
Will adding "ti,am62-m_can" here trigger a dtbs_check validation failure?
The existing schema for the Bosch M_CAN controller in
Documentation/devicetree/bindings/net/can/bosch,m_can.yaml expects the
compatible property to strictly be bosch,m_can.
Changing it to an array without updating the YAML schema will likely cause
DT validation tools to fail during the build process.
Should the binding schema be updated alongside this change?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260902-smth-v2-0-b3678ca44c7b@ti.com?part=1
^ permalink raw reply [flat|nested] 9+ 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:16 ` sashiko-bot
2026-09-02 21:04 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62p: " Kendall Willis
2 siblings, 1 reply; 9+ 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 related [flat|nested] 9+ messages in thread* Re: [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 2/3] arm64: dts: ti: k3-am62a: " Kendall Willis
@ 2026-09-02 21:16 ` sashiko-bot
0 siblings, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-09-02 21:16 UTC (permalink / raw)
To: Kendall Willis; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch introduces a new compatible string 'ti,am62-m_can' without updating the corresponding device tree binding schema, and lacks the kernel driver support and devicetree properties needed to implement the claimed out-of-band wakeup functionality.
--
commit 71acd1ade37c4bc66e5c6dc0a75ca7bcf4cda1e9
Author: Kendall Willis <k-willis@ti.com>
arm64: dts: ti: k3-am62a: use ti,am62-m_can compatible for m_can devices
This commit prepends the "ti,am62-m_can" compatible string to the m_can
devices in the k3-am62a-mcu device tree to enable out-of-band wakeup
functionality.
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> index d22caa7c346b3..7026c15ef8e3d 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";
[Severity: Medium]
Does this new compatible string violate the existing device tree binding schema?
The devicetree bindings in Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
currently require const: bosch,m_can, so adding ti,am62-m_can here causes a
failure when running make dtbs_check.
Additionally, the commit message claims this introduces out-of-band wakeup
functionality, but is the driver support for this compatible string missing
from the kernel? It appears the necessary devicetree properties (like
wakeup-source) and the driver implementation to back this capability are
absent from this patch series.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260902-smth-v2-0-b3678ca44c7b@ti.com?part=2
^ permalink raw reply [flat|nested] 9+ 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-02 21:13 ` sashiko-bot
2026-09-04 14:09 ` Kumar, Udit
2 siblings, 2 replies; 9+ 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 related [flat|nested] 9+ 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-02 21:13 ` sashiko-bot
2026-09-04 14:09 ` Kumar, Udit
1 sibling, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-09-02 21:13 UTC (permalink / raw)
To: Kendall Willis; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch introduces an undocumented device tree compatible string "ti,am62-m_can", which violates DT schema and will fail dtbs_check. Additionally, the patch lacks corresponding driver support and 'wakeup-source' properties to fulfill the claimed out-of-band wakeup functionality.
--
commit cef42e3b48831e21d6aea546d64d5e3a76c6a43c
Author: Kendall Willis <k-willis@ti.com>
arm64: dts: ti: k3-am62p: use ti,am62-m_can compatible for m_can devices
This commit prepends the "ti,am62-m_can" compatible string to the m_can
devices in the k3-am62p-j722s-common-mcu device tree. The commit message
states this allows the pins to act as a wakeup source in deep low-power
states via out-of-band wakeup capability.
> 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 5288c959f3c1a..d26d6b6d0cf46 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";
[Severity: Medium]
Is this new compatible string documented in the device tree bindings?
Using an undocumented compatible string will cause make dtbs_check to fail
against the bosch,m_can schema.
Additionally, the commit message mentions this enables out-of-band wakeup
functionality, but the standard wakeup-source property doesn't seem to be
added to this node. Without the wakeup-source property or driver-side
configuration for this specific compatible, will the Linux PM framework
actually arm the device for wakeup during system suspend?
> reg = <0x00 0x4e08000 0x00 0x200>,
> <0x00 0x4e00000 0x00 0x8000>;
[ ... ]
> @@ -169,7 +169,7 @@ mcu_mcan0: can@4e08000 {
> };
>
> mcu_mcan1: can@4e18000 {
> - compatible = "bosch,m_can";
> + compatible = "ti,am62-m_can", "bosch,m_can";
[Severity: Medium]
Similar to mcu_mcan0 above, does this node also need the wakeup-source
property to function as a wakeup source, and does the driver currently
support the ti,am62-m_can compatible string?
> reg = <0x00 0x4e18000 0x00 0x200>,
> <0x00 0x4e10000 0x00 0x8000>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260902-smth-v2-0-b3678ca44c7b@ti.com?part=3
^ permalink raw reply [flat|nested] 9+ 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-02 21:13 ` sashiko-bot
@ 2026-09-04 14:09 ` Kumar, Udit
2026-09-04 14:59 ` Kendall Willis
1 sibling, 1 reply; 9+ 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] 9+ 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; 9+ 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] 9+ messages in thread