[PATCH 0/4] rtc: stm32: add pinctrl interface to handle RTC outs
Alexandre Belloni
alexandre.belloni at bootlin.com
Mon Jul 15 14:12:16 PDT 2024
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
More information about the linux-arm-kernel
mailing list