Documentation / devicetree / bindings / clock / microchip,mpfs-ccc.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/microchip,mpfs-ccc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip PolarFire SoC Fabric Clock Conditioning Circuitry

maintainers:
  - Conor Dooley <conor.dooley@microchip.com>

description: |
  Microchip PolarFire SoC has 4 Clock Conditioning Circuitry blocks. Each of
  these blocks contains two PLLs and 2 DLLs & are located in the four corners of
  the FPGA. For more information see "PolarFire SoC FPGA Clocking Resources" at:
  https://onlinedocs.microchip.com/pr/GUID-8F0CC4C0-0317-4262-89CA-CE7773ED1931-en-US-1/index.html

properties:
  compatible:
    const: microchip,mpfs-ccc

  reg:
    items:
      - description: PLL0's control registers
      - description: PLL1's control registers
      - description: DLL0's control registers
      - description: DLL1's control registers

  clocks:
    description:
      The CCC PLL's have two input clocks. It is required that even if the input
      clocks are identical that both are provided.
    minItems: 2
    items:
      - description: PLL0's refclk0
      - description: PLL0's refclk1
      - description: PLL1's refclk0
      - description: PLL1's refclk1
      - description: DLL0's refclk
      - description: DLL1's refclk

  clock-names:
    minItems: 2
    items:
      - const: pll0_ref0
      - const: pll0_ref1
      - const: pll1_ref0
      - const: pll1_ref1
      - const: dll0_ref
      - const: dll1_ref
 
  '#clock-cells':
    const: 1
    description: |
      The clock consumer should specify the desired clock by having the clock
      ID in its "clocks" phandle cell.
      See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of
      PolarFire clock IDs.

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    clock-controller@38100000 {
        compatible = "microchip,mpfs-ccc";
        reg = <0x38010000 0x1000>, <0x38020000 0x1000>,
              <0x39010000 0x1000>, <0x39020000 0x1000>;
        #clock-cells = <1>;
        clocks = <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>,
                  <&refclk_ccc>, <&refclk_ccc>;
        clock-names = "pll0_ref0", "pll0_ref1", "pll1_ref0", "pll1_ref1",
                      "dll0_ref", "dll1_ref";
    };