18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0+ 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/allwinner,sun8i-a23-prcm.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Allwinner A23 PRCM Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Chen-Yu Tsai <wens@csie.org> 118c2ecf20Sopenharmony_ci - Maxime Ripard <mripard@kernel.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cideprecated: true 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciproperties: 168c2ecf20Sopenharmony_ci compatible: 178c2ecf20Sopenharmony_ci const: allwinner,sun8i-a23-prcm 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci reg: 208c2ecf20Sopenharmony_ci maxItems: 1 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_cipatternProperties: 238c2ecf20Sopenharmony_ci "^.*(clk|rst|codec).*$": 248c2ecf20Sopenharmony_ci type: object 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci properties: 278c2ecf20Sopenharmony_ci compatible: 288c2ecf20Sopenharmony_ci enum: 298c2ecf20Sopenharmony_ci - fixed-factor-clock 308c2ecf20Sopenharmony_ci - allwinner,sun8i-a23-apb0-clk 318c2ecf20Sopenharmony_ci - allwinner,sun8i-a23-apb0-gates-clk 328c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-clock-reset 338c2ecf20Sopenharmony_ci - allwinner,sun8i-a23-codec-analog 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci required: 368c2ecf20Sopenharmony_ci - compatible 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci allOf: 398c2ecf20Sopenharmony_ci - if: 408c2ecf20Sopenharmony_ci properties: 418c2ecf20Sopenharmony_ci compatible: 428c2ecf20Sopenharmony_ci contains: 438c2ecf20Sopenharmony_ci const: allwinner,sun8i-a23-apb0-clk 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci then: 468c2ecf20Sopenharmony_ci properties: 478c2ecf20Sopenharmony_ci "#clock-cells": 488c2ecf20Sopenharmony_ci const: 0 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci # Already checked in the main schema 518c2ecf20Sopenharmony_ci compatible: true 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci clocks: 548c2ecf20Sopenharmony_ci maxItems: 1 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci clock-output-names: 578c2ecf20Sopenharmony_ci maxItems: 1 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci phandle: true 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci required: 628c2ecf20Sopenharmony_ci - "#clock-cells" 638c2ecf20Sopenharmony_ci - compatible 648c2ecf20Sopenharmony_ci - clocks 658c2ecf20Sopenharmony_ci - clock-output-names 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci additionalProperties: false 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci - if: 708c2ecf20Sopenharmony_ci properties: 718c2ecf20Sopenharmony_ci compatible: 728c2ecf20Sopenharmony_ci contains: 738c2ecf20Sopenharmony_ci const: allwinner,sun8i-a23-apb0-gates-clk 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci then: 768c2ecf20Sopenharmony_ci properties: 778c2ecf20Sopenharmony_ci "#clock-cells": 788c2ecf20Sopenharmony_ci const: 1 798c2ecf20Sopenharmony_ci description: > 808c2ecf20Sopenharmony_ci This additional argument passed to that clock is the 818c2ecf20Sopenharmony_ci offset of the bit controlling this particular gate in 828c2ecf20Sopenharmony_ci the register. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci # Already checked in the main schema 858c2ecf20Sopenharmony_ci compatible: true 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci clocks: 888c2ecf20Sopenharmony_ci maxItems: 1 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci clock-output-names: 918c2ecf20Sopenharmony_ci minItems: 1 928c2ecf20Sopenharmony_ci maxItems: 32 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci phandle: true 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci required: 978c2ecf20Sopenharmony_ci - "#clock-cells" 988c2ecf20Sopenharmony_ci - compatible 998c2ecf20Sopenharmony_ci - clocks 1008c2ecf20Sopenharmony_ci - clock-output-names 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci additionalProperties: false 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci - if: 1058c2ecf20Sopenharmony_ci properties: 1068c2ecf20Sopenharmony_ci compatible: 1078c2ecf20Sopenharmony_ci contains: 1088c2ecf20Sopenharmony_ci const: allwinner,sun6i-a31-clock-reset 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci then: 1118c2ecf20Sopenharmony_ci properties: 1128c2ecf20Sopenharmony_ci "#reset-cells": 1138c2ecf20Sopenharmony_ci const: 1 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci # Already checked in the main schema 1168c2ecf20Sopenharmony_ci compatible: true 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci phandle: true 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci required: 1218c2ecf20Sopenharmony_ci - "#reset-cells" 1228c2ecf20Sopenharmony_ci - compatible 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci additionalProperties: false 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ci - if: 1278c2ecf20Sopenharmony_ci properties: 1288c2ecf20Sopenharmony_ci compatible: 1298c2ecf20Sopenharmony_ci contains: 1308c2ecf20Sopenharmony_ci const: allwinner,sun8i-a23-codec-analog 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci then: 1338c2ecf20Sopenharmony_ci properties: 1348c2ecf20Sopenharmony_ci # Already checked in the main schema 1358c2ecf20Sopenharmony_ci compatible: true 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci phandle: true 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci required: 1408c2ecf20Sopenharmony_ci - compatible 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci additionalProperties: false 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_cirequired: 1458c2ecf20Sopenharmony_ci - compatible 1468c2ecf20Sopenharmony_ci - reg 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ciadditionalProperties: false 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ciexamples: 1518c2ecf20Sopenharmony_ci - | 1528c2ecf20Sopenharmony_ci prcm@1f01400 { 1538c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a23-prcm"; 1548c2ecf20Sopenharmony_ci reg = <0x01f01400 0x200>; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci ar100: ar100_clk { 1578c2ecf20Sopenharmony_ci compatible = "fixed-factor-clock"; 1588c2ecf20Sopenharmony_ci #clock-cells = <0>; 1598c2ecf20Sopenharmony_ci clock-div = <1>; 1608c2ecf20Sopenharmony_ci clock-mult = <1>; 1618c2ecf20Sopenharmony_ci clocks = <&osc24M>; 1628c2ecf20Sopenharmony_ci clock-output-names = "ar100"; 1638c2ecf20Sopenharmony_ci }; 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci ahb0: ahb0_clk { 1668c2ecf20Sopenharmony_ci compatible = "fixed-factor-clock"; 1678c2ecf20Sopenharmony_ci #clock-cells = <0>; 1688c2ecf20Sopenharmony_ci clock-div = <1>; 1698c2ecf20Sopenharmony_ci clock-mult = <1>; 1708c2ecf20Sopenharmony_ci clocks = <&ar100>; 1718c2ecf20Sopenharmony_ci clock-output-names = "ahb0"; 1728c2ecf20Sopenharmony_ci }; 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci apb0: apb0_clk { 1758c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a23-apb0-clk"; 1768c2ecf20Sopenharmony_ci #clock-cells = <0>; 1778c2ecf20Sopenharmony_ci clocks = <&ahb0>; 1788c2ecf20Sopenharmony_ci clock-output-names = "apb0"; 1798c2ecf20Sopenharmony_ci }; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci apb0_gates: apb0_gates_clk { 1828c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a23-apb0-gates-clk"; 1838c2ecf20Sopenharmony_ci #clock-cells = <1>; 1848c2ecf20Sopenharmony_ci clocks = <&apb0>; 1858c2ecf20Sopenharmony_ci clock-output-names = "apb0_pio", "apb0_timer", 1868c2ecf20Sopenharmony_ci "apb0_rsb", "apb0_uart", 1878c2ecf20Sopenharmony_ci "apb0_i2c"; 1888c2ecf20Sopenharmony_ci }; 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci apb0_rst: apb0_rst { 1918c2ecf20Sopenharmony_ci compatible = "allwinner,sun6i-a31-clock-reset"; 1928c2ecf20Sopenharmony_ci #reset-cells = <1>; 1938c2ecf20Sopenharmony_ci }; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci codec_analog: codec-analog { 1968c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a23-codec-analog"; 1978c2ecf20Sopenharmony_ci }; 1988c2ecf20Sopenharmony_ci }; 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci... 201