| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/rtc/st,stm32-rtc.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: STMicroelectronics STM32 Real Time Clock
- maintainers:
- - Gabriel Fernandez <gabriel.fernandez@foss.st.com>
- properties:
- compatible:
- enum:
- - st,stm32-rtc
- - st,stm32h7-rtc
- - st,stm32mp1-rtc
- - st,stm32mp25-rtc
- reg:
- maxItems: 1
- clocks:
- minItems: 1
- maxItems: 2
- clock-names:
- items:
- - const: pclk
- - const: rtc_ck
- interrupts:
- maxItems: 1
- st,syscfg:
- $ref: /schemas/types.yaml#/definitions/phandle-array
- items:
- minItems: 3
- maxItems: 3
- description: |
- Phandle/offset/mask triplet. The phandle to pwrcfg used to
- access control register at offset, and change the dbp (Disable Backup
- Protection) bit represented by the mask, mandatory to disable/enable backup
- domain (RTC registers) write protection.
- assigned-clocks:
- description: |
- override default rtc_ck parent clock reference to the rtc_ck clock entry
- maxItems: 1
- assigned-clock-parents:
- description: |
- override default rtc_ck parent clock phandle of the new parent clock of rtc_ck
- maxItems: 1
- patternProperties:
- "^rtc-[a-z]+-[0-9]+$":
- type: object
- $ref: /schemas/pinctrl/pinmux-node.yaml
- description: |
- Configuration of STM32 RTC pins description. STM32 RTC is able to output
- some signals on specific pins:
- - LSCO (Low Speed Clock Output) that allow to output LSE clock on a pin.
- - Alarm out that allow to send a pulse on a pin when alarm A of the RTC
- expires.
- additionalProperties: false
- properties:
- function:
- enum:
- - lsco
- - alarm-a
- pins:
- enum:
- - out1
- - out2
- - out2_rmp
- allOf:
- - if:
- properties:
- compatible:
- contains:
- const: st,stm32-rtc
- then:
- properties:
- clocks:
- minItems: 1
- maxItems: 1
- clock-names: false
- patternProperties:
- "^rtc-[a-z]+-[0-9]+$": false
- required:
- - st,syscfg
- - if:
- properties:
- compatible:
- contains:
- const: st,stm32h7-rtc
- then:
- properties:
- clocks:
- minItems: 2
- maxItems: 2
- patternProperties:
- "^rtc-[a-z]+-[0-9]+$": false
- required:
- - clock-names
- - st,syscfg
- - if:
- properties:
- compatible:
- contains:
- enum:
- - st,stm32mp1-rtc
- - st,stm32mp25-rtc
- then:
- properties:
- clocks:
- minItems: 2
- maxItems: 2
- assigned-clocks: false
- assigned-clock-parents: false
- required:
- - clock-names
- required:
- - compatible
- - reg
- - clocks
- - interrupts
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/mfd/stm32f4-rcc.h>
- #include <dt-bindings/clock/stm32fx-clock.h>
- rtc@40002800 {
- compatible = "st,stm32-rtc";
- reg = <0x40002800 0x400>;
- clocks = <&rcc 1 CLK_RTC>;
- assigned-clocks = <&rcc 1 CLK_RTC>;
- assigned-clock-parents = <&rcc 1 CLK_LSE>;
- interrupt-parent = <&exti>;
- interrupts = <17 1>;
- st,syscfg = <&pwrcfg 0x00 0x100>;
- };
- - |
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/clock/stm32mp1-clks.h>
- rtc@5c004000 {
- compatible = "st,stm32mp1-rtc";
- reg = <0x5c004000 0x400>;
- clocks = <&rcc RTCAPB>, <&rcc RTC>;
- clock-names = "pclk", "rtc_ck";
- interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
- };
- ...
|