8a1e6bb3f7
Krzysztof Kozlowski's @canonical.com email stopped working, so switch to generic @kernel.org account for all Devicetree bindings. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20220330074016.12896-2-krzysztof.kozlowski@linaro.org
525 lines
12 KiB
YAML
525 lines
12 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/clock/samsung,exynos5433-clock.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Samsung Exynos5433 SoC clock controller
|
|
|
|
maintainers:
|
|
- Chanwoo Choi <cw00.choi@samsung.com>
|
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
|
- Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
- Tomasz Figa <tomasz.figa@gmail.com>
|
|
|
|
description: |
|
|
Expected external clocks, defined in DTS as fixed-rate clocks with a matching
|
|
name::
|
|
- "oscclk" - PLL input clock from XXTI
|
|
|
|
All available clocks are defined as preprocessor macros in
|
|
include/dt-bindings/clock/exynos5433.h header.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
# CMU_TOP which generates clocks for
|
|
# IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS domains and bus
|
|
# clocks
|
|
- samsung,exynos5433-cmu-top
|
|
# CMU_CPIF which generates clocks for LLI (Low Latency Interface) IP
|
|
- samsung,exynos5433-cmu-cpif
|
|
# CMU_MIF which generates clocks for DRAM Memory Controller domain
|
|
- samsung,exynos5433-cmu-mif
|
|
# CMU_PERIC which generates clocks for
|
|
# UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS IPs
|
|
- samsung,exynos5433-cmu-peric
|
|
# CMU_PERIS which generates clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC IPs
|
|
- samsung,exynos5433-cmu-peris
|
|
# CMU_FSYS which generates clocks for USB/UFS/SDMMC/TSI/PDMA IPs
|
|
- samsung,exynos5433-cmu-fsys
|
|
- samsung,exynos5433-cmu-g2d
|
|
# CMU_DISP which generates clocks for Display (DECON/HDMI/DSIM/MIXER) IPs
|
|
- samsung,exynos5433-cmu-disp
|
|
- samsung,exynos5433-cmu-aud
|
|
- samsung,exynos5433-cmu-bus0
|
|
- samsung,exynos5433-cmu-bus1
|
|
- samsung,exynos5433-cmu-bus2
|
|
- samsung,exynos5433-cmu-g3d
|
|
- samsung,exynos5433-cmu-gscl
|
|
- samsung,exynos5433-cmu-apollo
|
|
# CMU_ATLAS which generates clocks for Cortex-A57 Quad-core processor,
|
|
# CoreSight and L2 cache controller
|
|
- samsung,exynos5433-cmu-atlas
|
|
# CMU_MSCL which generates clocks for M2M (Memory to Memory) scaler and
|
|
# JPEG IPs
|
|
- samsung,exynos5433-cmu-mscl
|
|
- samsung,exynos5433-cmu-mfc
|
|
- samsung,exynos5433-cmu-hevc
|
|
# CMU_ISP which generates clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs
|
|
- samsung,exynos5433-cmu-isp
|
|
# CMU_CAM0 which generates clocks for
|
|
# MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs
|
|
- samsung,exynos5433-cmu-cam0
|
|
# CMU_CAM1 which generates clocks for
|
|
# Cortex-A5/MIPI_CSIS2/FIMC-LITE_C/FIMC-FD IPs
|
|
- samsung,exynos5433-cmu-cam1
|
|
# CMU_IMEM which generates clocks for SSS (Security SubSystem) and
|
|
# SlimSSS IPs
|
|
- samsung,exynos5433-cmu-imem
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 10
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
maxItems: 10
|
|
|
|
"#clock-cells":
|
|
const: 1
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- "#clock-cells"
|
|
- reg
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-top
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 4
|
|
maxItems: 4
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_mphy_pll
|
|
- const: sclk_mfc_pll
|
|
- const: sclk_bus_pll
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-cpif
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 1
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-mif
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_mphy_pll
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-fsys
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 10
|
|
maxItems: 10
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_ufs_mphy
|
|
- const: aclk_fsys_200
|
|
- const: sclk_pcie_100_fsys
|
|
- const: sclk_ufsunipro_fsys
|
|
- const: sclk_mmc2_fsys
|
|
- const: sclk_mmc1_fsys
|
|
- const: sclk_mmc0_fsys
|
|
- const: sclk_usbhost30_fsys
|
|
- const: sclk_usbdrd30_fsys
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-g2d
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_g2d_266
|
|
- const: aclk_g2d_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-disp
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 9
|
|
maxItems: 9
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_dsim1_disp
|
|
- const: sclk_dsim0_disp
|
|
- const: sclk_dsd_disp
|
|
- const: sclk_decon_tv_eclk_disp
|
|
- const: sclk_decon_vclk_disp
|
|
- const: sclk_decon_eclk_disp
|
|
- const: sclk_decon_tv_vclk_disp
|
|
- const: aclk_disp_333
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-aud
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: fout_aud_pll
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-bus0
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 1
|
|
clock-names:
|
|
items:
|
|
- const: aclk_bus0_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-bus1
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 1
|
|
clock-names:
|
|
items:
|
|
- const: aclk_bus1_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-bus2
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_bus2_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-g3d
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_g3d_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-gscl
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_gscl_111
|
|
- const: aclk_gscl_333
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-apollo
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_bus_pll_apollo
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-atlas
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_bus_pll_atlas
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-mscl
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_jpeg_mscl
|
|
- const: aclk_mscl_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-mfc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_mfc_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-hevc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_hevc_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-isp
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_isp_dis_400
|
|
- const: aclk_isp_400
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-cam0
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 4
|
|
maxItems: 4
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_cam0_333
|
|
- const: aclk_cam0_400
|
|
- const: aclk_cam0_552
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-cam1
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 7
|
|
maxItems: 7
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: sclk_isp_uart_cam1
|
|
- const: sclk_isp_spi1_cam1
|
|
- const: sclk_isp_spi0_cam1
|
|
- const: aclk_cam1_333
|
|
- const: aclk_cam1_400
|
|
- const: aclk_cam1_552
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: samsung,exynos5433-cmu-imem
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 4
|
|
maxItems: 4
|
|
clock-names:
|
|
items:
|
|
- const: oscclk
|
|
- const: aclk_imem_sssx_266
|
|
- const: aclk_imem_266
|
|
- const: aclk_imem_200
|
|
required:
|
|
- clock-names
|
|
- clocks
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/exynos5433.h>
|
|
xxti: clock {
|
|
compatible = "fixed-clock";
|
|
clock-output-names = "oscclk";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <24000000>;
|
|
};
|
|
|
|
clock-controller@10030000 {
|
|
compatible = "samsung,exynos5433-cmu-top";
|
|
reg = <0x10030000 0x1000>;
|
|
#clock-cells = <1>;
|
|
|
|
clock-names = "oscclk",
|
|
"sclk_mphy_pll",
|
|
"sclk_mfc_pll",
|
|
"sclk_bus_pll";
|
|
clocks = <&xxti>,
|
|
<&cmu_cpif CLK_SCLK_MPHY_PLL>,
|
|
<&cmu_mif CLK_SCLK_MFC_PLL>,
|
|
<&cmu_mif CLK_SCLK_BUS_PLL>;
|
|
};
|