1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/rtc/allwinner,sun6i-a31-rtc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Allwinner A31 RTC Device Tree Bindings 8 9maintainers: 10 - Chen-Yu Tsai <wens@csie.org> 11 - Maxime Ripard <mripard@kernel.org> 12 13properties: 14 "#clock-cells": 15 const: 1 16 17 compatible: 18 oneOf: 19 - enum: 20 - allwinner,sun6i-a31-rtc 21 - allwinner,sun8i-a23-rtc 22 - allwinner,sun8i-h3-rtc 23 - allwinner,sun8i-r40-rtc 24 - allwinner,sun8i-v3-rtc 25 - allwinner,sun50i-h5-rtc 26 - allwinner,sun50i-h6-rtc 27 - allwinner,sun50i-h616-rtc 28 - allwinner,sun50i-r329-rtc 29 - items: 30 - const: allwinner,sun50i-a64-rtc 31 - const: allwinner,sun8i-h3-rtc 32 - items: 33 - const: allwinner,sun20i-d1-rtc 34 - const: allwinner,sun50i-r329-rtc 35 36 reg: 37 maxItems: 1 38 39 interrupts: 40 minItems: 1 41 items: 42 - description: RTC Alarm 0 43 - description: RTC Alarm 1 44 45 clocks: 46 minItems: 1 47 maxItems: 4 48 49 clock-names: 50 minItems: 1 51 maxItems: 4 52 53 clock-output-names: 54 minItems: 1 55 maxItems: 3 56 description: 57 The RTC provides up to three clocks 58 - the Low Frequency Oscillator or LOSC, at index 0, 59 - the Low Frequency Oscillator External output (X32KFOUT in 60 the datasheet), at index 1, 61 - the Internal Oscillator, at index 2. 62 63allOf: 64 - $ref: "rtc.yaml#" 65 - if: 66 properties: 67 compatible: 68 contains: 69 const: allwinner,sun6i-a31-rtc 70 71 then: 72 properties: 73 clock-output-names: 74 maxItems: 1 75 76 - if: 77 properties: 78 compatible: 79 contains: 80 enum: 81 - allwinner,sun8i-a23-rtc 82 - allwinner,sun8i-r40-rtc 83 - allwinner,sun8i-v3-rtc 84 85 then: 86 properties: 87 clock-output-names: 88 minItems: 2 89 maxItems: 2 90 91 - if: 92 properties: 93 compatible: 94 contains: 95 enum: 96 - allwinner,sun8i-h3-rtc 97 - allwinner,sun50i-h5-rtc 98 - allwinner,sun50i-h6-rtc 99 100 then: 101 properties: 102 clock-output-names: 103 minItems: 3 104 105 - if: 106 properties: 107 compatible: 108 contains: 109 const: allwinner,sun50i-h616-rtc 110 111 then: 112 properties: 113 clocks: 114 items: 115 - description: Bus clock for register access 116 - description: 24 MHz oscillator 117 - description: 32 kHz clock from the CCU 118 119 clock-names: 120 items: 121 - const: bus 122 - const: hosc 123 - const: pll-32k 124 125 required: 126 - clocks 127 - clock-names 128 129 - if: 130 properties: 131 compatible: 132 contains: 133 const: allwinner,sun50i-r329-rtc 134 135 then: 136 properties: 137 clocks: 138 minItems: 3 139 items: 140 - description: Bus clock for register access 141 - description: 24 MHz oscillator 142 - description: AHB parent for internal SPI clock 143 - description: External 32768 Hz oscillator 144 145 clock-names: 146 minItems: 3 147 items: 148 - const: bus 149 - const: hosc 150 - const: ahb 151 - const: ext-osc32k 152 153 required: 154 - clocks 155 - clock-names 156 157 - if: 158 properties: 159 compatible: 160 contains: 161 enum: 162 - allwinner,sun8i-r40-rtc 163 - allwinner,sun50i-h616-rtc 164 - allwinner,sun50i-r329-rtc 165 166 then: 167 properties: 168 interrupts: 169 maxItems: 1 170 171 else: 172 properties: 173 interrupts: 174 minItems: 2 175 176required: 177 - "#clock-cells" 178 - compatible 179 - reg 180 - interrupts 181 182additionalProperties: false 183 184examples: 185 - | 186 rtc: rtc@1f00000 { 187 compatible = "allwinner,sun6i-a31-rtc"; 188 reg = <0x01f00000 0x400>; 189 interrupts = <0 40 4>, <0 41 4>; 190 clock-output-names = "osc32k"; 191 clocks = <&ext_osc32k>; 192 #clock-cells = <1>; 193 }; 194 195... 196