| # SPDX-License-Identifier: GPL-2.0 |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/rtc/allwinner,sun6i-a31-rtc.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Allwinner A31 RTC |
| |
| maintainers: |
| - Chen-Yu Tsai <wens@csie.org> |
| - Maxime Ripard <mripard@kernel.org> |
| |
| properties: |
| "#clock-cells": |
| const: 1 |
| |
| compatible: |
| oneOf: |
| - enum: |
| - allwinner,sun6i-a31-rtc |
| - allwinner,sun8i-a23-rtc |
| - allwinner,sun8i-h3-rtc |
| - allwinner,sun8i-r40-rtc |
| - allwinner,sun8i-v3-rtc |
| - allwinner,sun50i-h5-rtc |
| - allwinner,sun50i-h6-rtc |
| - allwinner,sun50i-h616-rtc |
| - allwinner,sun50i-r329-rtc |
| - items: |
| - const: allwinner,sun50i-a64-rtc |
| - const: allwinner,sun8i-h3-rtc |
| - items: |
| - const: allwinner,sun20i-d1-rtc |
| - const: allwinner,sun50i-r329-rtc |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| minItems: 1 |
| items: |
| - description: RTC Alarm 0 |
| - description: RTC Alarm 1 |
| |
| clocks: |
| minItems: 1 |
| maxItems: 4 |
| |
| clock-names: |
| minItems: 1 |
| maxItems: 4 |
| |
| clock-output-names: |
| minItems: 1 |
| maxItems: 3 |
| description: |
| The RTC provides up to three clocks |
| - the Low Frequency Oscillator or LOSC, at index 0, |
| - the Low Frequency Oscillator External output (X32KFOUT in |
| the datasheet), at index 1, |
| - the Internal Oscillator, at index 2. |
| |
| allOf: |
| - $ref: rtc.yaml# |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: allwinner,sun6i-a31-rtc |
| |
| then: |
| properties: |
| clock-output-names: |
| maxItems: 1 |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - allwinner,sun8i-a23-rtc |
| - allwinner,sun8i-r40-rtc |
| - allwinner,sun8i-v3-rtc |
| |
| then: |
| properties: |
| clock-output-names: |
| minItems: 2 |
| maxItems: 2 |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - allwinner,sun8i-h3-rtc |
| - allwinner,sun50i-h5-rtc |
| - allwinner,sun50i-h6-rtc |
| |
| then: |
| properties: |
| clock-output-names: |
| minItems: 3 |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: allwinner,sun50i-h616-rtc |
| |
| then: |
| properties: |
| clocks: |
| items: |
| - description: Bus clock for register access |
| - description: 24 MHz oscillator |
| - description: 32 kHz clock from the CCU |
| |
| clock-names: |
| items: |
| - const: bus |
| - const: hosc |
| - const: pll-32k |
| |
| required: |
| - clocks |
| - clock-names |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: allwinner,sun50i-r329-rtc |
| |
| then: |
| properties: |
| clocks: |
| minItems: 3 |
| items: |
| - description: Bus clock for register access |
| - description: 24 MHz oscillator |
| - description: AHB parent for internal SPI clock |
| - description: External 32768 Hz oscillator |
| |
| clock-names: |
| minItems: 3 |
| items: |
| - const: bus |
| - const: hosc |
| - const: ahb |
| - const: ext-osc32k |
| |
| required: |
| - clocks |
| - clock-names |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - allwinner,sun8i-r40-rtc |
| - allwinner,sun50i-h616-rtc |
| - allwinner,sun50i-r329-rtc |
| |
| then: |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| else: |
| properties: |
| interrupts: |
| minItems: 2 |
| |
| required: |
| - "#clock-cells" |
| - compatible |
| - reg |
| - interrupts |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| rtc: rtc@1f00000 { |
| compatible = "allwinner,sun6i-a31-rtc"; |
| reg = <0x01f00000 0x400>; |
| interrupts = <0 40 4>, <0 41 4>; |
| clock-output-names = "osc32k"; |
| clocks = <&ext_osc32k>; |
| #clock-cells = <1>; |
| }; |
| |
| ... |