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