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,exynos5260-clock.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung Exynos5260 SoC clock controller 8 9maintainers: 10 - Chanwoo Choi <cw00.choi@samsung.com> 11 - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 12 - Sylwester Nawrocki <s.nawrocki@samsung.com> 13 - Tomasz Figa <tomasz.figa@gmail.com> 14 15description: | 16 Expected external clocks, defined in DTS as fixed-rate clocks with a matching 17 name:: 18 - "fin_pll" - PLL input clock from XXTI 19 - "xrtcxti" - input clock from XRTCXTI 20 - "ioclk_pcm_extclk" - pcm external operation clock 21 - "ioclk_spdif_extclk" - spdif external operation clock 22 - "ioclk_i2s_cdclk" - i2s0 codec clock 23 24 Phy clocks:: 25 There are several clocks which are generated by specific PHYs. These clocks 26 are fed into the clock controller and then routed to the hardware blocks. 27 These clocks are defined as fixed clocks in the driver with following names:: 28 - "phyclk_dptx_phy_ch3_txd_clk" - dp phy clock for channel 3 29 - "phyclk_dptx_phy_ch2_txd_clk" - dp phy clock for channel 2 30 - "phyclk_dptx_phy_ch1_txd_clk" - dp phy clock for channel 1 31 - "phyclk_dptx_phy_ch0_txd_clk" - dp phy clock for channel 0 32 - "phyclk_hdmi_phy_tmds_clko" - hdmi phy tmds clock 33 - "phyclk_hdmi_phy_pixel_clko" - hdmi phy pixel clock 34 - "phyclk_hdmi_link_o_tmds_clkhi" - hdmi phy for hdmi link 35 - "phyclk_dptx_phy_o_ref_clk_24m" - dp phy reference clock 36 - "phyclk_dptx_phy_clk_div2" 37 - "phyclk_mipi_dphy_4l_m_rxclkesc0" 38 - "phyclk_usbhost20_phy_phyclock" - usb 2.0 phy clock 39 - "phyclk_usbhost20_phy_freeclk" 40 - "phyclk_usbhost20_phy_clk48mohci" 41 - "phyclk_usbdrd30_udrd30_pipe_pclk" 42 - "phyclk_usbdrd30_udrd30_phyclock" - usb 3.0 phy clock 43 44 All available clocks are defined as preprocessor macros in 45 include/dt-bindings/clock/exynos5260-clk.h header. 46 47properties: 48 compatible: 49 enum: 50 - samsung,exynos5260-clock-top 51 - samsung,exynos5260-clock-peri 52 - samsung,exynos5260-clock-egl 53 - samsung,exynos5260-clock-kfc 54 - samsung,exynos5260-clock-g2d 55 - samsung,exynos5260-clock-mif 56 - samsung,exynos5260-clock-mfc 57 - samsung,exynos5260-clock-g3d 58 - samsung,exynos5260-clock-fsys 59 - samsung,exynos5260-clock-aud 60 - samsung,exynos5260-clock-isp 61 - samsung,exynos5260-clock-gscl 62 - samsung,exynos5260-clock-disp 63 64 clocks: 65 minItems: 1 66 maxItems: 19 67 68 clock-names: 69 minItems: 1 70 maxItems: 19 71 72 "#clock-cells": 73 const: 1 74 75 reg: 76 maxItems: 1 77 78required: 79 - compatible 80 - "#clock-cells" 81 - reg 82 83allOf: 84 - if: 85 properties: 86 compatible: 87 contains: 88 const: samsung,exynos5260-clock-top 89 then: 90 properties: 91 clocks: 92 minItems: 4 93 maxItems: 4 94 clock-names: 95 items: 96 - const: fin_pll 97 - const: dout_mem_pll 98 - const: dout_bus_pll 99 - const: dout_media_pll 100 required: 101 - clock-names 102 - clocks 103 104 - if: 105 properties: 106 compatible: 107 contains: 108 const: samsung,exynos5260-clock-peri 109 then: 110 properties: 111 clocks: 112 minItems: 13 113 maxItems: 13 114 clock-names: 115 items: 116 - const: fin_pll 117 - const: ioclk_pcm_extclk 118 - const: ioclk_i2s_cdclk 119 - const: ioclk_spdif_extclk 120 - const: phyclk_hdmi_phy_ref_cko 121 - const: dout_aclk_peri_66 122 - const: dout_sclk_peri_uart0 123 - const: dout_sclk_peri_uart1 124 - const: dout_sclk_peri_uart2 125 - const: dout_sclk_peri_spi0_b 126 - const: dout_sclk_peri_spi1_b 127 - const: dout_sclk_peri_spi2_b 128 - const: dout_aclk_peri_aud 129 required: 130 - clock-names 131 - clocks 132 133 - if: 134 properties: 135 compatible: 136 contains: 137 const: samsung,exynos5260-clock-egl 138 then: 139 properties: 140 clocks: 141 minItems: 2 142 maxItems: 2 143 clock-names: 144 items: 145 - const: fin_pll 146 - const: dout_bus_pll 147 required: 148 - clock-names 149 - clocks 150 151 - if: 152 properties: 153 compatible: 154 contains: 155 const: samsung,exynos5260-clock-kfc 156 then: 157 properties: 158 clocks: 159 minItems: 2 160 maxItems: 2 161 clock-names: 162 items: 163 - const: fin_pll 164 - const: dout_media_pll 165 required: 166 - clock-names 167 - clocks 168 169 - if: 170 properties: 171 compatible: 172 contains: 173 const: samsung,exynos5260-clock-g2d 174 then: 175 properties: 176 clocks: 177 minItems: 2 178 maxItems: 2 179 clock-names: 180 items: 181 - const: fin_pll 182 - const: dout_aclk_g2d_333 183 required: 184 - clock-names 185 - clocks 186 187 - if: 188 properties: 189 compatible: 190 contains: 191 const: samsung,exynos5260-clock-mif 192 then: 193 properties: 194 clocks: 195 minItems: 1 196 maxItems: 1 197 clock-names: 198 items: 199 - const: fin_pll 200 required: 201 - clock-names 202 - clocks 203 204 - if: 205 properties: 206 compatible: 207 contains: 208 const: samsung,exynos5260-clock-mfc 209 then: 210 properties: 211 clocks: 212 minItems: 2 213 maxItems: 2 214 clock-names: 215 items: 216 - const: fin_pll 217 - const: dout_aclk_mfc_333 218 required: 219 - clock-names 220 - clocks 221 222 - if: 223 properties: 224 compatible: 225 contains: 226 const: samsung,exynos5260-clock-g3d 227 then: 228 properties: 229 clocks: 230 minItems: 1 231 maxItems: 1 232 clock-names: 233 items: 234 - const: fin_pll 235 required: 236 - clock-names 237 - clocks 238 239 - if: 240 properties: 241 compatible: 242 contains: 243 const: samsung,exynos5260-clock-fsys 244 then: 245 properties: 246 clocks: 247 minItems: 7 248 maxItems: 7 249 clock-names: 250 items: 251 - const: fin_pll 252 - const: phyclk_usbhost20_phy_phyclock 253 - const: phyclk_usbhost20_phy_freeclk 254 - const: phyclk_usbhost20_phy_clk48mohci 255 - const: phyclk_usbdrd30_udrd30_pipe_pclk 256 - const: phyclk_usbdrd30_udrd30_phyclock 257 - const: dout_aclk_fsys_200 258 required: 259 - clock-names 260 - clocks 261 262 - if: 263 properties: 264 compatible: 265 contains: 266 const: samsung,exynos5260-clock-aud 267 then: 268 properties: 269 clocks: 270 minItems: 4 271 maxItems: 4 272 clock-names: 273 items: 274 - const: fin_pll 275 - const: fout_aud_pll 276 - const: ioclk_i2s_cdclk 277 - const: ioclk_pcm_extclk 278 required: 279 - clock-names 280 - clocks 281 282 - if: 283 properties: 284 compatible: 285 contains: 286 const: samsung,exynos5260-clock-isp 287 then: 288 properties: 289 clocks: 290 minItems: 4 291 maxItems: 4 292 clock-names: 293 items: 294 - const: fin_pll 295 - const: dout_aclk_isp1_266 296 - const: dout_aclk_isp1_400 297 - const: mout_aclk_isp1_266 298 299 required: 300 - clock-names 301 - clocks 302 303 - if: 304 properties: 305 compatible: 306 contains: 307 const: samsung,exynos5260-clock-gscl 308 then: 309 properties: 310 clocks: 311 minItems: 3 312 maxItems: 3 313 clock-names: 314 items: 315 - const: fin_pll 316 - const: dout_aclk_gscl_400 317 - const: dout_aclk_gscl_333 318 required: 319 - clock-names 320 - clocks 321 322 - if: 323 properties: 324 compatible: 325 contains: 326 const: samsung,exynos5260-clock-disp 327 then: 328 properties: 329 clocks: 330 minItems: 19 331 maxItems: 19 332 clock-names: 333 items: 334 - const: fin_pll 335 - const: phyclk_dptx_phy_ch3_txd_clk 336 - const: phyclk_dptx_phy_ch2_txd_clk 337 - const: phyclk_dptx_phy_ch1_txd_clk 338 - const: phyclk_dptx_phy_ch0_txd_clk 339 - const: phyclk_hdmi_phy_tmds_clko 340 - const: phyclk_hdmi_phy_ref_clko 341 - const: phyclk_hdmi_phy_pixel_clko 342 - const: phyclk_hdmi_link_o_tmds_clkhi 343 - const: phyclk_mipi_dphy_4l_m_txbyte_clkhs 344 - const: phyclk_dptx_phy_o_ref_clk_24m 345 - const: phyclk_dptx_phy_clk_div2 346 - const: phyclk_mipi_dphy_4l_m_rxclkesc0 347 - const: phyclk_hdmi_phy_ref_cko 348 - const: ioclk_spdif_extclk 349 - const: dout_aclk_peri_aud 350 - const: dout_aclk_disp_222 351 - const: dout_sclk_disp_pixel 352 - const: dout_aclk_disp_333 353 required: 354 - clock-names 355 - clocks 356 357additionalProperties: false 358 359examples: 360 - | 361 #include <dt-bindings/clock/exynos5260-clk.h> 362 363 fin_pll: clock { 364 compatible = "fixed-clock"; 365 clock-output-names = "fin_pll"; 366 #clock-cells = <0>; 367 clock-frequency = <24000000>; 368 }; 369 370 clock-controller@10010000 { 371 compatible = "samsung,exynos5260-clock-top"; 372 reg = <0x10010000 0x10000>; 373 #clock-cells = <1>; 374 clocks = <&fin_pll>, 375 <&clock_mif MIF_DOUT_MEM_PLL>, 376 <&clock_mif MIF_DOUT_BUS_PLL>, 377 <&clock_mif MIF_DOUT_MEDIA_PLL>; 378 clock-names = "fin_pll", 379 "dout_mem_pll", 380 "dout_bus_pll", 381 "dout_media_pll"; 382 }; 383