18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/clock/renesas,cpg-clocks.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Renesas Clock Pulse Generator (CPG) 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Geert Uytterhoeven <geert+renesas@glider.be> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: 138c2ecf20Sopenharmony_ci The Clock Pulse Generator (CPG) generates core clocks for the SoC. It 148c2ecf20Sopenharmony_ci includes PLLs, and fixed and variable ratio dividers. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci The CPG may also provide a Clock Domain for SoC devices, in combination with 178c2ecf20Sopenharmony_ci the CPG Module Stop (MSTP) Clocks. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciproperties: 208c2ecf20Sopenharmony_ci compatible: 218c2ecf20Sopenharmony_ci oneOf: 228c2ecf20Sopenharmony_ci - const: renesas,r8a73a4-cpg-clocks # R-Mobile APE6 238c2ecf20Sopenharmony_ci - const: renesas,r8a7740-cpg-clocks # R-Mobile A1 248c2ecf20Sopenharmony_ci - const: renesas,r8a7778-cpg-clocks # R-Car M1 258c2ecf20Sopenharmony_ci - const: renesas,r8a7779-cpg-clocks # R-Car H1 268c2ecf20Sopenharmony_ci - items: 278c2ecf20Sopenharmony_ci - enum: 288c2ecf20Sopenharmony_ci - renesas,r7s72100-cpg-clocks # RZ/A1H 298c2ecf20Sopenharmony_ci - const: renesas,rz-cpg-clocks # RZ/A1 308c2ecf20Sopenharmony_ci - const: renesas,sh73a0-cpg-clocks # SH-Mobile AG5 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci reg: 338c2ecf20Sopenharmony_ci maxItems: 1 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci clocks: true 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci '#clock-cells': 388c2ecf20Sopenharmony_ci const: 1 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci clock-output-names: true 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci renesas,mode: 438c2ecf20Sopenharmony_ci description: Board-specific settings of the MD_CK* bits on R-Mobile A1 448c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 458c2ecf20Sopenharmony_ci minimum: 0 468c2ecf20Sopenharmony_ci maximum: 7 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci '#power-domain-cells': 498c2ecf20Sopenharmony_ci const: 0 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_cirequired: 528c2ecf20Sopenharmony_ci - compatible 538c2ecf20Sopenharmony_ci - reg 548c2ecf20Sopenharmony_ci - clocks 558c2ecf20Sopenharmony_ci - '#clock-cells' 568c2ecf20Sopenharmony_ci - clock-output-names 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciallOf: 598c2ecf20Sopenharmony_ci - if: 608c2ecf20Sopenharmony_ci properties: 618c2ecf20Sopenharmony_ci compatible: 628c2ecf20Sopenharmony_ci contains: 638c2ecf20Sopenharmony_ci const: renesas,r8a73a4-cpg-clocks 648c2ecf20Sopenharmony_ci then: 658c2ecf20Sopenharmony_ci properties: 668c2ecf20Sopenharmony_ci clocks: 678c2ecf20Sopenharmony_ci items: 688c2ecf20Sopenharmony_ci - description: extal1 698c2ecf20Sopenharmony_ci - description: extal2 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci clock-output-names: 728c2ecf20Sopenharmony_ci items: 738c2ecf20Sopenharmony_ci - const: main 748c2ecf20Sopenharmony_ci - const: pll0 758c2ecf20Sopenharmony_ci - const: pll1 768c2ecf20Sopenharmony_ci - const: pll2 778c2ecf20Sopenharmony_ci - const: pll2s 788c2ecf20Sopenharmony_ci - const: pll2h 798c2ecf20Sopenharmony_ci - const: z 808c2ecf20Sopenharmony_ci - const: z2 818c2ecf20Sopenharmony_ci - const: i 828c2ecf20Sopenharmony_ci - const: m3 838c2ecf20Sopenharmony_ci - const: b 848c2ecf20Sopenharmony_ci - const: m1 858c2ecf20Sopenharmony_ci - const: m2 868c2ecf20Sopenharmony_ci - const: zx 878c2ecf20Sopenharmony_ci - const: zs 888c2ecf20Sopenharmony_ci - const: hp 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci - if: 918c2ecf20Sopenharmony_ci properties: 928c2ecf20Sopenharmony_ci compatible: 938c2ecf20Sopenharmony_ci contains: 948c2ecf20Sopenharmony_ci const: renesas,r8a7740-cpg-clocks 958c2ecf20Sopenharmony_ci then: 968c2ecf20Sopenharmony_ci properties: 978c2ecf20Sopenharmony_ci clocks: 988c2ecf20Sopenharmony_ci items: 998c2ecf20Sopenharmony_ci - description: extal1 1008c2ecf20Sopenharmony_ci - description: extal2 1018c2ecf20Sopenharmony_ci - description: extalr 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci clock-output-names: 1048c2ecf20Sopenharmony_ci items: 1058c2ecf20Sopenharmony_ci - const: system 1068c2ecf20Sopenharmony_ci - const: pllc0 1078c2ecf20Sopenharmony_ci - const: pllc1 1088c2ecf20Sopenharmony_ci - const: pllc2 1098c2ecf20Sopenharmony_ci - const: r 1108c2ecf20Sopenharmony_ci - const: usb24s 1118c2ecf20Sopenharmony_ci - const: i 1128c2ecf20Sopenharmony_ci - const: zg 1138c2ecf20Sopenharmony_ci - const: b 1148c2ecf20Sopenharmony_ci - const: m1 1158c2ecf20Sopenharmony_ci - const: hp 1168c2ecf20Sopenharmony_ci - const: hpp 1178c2ecf20Sopenharmony_ci - const: usbp 1188c2ecf20Sopenharmony_ci - const: s 1198c2ecf20Sopenharmony_ci - const: zb 1208c2ecf20Sopenharmony_ci - const: m3 1218c2ecf20Sopenharmony_ci - const: cp 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci required: 1248c2ecf20Sopenharmony_ci - renesas,mode 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ci - if: 1278c2ecf20Sopenharmony_ci properties: 1288c2ecf20Sopenharmony_ci compatible: 1298c2ecf20Sopenharmony_ci contains: 1308c2ecf20Sopenharmony_ci const: renesas,r8a7778-cpg-clocks 1318c2ecf20Sopenharmony_ci then: 1328c2ecf20Sopenharmony_ci properties: 1338c2ecf20Sopenharmony_ci clocks: 1348c2ecf20Sopenharmony_ci maxItems: 1 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci clock-output-names: 1378c2ecf20Sopenharmony_ci items: 1388c2ecf20Sopenharmony_ci - const: plla 1398c2ecf20Sopenharmony_ci - const: pllb 1408c2ecf20Sopenharmony_ci - const: b 1418c2ecf20Sopenharmony_ci - const: out 1428c2ecf20Sopenharmony_ci - const: p 1438c2ecf20Sopenharmony_ci - const: s 1448c2ecf20Sopenharmony_ci - const: s1 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci - if: 1478c2ecf20Sopenharmony_ci properties: 1488c2ecf20Sopenharmony_ci compatible: 1498c2ecf20Sopenharmony_ci contains: 1508c2ecf20Sopenharmony_ci const: renesas,r8a7779-cpg-clocks 1518c2ecf20Sopenharmony_ci then: 1528c2ecf20Sopenharmony_ci properties: 1538c2ecf20Sopenharmony_ci clocks: 1548c2ecf20Sopenharmony_ci maxItems: 1 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci clock-output-names: 1578c2ecf20Sopenharmony_ci items: 1588c2ecf20Sopenharmony_ci - const: plla 1598c2ecf20Sopenharmony_ci - const: z 1608c2ecf20Sopenharmony_ci - const: zs 1618c2ecf20Sopenharmony_ci - const: s 1628c2ecf20Sopenharmony_ci - const: s1 1638c2ecf20Sopenharmony_ci - const: p 1648c2ecf20Sopenharmony_ci - const: b 1658c2ecf20Sopenharmony_ci - const: out 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci - if: 1688c2ecf20Sopenharmony_ci properties: 1698c2ecf20Sopenharmony_ci compatible: 1708c2ecf20Sopenharmony_ci contains: 1718c2ecf20Sopenharmony_ci const: renesas,r7s72100-cpg-clocks 1728c2ecf20Sopenharmony_ci then: 1738c2ecf20Sopenharmony_ci properties: 1748c2ecf20Sopenharmony_ci clocks: 1758c2ecf20Sopenharmony_ci items: 1768c2ecf20Sopenharmony_ci - description: extal1 1778c2ecf20Sopenharmony_ci - description: usb_x1 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci clock-output-names: 1808c2ecf20Sopenharmony_ci items: 1818c2ecf20Sopenharmony_ci - const: pll 1828c2ecf20Sopenharmony_ci - const: i 1838c2ecf20Sopenharmony_ci - const: g 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci - if: 1868c2ecf20Sopenharmony_ci properties: 1878c2ecf20Sopenharmony_ci compatible: 1888c2ecf20Sopenharmony_ci contains: 1898c2ecf20Sopenharmony_ci const: renesas,sh73a0-cpg-clocks 1908c2ecf20Sopenharmony_ci then: 1918c2ecf20Sopenharmony_ci properties: 1928c2ecf20Sopenharmony_ci clocks: 1938c2ecf20Sopenharmony_ci items: 1948c2ecf20Sopenharmony_ci - description: extal1 1958c2ecf20Sopenharmony_ci - description: extal2 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci clock-output-names: 1988c2ecf20Sopenharmony_ci items: 1998c2ecf20Sopenharmony_ci - const: main 2008c2ecf20Sopenharmony_ci - const: pll0 2018c2ecf20Sopenharmony_ci - const: pll1 2028c2ecf20Sopenharmony_ci - const: pll2 2038c2ecf20Sopenharmony_ci - const: pll3 2048c2ecf20Sopenharmony_ci - const: dsi0phy 2058c2ecf20Sopenharmony_ci - const: dsi1phy 2068c2ecf20Sopenharmony_ci - const: zg 2078c2ecf20Sopenharmony_ci - const: m3 2088c2ecf20Sopenharmony_ci - const: b 2098c2ecf20Sopenharmony_ci - const: m1 2108c2ecf20Sopenharmony_ci - const: m2 2118c2ecf20Sopenharmony_ci - const: z 2128c2ecf20Sopenharmony_ci - const: zx 2138c2ecf20Sopenharmony_ci - const: hp 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ci - if: 2168c2ecf20Sopenharmony_ci properties: 2178c2ecf20Sopenharmony_ci compatible: 2188c2ecf20Sopenharmony_ci contains: 2198c2ecf20Sopenharmony_ci enum: 2208c2ecf20Sopenharmony_ci - renesas,r8a7778-cpg-clocks 2218c2ecf20Sopenharmony_ci - renesas,r8a7779-cpg-clocks 2228c2ecf20Sopenharmony_ci - renesas,rz-cpg-clocks 2238c2ecf20Sopenharmony_ci then: 2248c2ecf20Sopenharmony_ci required: 2258c2ecf20Sopenharmony_ci - '#power-domain-cells' 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ciadditionalProperties: false 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ciexamples: 2308c2ecf20Sopenharmony_ci - | 2318c2ecf20Sopenharmony_ci #include <dt-bindings/clock/r8a7740-clock.h> 2328c2ecf20Sopenharmony_ci cpg_clocks: cpg_clocks@e6150000 { 2338c2ecf20Sopenharmony_ci compatible = "renesas,r8a7740-cpg-clocks"; 2348c2ecf20Sopenharmony_ci reg = <0xe6150000 0x10000>; 2358c2ecf20Sopenharmony_ci clocks = <&extal1_clk>, <&extal2_clk>, <&extalr_clk>; 2368c2ecf20Sopenharmony_ci #clock-cells = <1>; 2378c2ecf20Sopenharmony_ci clock-output-names = "system", "pllc0", "pllc1", "pllc2", "r", 2388c2ecf20Sopenharmony_ci "usb24s", "i", "zg", "b", "m1", "hp", "hpp", 2398c2ecf20Sopenharmony_ci "usbp", "s", "zb", "m3", "cp"; 2408c2ecf20Sopenharmony_ci renesas,mode = <0x05>; 2418c2ecf20Sopenharmony_ci }; 242