1*7ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7ef62cebSEmmanuel Vadot%YAML 1.2 3*7ef62cebSEmmanuel Vadot--- 4*7ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/microchip,mpfs-ccc.yaml# 5*7ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7ef62cebSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Microchip PolarFire SoC Fabric Clock Conditioning Circuitry 8*7ef62cebSEmmanuel Vadot 9*7ef62cebSEmmanuel Vadotmaintainers: 10*7ef62cebSEmmanuel Vadot - Conor Dooley <conor.dooley@microchip.com> 11*7ef62cebSEmmanuel Vadot 12*7ef62cebSEmmanuel Vadotdescription: | 13*7ef62cebSEmmanuel Vadot Microchip PolarFire SoC has 4 Clock Conditioning Circuitry blocks. Each of 14*7ef62cebSEmmanuel Vadot these blocks contains two PLLs and 2 DLLs & are located in the four corners of 15*7ef62cebSEmmanuel Vadot the FPGA. For more information see "PolarFire SoC FPGA Clocking Resources" at: 16*7ef62cebSEmmanuel Vadot https://onlinedocs.microchip.com/pr/GUID-8F0CC4C0-0317-4262-89CA-CE7773ED1931-en-US-1/index.html 17*7ef62cebSEmmanuel Vadot 18*7ef62cebSEmmanuel Vadotproperties: 19*7ef62cebSEmmanuel Vadot compatible: 20*7ef62cebSEmmanuel Vadot const: microchip,mpfs-ccc 21*7ef62cebSEmmanuel Vadot 22*7ef62cebSEmmanuel Vadot reg: 23*7ef62cebSEmmanuel Vadot items: 24*7ef62cebSEmmanuel Vadot - description: PLL0's control registers 25*7ef62cebSEmmanuel Vadot - description: PLL1's control registers 26*7ef62cebSEmmanuel Vadot - description: DLL0's control registers 27*7ef62cebSEmmanuel Vadot - description: DLL1's control registers 28*7ef62cebSEmmanuel Vadot 29*7ef62cebSEmmanuel Vadot clocks: 30*7ef62cebSEmmanuel Vadot description: 31*7ef62cebSEmmanuel Vadot The CCC PLL's have two input clocks. It is required that even if the input 32*7ef62cebSEmmanuel Vadot clocks are identical that both are provided. 33*7ef62cebSEmmanuel Vadot minItems: 2 34*7ef62cebSEmmanuel Vadot items: 35*7ef62cebSEmmanuel Vadot - description: PLL0's refclk0 36*7ef62cebSEmmanuel Vadot - description: PLL0's refclk1 37*7ef62cebSEmmanuel Vadot - description: PLL1's refclk0 38*7ef62cebSEmmanuel Vadot - description: PLL1's refclk1 39*7ef62cebSEmmanuel Vadot - description: DLL0's refclk 40*7ef62cebSEmmanuel Vadot - description: DLL1's refclk 41*7ef62cebSEmmanuel Vadot 42*7ef62cebSEmmanuel Vadot clock-names: 43*7ef62cebSEmmanuel Vadot minItems: 2 44*7ef62cebSEmmanuel Vadot items: 45*7ef62cebSEmmanuel Vadot - const: pll0_ref0 46*7ef62cebSEmmanuel Vadot - const: pll0_ref1 47*7ef62cebSEmmanuel Vadot - const: pll1_ref0 48*7ef62cebSEmmanuel Vadot - const: pll1_ref1 49*7ef62cebSEmmanuel Vadot - const: dll0_ref 50*7ef62cebSEmmanuel Vadot - const: dll1_ref 51*7ef62cebSEmmanuel Vadot 52*7ef62cebSEmmanuel Vadot '#clock-cells': 53*7ef62cebSEmmanuel Vadot const: 1 54*7ef62cebSEmmanuel Vadot description: | 55*7ef62cebSEmmanuel Vadot The clock consumer should specify the desired clock by having the clock 56*7ef62cebSEmmanuel Vadot ID in its "clocks" phandle cell. 57*7ef62cebSEmmanuel Vadot See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 58*7ef62cebSEmmanuel Vadot PolarFire clock IDs. 59*7ef62cebSEmmanuel Vadot 60*7ef62cebSEmmanuel Vadotrequired: 61*7ef62cebSEmmanuel Vadot - compatible 62*7ef62cebSEmmanuel Vadot - reg 63*7ef62cebSEmmanuel Vadot - clocks 64*7ef62cebSEmmanuel Vadot - clock-names 65*7ef62cebSEmmanuel Vadot - '#clock-cells' 66*7ef62cebSEmmanuel Vadot 67*7ef62cebSEmmanuel VadotadditionalProperties: false 68*7ef62cebSEmmanuel Vadot 69*7ef62cebSEmmanuel Vadotexamples: 70*7ef62cebSEmmanuel Vadot - | 71*7ef62cebSEmmanuel Vadot clock-controller@38100000 { 72*7ef62cebSEmmanuel Vadot compatible = "microchip,mpfs-ccc"; 73*7ef62cebSEmmanuel Vadot reg = <0x38010000 0x1000>, <0x38020000 0x1000>, 74*7ef62cebSEmmanuel Vadot <0x39010000 0x1000>, <0x39020000 0x1000>; 75*7ef62cebSEmmanuel Vadot #clock-cells = <1>; 76*7ef62cebSEmmanuel Vadot clocks = <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>, 77*7ef62cebSEmmanuel Vadot <&refclk_ccc>, <&refclk_ccc>; 78*7ef62cebSEmmanuel Vadot clock-names = "pll0_ref0", "pll0_ref1", "pll1_ref0", "pll1_ref1", 79*7ef62cebSEmmanuel Vadot "dll0_ref", "dll1_ref"; 80*7ef62cebSEmmanuel Vadot }; 81