12846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22846c905SEmmanuel Vadot%YAML 1.2 32846c905SEmmanuel Vadot--- 42846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/samsung,exynos990-clock.yaml# 52846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 62846c905SEmmanuel Vadot 72846c905SEmmanuel Vadottitle: Samsung Exynos990 SoC clock controller 82846c905SEmmanuel Vadot 92846c905SEmmanuel Vadotmaintainers: 102846c905SEmmanuel Vadot - Igor Belwon <igor.belwon@mentallysanemainliners.org> 112846c905SEmmanuel Vadot - Chanwoo Choi <cw00.choi@samsung.com> 122846c905SEmmanuel Vadot - Krzysztof Kozlowski <krzk@kernel.org> 132846c905SEmmanuel Vadot 142846c905SEmmanuel Vadotdescription: | 152846c905SEmmanuel Vadot Exynos990 clock controller is comprised of several CMU units, generating 162846c905SEmmanuel Vadot clocks for different domains. Those CMU units are modeled as separate device 172846c905SEmmanuel Vadot tree nodes, and might depend on each other. The root clock in that root tree 182846c905SEmmanuel Vadot is an external clock: OSCCLK (26 MHz). This external clock must be defined 192846c905SEmmanuel Vadot as a fixed-rate clock in dts. 202846c905SEmmanuel Vadot 212846c905SEmmanuel Vadot CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and 222846c905SEmmanuel Vadot dividers; all other clocks of function blocks (other CMUs) are usually 232846c905SEmmanuel Vadot derived from CMU_TOP. 242846c905SEmmanuel Vadot 252846c905SEmmanuel Vadot Each clock is assigned an identifier and client nodes can use this identifier 262846c905SEmmanuel Vadot to specify the clock which they consume. All clocks available for usage 272846c905SEmmanuel Vadot in clock consumer nodes are defined as preprocessor macros in 282846c905SEmmanuel Vadot 'include/dt-bindings/clock/samsung,exynos990.h' header. 292846c905SEmmanuel Vadot 302846c905SEmmanuel Vadotproperties: 312846c905SEmmanuel Vadot compatible: 322846c905SEmmanuel Vadot enum: 332846c905SEmmanuel Vadot - samsung,exynos990-cmu-hsi0 34*8ccc0d23SEmmanuel Vadot - samsung,exynos990-cmu-peris 352846c905SEmmanuel Vadot - samsung,exynos990-cmu-top 362846c905SEmmanuel Vadot 372846c905SEmmanuel Vadot clocks: 382846c905SEmmanuel Vadot minItems: 1 392846c905SEmmanuel Vadot maxItems: 5 402846c905SEmmanuel Vadot 412846c905SEmmanuel Vadot clock-names: 422846c905SEmmanuel Vadot minItems: 1 432846c905SEmmanuel Vadot maxItems: 5 442846c905SEmmanuel Vadot 452846c905SEmmanuel Vadot "#clock-cells": 462846c905SEmmanuel Vadot const: 1 472846c905SEmmanuel Vadot 482846c905SEmmanuel Vadot reg: 492846c905SEmmanuel Vadot maxItems: 1 502846c905SEmmanuel Vadot 512846c905SEmmanuel Vadotrequired: 522846c905SEmmanuel Vadot - compatible 532846c905SEmmanuel Vadot - clocks 542846c905SEmmanuel Vadot - clock-names 552846c905SEmmanuel Vadot - "#clock-cells" 562846c905SEmmanuel Vadot - reg 572846c905SEmmanuel Vadot 582846c905SEmmanuel VadotallOf: 592846c905SEmmanuel Vadot - if: 602846c905SEmmanuel Vadot properties: 612846c905SEmmanuel Vadot compatible: 622846c905SEmmanuel Vadot contains: 632846c905SEmmanuel Vadot const: samsung,exynos990-cmu-hsi0 642846c905SEmmanuel Vadot 652846c905SEmmanuel Vadot then: 662846c905SEmmanuel Vadot properties: 672846c905SEmmanuel Vadot clocks: 682846c905SEmmanuel Vadot items: 692846c905SEmmanuel Vadot - description: External reference clock (26 MHz) 702846c905SEmmanuel Vadot - description: CMU_HSI0 BUS clock (from CMU_TOP) 712846c905SEmmanuel Vadot - description: CMU_HSI0 USB31DRD clock (from CMU_TOP) 722846c905SEmmanuel Vadot - description: CMU_HSI0 USBDP_DEBUG clock (from CMU_TOP) 732846c905SEmmanuel Vadot - description: CMU_HSI0 DPGTC clock (from CMU_TOP) 742846c905SEmmanuel Vadot 752846c905SEmmanuel Vadot clock-names: 762846c905SEmmanuel Vadot items: 772846c905SEmmanuel Vadot - const: oscclk 782846c905SEmmanuel Vadot - const: bus 792846c905SEmmanuel Vadot - const: usb31drd 802846c905SEmmanuel Vadot - const: usbdp_debug 812846c905SEmmanuel Vadot - const: dpgtc 822846c905SEmmanuel Vadot 832846c905SEmmanuel Vadot - if: 842846c905SEmmanuel Vadot properties: 852846c905SEmmanuel Vadot compatible: 862846c905SEmmanuel Vadot contains: 87*8ccc0d23SEmmanuel Vadot const: samsung,exynos990-cmu-peris 88*8ccc0d23SEmmanuel Vadot 89*8ccc0d23SEmmanuel Vadot then: 90*8ccc0d23SEmmanuel Vadot properties: 91*8ccc0d23SEmmanuel Vadot clocks: 92*8ccc0d23SEmmanuel Vadot items: 93*8ccc0d23SEmmanuel Vadot - description: External reference clock (26 MHz) 94*8ccc0d23SEmmanuel Vadot - description: CMU_PERIS BUS clock (from CMU_TOP) 95*8ccc0d23SEmmanuel Vadot 96*8ccc0d23SEmmanuel Vadot clock-names: 97*8ccc0d23SEmmanuel Vadot items: 98*8ccc0d23SEmmanuel Vadot - const: oscclk 99*8ccc0d23SEmmanuel Vadot - const: bus 100*8ccc0d23SEmmanuel Vadot 101*8ccc0d23SEmmanuel Vadot - if: 102*8ccc0d23SEmmanuel Vadot properties: 103*8ccc0d23SEmmanuel Vadot compatible: 104*8ccc0d23SEmmanuel Vadot contains: 1052846c905SEmmanuel Vadot const: samsung,exynos990-cmu-top 1062846c905SEmmanuel Vadot 1072846c905SEmmanuel Vadot then: 1082846c905SEmmanuel Vadot properties: 1092846c905SEmmanuel Vadot clocks: 1102846c905SEmmanuel Vadot items: 1112846c905SEmmanuel Vadot - description: External reference clock (26 MHz) 1122846c905SEmmanuel Vadot 1132846c905SEmmanuel Vadot clock-names: 1142846c905SEmmanuel Vadot items: 1152846c905SEmmanuel Vadot - const: oscclk 1162846c905SEmmanuel Vadot 1172846c905SEmmanuel VadotadditionalProperties: false 1182846c905SEmmanuel Vadot 1192846c905SEmmanuel Vadotexamples: 1202846c905SEmmanuel Vadot - | 1212846c905SEmmanuel Vadot #include <dt-bindings/clock/samsung,exynos990.h> 1222846c905SEmmanuel Vadot 1232846c905SEmmanuel Vadot cmu_hsi0: clock-controller@10a00000 { 1242846c905SEmmanuel Vadot compatible = "samsung,exynos990-cmu-hsi0"; 1252846c905SEmmanuel Vadot reg = <0x10a00000 0x8000>; 1262846c905SEmmanuel Vadot #clock-cells = <1>; 1272846c905SEmmanuel Vadot 1282846c905SEmmanuel Vadot clocks = <&oscclk>, 1292846c905SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_HSI0_BUS>, 1302846c905SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_HSI0_USB31DRD>, 1312846c905SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_HSI0_USBDP_DEBUG>, 1322846c905SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_HSI0_DPGTC>; 1332846c905SEmmanuel Vadot clock-names = "oscclk", 1342846c905SEmmanuel Vadot "bus", 1352846c905SEmmanuel Vadot "usb31drd", 1362846c905SEmmanuel Vadot "usbdp_debug", 1372846c905SEmmanuel Vadot "dpgtc"; 1382846c905SEmmanuel Vadot }; 1392846c905SEmmanuel Vadot 1402846c905SEmmanuel Vadot... 141