Hi Valentin, On Mon, Jul 22, 2024 at 6:02 PM Valentin Caron <valentin.caron@xxxxxxxxxxx> wrote: > This series adds a pinctrl/pinmux interface to control STM32 RTC outputs. Interesting! I think it is the first pin controller outside on drivers/pinctrl in the kernel tree. Please include me and the linux-gpio@xxxxxxxxxxxxxxx list in subsequent postings, I want to be sure what gets merged here and I only noticed this from the LWN driver patches summary. > 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>; So the first one is a generic pin control setting and the second one is a hog for the pins defined by the device itself. It's clever, and works. Nice work! (There should probably be a comment in the device tree to say what is going on so people reading it are not confused.) > /* 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"; > }; Yours, Linus Walleij