1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0+ 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/allwinner,sun8i-a23-prcm.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Allwinner A23 PRCM 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Chen-Yu Tsai <wens@csie.org> 11c66ec88fSEmmanuel Vadot - Maxime Ripard <mripard@kernel.org> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotdeprecated: true 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadotproperties: 16c66ec88fSEmmanuel Vadot compatible: 17c66ec88fSEmmanuel Vadot const: allwinner,sun8i-a23-prcm 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot reg: 20c66ec88fSEmmanuel Vadot maxItems: 1 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel VadotpatternProperties: 23c66ec88fSEmmanuel Vadot "^.*(clk|rst|codec).*$": 24c66ec88fSEmmanuel Vadot type: object 25*7ef62cebSEmmanuel Vadot unevaluatedProperties: false 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot properties: 28c66ec88fSEmmanuel Vadot compatible: 29c66ec88fSEmmanuel Vadot enum: 30c66ec88fSEmmanuel Vadot - fixed-factor-clock 31c66ec88fSEmmanuel Vadot - allwinner,sun8i-a23-apb0-clk 32c66ec88fSEmmanuel Vadot - allwinner,sun8i-a23-apb0-gates-clk 33c66ec88fSEmmanuel Vadot - allwinner,sun6i-a31-clock-reset 34c66ec88fSEmmanuel Vadot - allwinner,sun8i-a23-codec-analog 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot required: 37c66ec88fSEmmanuel Vadot - compatible 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot allOf: 40c66ec88fSEmmanuel Vadot - if: 41c66ec88fSEmmanuel Vadot properties: 42c66ec88fSEmmanuel Vadot compatible: 43c66ec88fSEmmanuel Vadot contains: 44*7ef62cebSEmmanuel Vadot const: fixed-factor-clock 45*7ef62cebSEmmanuel Vadot 46*7ef62cebSEmmanuel Vadot then: 47*7ef62cebSEmmanuel Vadot $ref: /schemas/clock/fixed-factor-clock.yaml# 48*7ef62cebSEmmanuel Vadot 49*7ef62cebSEmmanuel Vadot - if: 50*7ef62cebSEmmanuel Vadot properties: 51*7ef62cebSEmmanuel Vadot compatible: 52*7ef62cebSEmmanuel Vadot contains: 53c66ec88fSEmmanuel Vadot const: allwinner,sun8i-a23-apb0-clk 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot then: 56c66ec88fSEmmanuel Vadot properties: 57c66ec88fSEmmanuel Vadot "#clock-cells": 58c66ec88fSEmmanuel Vadot const: 0 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot # Already checked in the main schema 61c66ec88fSEmmanuel Vadot compatible: true 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot clocks: 64c66ec88fSEmmanuel Vadot maxItems: 1 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot clock-output-names: 67c66ec88fSEmmanuel Vadot maxItems: 1 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot phandle: true 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot required: 72c66ec88fSEmmanuel Vadot - "#clock-cells" 73c66ec88fSEmmanuel Vadot - compatible 74c66ec88fSEmmanuel Vadot - clocks 75c66ec88fSEmmanuel Vadot - clock-output-names 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot additionalProperties: false 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot - if: 80c66ec88fSEmmanuel Vadot properties: 81c66ec88fSEmmanuel Vadot compatible: 82c66ec88fSEmmanuel Vadot contains: 83c66ec88fSEmmanuel Vadot const: allwinner,sun8i-a23-apb0-gates-clk 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot then: 86c66ec88fSEmmanuel Vadot properties: 87c66ec88fSEmmanuel Vadot "#clock-cells": 88c66ec88fSEmmanuel Vadot const: 1 89c66ec88fSEmmanuel Vadot description: > 90c66ec88fSEmmanuel Vadot This additional argument passed to that clock is the 91c66ec88fSEmmanuel Vadot offset of the bit controlling this particular gate in 92c66ec88fSEmmanuel Vadot the register. 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot # Already checked in the main schema 95c66ec88fSEmmanuel Vadot compatible: true 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot clocks: 98c66ec88fSEmmanuel Vadot maxItems: 1 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot clock-output-names: 101c66ec88fSEmmanuel Vadot minItems: 1 102c66ec88fSEmmanuel Vadot maxItems: 32 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot phandle: true 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot required: 107c66ec88fSEmmanuel Vadot - "#clock-cells" 108c66ec88fSEmmanuel Vadot - compatible 109c66ec88fSEmmanuel Vadot - clocks 110c66ec88fSEmmanuel Vadot - clock-output-names 111c66ec88fSEmmanuel Vadot 112c66ec88fSEmmanuel Vadot additionalProperties: false 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot - if: 115c66ec88fSEmmanuel Vadot properties: 116c66ec88fSEmmanuel Vadot compatible: 117c66ec88fSEmmanuel Vadot contains: 118c66ec88fSEmmanuel Vadot const: allwinner,sun6i-a31-clock-reset 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot then: 121c66ec88fSEmmanuel Vadot properties: 122c66ec88fSEmmanuel Vadot "#reset-cells": 123c66ec88fSEmmanuel Vadot const: 1 124c66ec88fSEmmanuel Vadot 125c66ec88fSEmmanuel Vadot # Already checked in the main schema 126c66ec88fSEmmanuel Vadot compatible: true 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot phandle: true 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot required: 131c66ec88fSEmmanuel Vadot - "#reset-cells" 132c66ec88fSEmmanuel Vadot - compatible 133c66ec88fSEmmanuel Vadot 134c66ec88fSEmmanuel Vadot additionalProperties: false 135c66ec88fSEmmanuel Vadot 136c66ec88fSEmmanuel Vadot - if: 137c66ec88fSEmmanuel Vadot properties: 138c66ec88fSEmmanuel Vadot compatible: 139c66ec88fSEmmanuel Vadot contains: 140c66ec88fSEmmanuel Vadot const: allwinner,sun8i-a23-codec-analog 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot then: 143c66ec88fSEmmanuel Vadot properties: 144c66ec88fSEmmanuel Vadot # Already checked in the main schema 145c66ec88fSEmmanuel Vadot compatible: true 146c66ec88fSEmmanuel Vadot 147c66ec88fSEmmanuel Vadot phandle: true 148c66ec88fSEmmanuel Vadot 149c66ec88fSEmmanuel Vadot required: 150c66ec88fSEmmanuel Vadot - compatible 151c66ec88fSEmmanuel Vadot 152c66ec88fSEmmanuel Vadot additionalProperties: false 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadotrequired: 155c66ec88fSEmmanuel Vadot - compatible 156c66ec88fSEmmanuel Vadot - reg 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel VadotadditionalProperties: false 159c66ec88fSEmmanuel Vadot 160c66ec88fSEmmanuel Vadotexamples: 161c66ec88fSEmmanuel Vadot - | 162c66ec88fSEmmanuel Vadot prcm@1f01400 { 163c66ec88fSEmmanuel Vadot compatible = "allwinner,sun8i-a23-prcm"; 164c66ec88fSEmmanuel Vadot reg = <0x01f01400 0x200>; 165c66ec88fSEmmanuel Vadot 166c66ec88fSEmmanuel Vadot ar100: ar100_clk { 167c66ec88fSEmmanuel Vadot compatible = "fixed-factor-clock"; 168c66ec88fSEmmanuel Vadot #clock-cells = <0>; 169c66ec88fSEmmanuel Vadot clock-div = <1>; 170c66ec88fSEmmanuel Vadot clock-mult = <1>; 171c66ec88fSEmmanuel Vadot clocks = <&osc24M>; 172c66ec88fSEmmanuel Vadot clock-output-names = "ar100"; 173c66ec88fSEmmanuel Vadot }; 174c66ec88fSEmmanuel Vadot 175c66ec88fSEmmanuel Vadot ahb0: ahb0_clk { 176c66ec88fSEmmanuel Vadot compatible = "fixed-factor-clock"; 177c66ec88fSEmmanuel Vadot #clock-cells = <0>; 178c66ec88fSEmmanuel Vadot clock-div = <1>; 179c66ec88fSEmmanuel Vadot clock-mult = <1>; 180c66ec88fSEmmanuel Vadot clocks = <&ar100>; 181c66ec88fSEmmanuel Vadot clock-output-names = "ahb0"; 182c66ec88fSEmmanuel Vadot }; 183c66ec88fSEmmanuel Vadot 184c66ec88fSEmmanuel Vadot apb0: apb0_clk { 185c66ec88fSEmmanuel Vadot compatible = "allwinner,sun8i-a23-apb0-clk"; 186c66ec88fSEmmanuel Vadot #clock-cells = <0>; 187c66ec88fSEmmanuel Vadot clocks = <&ahb0>; 188c66ec88fSEmmanuel Vadot clock-output-names = "apb0"; 189c66ec88fSEmmanuel Vadot }; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot apb0_gates: apb0_gates_clk { 192c66ec88fSEmmanuel Vadot compatible = "allwinner,sun8i-a23-apb0-gates-clk"; 193c66ec88fSEmmanuel Vadot #clock-cells = <1>; 194c66ec88fSEmmanuel Vadot clocks = <&apb0>; 195c66ec88fSEmmanuel Vadot clock-output-names = "apb0_pio", "apb0_timer", 196c66ec88fSEmmanuel Vadot "apb0_rsb", "apb0_uart", 197c66ec88fSEmmanuel Vadot "apb0_i2c"; 198c66ec88fSEmmanuel Vadot }; 199c66ec88fSEmmanuel Vadot 200c66ec88fSEmmanuel Vadot apb0_rst: apb0_rst { 201c66ec88fSEmmanuel Vadot compatible = "allwinner,sun6i-a31-clock-reset"; 202c66ec88fSEmmanuel Vadot #reset-cells = <1>; 203c66ec88fSEmmanuel Vadot }; 204c66ec88fSEmmanuel Vadot 205c66ec88fSEmmanuel Vadot codec_analog: codec-analog { 206c66ec88fSEmmanuel Vadot compatible = "allwinner,sun8i-a23-codec-analog"; 207c66ec88fSEmmanuel Vadot }; 208c66ec88fSEmmanuel Vadot }; 209c66ec88fSEmmanuel Vadot 210c66ec88fSEmmanuel Vadot... 211