0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/clock/allwinner,sun4i-a10-ccu.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Allwinner Clock Control Unit Device Tree Bindings
0008
0009 maintainers:
0010 - Chen-Yu Tsai <wens@csie.org>
0011 - Maxime Ripard <mripard@kernel.org>
0012
0013 properties:
0014 "#clock-cells":
0015 const: 1
0016
0017 "#reset-cells":
0018 const: 1
0019
0020 compatible:
0021 enum:
0022 - allwinner,sun4i-a10-ccu
0023 - allwinner,sun5i-a10s-ccu
0024 - allwinner,sun5i-a13-ccu
0025 - allwinner,sun6i-a31-ccu
0026 - allwinner,sun7i-a20-ccu
0027 - allwinner,sun8i-a23-ccu
0028 - allwinner,sun8i-a33-ccu
0029 - allwinner,sun8i-a83t-ccu
0030 - allwinner,sun8i-a83t-r-ccu
0031 - allwinner,sun8i-h3-ccu
0032 - allwinner,sun8i-h3-r-ccu
0033 - allwinner,sun8i-r40-ccu
0034 - allwinner,sun8i-v3-ccu
0035 - allwinner,sun8i-v3s-ccu
0036 - allwinner,sun9i-a80-ccu
0037 - allwinner,sun20i-d1-ccu
0038 - allwinner,sun20i-d1-r-ccu
0039 - allwinner,sun50i-a64-ccu
0040 - allwinner,sun50i-a64-r-ccu
0041 - allwinner,sun50i-a100-ccu
0042 - allwinner,sun50i-a100-r-ccu
0043 - allwinner,sun50i-h5-ccu
0044 - allwinner,sun50i-h6-ccu
0045 - allwinner,sun50i-h6-r-ccu
0046 - allwinner,sun50i-h616-ccu
0047 - allwinner,sun50i-h616-r-ccu
0048 - allwinner,suniv-f1c100s-ccu
0049 - nextthing,gr8-ccu
0050
0051 reg:
0052 maxItems: 1
0053
0054 clocks:
0055 minItems: 2
0056 items:
0057 - description: High Frequency Oscillator (usually at 24MHz)
0058 - description: Low Frequency Oscillator (usually at 32kHz)
0059 - description: Internal Oscillator
0060 - description: Peripherals PLL
0061
0062 clock-names:
0063 minItems: 2
0064 items:
0065 - const: hosc
0066 - const: losc
0067 - const: iosc
0068 - const: pll-periph
0069
0070 required:
0071 - "#clock-cells"
0072 - "#reset-cells"
0073 - compatible
0074 - reg
0075 - clocks
0076 - clock-names
0077
0078 if:
0079 properties:
0080 compatible:
0081 enum:
0082 - allwinner,sun8i-a83t-r-ccu
0083 - allwinner,sun8i-h3-r-ccu
0084 - allwinner,sun20i-d1-r-ccu
0085 - allwinner,sun50i-a64-r-ccu
0086 - allwinner,sun50i-a100-r-ccu
0087 - allwinner,sun50i-h6-r-ccu
0088 - allwinner,sun50i-h616-r-ccu
0089
0090 then:
0091 properties:
0092 clocks:
0093 minItems: 4
0094 maxItems: 4
0095
0096 clock-names:
0097 minItems: 4
0098 maxItems: 4
0099
0100 else:
0101 if:
0102 properties:
0103 compatible:
0104 enum:
0105 - allwinner,sun20i-d1-ccu
0106 - allwinner,sun50i-a100-ccu
0107 - allwinner,sun50i-h6-ccu
0108 - allwinner,sun50i-h616-ccu
0109
0110 then:
0111 properties:
0112 clocks:
0113 minItems: 3
0114 maxItems: 3
0115
0116 clock-names:
0117 minItems: 3
0118 maxItems: 3
0119
0120 else:
0121 properties:
0122 clocks:
0123 minItems: 2
0124 maxItems: 2
0125
0126 clock-names:
0127 minItems: 2
0128 maxItems: 2
0129
0130 additionalProperties: false
0131
0132 examples:
0133 - |
0134 ccu: clock@1c20000 {
0135 compatible = "allwinner,sun8i-h3-ccu";
0136 reg = <0x01c20000 0x400>;
0137 clocks = <&osc24M>, <&osc32k>;
0138 clock-names = "hosc", "losc";
0139 #clock-cells = <1>;
0140 #reset-cells = <1>;
0141 };
0142
0143 - |
0144 r_ccu: clock@1f01400 {
0145 compatible = "allwinner,sun50i-a64-r-ccu";
0146 reg = <0x01f01400 0x100>;
0147 clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu 11>;
0148 clock-names = "hosc", "losc", "iosc", "pll-periph";
0149 #clock-cells = <1>;
0150 #reset-cells = <1>;
0151 };
0152
0153 ...