Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/2] can: m_can: support out-of-band wakeup capability
@ 2026-08-20 21:39 Kendall Willis
  2026-08-20 21:39 ` [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property Kendall Willis
  2026-08-20 21:39 ` [PATCH v2 2/2] can: m_can: set out-of-band wakeup if wakeup pinctrl exists Kendall Willis
  0 siblings, 2 replies; 4+ messages in thread
From: Kendall Willis @ 2026-08-20 21:39 UTC (permalink / raw)
  To: Markus Schneider-Pargmann, Marc Kleine-Budde, Vincent Mailhol,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chandrasekar Ramakrishnan
  Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, k-willis, linux-can,
	devicetree, linux-kernel

This series adds support for the out-of-band wakeup capability in the m_can
driver. Some CAN devices are wakeup capable and can wake up the system
while being in a domain that is OFF. Allow the driver to set the
out-of-band wakeup flag during suspend if the "out-band-wakeup" property
is present in the device tree.

A corresponding DTS series enabling this feature on TI K3 AM62A, AM62D,
AM62P, and AM62X-LP SoCs has been submitted separately:
"arm64: dts: ti: add out-band-wakeup property to m_can devices"

Testing
-------
Tested suspend/resume with CAN wakeup on AM62P SK EVM.

Signed-off-by: Kendall Willis <k-willis@ti.com>
---
Changes in v2:
- Create "out-band-wakeup" property in dt bindings.
- Use "out-band-wakeup" property to set the out_band_wakeup flag upon
  suspend.
- Rebase to v7.2
- Link to v1: https://lore.kernel.org/r/20260213-mcan-out-of-band-v1-1-af68d4c570b3@ti.com

---
Kendall Willis (2):
      dt-bindings: can: m_can: add out band wakeup property
      can: m_can: set out-of-band wakeup if wakeup pinctrl exists

 Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 12 ++++++++++++
 drivers/net/can/m_can/m_can.c                              |  6 +++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
---
base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f
change-id: 20260819-temp-93299bee27b7

Best regards,
-- 
Kendall Willis <k-willis@ti.com>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property
  2026-08-20 21:39 [PATCH v2 0/2] can: m_can: support out-of-band wakeup capability Kendall Willis
@ 2026-08-20 21:39 ` Kendall Willis
  2026-08-20 21:48   ` sashiko-bot
  2026-08-20 21:39 ` [PATCH v2 2/2] can: m_can: set out-of-band wakeup if wakeup pinctrl exists Kendall Willis
  1 sibling, 1 reply; 4+ messages in thread
From: Kendall Willis @ 2026-08-20 21:39 UTC (permalink / raw)
  To: Markus Schneider-Pargmann, Marc Kleine-Budde, Vincent Mailhol,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chandrasekar Ramakrishnan
  Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, k-willis, linux-can,
	devicetree, linux-kernel

Create out-band-wakeup property. The property indicates that the device
can wakeup the system even when its power domain is off. The property is
only used if the device is a wakeup source.

Signed-off-by: Kendall Willis <k-willis@ti.com>
---
 Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
index 2c9d37975bedd652b3060ab11ba75c37565edaad..b6cb945c225f168533f714b5db08afbdc4ebeb93 100644
--- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
+++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
@@ -150,6 +150,11 @@ properties:
     description:
       List of phandles to system idle states in which mcan can wakeup the system.
 
+  out-band-wakeup:
+    type: boolean
+    description:
+      Indicates CAN device is out-of-band wakeup capable.
+
 required:
   - compatible
   - reg
@@ -158,6 +163,13 @@ required:
   - clock-names
   - bosch,mram-cfg
 
+if:
+  required:
+    - out-band-wakeup
+then:
+  required:
+    - wakeup-source
+
 unevaluatedProperties: false
 
 examples:

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] can: m_can: set out-of-band wakeup if wakeup pinctrl exists
  2026-08-20 21:39 [PATCH v2 0/2] can: m_can: support out-of-band wakeup capability Kendall Willis
  2026-08-20 21:39 ` [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property Kendall Willis
@ 2026-08-20 21:39 ` Kendall Willis
  1 sibling, 0 replies; 4+ messages in thread
From: Kendall Willis @ 2026-08-20 21:39 UTC (permalink / raw)
  To: Markus Schneider-Pargmann, Marc Kleine-Budde, Vincent Mailhol,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chandrasekar Ramakrishnan
  Cc: s-kochidanadu, a-kaur, s-tripathi1, vishalm, k-willis, linux-can,
	devicetree, linux-kernel

In TI AM62X, AM62A, and AM62P SoCs, the m_can pins can act as a wakeup
source in the deepest low power states. However, the m_can pins are a part
of the MCU domain which is OFF in deeper low power states. Since the m_can
pins continue to be ON even if the MCU domain is turned off, set the
out-of-band wakeup flag if the CAN device may wakeup, has the
"out-band-wakeup" property in the device tree node, and has the "wakeup"
pinctrl state.

Signed-off-by: Kendall Willis <k-willis@ti.com>
---
 drivers/net/can/m_can/m_can.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index eb856547ae7df27a844b236a0c1d4498cbb8b60f..e745660fb3eb311de70635fcfc016a44e62d5602 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -2622,8 +2622,12 @@ int m_can_class_suspend(struct device *dev)
 		cdev->can.state = CAN_STATE_SLEEPING;
 	}
 
-	if (!m_can_class_wakeup_pinctrl_enabled(cdev))
+	if (m_can_class_wakeup_pinctrl_enabled(cdev)) {
+		if (device_property_read_bool(dev, "out-band-wakeup"))
+			device_set_out_band_wakeup(dev);
+	} else {
 		pinctrl_pm_select_sleep_state(dev);
+	}
 
 	return ret;
 }

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property
  2026-08-20 21:39 ` [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property Kendall Willis
@ 2026-08-20 21:48   ` sashiko-bot
  0 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-08-20 21:48 UTC (permalink / raw)
  To: Kendall Willis
  Cc: Marc Kleine-Budde, Oliver Hartkopp, Vincent Mailhol, robh,
	linux-can, devicetree, conor+dt, Oleksij Rempel

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The newly added custom device-specific property `out-band-wakeup` is missing a vendor prefix.
--

--- Patch [1]: [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property ---
commit 66d860c00379089f5518db1a67a453077a6864ea
Author: Kendall Willis <k-willis@ti.com>

dt-bindings: can: m_can: add out band wakeup property

This commit introduces the out-band-wakeup property to the m_can binding.
The property indicates if the CAN device is capable of waking up the system
even when its power domain is off.

> diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> index 2c9d37975bedd..b6cb945c225f1 100644
> --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> @@ -150,6 +150,11 @@ properties:
>      description:
>        List of phandles to system idle states in which mcan can wakeup the system.
>  
> +  out-band-wakeup:
> +    type: boolean
> +    description:
> +      Indicates CAN device is out-of-band wakeup capable.

[Severity: Low]
Should this device-specific property have a vendor prefix?

Since this property is not defined in a core common schema like dtschema
or can-controller.yaml, the Devicetree specification requires a vendor
prefix (such as ti,out-band-wakeup or bosch,out-band-wakeup) to prevent
property name collisions.

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260820-temp-v2-0-dd3f8cacc15e@ti.com?part=1

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-08-20 21:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-20 21:39 [PATCH v2 0/2] can: m_can: support out-of-band wakeup capability Kendall Willis
2026-08-20 21:39 ` [PATCH v2 1/2] dt-bindings: can: m_can: add out band wakeup property Kendall Willis
2026-08-20 21:48   ` sashiko-bot
2026-08-20 21:39 ` [PATCH v2 2/2] can: m_can: set out-of-band wakeup if wakeup pinctrl exists Kendall Willis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox