STM32 RTC can pulse some SOC pins when an alarm of RTC expires.
This patch adds property to activate alarm A output. The pulse can
output on three pins RTC_OUT1, RTC_OUT2, RTC_OUT2_RMP
(PC13, PB2, PI8 on stm32mp15) (PC13, PB2, PI1 on stm32mp13).
Signed-off-by: Valentin Caron <[email protected]>
---
.../devicetree/bindings/rtc/st,stm32-rtc.yaml | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
index 56d46ea35c5d..71e02604e8de 100644
--- a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
@@ -59,6 +59,13 @@ properties:
Refer to <include/dt-bindings/rtc/rtc-stm32.h> for the supported values.
Pinctrl state named "default" may be defined to reserve pin for RTC output.
+ st,alarm:
+ $ref: "/schemas/types.yaml#/definitions/uint32"
+ description: |
+ To select and enable RTC Alarm A output.
+ Refer to <include/dt-bindings/rtc/rtc-stm32.h> for the supported values.
+ Pinctrl state named "default" may be defined to reserve pin for RTC output.
+
allOf:
- if:
properties:
@@ -75,6 +82,9 @@ allOf:
st,lsco:
maxItems: 0
+ st,alarm:
+ maxItems: 0
+
clock-names: false
required:
@@ -95,6 +105,9 @@ allOf:
st,lsco:
maxItems: 0
+ st,alarm:
+ maxItems: 0
+
required:
- clock-names
- st,syscfg
@@ -117,6 +130,9 @@ allOf:
st,lsco:
maxItems: 1
+ st,alarm:
+ maxItems: 1
+
required:
- clock-names
@@ -153,8 +169,9 @@ examples:
clocks = <&rcc RTCAPB>, <&rcc RTC>;
clock-names = "pclk", "rtc_ck";
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+ st,alarm = <RTC_OUT1>;
st,lsco = <RTC_OUT2_RMP>;
- pinctrl-0 = <&rtc_out2_rmp_pins_a>;
+ pinctrl-0 = <&rtc_out1_pins_a &rtc_out2_rmp_pins_a>;
pinctrl-names = "default";
};
--
2.25.1
On Wed, May 04, 2022 at 03:06:13PM +0200, Valentin Caron wrote:
> STM32 RTC can pulse some SOC pins when an alarm of RTC expires.
>
> This patch adds property to activate alarm A output. The pulse can
> output on three pins RTC_OUT1, RTC_OUT2, RTC_OUT2_RMP
> (PC13, PB2, PI8 on stm32mp15) (PC13, PB2, PI1 on stm32mp13).
>
> Signed-off-by: Valentin Caron <[email protected]>
> ---
> .../devicetree/bindings/rtc/st,stm32-rtc.yaml | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
> index 56d46ea35c5d..71e02604e8de 100644
> --- a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml
> @@ -59,6 +59,13 @@ properties:
> Refer to <include/dt-bindings/rtc/rtc-stm32.h> for the supported values.
> Pinctrl state named "default" may be defined to reserve pin for RTC output.
>
> + st,alarm:
> + $ref: "/schemas/types.yaml#/definitions/uint32"
> + description: |
> + To select and enable RTC Alarm A output.
> + Refer to <include/dt-bindings/rtc/rtc-stm32.h> for the supported values.
No, sorry, you need to define the allowed values as a schema here.
> + Pinctrl state named "default" may be defined to reserve pin for RTC output.
> +
> allOf:
> - if:
> properties:
> @@ -75,6 +82,9 @@ allOf:
> st,lsco:
> maxItems: 0
>
> + st,alarm:
> + maxItems: 0
st,alarm: false
or:
not:
required: [ st,alarm ]
is how you disallow a property.
This should cause a warning, but this patch didn't apply for me.
> +
> clock-names: false
>
> required:
> @@ -95,6 +105,9 @@ allOf:
> st,lsco:
> maxItems: 0
>
> + st,alarm:
> + maxItems: 0
> +
> required:
> - clock-names
> - st,syscfg
> @@ -117,6 +130,9 @@ allOf:
> st,lsco:
> maxItems: 1
>
> + st,alarm:
> + maxItems: 1
maxItems applies to arrays, but this is a scalar value. I don't think
you need this hunk.
> +
> required:
> - clock-names
>
> @@ -153,8 +169,9 @@ examples:
> clocks = <&rcc RTCAPB>, <&rcc RTC>;
> clock-names = "pclk", "rtc_ck";
> interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
> + st,alarm = <RTC_OUT1>;
> st,lsco = <RTC_OUT2_RMP>;
> - pinctrl-0 = <&rtc_out2_rmp_pins_a>;
> + pinctrl-0 = <&rtc_out1_pins_a &rtc_out2_rmp_pins_a>;
> pinctrl-names = "default";
> };
>
> --
> 2.25.1
>
>