17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27ef62cebSEmmanuel Vadot%YAML 1.2 37ef62cebSEmmanuel Vadot--- 47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/microchip,mpfs-clkcfg.yaml# 57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 67ef62cebSEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: Microchip PolarFire Clock Control Module 87ef62cebSEmmanuel Vadot 97ef62cebSEmmanuel Vadotmaintainers: 107ef62cebSEmmanuel Vadot - Daire McNamara <daire.mcnamara@microchip.com> 117ef62cebSEmmanuel Vadot 127ef62cebSEmmanuel Vadotdescription: | 137ef62cebSEmmanuel Vadot Microchip PolarFire clock control (CLKCFG) is an integrated clock controller, 147ef62cebSEmmanuel Vadot which gates and enables all peripheral clocks. 157ef62cebSEmmanuel Vadot 167ef62cebSEmmanuel Vadot This device tree binding describes 33 gate clocks. Clocks are referenced by 177ef62cebSEmmanuel Vadot user nodes by the CLKCFG node phandle and the clock index in the group, from 187ef62cebSEmmanuel Vadot 0 to 32. 197ef62cebSEmmanuel Vadot 207ef62cebSEmmanuel Vadotproperties: 217ef62cebSEmmanuel Vadot compatible: 227ef62cebSEmmanuel Vadot const: microchip,mpfs-clkcfg 237ef62cebSEmmanuel Vadot 247ef62cebSEmmanuel Vadot reg: 257ef62cebSEmmanuel Vadot items: 267ef62cebSEmmanuel Vadot - description: | 277ef62cebSEmmanuel Vadot clock config registers: 287ef62cebSEmmanuel Vadot These registers contain enable, reset & divider tables for the, cpu, 297ef62cebSEmmanuel Vadot axi, ahb and rtc/mtimer reference clocks as well as enable and reset 307ef62cebSEmmanuel Vadot for the peripheral clocks. 317ef62cebSEmmanuel Vadot - description: | 327ef62cebSEmmanuel Vadot mss pll dri registers: 337ef62cebSEmmanuel Vadot Block of registers responsible for dynamic reconfiguration of the mss 347ef62cebSEmmanuel Vadot pll 357ef62cebSEmmanuel Vadot 367ef62cebSEmmanuel Vadot clocks: 377ef62cebSEmmanuel Vadot maxItems: 1 387ef62cebSEmmanuel Vadot 397ef62cebSEmmanuel Vadot '#clock-cells': 407ef62cebSEmmanuel Vadot const: 1 417ef62cebSEmmanuel Vadot description: | 427ef62cebSEmmanuel Vadot The clock consumer should specify the desired clock by having the clock 437ef62cebSEmmanuel Vadot ID in its "clocks" phandle cell. 447ef62cebSEmmanuel Vadot See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 457ef62cebSEmmanuel Vadot PolarFire clock IDs. 467ef62cebSEmmanuel Vadot 477ef62cebSEmmanuel Vadot resets: 487ef62cebSEmmanuel Vadot maxItems: 1 497ef62cebSEmmanuel Vadot 507ef62cebSEmmanuel Vadot '#reset-cells': 517ef62cebSEmmanuel Vadot description: 527ef62cebSEmmanuel Vadot The AHB/AXI peripherals on the PolarFire SoC have reset support, so from 537ef62cebSEmmanuel Vadot CLK_ENVM to CLK_CFM. The reset consumer should specify the desired 547ef62cebSEmmanuel Vadot peripheral via the clock ID in its "resets" phandle cell. 557ef62cebSEmmanuel Vadot See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list of 567ef62cebSEmmanuel Vadot PolarFire clock IDs. 577ef62cebSEmmanuel Vadot const: 1 587ef62cebSEmmanuel Vadot 597ef62cebSEmmanuel Vadotrequired: 607ef62cebSEmmanuel Vadot - compatible 617ef62cebSEmmanuel Vadot - reg 627ef62cebSEmmanuel Vadot - clocks 637ef62cebSEmmanuel Vadot - '#clock-cells' 647ef62cebSEmmanuel Vadot 657ef62cebSEmmanuel VadotadditionalProperties: false 667ef62cebSEmmanuel Vadot 677ef62cebSEmmanuel Vadotexamples: 687ef62cebSEmmanuel Vadot # Clock Config node: 697ef62cebSEmmanuel Vadot - | 707ef62cebSEmmanuel Vadot #include <dt-bindings/clock/microchip,mpfs-clock.h> 717ef62cebSEmmanuel Vadot soc { 727ef62cebSEmmanuel Vadot #address-cells = <2>; 737ef62cebSEmmanuel Vadot #size-cells = <2>; 747ef62cebSEmmanuel Vadot clkcfg: clock-controller@20002000 { 757ef62cebSEmmanuel Vadot compatible = "microchip,mpfs-clkcfg"; 767ef62cebSEmmanuel Vadot reg = <0x0 0x20002000 0x0 0x1000>, <0x0 0x3E001000 0x0 0x1000>; 777ef62cebSEmmanuel Vadot clocks = <&ref>; 787ef62cebSEmmanuel Vadot #clock-cells = <1>; 797ef62cebSEmmanuel Vadot }; 807ef62cebSEmmanuel Vadot }; 81