mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 23:34:00 -04:00
These new RTC variants all have a single alarm, like the R40 variant. For the new SoCs, start requiring a complete list of input clocks. The H616 has three required clocks. The R329 also has three required clocks (but one is different), plus an optional crystal oscillator input. The D1 RTC is identical to the one in the R329. And since these new SoCs will have a well-defined output clock order as well, they do not need the clock-output-names property. Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20220203021736.13434-3-samuel@sholland.org
206 lines
4.3 KiB
YAML
206 lines
4.3 KiB
YAML
# 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 <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:
|
|
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
|
|
- allwinner,sun50i-h6-rtc
|
|
|
|
then:
|
|
properties:
|
|
clock-output-names:
|
|
minItems: 3
|
|
maxItems: 3
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun50i-h616-rtc
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
items:
|
|
- description: Bus clock for register access
|
|
- description: 24 MHz oscillator
|
|
- description: 32 kHz clock from the CCU
|
|
|
|
clock-names:
|
|
minItems: 3
|
|
maxItems: 3
|
|
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
|
|
maxItems: 4
|
|
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
|
|
maxItems: 4
|
|
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:
|
|
minItems: 1
|
|
maxItems: 1
|
|
|
|
else:
|
|
properties:
|
|
interrupts:
|
|
minItems: 2
|
|
maxItems: 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>;
|
|
};
|
|
|
|
...
|