Re: [PATCH v8 1/4] dt-bindings: can: m_can: Add wakeup properties
From: Markus Schneider-Pargmann
Date: Tue Aug 19 2025 - 03:29:26 EST
On Tue Aug 19, 2025 at 9:20 AM CEST, Markus Schneider-Pargmann wrote:
> 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.
Sorry, I missed the sleep use in the driver, will add it to the binding. I am
wondering why it wasn't in the binding before.
Thanks!
Best
Markus
>
> 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