xref: /freebsd-src/sys/contrib/device-tree/Bindings/clock/microchip,mpfs-clkcfg.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
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