1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/clock/microchip,mpfs-clkcfg.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Microchip PolarFire Clock Control Module 8 9maintainers: 10 - Daire McNamara <daire.mcnamara@microchip.com> 11 12description: | 13 Microchip PolarFire clock control (CLKCFG) is an integrated clock controller, 14 which gates and enables all peripheral clocks. 15 16 This device tree binding describes 33 gate clocks. Clocks are referenced by 17 user nodes by the CLKCFG node phandle and the clock index in the group, from 18 0 to 32. 19 20properties: 21 compatible: 22 oneOf: 23 - items: 24 - const: microchip,pic64gx-clkcfg 25 - const: microchip,mpfs-clkcfg 26 - const: microchip,mpfs-clkcfg 27 28 reg: 29 oneOf: 30 - items: 31 - description: | 32 clock config registers: 33 These registers contain enable, reset & divider tables for the, cpu, 34 axi, ahb and rtc/mtimer reference clocks as well as enable and reset 35 for the peripheral clocks. 36 - description: | 37 mss pll dri registers: 38 Block of registers responsible for dynamic reconfiguration of the mss 39 pll 40 deprecated: true 41 - items: 42 - description: | 43 mss pll dri registers: 44 Block of registers responsible for dynamic reconfiguration of the mss 45 pll 46 47 clocks: 48 maxItems: 1 49 50 '#clock-cells': 51 const: 1 52 description: | 53 The clock consumer should specify the desired clock by having the clock 54 ID in its "clocks" phandle cell. 55 See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 56 PolarFire clock IDs. 57 58 resets: 59 maxItems: 1 60 61 '#reset-cells': 62 description: 63 The AHB/AXI peripherals on the PolarFire SoC have reset support, so from 64 CLK_ENVM to CLK_CFM. The reset consumer should specify the desired 65 peripheral via the clock ID in its "resets" phandle cell. 66 See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 67 PolarFire clock IDs. 68 const: 1 69 70required: 71 - compatible 72 - reg 73 - clocks 74 - '#clock-cells' 75 76if: 77 properties: 78 compatible: 79 contains: 80 const: microchip,pic64gx-clkcfg 81then: 82 properties: 83 reg: 84 maxItems: 1 85 86additionalProperties: false 87 88examples: 89 # Clock Config node: 90 - | 91 #include <dt-bindings/clock/microchip,mpfs-clock.h> 92 soc { 93 #address-cells = <1>; 94 #size-cells = <1>; 95 96 clkcfg: clock-controller@3E001000 { 97 compatible = "microchip,mpfs-clkcfg"; 98 reg = <0x3E001000 0x1000>; 99 clocks = <&ref>; 100 #clock-cells = <1>; 101 }; 102 }; 103