| # 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 |
| |
| 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,sun20i-d1-ccu |
| - allwinner,sun20i-d1-r-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,sun20i-d1-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,sun20i-d1-ccu |
| - 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>; |
| }; |
| |
| ... |