Re: [PATCH v8 1/4] dt-bindings: can: m_can: Add wakeup properties

From: Markus Schneider-Pargmann
Date: Tue Aug 19 2025 - 03:23:43 EST


Hi,

On Wed Aug 13, 2025 at 9:23 AM CEST, Marc Kleine-Budde wrote:
> On 12.08.2025 11:10:22, Markus Schneider-Pargmann wrote:
>> The pins associated with m_can have to have a special configuration to
>> be able to wakeup the SoC from some system states. This configuration is
>> described in the wakeup pinctrl state while the default state describes
>> the default configuration.
>>
>> Also m_can can be a wakeup-source if capable of wakeup.
>>
>> Signed-off-by: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx>
>> ---
>> .../devicetree/bindings/net/can/bosch,m_can.yaml | 22 ++++++++++++++++++++++
>> 1 file changed, 22 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
>> index c4887522e8fe97c3947357b4dbd4ecf20ee8100a..ecba8783198fc1658fcc236d8aa3c89d8c90abbd 100644
>> --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
>> +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
>> @@ -106,6 +106,22 @@ properties:
>> maximum: 32
>> minItems: 1
>>
>> + pinctrl-0:
>> + description: Default pinctrl state
>> +
>> + pinctrl-1:
>> + description: Wakeup pinctrl state
>> +
>> + pinctrl-names:
>> + description:
>> + When present should contain at least "default" describing the default pin
>> + states. The second state called "wakeup" describes the pins in their
>> + wakeup configuration required to exit sleep states.
>> + minItems: 1
>> + items:
>> + - const: default
>> + - const: wakeup
>> +
>
> This breaks at least the stm32mp15 SoCs that define a sleep state:
>
> &m_can1 {
> resets = <&rcc FDCAN_R>;
> pinctrl-names = "default", "sleep";
> pinctrl-0 = <&m_can1_pins_b>;
> pinctrl-1 = <&m_can1_sleep_pins_b>;
> status = "okay";
> };

I am struggling to find binding documentation that explicitly lists
this sleep pinctrl state. So what is the intended purpose here? Also the
driver does nothing with this at the moment right?

I mean I can also add a sleep state to the binding or just leave the
binding empty so it can be anything, but that feels wrong.

Best
Markus

>
>> power-domains:
>> description:
>> Power domain provider node and an args specifier containing
>> @@ -122,6 +138,12 @@ properties:
>> minItems: 1
>> maxItems: 2
>>
>> + wakeup-source:
>> + $ref: /schemas/types.yaml#/definitions/phandle-array
>> + description:
>> + List of phandles to system idle states in which mcan can wakeup the system.
>> +
>> +
>
> One newline should be enough.
>
>> required:
>> - compatible
>> - reg
>>
>> --
>> 2.50.1
>>
>>
>>
>
> Marc

Attachment: signature.asc
Description: PGP signature