162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/clock/samsung,exynos850-clock.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Samsung Exynos850 SoC clock controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Sam Protsenko <semen.protsenko@linaro.org> 1162306a36Sopenharmony_ci - Chanwoo Choi <cw00.choi@samsung.com> 1262306a36Sopenharmony_ci - Krzysztof Kozlowski <krzk@kernel.org> 1362306a36Sopenharmony_ci - Sylwester Nawrocki <s.nawrocki@samsung.com> 1462306a36Sopenharmony_ci - Tomasz Figa <tomasz.figa@gmail.com> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_cidescription: | 1762306a36Sopenharmony_ci Exynos850 clock controller is comprised of several CMU units, generating 1862306a36Sopenharmony_ci clocks for different domains. Those CMU units are modeled as separate device 1962306a36Sopenharmony_ci tree nodes, and might depend on each other. Root clocks in that clock tree are 2062306a36Sopenharmony_ci two external clocks:: OSCCLK (26 MHz) and RTCCLK (32768 Hz). Those external 2162306a36Sopenharmony_ci clocks must be defined as fixed-rate clocks in dts. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and 2462306a36Sopenharmony_ci dividers; all other leaf clocks (other CMUs) are usually derived from CMU_TOP. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci Each clock is assigned an identifier and client nodes can use this identifier 2762306a36Sopenharmony_ci to specify the clock which they consume. All clocks available for usage 2862306a36Sopenharmony_ci in clock consumer nodes are defined as preprocessor macros in 2962306a36Sopenharmony_ci 'dt-bindings/clock/exynos850.h' header. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciproperties: 3262306a36Sopenharmony_ci compatible: 3362306a36Sopenharmony_ci enum: 3462306a36Sopenharmony_ci - samsung,exynos850-cmu-top 3562306a36Sopenharmony_ci - samsung,exynos850-cmu-apm 3662306a36Sopenharmony_ci - samsung,exynos850-cmu-aud 3762306a36Sopenharmony_ci - samsung,exynos850-cmu-cmgp 3862306a36Sopenharmony_ci - samsung,exynos850-cmu-core 3962306a36Sopenharmony_ci - samsung,exynos850-cmu-dpu 4062306a36Sopenharmony_ci - samsung,exynos850-cmu-g3d 4162306a36Sopenharmony_ci - samsung,exynos850-cmu-hsi 4262306a36Sopenharmony_ci - samsung,exynos850-cmu-is 4362306a36Sopenharmony_ci - samsung,exynos850-cmu-mfcmscl 4462306a36Sopenharmony_ci - samsung,exynos850-cmu-peri 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci clocks: 4762306a36Sopenharmony_ci minItems: 1 4862306a36Sopenharmony_ci maxItems: 5 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci clock-names: 5162306a36Sopenharmony_ci minItems: 1 5262306a36Sopenharmony_ci maxItems: 5 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci "#clock-cells": 5562306a36Sopenharmony_ci const: 1 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci reg: 5862306a36Sopenharmony_ci maxItems: 1 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciallOf: 6162306a36Sopenharmony_ci - if: 6262306a36Sopenharmony_ci properties: 6362306a36Sopenharmony_ci compatible: 6462306a36Sopenharmony_ci contains: 6562306a36Sopenharmony_ci const: samsung,exynos850-cmu-top 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci then: 6862306a36Sopenharmony_ci properties: 6962306a36Sopenharmony_ci clocks: 7062306a36Sopenharmony_ci items: 7162306a36Sopenharmony_ci - description: External reference clock (26 MHz) 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci clock-names: 7462306a36Sopenharmony_ci items: 7562306a36Sopenharmony_ci - const: oscclk 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci - if: 7862306a36Sopenharmony_ci properties: 7962306a36Sopenharmony_ci compatible: 8062306a36Sopenharmony_ci contains: 8162306a36Sopenharmony_ci const: samsung,exynos850-cmu-apm 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci then: 8462306a36Sopenharmony_ci properties: 8562306a36Sopenharmony_ci clocks: 8662306a36Sopenharmony_ci items: 8762306a36Sopenharmony_ci - description: External reference clock (26 MHz) 8862306a36Sopenharmony_ci - description: CMU_APM bus clock (from CMU_TOP) 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci clock-names: 9162306a36Sopenharmony_ci items: 9262306a36Sopenharmony_ci - const: oscclk 9362306a36Sopenharmony_ci - const: dout_clkcmu_apm_bus 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci - if: 9662306a36Sopenharmony_ci properties: 9762306a36Sopenharmony_ci compatible: 9862306a36Sopenharmony_ci contains: 9962306a36Sopenharmony_ci const: samsung,exynos850-cmu-aud 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci then: 10262306a36Sopenharmony_ci properties: 10362306a36Sopenharmony_ci clocks: 10462306a36Sopenharmony_ci items: 10562306a36Sopenharmony_ci - description: External reference clock (26 MHz) 10662306a36Sopenharmony_ci - description: AUD clock (from CMU_TOP) 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci clock-names: 10962306a36Sopenharmony_ci items: 11062306a36Sopenharmony_ci - const: oscclk 11162306a36Sopenharmony_ci - const: dout_aud 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci - if: 11462306a36Sopenharmony_ci properties: 11562306a36Sopenharmony_ci compatible: 11662306a36Sopenharmony_ci contains: 11762306a36Sopenharmony_ci const: samsung,exynos850-cmu-cmgp 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci then: 12062306a36Sopenharmony_ci properties: 12162306a36Sopenharmony_ci clocks: 12262306a36Sopenharmony_ci items: 12362306a36Sopenharmony_ci - description: External reference clock (26 MHz) 12462306a36Sopenharmony_ci - description: CMU_CMGP bus clock (from CMU_APM) 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci clock-names: 12762306a36Sopenharmony_ci items: 12862306a36Sopenharmony_ci - const: oscclk 12962306a36Sopenharmony_ci - const: gout_clkcmu_cmgp_bus 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci - if: 13262306a36Sopenharmony_ci properties: 13362306a36Sopenharmony_ci compatible: 13462306a36Sopenharmony_ci contains: 13562306a36Sopenharmony_ci const: samsung,exynos850-cmu-core 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci then: 13862306a36Sopenharmony_ci properties: 13962306a36Sopenharmony_ci clocks: 14062306a36Sopenharmony_ci items: 14162306a36Sopenharmony_ci - description: External reference clock (26 MHz) 14262306a36Sopenharmony_ci - description: CMU_CORE bus clock (from CMU_TOP) 14362306a36Sopenharmony_ci - description: CCI clock (from CMU_TOP) 14462306a36Sopenharmony_ci - description: eMMC clock (from CMU_TOP) 14562306a36Sopenharmony_ci - description: SSS clock (from CMU_TOP) 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci clock-names: 14862306a36Sopenharmony_ci items: 14962306a36Sopenharmony_ci - const: oscclk 15062306a36Sopenharmony_ci - const: dout_core_bus 15162306a36Sopenharmony_ci - const: dout_core_cci 15262306a36Sopenharmony_ci - const: dout_core_mmc_embd 15362306a36Sopenharmony_ci - const: dout_core_sss 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci - if: 15662306a36Sopenharmony_ci properties: 15762306a36Sopenharmony_ci compatible: 15862306a36Sopenharmony_ci contains: 15962306a36Sopenharmony_ci const: samsung,exynos850-cmu-dpu 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci then: 16262306a36Sopenharmony_ci properties: 16362306a36Sopenharmony_ci clocks: 16462306a36Sopenharmony_ci items: 16562306a36Sopenharmony_ci - description: External reference clock (26 MHz) 16662306a36Sopenharmony_ci - description: DPU clock (from CMU_TOP) 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci clock-names: 16962306a36Sopenharmony_ci items: 17062306a36Sopenharmony_ci - const: oscclk 17162306a36Sopenharmony_ci - const: dout_dpu 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci - if: 17462306a36Sopenharmony_ci properties: 17562306a36Sopenharmony_ci compatible: 17662306a36Sopenharmony_ci contains: 17762306a36Sopenharmony_ci const: samsung,exynos850-cmu-g3d 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci then: 18062306a36Sopenharmony_ci properties: 18162306a36Sopenharmony_ci clocks: 18262306a36Sopenharmony_ci items: 18362306a36Sopenharmony_ci - description: External reference clock (26 MHz) 18462306a36Sopenharmony_ci - description: G3D clock (from CMU_TOP) 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci clock-names: 18762306a36Sopenharmony_ci items: 18862306a36Sopenharmony_ci - const: oscclk 18962306a36Sopenharmony_ci - const: dout_g3d_switch 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci - if: 19262306a36Sopenharmony_ci properties: 19362306a36Sopenharmony_ci compatible: 19462306a36Sopenharmony_ci contains: 19562306a36Sopenharmony_ci const: samsung,exynos850-cmu-hsi 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci then: 19862306a36Sopenharmony_ci properties: 19962306a36Sopenharmony_ci clocks: 20062306a36Sopenharmony_ci items: 20162306a36Sopenharmony_ci - description: External reference clock (26 MHz) 20262306a36Sopenharmony_ci - description: External RTC clock (32768 Hz) 20362306a36Sopenharmony_ci - description: CMU_HSI bus clock (from CMU_TOP) 20462306a36Sopenharmony_ci - description: SD card clock (from CMU_TOP) 20562306a36Sopenharmony_ci - description: USB 2.0 DRD clock (from CMU_TOP) 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci clock-names: 20862306a36Sopenharmony_ci items: 20962306a36Sopenharmony_ci - const: oscclk 21062306a36Sopenharmony_ci - const: rtcclk 21162306a36Sopenharmony_ci - const: dout_hsi_bus 21262306a36Sopenharmony_ci - const: dout_hsi_mmc_card 21362306a36Sopenharmony_ci - const: dout_hsi_usb20drd 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci - if: 21662306a36Sopenharmony_ci properties: 21762306a36Sopenharmony_ci compatible: 21862306a36Sopenharmony_ci contains: 21962306a36Sopenharmony_ci const: samsung,exynos850-cmu-is 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci then: 22262306a36Sopenharmony_ci properties: 22362306a36Sopenharmony_ci clocks: 22462306a36Sopenharmony_ci items: 22562306a36Sopenharmony_ci - description: External reference clock (26 MHz) 22662306a36Sopenharmony_ci - description: CMU_IS bus clock (from CMU_TOP) 22762306a36Sopenharmony_ci - description: Image Texture Processing core clock (from CMU_TOP) 22862306a36Sopenharmony_ci - description: Visual Recognition Accelerator clock (from CMU_TOP) 22962306a36Sopenharmony_ci - description: Geometric Distortion Correction clock (from CMU_TOP) 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci clock-names: 23262306a36Sopenharmony_ci items: 23362306a36Sopenharmony_ci - const: oscclk 23462306a36Sopenharmony_ci - const: dout_is_bus 23562306a36Sopenharmony_ci - const: dout_is_itp 23662306a36Sopenharmony_ci - const: dout_is_vra 23762306a36Sopenharmony_ci - const: dout_is_gdc 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci - if: 24062306a36Sopenharmony_ci properties: 24162306a36Sopenharmony_ci compatible: 24262306a36Sopenharmony_ci contains: 24362306a36Sopenharmony_ci const: samsung,exynos850-cmu-mfcmscl 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci then: 24662306a36Sopenharmony_ci properties: 24762306a36Sopenharmony_ci clocks: 24862306a36Sopenharmony_ci items: 24962306a36Sopenharmony_ci - description: External reference clock (26 MHz) 25062306a36Sopenharmony_ci - description: Multi-Format Codec clock (from CMU_TOP) 25162306a36Sopenharmony_ci - description: Memory to Memory Scaler clock (from CMU_TOP) 25262306a36Sopenharmony_ci - description: Multi-Channel Scaler clock (from CMU_TOP) 25362306a36Sopenharmony_ci - description: JPEG codec clock (from CMU_TOP) 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci clock-names: 25662306a36Sopenharmony_ci items: 25762306a36Sopenharmony_ci - const: oscclk 25862306a36Sopenharmony_ci - const: dout_mfcmscl_mfc 25962306a36Sopenharmony_ci - const: dout_mfcmscl_m2m 26062306a36Sopenharmony_ci - const: dout_mfcmscl_mcsc 26162306a36Sopenharmony_ci - const: dout_mfcmscl_jpeg 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci - if: 26462306a36Sopenharmony_ci properties: 26562306a36Sopenharmony_ci compatible: 26662306a36Sopenharmony_ci contains: 26762306a36Sopenharmony_ci const: samsung,exynos850-cmu-peri 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci then: 27062306a36Sopenharmony_ci properties: 27162306a36Sopenharmony_ci clocks: 27262306a36Sopenharmony_ci items: 27362306a36Sopenharmony_ci - description: External reference clock (26 MHz) 27462306a36Sopenharmony_ci - description: CMU_PERI bus clock (from CMU_TOP) 27562306a36Sopenharmony_ci - description: UART clock (from CMU_TOP) 27662306a36Sopenharmony_ci - description: Parent clock for HSI2C and SPI (from CMU_TOP) 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci clock-names: 27962306a36Sopenharmony_ci items: 28062306a36Sopenharmony_ci - const: oscclk 28162306a36Sopenharmony_ci - const: dout_peri_bus 28262306a36Sopenharmony_ci - const: dout_peri_uart 28362306a36Sopenharmony_ci - const: dout_peri_ip 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_cirequired: 28662306a36Sopenharmony_ci - compatible 28762306a36Sopenharmony_ci - "#clock-cells" 28862306a36Sopenharmony_ci - clocks 28962306a36Sopenharmony_ci - clock-names 29062306a36Sopenharmony_ci - reg 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ciadditionalProperties: false 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ciexamples: 29562306a36Sopenharmony_ci # Clock controller node for CMU_PERI 29662306a36Sopenharmony_ci - | 29762306a36Sopenharmony_ci #include <dt-bindings/clock/exynos850.h> 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci cmu_peri: clock-controller@10030000 { 30062306a36Sopenharmony_ci compatible = "samsung,exynos850-cmu-peri"; 30162306a36Sopenharmony_ci reg = <0x10030000 0x8000>; 30262306a36Sopenharmony_ci #clock-cells = <1>; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci clocks = <&oscclk>, <&cmu_top CLK_DOUT_PERI_BUS>, 30562306a36Sopenharmony_ci <&cmu_top CLK_DOUT_PERI_UART>, 30662306a36Sopenharmony_ci <&cmu_top CLK_DOUT_PERI_IP>; 30762306a36Sopenharmony_ci clock-names = "oscclk", "dout_peri_bus", 30862306a36Sopenharmony_ci "dout_peri_uart", "dout_peri_ip"; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci... 312