2019-05-28 22:30:34 +02:00
# 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#
2022-08-25 04:04:27 +02:00
title : Allwinner A31 RTC
2019-05-28 22:30:34 +02:00
maintainers :
- Chen-Yu Tsai <wens@csie.org>
2019-12-09 10:32:48 +01:00
- Maxime Ripard <mripard@kernel.org>
2019-05-28 22:30:34 +02:00
properties :
"#clock-cells" :
const : 1
compatible :
oneOf :
2022-02-02 20:17:31 -06:00
- 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
2022-02-02 20:17:32 -06:00
- allwinner,sun50i-h616-rtc
- allwinner,sun50i-r329-rtc
2019-05-28 22:30:34 +02:00
- items :
- const : allwinner,sun50i-a64-rtc
- const : allwinner,sun8i-h3-rtc
2022-02-02 20:17:32 -06:00
- items :
- const : allwinner,sun20i-d1-rtc
- const : allwinner,sun50i-r329-rtc
2019-05-28 22:30:34 +02:00
reg :
maxItems : 1
interrupts :
2019-05-28 22:30:35 +02:00
minItems : 1
2019-05-28 22:30:34 +02:00
items :
- description : RTC Alarm 0
- description : RTC Alarm 1
clocks :
2022-02-02 20:17:32 -06:00
minItems : 1
maxItems : 4
clock-names :
minItems : 1
maxItems : 4
2019-05-28 22:30:34 +02:00
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 :
2023-03-17 18:36:33 -05:00
- $ref : rtc.yaml#
2019-05-28 22:30:34 +02:00
- 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
2019-05-28 22:30:35 +02:00
- allwinner,sun8i-r40-rtc
2019-05-28 22:30:34 +02:00
- 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
2022-02-02 20:17:31 -06:00
- allwinner,sun50i-h6-rtc
2019-08-20 17:19:32 +02:00
then :
properties :
clock-output-names :
minItems : 3
2019-05-28 22:30:35 +02:00
- if :
properties :
compatible :
contains :
2022-02-02 20:17:32 -06:00
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
2019-05-28 22:30:35 +02:00
then :
properties :
interrupts :
maxItems : 1
else :
properties :
interrupts :
minItems : 2
2019-05-28 22:30:34 +02:00
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>;
};
...