Documentation / devicetree / bindings / clock / allwinner,sun55i-a523-ccu.yaml


Based on kernel version 6.18. Page generated on 2025-12-02 09:03 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/allwinner,sun55i-a523-ccu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A523 Clock Control Unit

maintainers:
  - Andre Przywara <andre.przywara@arm.com>

properties:
  "#clock-cells":
    const: 1
 
  "#reset-cells":
    const: 1

  compatible:
    enum:
      - allwinner,sun55i-a523-ccu
      - allwinner,sun55i-a523-mcu-ccu
      - allwinner,sun55i-a523-r-ccu

  reg:
    maxItems: 1

  clocks:
    minItems: 4
    maxItems: 9

  clock-names:
    minItems: 4
    maxItems: 9

required:
  - "#clock-cells"
  - "#reset-cells"
  - compatible
  - reg
  - clocks
  - clock-names

allOf:
  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun55i-a523-ccu

    then:
      properties:
        clocks:
          items:
            - description: High Frequency Oscillator (usually at 24MHz)
            - description: Low Frequency Oscillator (usually at 32kHz)
            - description: Internal Oscillator
            - description: Low Frequency Oscillator fanout

        clock-names:
          items:
            - const: hosc
            - const: losc
            - const: iosc
            - const: losc-fanout

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun55i-a523-mcu-ccu

    then:
      properties:
        clocks:
          items:
            - description: High Frequency Oscillator (usually at 24MHz)
            - description: Low Frequency Oscillator (usually at 32kHz)
            - description: Internal Oscillator
            - description: Audio PLL (4x)
            - description: Peripherals PLL 0 (300 MHz output)
            - description: DSP module clock
            - description: MBUS clock
            - description: PRCM AHB clock
            - description: PRCM APB0 clock

        clock-names:
          items:
            - const: hosc
            - const: losc
            - const: iosc
            - const: pll-audio0-4x
            - const: pll-periph0-300m
            - const: dsp
            - const: mbus
            - const: r-ahb
            - const: r-apb0

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun55i-a523-r-ccu

    then:
      properties:
        clocks:
          items:
            - description: High Frequency Oscillator (usually at 24MHz)
            - description: Low Frequency Oscillator (usually at 32kHz)
            - description: Internal Oscillator
            - description: Peripherals PLL
            - description: Audio PLL

        clock-names:
          items:
            - const: hosc
            - const: losc
            - const: iosc
            - const: pll-periph
            - const: pll-audio

additionalProperties: false

examples:
  - |
    clock-controller@2001000 {
        compatible = "allwinner,sun55i-a523-ccu";
        reg = <0x02001000 0x1000>;
        clocks = <&osc24M>, <&osc32k>, <&iosc>, <&r_ccu 1>;
        clock-names = "hosc", "losc", "iosc", "losc-fanout";
        #clock-cells = <1>;
        #reset-cells = <1>;
    };

...