# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/clock/renesas,rzg2l-cpg.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Renesas RZ/{G2L,V2L,V2M} Clock Pulse Generator / Module Standby Mode maintainers: - Geert Uytterhoeven description: | On Renesas RZ/{G2L,V2L}-alike SoC's, the CPG (Clock Pulse Generator) and Module Standby Mode share the same register block. On RZ/V2M, the functionality is similar, but does not have Clock Monitor Registers. They provide the following functionalities: - The CPG block generates various core clocks, - The Module Standby Mode block provides two functions: 1. Module Standby, providing a Clock Domain to control the clock supply to individual SoC devices, 2. Reset Control, to perform a software reset of individual SoC devices. properties: compatible: enum: - renesas,r9a07g043-cpg # RZ/G2UL{Type-1,Type-2} and RZ/Five - renesas,r9a07g044-cpg # RZ/G2{L,LC} - renesas,r9a07g054-cpg # RZ/V2L - renesas,r9a08g045-cpg # RZ/G3S - renesas,r9a09g011-cpg # RZ/V2M reg: maxItems: 1 clocks: maxItems: 1 clock-names: description: Clock source to CPG can be either from external clock input (EXCLK) or crystal oscillator (XIN/XOUT). const: extal '#clock-cells': description: | - For CPG core clocks, the two clock specifier cells must be "CPG_CORE" and a core clock reference, as defined in , - For module clocks, the two clock specifier cells must be "CPG_MOD" and a module number, as defined in . const: 2 '#power-domain-cells': description: SoC devices that are part of the CPG/Module Standby Mode Clock Domain and can be power-managed through Module Standby should refer to the CPG device node in their "power-domains" property, as documented by the generic PM Domain bindings in Documentation/devicetree/bindings/power/power-domain.yaml. The power domain specifiers defined in could be used to reference individual CPG power domains. '#reset-cells': description: The single reset specifier cell must be the reset number, as defined in . const: 1 required: - compatible - reg - clocks - clock-names - '#clock-cells' - '#power-domain-cells' - '#reset-cells' additionalProperties: false allOf: - if: properties: compatible: contains: const: renesas,r9a08g045-cpg then: properties: '#power-domain-cells': const: 1 else: properties: '#power-domain-cells': const: 0 examples: - | cpg: clock-controller@11010000 { compatible = "renesas,r9a07g044-cpg"; reg = <0x11010000 0x10000>; clocks = <&extal_clk>; clock-names = "extal"; #clock-cells = <2>; #power-domain-cells = <0>; #reset-cells = <1>; };