Documentation / devicetree / bindings / arm / altera


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
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/altera/socfpga-clk-manager.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Altera SOCFPGA Clock Manager

maintainers:
  - Dinh Nguyen <dinguyen@kernel.org>

description:
  This binding describes the Altera SOCFGPA Clock Manager and its associated
  tree of clocks, pll's, and clock gates for the Cyclone5, Arria5 and Arria10
  chip families.

properties:
  compatible:
    items:
      - const: altr,clk-mgr

  reg:
    maxItems: 1

  clocks:
    type: object
    additionalProperties: false

    properties:
      "#address-cells":
        const: 1
 
      "#size-cells":
        const: 0

    patternProperties:
      "^osc[0-9]$":
        type: object
 
      "^[a-z0-9,_]+(clk|pll|clk_gate|clk_divided)(@[a-f0-9]+)?$":
        type: object
        $ref: '#/$defs/clock-props'
        unevaluatedProperties: false

        properties:
          compatible:
            enum:
              - altr,socfpga-pll-clock
              - altr,socfpga-perip-clk
              - altr,socfpga-gate-clk
              - altr,socfpga-a10-pll-clock
              - altr,socfpga-a10-perip-clk
              - altr,socfpga-a10-gate-clk
              - fixed-clock

          clocks:
            description: one or more phandles to input clock
            minItems: 1
            maxItems: 5
 
          "#address-cells":
            const: 1
 
          "#size-cells":
            const: 0

        patternProperties:
          "^[a-z0-9,_]+(clk|pll)(@[a-f0-9]+)?$":
            type: object
            $ref: '#/$defs/clock-props'
            unevaluatedProperties: false

            properties:
              compatible:
                enum:
                  - altr,socfpga-perip-clk
                  - altr,socfpga-gate-clk
                  - altr,socfpga-a10-perip-clk
                  - altr,socfpga-a10-gate-clk

              clocks:
                description: one or more phandles to input clock
                minItems: 1
                maxItems: 4

            required:
              - compatible
              - clocks
              - "#clock-cells"

        required:
          - compatible
          - "#clock-cells"

required:
  - compatible
  - reg

additionalProperties: false

$defs:
  clock-props:
    properties:
      reg:
        maxItems: 1
 
      "#clock-cells":
        const: 0

      clk-gate:
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - description: gating register offset
          - description: bit index

      div-reg:
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - description: divider register offset
          - description: bit shift
          - description: bit width

      fixed-divider:
        $ref: /schemas/types.yaml#/definitions/uint32

examples:
  - |
    clkmgr@ffd04000 {
      compatible = "altr,clk-mgr";
      reg = <0xffd04000 0x1000>;
    };

...