1d9563c97SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d9563c97SGeert Uytterhoeven%YAML 1.2 3d9563c97SGeert Uytterhoeven--- 4d9563c97SGeert Uytterhoeven$id: http://devicetree.org/schemas/clock/renesas,cpg-clocks.yaml# 5d9563c97SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml# 6d9563c97SGeert Uytterhoeven 7d9563c97SGeert Uytterhoeventitle: Renesas Clock Pulse Generator (CPG) 8d9563c97SGeert Uytterhoeven 9d9563c97SGeert Uytterhoevenmaintainers: 10d9563c97SGeert Uytterhoeven - Geert Uytterhoeven <geert+renesas@glider.be> 11d9563c97SGeert Uytterhoeven 12d9563c97SGeert Uytterhoevendescription: 13d9563c97SGeert Uytterhoeven The Clock Pulse Generator (CPG) generates core clocks for the SoC. It 14d9563c97SGeert Uytterhoeven includes PLLs, and fixed and variable ratio dividers. 15d9563c97SGeert Uytterhoeven 16d9563c97SGeert Uytterhoeven The CPG may also provide a Clock Domain for SoC devices, in combination with 17d9563c97SGeert Uytterhoeven the CPG Module Stop (MSTP) Clocks. 18d9563c97SGeert Uytterhoeven 19d9563c97SGeert Uytterhoevenproperties: 20d9563c97SGeert Uytterhoeven compatible: 21d9563c97SGeert Uytterhoeven oneOf: 22d9563c97SGeert Uytterhoeven - const: renesas,r8a73a4-cpg-clocks # R-Mobile APE6 23d9563c97SGeert Uytterhoeven - const: renesas,r8a7740-cpg-clocks # R-Mobile A1 24d9563c97SGeert Uytterhoeven - const: renesas,r8a7778-cpg-clocks # R-Car M1 25d9563c97SGeert Uytterhoeven - const: renesas,r8a7779-cpg-clocks # R-Car H1 26d9563c97SGeert Uytterhoeven - items: 27d9563c97SGeert Uytterhoeven - enum: 28d9563c97SGeert Uytterhoeven - renesas,r7s72100-cpg-clocks # RZ/A1H 29d9563c97SGeert Uytterhoeven - const: renesas,rz-cpg-clocks # RZ/A1 30d9563c97SGeert Uytterhoeven - const: renesas,sh73a0-cpg-clocks # SH-Mobile AG5 31d9563c97SGeert Uytterhoeven 32d9563c97SGeert Uytterhoeven reg: 33d9563c97SGeert Uytterhoeven maxItems: 1 34d9563c97SGeert Uytterhoeven 35*0dec2d0cSKrzysztof Kozlowski clocks: 36*0dec2d0cSKrzysztof Kozlowski minItems: 1 37*0dec2d0cSKrzysztof Kozlowski maxItems: 3 38d9563c97SGeert Uytterhoeven 39d9563c97SGeert Uytterhoeven '#clock-cells': 40d9563c97SGeert Uytterhoeven const: 1 41d9563c97SGeert Uytterhoeven 42*0dec2d0cSKrzysztof Kozlowski clock-output-names: 43*0dec2d0cSKrzysztof Kozlowski minItems: 3 44*0dec2d0cSKrzysztof Kozlowski maxItems: 17 45d9563c97SGeert Uytterhoeven 46d9563c97SGeert Uytterhoeven renesas,mode: 47d9563c97SGeert Uytterhoeven description: Board-specific settings of the MD_CK* bits on R-Mobile A1 48d9563c97SGeert Uytterhoeven $ref: /schemas/types.yaml#/definitions/uint32 49d9563c97SGeert Uytterhoeven minimum: 0 50d9563c97SGeert Uytterhoeven maximum: 7 51d9563c97SGeert Uytterhoeven 52d9563c97SGeert Uytterhoeven '#power-domain-cells': 53d9563c97SGeert Uytterhoeven const: 0 54d9563c97SGeert Uytterhoeven 55d9563c97SGeert Uytterhoevenrequired: 56d9563c97SGeert Uytterhoeven - compatible 57d9563c97SGeert Uytterhoeven - reg 58d9563c97SGeert Uytterhoeven - clocks 59d9563c97SGeert Uytterhoeven - '#clock-cells' 60d9563c97SGeert Uytterhoeven - clock-output-names 61d9563c97SGeert Uytterhoeven 62d9563c97SGeert UytterhoevenallOf: 63d9563c97SGeert Uytterhoeven - if: 64d9563c97SGeert Uytterhoeven properties: 65d9563c97SGeert Uytterhoeven compatible: 66d9563c97SGeert Uytterhoeven contains: 67d9563c97SGeert Uytterhoeven const: renesas,r8a73a4-cpg-clocks 68d9563c97SGeert Uytterhoeven then: 69d9563c97SGeert Uytterhoeven properties: 70d9563c97SGeert Uytterhoeven clocks: 71d9563c97SGeert Uytterhoeven items: 72d9563c97SGeert Uytterhoeven - description: extal1 73d9563c97SGeert Uytterhoeven - description: extal2 74d9563c97SGeert Uytterhoeven 75d9563c97SGeert Uytterhoeven clock-output-names: 76d9563c97SGeert Uytterhoeven items: 77d9563c97SGeert Uytterhoeven - const: main 78d9563c97SGeert Uytterhoeven - const: pll0 79d9563c97SGeert Uytterhoeven - const: pll1 80d9563c97SGeert Uytterhoeven - const: pll2 81d9563c97SGeert Uytterhoeven - const: pll2s 82d9563c97SGeert Uytterhoeven - const: pll2h 83d9563c97SGeert Uytterhoeven - const: z 84d9563c97SGeert Uytterhoeven - const: z2 85d9563c97SGeert Uytterhoeven - const: i 86d9563c97SGeert Uytterhoeven - const: m3 87d9563c97SGeert Uytterhoeven - const: b 88d9563c97SGeert Uytterhoeven - const: m1 89d9563c97SGeert Uytterhoeven - const: m2 90d9563c97SGeert Uytterhoeven - const: zx 91d9563c97SGeert Uytterhoeven - const: zs 92d9563c97SGeert Uytterhoeven - const: hp 93d9563c97SGeert Uytterhoeven 94d9563c97SGeert Uytterhoeven - if: 95d9563c97SGeert Uytterhoeven properties: 96d9563c97SGeert Uytterhoeven compatible: 97d9563c97SGeert Uytterhoeven contains: 98d9563c97SGeert Uytterhoeven const: renesas,r8a7740-cpg-clocks 99d9563c97SGeert Uytterhoeven then: 100d9563c97SGeert Uytterhoeven properties: 101d9563c97SGeert Uytterhoeven clocks: 102d9563c97SGeert Uytterhoeven items: 103d9563c97SGeert Uytterhoeven - description: extal1 104d9563c97SGeert Uytterhoeven - description: extal2 105d9563c97SGeert Uytterhoeven - description: extalr 106d9563c97SGeert Uytterhoeven 107d9563c97SGeert Uytterhoeven clock-output-names: 108d9563c97SGeert Uytterhoeven items: 109d9563c97SGeert Uytterhoeven - const: system 110d9563c97SGeert Uytterhoeven - const: pllc0 111d9563c97SGeert Uytterhoeven - const: pllc1 112d9563c97SGeert Uytterhoeven - const: pllc2 113d9563c97SGeert Uytterhoeven - const: r 114d9563c97SGeert Uytterhoeven - const: usb24s 115d9563c97SGeert Uytterhoeven - const: i 116d9563c97SGeert Uytterhoeven - const: zg 117d9563c97SGeert Uytterhoeven - const: b 118d9563c97SGeert Uytterhoeven - const: m1 119d9563c97SGeert Uytterhoeven - const: hp 120d9563c97SGeert Uytterhoeven - const: hpp 121d9563c97SGeert Uytterhoeven - const: usbp 122d9563c97SGeert Uytterhoeven - const: s 123d9563c97SGeert Uytterhoeven - const: zb 124d9563c97SGeert Uytterhoeven - const: m3 125d9563c97SGeert Uytterhoeven - const: cp 126d9563c97SGeert Uytterhoeven 127d9563c97SGeert Uytterhoeven required: 128d9563c97SGeert Uytterhoeven - renesas,mode 129d9563c97SGeert Uytterhoeven 130d9563c97SGeert Uytterhoeven - if: 131d9563c97SGeert Uytterhoeven properties: 132d9563c97SGeert Uytterhoeven compatible: 133d9563c97SGeert Uytterhoeven contains: 134d9563c97SGeert Uytterhoeven const: renesas,r8a7778-cpg-clocks 135d9563c97SGeert Uytterhoeven then: 136d9563c97SGeert Uytterhoeven properties: 137d9563c97SGeert Uytterhoeven clocks: 138d9563c97SGeert Uytterhoeven maxItems: 1 139d9563c97SGeert Uytterhoeven 140d9563c97SGeert Uytterhoeven clock-output-names: 141d9563c97SGeert Uytterhoeven items: 142d9563c97SGeert Uytterhoeven - const: plla 143d9563c97SGeert Uytterhoeven - const: pllb 144d9563c97SGeert Uytterhoeven - const: b 145d9563c97SGeert Uytterhoeven - const: out 146d9563c97SGeert Uytterhoeven - const: p 147d9563c97SGeert Uytterhoeven - const: s 148d9563c97SGeert Uytterhoeven - const: s1 149d9563c97SGeert Uytterhoeven 150d9563c97SGeert Uytterhoeven - if: 151d9563c97SGeert Uytterhoeven properties: 152d9563c97SGeert Uytterhoeven compatible: 153d9563c97SGeert Uytterhoeven contains: 154d9563c97SGeert Uytterhoeven const: renesas,r8a7779-cpg-clocks 155d9563c97SGeert Uytterhoeven then: 156d9563c97SGeert Uytterhoeven properties: 157d9563c97SGeert Uytterhoeven clocks: 158d9563c97SGeert Uytterhoeven maxItems: 1 159d9563c97SGeert Uytterhoeven 160d9563c97SGeert Uytterhoeven clock-output-names: 161d9563c97SGeert Uytterhoeven items: 162d9563c97SGeert Uytterhoeven - const: plla 163d9563c97SGeert Uytterhoeven - const: z 164d9563c97SGeert Uytterhoeven - const: zs 165d9563c97SGeert Uytterhoeven - const: s 166d9563c97SGeert Uytterhoeven - const: s1 167d9563c97SGeert Uytterhoeven - const: p 168d9563c97SGeert Uytterhoeven - const: b 169d9563c97SGeert Uytterhoeven - const: out 170d9563c97SGeert Uytterhoeven 171d9563c97SGeert Uytterhoeven - if: 172d9563c97SGeert Uytterhoeven properties: 173d9563c97SGeert Uytterhoeven compatible: 174d9563c97SGeert Uytterhoeven contains: 175d9563c97SGeert Uytterhoeven const: renesas,r7s72100-cpg-clocks 176d9563c97SGeert Uytterhoeven then: 177d9563c97SGeert Uytterhoeven properties: 178d9563c97SGeert Uytterhoeven clocks: 179d9563c97SGeert Uytterhoeven items: 180d9563c97SGeert Uytterhoeven - description: extal1 181d9563c97SGeert Uytterhoeven - description: usb_x1 182d9563c97SGeert Uytterhoeven 183d9563c97SGeert Uytterhoeven clock-output-names: 184d9563c97SGeert Uytterhoeven items: 185d9563c97SGeert Uytterhoeven - const: pll 186d9563c97SGeert Uytterhoeven - const: i 187d9563c97SGeert Uytterhoeven - const: g 188d9563c97SGeert Uytterhoeven 189d9563c97SGeert Uytterhoeven - if: 190d9563c97SGeert Uytterhoeven properties: 191d9563c97SGeert Uytterhoeven compatible: 192d9563c97SGeert Uytterhoeven contains: 193d9563c97SGeert Uytterhoeven const: renesas,sh73a0-cpg-clocks 194d9563c97SGeert Uytterhoeven then: 195d9563c97SGeert Uytterhoeven properties: 196d9563c97SGeert Uytterhoeven clocks: 197d9563c97SGeert Uytterhoeven items: 198d9563c97SGeert Uytterhoeven - description: extal1 199d9563c97SGeert Uytterhoeven - description: extal2 200d9563c97SGeert Uytterhoeven 201d9563c97SGeert Uytterhoeven clock-output-names: 202d9563c97SGeert Uytterhoeven items: 203d9563c97SGeert Uytterhoeven - const: main 204d9563c97SGeert Uytterhoeven - const: pll0 205d9563c97SGeert Uytterhoeven - const: pll1 206d9563c97SGeert Uytterhoeven - const: pll2 207d9563c97SGeert Uytterhoeven - const: pll3 208d9563c97SGeert Uytterhoeven - const: dsi0phy 209d9563c97SGeert Uytterhoeven - const: dsi1phy 210d9563c97SGeert Uytterhoeven - const: zg 211d9563c97SGeert Uytterhoeven - const: m3 212d9563c97SGeert Uytterhoeven - const: b 213d9563c97SGeert Uytterhoeven - const: m1 214d9563c97SGeert Uytterhoeven - const: m2 215d9563c97SGeert Uytterhoeven - const: z 216d9563c97SGeert Uytterhoeven - const: zx 217d9563c97SGeert Uytterhoeven - const: hp 218d9563c97SGeert Uytterhoeven 219d9563c97SGeert Uytterhoeven - if: 220d9563c97SGeert Uytterhoeven properties: 221d9563c97SGeert Uytterhoeven compatible: 222d9563c97SGeert Uytterhoeven contains: 223d9563c97SGeert Uytterhoeven enum: 224d9563c97SGeert Uytterhoeven - renesas,r8a7778-cpg-clocks 225d9563c97SGeert Uytterhoeven - renesas,r8a7779-cpg-clocks 226d9563c97SGeert Uytterhoeven - renesas,rz-cpg-clocks 227d9563c97SGeert Uytterhoeven then: 228d9563c97SGeert Uytterhoeven required: 229d9563c97SGeert Uytterhoeven - '#power-domain-cells' 230d9563c97SGeert Uytterhoeven 231d9563c97SGeert UytterhoevenadditionalProperties: false 232d9563c97SGeert Uytterhoeven 233d9563c97SGeert Uytterhoevenexamples: 234d9563c97SGeert Uytterhoeven - | 235d9563c97SGeert Uytterhoeven #include <dt-bindings/clock/r8a7740-clock.h> 236d9563c97SGeert Uytterhoeven cpg_clocks: cpg_clocks@e6150000 { 237d9563c97SGeert Uytterhoeven compatible = "renesas,r8a7740-cpg-clocks"; 238d9563c97SGeert Uytterhoeven reg = <0xe6150000 0x10000>; 239d9563c97SGeert Uytterhoeven clocks = <&extal1_clk>, <&extal2_clk>, <&extalr_clk>; 240d9563c97SGeert Uytterhoeven #clock-cells = <1>; 241d9563c97SGeert Uytterhoeven clock-output-names = "system", "pllc0", "pllc1", "pllc2", "r", 242d9563c97SGeert Uytterhoeven "usb24s", "i", "zg", "b", "m1", "hp", "hpp", 243d9563c97SGeert Uytterhoeven "usbp", "s", "zb", "m3", "cp"; 244d9563c97SGeert Uytterhoeven renesas,mode = <0x05>; 245d9563c97SGeert Uytterhoeven }; 246