File Index
Files and directories
Sign in
FILE

st,stm32-rtc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/rtc/st,stm32-rtc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: STMicroelectronics STM32 Real Time Clock
  8
  9maintainers:
 10  - Gabriel Fernandez <gabriel.fernandez@foss.st.com>
 11
 12properties:
 13  compatible:
 14    enum:
 15      - st,stm32-rtc
 16      - st,stm32h7-rtc
 17      - st,stm32mp1-rtc
 18      - st,stm32mp25-rtc
 19
 20  reg:
 21    maxItems: 1
 22
 23  clocks:
 24    minItems: 1
 25    maxItems: 2
 26
 27  clock-names:
 28    items:
 29      - const: pclk
 30      - const: rtc_ck
 31
 32  interrupts:
 33    maxItems: 1
 34
 35  st,syscfg:
 36    $ref: /schemas/types.yaml#/definitions/phandle-array
 37    items:
 38      minItems: 3
 39      maxItems: 3
 40    description: |
 41      Phandle/offset/mask triplet. The phandle to pwrcfg used to
 42      access control register at offset, and change the dbp (Disable Backup
 43      Protection) bit represented by the mask, mandatory to disable/enable backup
 44      domain (RTC registers) write protection.
 45
 46  assigned-clocks:
 47    description: |
 48      override default rtc_ck parent clock reference to the rtc_ck clock entry
 49    maxItems: 1
 50
 51  assigned-clock-parents:
 52    description: |
 53      override default rtc_ck parent clock phandle of the new parent clock of rtc_ck
 54    maxItems: 1
 55
 56patternProperties:
 57  "^rtc-[a-z]+-[0-9]+$":
 58    type: object
 59    $ref: /schemas/pinctrl/pinmux-node.yaml
 60    description: |
 61      Configuration of STM32 RTC pins description. STM32 RTC is able to output
 62      some signals on specific pins:
 63      - LSCO (Low Speed Clock Output) that allow to output LSE clock on a pin.
 64      - Alarm out that allow to send a pulse on a pin when alarm A of the RTC
 65        expires.
 66    additionalProperties: false
 67    properties:
 68      function:
 69        enum:
 70          - lsco
 71          - alarm-a
 72      pins:
 73        enum:
 74          - out1
 75          - out2
 76          - out2_rmp
 77
 78allOf:
 79  - if:
 80      properties:
 81        compatible:
 82          contains:
 83            const: st,stm32-rtc
 84
 85    then:
 86      properties:
 87        clocks:
 88          minItems: 1
 89          maxItems: 1
 90
 91        clock-names: false
 92
 93      patternProperties:
 94        "^rtc-[a-z]+-[0-9]+$": false
 95
 96      required:
 97        - st,syscfg
 98
 99  - if:
100      properties:
101        compatible:
102          contains:
103            const: st,stm32h7-rtc
104
105    then:
106      properties:
107        clocks:
108          minItems: 2
109          maxItems: 2
110
111      patternProperties:
112        "^rtc-[a-z]+-[0-9]+$": false
113
114      required:
115        - clock-names
116        - st,syscfg
117
118  - if:
119      properties:
120        compatible:
121          contains:
122            enum:
123              - st,stm32mp1-rtc
124              - st,stm32mp25-rtc
125
126    then:
127      properties:
128        clocks:
129          minItems: 2
130          maxItems: 2
131
132        assigned-clocks: false
133        assigned-clock-parents: false
134
135      required:
136        - clock-names
137
138required:
139  - compatible
140  - reg
141  - clocks
142  - interrupts
143
144additionalProperties: false
145
146examples:
147  - |
148    #include <dt-bindings/mfd/stm32f4-rcc.h>
149    #include <dt-bindings/clock/stm32fx-clock.h>
150    rtc@40002800 {
151      compatible = "st,stm32-rtc";
152      reg = <0x40002800 0x400>;
153      clocks = <&rcc 1 CLK_RTC>;
154      assigned-clocks = <&rcc 1 CLK_RTC>;
155      assigned-clock-parents = <&rcc 1 CLK_LSE>;
156      interrupt-parent = <&exti>;
157      interrupts = <17 1>;
158      st,syscfg = <&pwrcfg 0x00 0x100>;
159    };
160
161  - |
162    #include <dt-bindings/interrupt-controller/arm-gic.h>
163    #include <dt-bindings/clock/stm32mp1-clks.h>
164    rtc@5c004000 {
165      compatible = "st,stm32mp1-rtc";
166      reg = <0x5c004000 0x400>;
167      clocks = <&rcc RTCAPB>, <&rcc RTC>;
168      clock-names = "pclk", "rtc_ck";
169      interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
170    };
171
172...
~/ Read-only file preview.