Hello, On 11/07/2024 16:08:39+0200, Valentin Caron wrote: > This series adds a pinctrl/pinmux interface to control STM32 RTC outputs. > > Theses two signals output are possible: > - LSCO (Low Speed Clock Output) that allow to output LSE clock on a pin. > On STM32MPU Discovery boards, this feature is used to generate a clock > to Wifi/Bluetooth module. > - Alarm out that allow to send a pulse on a pin when alarm A of the RTC > expires. > > First attempt [1] was based on 'st,' vendor properties, this one is based > on pinctrl and pinmux framework. > > As device-trees will be upstreamed separately, here is an example: > > stm32-pinctrl { > rtc_rsvd_pins_a: rtc-rsvd-0 { > pins { > pinmux = <STM32_PINMUX('B', 2, AF1)>, /* OUT2 */ > <STM32_PINMUX('I', 8, ANALOG)>; /* OUT2_RMP */ > }; > }; > }; > > stm32-rtc { > pinctrl-0 = <&rtc_rsvd_pins_a &rtc_alarma_pins_a>; > > /* Enable by foo-device */ > rtc_lsco_pins_a: rtc-lsco-0 { > pins = "out2_rmp"; > function = "lsco"; > }; > > /* Enable by stm32-rtc hog */ > rtc_alarma_pins_a: rtc-alarma-0 { > pins = "out2"; > function = "alarm-a"; > }; > }; > > foo-device { > pinctrl-0 = <&rtc_lsco_pins_a>; > }; > This all seems good to me, I let you fix the various issues that have been reported. I was just wondering whether the LSCO clock was registered early enough to be used but I guess you tested that. -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com