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