FILE
samsung,exynosautov920-clock.yaml
File preview with syntax highlighting.
linux-6.19.14/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/clock/samsung,exynosautov920-clock.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung ExynosAuto v920 SoC clock controller 8 9maintainers: 10 - Sunyeal Hong <sunyeal.hong@samsung.com> 11 - Shin Son <shin.son@samsung.com> 12 - Chanwoo Choi <cw00.choi@samsung.com> 13 - Krzysztof Kozlowski <krzk@kernel.org> 14 - Sylwester Nawrocki <s.nawrocki@samsung.com> 15 16description: | 17 ExynosAuto v920 clock controller is comprised of several CMU units, generating 18 clocks for different domains. Those CMU units are modeled as separate device 19 tree nodes, and might depend on each other. Root clocks in that clock tree are 20 two external clocks:: OSCCLK/XTCXO (38.4 MHz) and RTCCLK/XrtcXTI (32768 Hz). 21 The external OSCCLK must be defined as fixed-rate clock in dts. 22 23 CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and 24 dividers; all other clocks of function blocks (other CMUs) are usually 25 derived from CMU_TOP. 26 27 Each clock is assigned an identifier and client nodes can use this identifier 28 to specify the clock which they consume. All clocks available for usage 29 in clock consumer nodes are defined as preprocessor macros in 30 'include/dt-bindings/clock/samsung,exynosautov920.h' header. 31 32properties: 33 compatible: 34 enum: 35 - samsung,exynosautov920-cmu-cpucl0 36 - samsung,exynosautov920-cmu-cpucl1 37 - samsung,exynosautov920-cmu-cpucl2 38 - samsung,exynosautov920-cmu-hsi0 39 - samsung,exynosautov920-cmu-hsi1 40 - samsung,exynosautov920-cmu-hsi2 41 - samsung,exynosautov920-cmu-m2m 42 - samsung,exynosautov920-cmu-mfc 43 - samsung,exynosautov920-cmu-misc 44 - samsung,exynosautov920-cmu-peric0 45 - samsung,exynosautov920-cmu-peric1 46 - samsung,exynosautov920-cmu-top 47 48 clocks: 49 minItems: 1 50 maxItems: 5 51 52 clock-names: 53 minItems: 1 54 maxItems: 5 55 56 "#clock-cells": 57 const: 1 58 59 reg: 60 maxItems: 1 61 62allOf: 63 - if: 64 properties: 65 compatible: 66 contains: 67 const: samsung,exynosautov920-cmu-top 68 69 then: 70 properties: 71 clocks: 72 items: 73 - description: External reference clock (38.4 MHz) 74 75 clock-names: 76 items: 77 - const: oscclk 78 79 - if: 80 properties: 81 compatible: 82 contains: 83 enum: 84 - samsung,exynosautov920-cmu-cpucl0 85 86 then: 87 properties: 88 clocks: 89 items: 90 - description: External reference clock (38.4 MHz) 91 - description: CMU_CPUCL0 SWITCH clock (from CMU_TOP) 92 - description: CMU_CPUCL0 CLUSTER clock (from CMU_TOP) 93 - description: CMU_CPUCL0 DBG clock (from CMU_TOP) 94 95 clock-names: 96 items: 97 - const: oscclk 98 - const: switch 99 - const: cluster 100 - const: dbg 101 102 - if: 103 properties: 104 compatible: 105 contains: 106 enum: 107 - samsung,exynosautov920-cmu-cpucl1 108 109 then: 110 properties: 111 clocks: 112 items: 113 - description: External reference clock (38.4 MHz) 114 - description: CMU_CPUCL1 SWITCH clock (from CMU_TOP) 115 - description: CMU_CPUCL1 CLUSTER clock (from CMU_TOP) 116 117 clock-names: 118 items: 119 - const: oscclk 120 - const: switch 121 - const: cluster 122 123 - if: 124 properties: 125 compatible: 126 contains: 127 enum: 128 - samsung,exynosautov920-cmu-cpucl2 129 130 then: 131 properties: 132 clocks: 133 items: 134 - description: External reference clock (38.4 MHz) 135 - description: CMU_CPUCL2 SWITCH clock (from CMU_TOP) 136 - description: CMU_CPUCL2 CLUSTER clock (from CMU_TOP) 137 138 clock-names: 139 items: 140 - const: oscclk 141 - const: switch 142 - const: cluster 143 144 - if: 145 properties: 146 compatible: 147 contains: 148 enum: 149 - samsung,exynosautov920-cmu-peric0 150 - samsung,exynosautov920-cmu-peric1 151 152 then: 153 properties: 154 clocks: 155 items: 156 - description: External reference clock (38.4 MHz) 157 - description: CMU_PERICn NOC clock (from CMU_TOP) 158 - description: CMU_PERICn IP clock (from CMU_TOP) 159 160 clock-names: 161 items: 162 - const: oscclk 163 - const: noc 164 - const: ip 165 166 - if: 167 properties: 168 compatible: 169 enum: 170 - samsung,exynosautov920-cmu-misc 171 - samsung,exynosautov920-cmu-hsi0 172 173 then: 174 properties: 175 clocks: 176 items: 177 - description: External reference clock (38.4 MHz) 178 - description: CMU_MISC/CMU_HSI0 NOC clock (from CMU_TOP) 179 180 clock-names: 181 items: 182 - const: oscclk 183 - const: noc 184 185 - if: 186 properties: 187 compatible: 188 contains: 189 const: samsung,exynosautov920-cmu-hsi1 190 191 then: 192 properties: 193 clocks: 194 items: 195 - description: External reference clock (38.4 MHz) 196 - description: CMU_HSI1 NOC clock (from CMU_TOP) 197 - description: CMU_HSI1 USBDRD clock (from CMU_TOP) 198 - description: CMU_HSI1 MMC_CARD clock (from CMU_TOP) 199 200 clock-names: 201 items: 202 - const: oscclk 203 - const: noc 204 - const: usbdrd 205 - const: mmc_card 206 207 - if: 208 properties: 209 compatible: 210 contains: 211 const: samsung,exynosautov920-cmu-hsi2 212 213 then: 214 properties: 215 clocks: 216 items: 217 - description: External reference clock (38.4 MHz) 218 - description: CMU_HSI2 NOC clock (from CMU_TOP) 219 - description: CMU_HSI2 NOC UFS clock (from CMU_TOP) 220 - description: CMU_HSI2 UFS EMBD clock (from CMU_TOP) 221 - description: CMU_HSI2 ETHERNET clock (from CMU_TOP) 222 223 clock-names: 224 items: 225 - const: oscclk 226 - const: noc 227 - const: ufs 228 - const: embd 229 - const: ethernet 230 231 - if: 232 properties: 233 compatible: 234 contains: 235 const: samsung,exynosautov920-cmu-m2m 236 237 then: 238 properties: 239 clocks: 240 items: 241 - description: External reference clock (38.4 MHz) 242 - description: CMU_M2M NOC clock (from CMU_TOP) 243 - description: CMU_M2M JPEG clock (from CMU_TOP) 244 245 clock-names: 246 items: 247 - const: oscclk 248 - const: noc 249 - const: jpeg 250 251 - if: 252 properties: 253 compatible: 254 contains: 255 const: samsung,exynosautov920-cmu-mfc 256 257 then: 258 properties: 259 clocks: 260 items: 261 - description: External reference clock (38.4 MHz) 262 - description: CMU_MFC MFC clock (from CMU_TOP) 263 - description: CMU_MFC WFD clock (from CMU_TOP) 264 265 clock-names: 266 items: 267 - const: oscclk 268 - const: mfc 269 - const: wfd 270 271required: 272 - compatible 273 - "#clock-cells" 274 - clocks 275 - clock-names 276 - reg 277 278additionalProperties: false 279 280examples: 281 # Clock controller node for CMU_PERIC0 282 - | 283 #include <dt-bindings/clock/samsung,exynosautov920.h> 284 285 cmu_peric0: clock-controller@10800000 { 286 compatible = "samsung,exynosautov920-cmu-peric0"; 287 reg = <0x10800000 0x8000>; 288 #clock-cells = <1>; 289 290 clocks = <&xtcxo>, 291 <&cmu_top DOUT_CLKCMU_PERIC0_NOC>, 292 <&cmu_top DOUT_CLKCMU_PERIC0_IP>; 293 clock-names = "oscclk", 294 "noc", 295 "ip"; 296 }; 297 298...
~/
Read-only file preview.