150 lines
3.1 KiB
YAML
150 lines
3.1 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/clock/allwinner,sun4i-a10-ccu.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Allwinner Clock Control Unit Device Tree Bindings
|
||
|
|
||
|
maintainers:
|
||
|
- Chen-Yu Tsai <wens@csie.org>
|
||
|
- Maxime Ripard <mripard@kernel.org>
|
||
|
|
||
|
properties:
|
||
|
"#clock-cells":
|
||
|
const: 1
|
||
|
|
||
|
"#reset-cells":
|
||
|
const: 1
|
||
|
|
||
|
compatible:
|
||
|
enum:
|
||
|
- allwinner,sun4i-a10-ccu
|
||
|
- allwinner,sun5i-a10s-ccu
|
||
|
- allwinner,sun5i-a13-ccu
|
||
|
- allwinner,sun6i-a31-ccu
|
||
|
- allwinner,sun7i-a20-ccu
|
||
|
- allwinner,sun8i-a23-ccu
|
||
|
- allwinner,sun8i-a33-ccu
|
||
|
- allwinner,sun8i-a83t-ccu
|
||
|
- allwinner,sun8i-a83t-r-ccu
|
||
|
- allwinner,sun8i-h3-ccu
|
||
|
- allwinner,sun8i-h3-r-ccu
|
||
|
- allwinner,sun8i-r40-ccu
|
||
|
- allwinner,sun8i-v3-ccu
|
||
|
- allwinner,sun8i-v3s-ccu
|
||
|
- allwinner,sun9i-a80-ccu
|
||
|
- allwinner,sun50i-a64-ccu
|
||
|
- allwinner,sun50i-a64-r-ccu
|
||
|
- allwinner,sun50i-a100-ccu
|
||
|
- allwinner,sun50i-a100-r-ccu
|
||
|
- allwinner,sun50i-h5-ccu
|
||
|
- allwinner,sun50i-h6-ccu
|
||
|
- allwinner,sun50i-h6-r-ccu
|
||
|
- allwinner,sun50i-h616-ccu
|
||
|
- allwinner,sun50i-h616-r-ccu
|
||
|
- allwinner,suniv-f1c100s-ccu
|
||
|
- nextthing,gr8-ccu
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
items:
|
||
|
- description: High Frequency Oscillator (usually at 24MHz)
|
||
|
- description: Low Frequency Oscillator (usually at 32kHz)
|
||
|
- description: Internal Oscillator
|
||
|
- description: Peripherals PLL
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 2
|
||
|
items:
|
||
|
- const: hosc
|
||
|
- const: losc
|
||
|
- const: iosc
|
||
|
- const: pll-periph
|
||
|
|
||
|
required:
|
||
|
- "#clock-cells"
|
||
|
- "#reset-cells"
|
||
|
- compatible
|
||
|
- reg
|
||
|
- clocks
|
||
|
- clock-names
|
||
|
|
||
|
if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- allwinner,sun8i-a83t-r-ccu
|
||
|
- allwinner,sun8i-h3-r-ccu
|
||
|
- allwinner,sun50i-a64-r-ccu
|
||
|
- allwinner,sun50i-a100-r-ccu
|
||
|
- allwinner,sun50i-h6-r-ccu
|
||
|
- allwinner,sun50i-h616-r-ccu
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 4
|
||
|
maxItems: 4
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 4
|
||
|
maxItems: 4
|
||
|
|
||
|
else:
|
||
|
if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- allwinner,sun50i-a100-ccu
|
||
|
- allwinner,sun50i-h6-ccu
|
||
|
- allwinner,sun50i-h616-ccu
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 3
|
||
|
maxItems: 3
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 3
|
||
|
maxItems: 3
|
||
|
|
||
|
else:
|
||
|
properties:
|
||
|
clocks:
|
||
|
minItems: 2
|
||
|
maxItems: 2
|
||
|
|
||
|
clock-names:
|
||
|
minItems: 2
|
||
|
maxItems: 2
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
ccu: clock@1c20000 {
|
||
|
compatible = "allwinner,sun8i-h3-ccu";
|
||
|
reg = <0x01c20000 0x400>;
|
||
|
clocks = <&osc24M>, <&osc32k>;
|
||
|
clock-names = "hosc", "losc";
|
||
|
#clock-cells = <1>;
|
||
|
#reset-cells = <1>;
|
||
|
};
|
||
|
|
||
|
- |
|
||
|
r_ccu: clock@1f01400 {
|
||
|
compatible = "allwinner,sun50i-a64-r-ccu";
|
||
|
reg = <0x01f01400 0x100>;
|
||
|
clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu 11>;
|
||
|
clock-names = "hosc", "losc", "iosc", "pll-periph";
|
||
|
#clock-cells = <1>;
|
||
|
#reset-cells = <1>;
|
||
|
};
|
||
|
|
||
|
...
|