1803307a4SConor Dooley# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2803307a4SConor Dooley%YAML 1.2 3803307a4SConor Dooley--- 4803307a4SConor Dooley$id: http://devicetree.org/schemas/clock/microchip,mpfs-clkcfg.yaml# 5803307a4SConor Dooley$schema: http://devicetree.org/meta-schemas/core.yaml# 6803307a4SConor Dooley 7*84e85359SKrzysztof Kozlowskititle: Microchip PolarFire Clock Control Module 8803307a4SConor Dooley 9803307a4SConor Dooleymaintainers: 10803307a4SConor Dooley - Daire McNamara <daire.mcnamara@microchip.com> 11803307a4SConor Dooley 12803307a4SConor Dooleydescription: | 13803307a4SConor Dooley Microchip PolarFire clock control (CLKCFG) is an integrated clock controller, 14803307a4SConor Dooley which gates and enables all peripheral clocks. 15803307a4SConor Dooley 16803307a4SConor Dooley This device tree binding describes 33 gate clocks. Clocks are referenced by 17803307a4SConor Dooley user nodes by the CLKCFG node phandle and the clock index in the group, from 18803307a4SConor Dooley 0 to 32. 19803307a4SConor Dooley 20803307a4SConor Dooleyproperties: 21803307a4SConor Dooley compatible: 22803307a4SConor Dooley const: microchip,mpfs-clkcfg 23803307a4SConor Dooley 24803307a4SConor Dooley reg: 25803307a4SConor Dooley items: 26803307a4SConor Dooley - description: | 27803307a4SConor Dooley clock config registers: 28803307a4SConor Dooley These registers contain enable, reset & divider tables for the, cpu, 29803307a4SConor Dooley axi, ahb and rtc/mtimer reference clocks as well as enable and reset 30803307a4SConor Dooley for the peripheral clocks. 31803307a4SConor Dooley - description: | 32803307a4SConor Dooley mss pll dri registers: 33803307a4SConor Dooley Block of registers responsible for dynamic reconfiguration of the mss 34803307a4SConor Dooley pll 35803307a4SConor Dooley 36803307a4SConor Dooley clocks: 37803307a4SConor Dooley maxItems: 1 38803307a4SConor Dooley 39803307a4SConor Dooley '#clock-cells': 40803307a4SConor Dooley const: 1 41803307a4SConor Dooley description: | 42803307a4SConor Dooley The clock consumer should specify the desired clock by having the clock 43803307a4SConor Dooley ID in its "clocks" phandle cell. 44803307a4SConor Dooley See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 45803307a4SConor Dooley PolarFire clock IDs. 46803307a4SConor Dooley 47803307a4SConor Dooley resets: 48803307a4SConor Dooley maxItems: 1 49803307a4SConor Dooley 50803307a4SConor Dooley '#reset-cells': 51803307a4SConor Dooley description: 52803307a4SConor Dooley The AHB/AXI peripherals on the PolarFire SoC have reset support, so from 53803307a4SConor Dooley CLK_ENVM to CLK_CFM. The reset consumer should specify the desired 54803307a4SConor Dooley peripheral via the clock ID in its "resets" phandle cell. 55803307a4SConor Dooley See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 56803307a4SConor Dooley PolarFire clock IDs. 57803307a4SConor Dooley const: 1 58803307a4SConor Dooley 59803307a4SConor Dooleyrequired: 60803307a4SConor Dooley - compatible 61803307a4SConor Dooley - reg 62803307a4SConor Dooley - clocks 63803307a4SConor Dooley - '#clock-cells' 64803307a4SConor Dooley 65803307a4SConor DooleyadditionalProperties: false 66803307a4SConor Dooley 67803307a4SConor Dooleyexamples: 68803307a4SConor Dooley # Clock Config node: 69803307a4SConor Dooley - | 70803307a4SConor Dooley #include <dt-bindings/clock/microchip,mpfs-clock.h> 71803307a4SConor Dooley soc { 72803307a4SConor Dooley #address-cells = <2>; 73803307a4SConor Dooley #size-cells = <2>; 74803307a4SConor Dooley clkcfg: clock-controller@20002000 { 75803307a4SConor Dooley compatible = "microchip,mpfs-clkcfg"; 76803307a4SConor Dooley reg = <0x0 0x20002000 0x0 0x1000>, <0x0 0x3E001000 0x0 0x1000>; 77803307a4SConor Dooley clocks = <&ref>; 78803307a4SConor Dooley #clock-cells = <1>; 79803307a4SConor Dooley }; 80803307a4SConor Dooley }; 81