# 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 Device Tree Bindings maintainers: - Chen-Yu Tsai - Maxime Ripard properties: "#clock-cells": const: 1 compatible: oneOf: - const: allwinner,sun6i-a31-rtc - const: allwinner,sun8i-a23-rtc - const: allwinner,sun8i-h3-rtc - const: allwinner,sun8i-r40-rtc - const: allwinner,sun8i-v3-rtc - const: allwinner,sun50i-h5-rtc - items: - const: allwinner,sun50i-a64-rtc - const: allwinner,sun8i-h3-rtc - const: allwinner,sun50i-h6-rtc reg: maxItems: 1 interrupts: minItems: 1 maxItems: 2 items: - description: RTC Alarm 0 - description: RTC Alarm 1 clocks: maxItems: 1 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: minItems: 1 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 then: properties: clock-output-names: minItems: 3 maxItems: 3 - if: properties: compatible: contains: const: allwinner,sun50i-h6-rtc then: properties: clock-output-names: minItems: 3 maxItems: 3 - if: properties: compatible: contains: const: allwinner,sun8i-r40-rtc then: properties: interrupts: minItems: 1 maxItems: 1 else: properties: interrupts: minItems: 2 maxItems: 2 required: - "#clock-cells" - compatible - reg - interrupts - clocks - clock-output-names 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>; }; ...