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 >>> --- >>> .../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