Documentation / devicetree / bindings / clock / sprd,sc9863a-clk.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019 Unisoc Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/sprd,sc9863a-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SC9863A Clock Control Unit

maintainers:
  - Orson Zhai <orsonzhai@gmail.com>
  - Baolin Wang <baolin.wang7@gmail.com>
  - Chunyan Zhang <zhang.lyra@gmail.com>

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

  compatible:
    enum:
      - sprd,sc9863a-ap-clk
      - sprd,sc9863a-aon-clk
      - sprd,sc9863a-apahb-gate
      - sprd,sc9863a-pmu-gate
      - sprd,sc9863a-aonapb-gate
      - sprd,sc9863a-pll
      - sprd,sc9863a-mpll
      - sprd,sc9863a-rpll
      - sprd,sc9863a-dpll
      - sprd,sc9863a-mm-gate
      - sprd,sc9863a-mm-clk
      - sprd,sc9863a-apapb-gate

  clocks:
    minItems: 1
    maxItems: 4
    description: |
      The input parent clock(s) phandle for this clock, only list fixed
      clocks which are declared in devicetree.

  clock-names:
    minItems: 1
    items:
      - const: ext-26m
      - const: ext-32k
      - const: ext-4m
      - const: rco-100m

  reg:
    maxItems: 1

required:
  - compatible
  - '#clock-cells'

if:
  properties:
    compatible:
      enum:
        - sprd,sc9863a-ap-clk
        - sprd,sc9863a-aon-clk
then:
  required:
    - reg

else:
  description: |
    Other SC9863a clock nodes should be the child of a syscon node in
    which compatible string should be:
            "sprd,sc9863a-glbregs", "syscon", "simple-mfd"
 
    The 'reg' property for the clock node is also required if there is a sub
    range of registers for the clocks.

additionalProperties: false

examples:
  - |
    ap_clk: clock-controller@21500000 {
      compatible = "sprd,sc9863a-ap-clk";
      reg = <0x21500000 0x1000>;
      clocks = <&ext_26m>, <&ext_32k>;
      clock-names = "ext-26m", "ext-32k";
      #clock-cells = <1>;
    };
 
  - |
    syscon@20e00000 {
      compatible = "sprd,sc9863a-glbregs", "syscon", "simple-mfd";
      reg = <0x20e00000 0x4000>;
      #address-cells = <1>;
      #size-cells = <1>;
      ranges = <0 0x20e00000 0x4000>;
 
      apahb_gate: apahb-gate@0 {
        compatible = "sprd,sc9863a-apahb-gate";
        reg = <0x0 0x1020>;
        #clock-cells = <1>;
      };
    };

...