1*c66ec88fSEmmanuel Vadot* Samsung Exynos5433 CMU (Clock Management Units) 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe Exynos5433 clock controller generates and supplies clock to various 4*c66ec88fSEmmanuel Vadotcontrollers within the Exynos5433 SoC. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired Properties: 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot- compatible: should be one of the following. 9*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-top" - clock controller compatible for CMU_TOP 10*c66ec88fSEmmanuel Vadot which generates clocks for IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS 11*c66ec88fSEmmanuel Vadot domains and bus clocks. 12*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-cpif" - clock controller compatible for CMU_CPIF 13*c66ec88fSEmmanuel Vadot which generates clocks for LLI (Low Latency Interface) IP. 14*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-mif" - clock controller compatible for CMU_MIF 15*c66ec88fSEmmanuel Vadot which generates clocks for DRAM Memory Controller domain. 16*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-peric" - clock controller compatible for CMU_PERIC 17*c66ec88fSEmmanuel Vadot which generates clocks for UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS IPs. 18*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-peris" - clock controller compatible for CMU_PERIS 19*c66ec88fSEmmanuel Vadot which generates clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC IPs. 20*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-fsys" - clock controller compatible for CMU_FSYS 21*c66ec88fSEmmanuel Vadot which generates clocks for USB/UFS/SDMMC/TSI/PDMA IPs. 22*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-g2d" - clock controller compatible for CMU_G2D 23*c66ec88fSEmmanuel Vadot which generates clocks for G2D/MDMA IPs. 24*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-disp" - clock controller compatible for CMU_DISP 25*c66ec88fSEmmanuel Vadot which generates clocks for Display (DECON/HDMI/DSIM/MIXER) IPs. 26*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-aud" - clock controller compatible for CMU_AUD 27*c66ec88fSEmmanuel Vadot which generates clocks for Cortex-A5/BUS/AUDIO clocks. 28*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-bus0", "samsung,exynos5433-cmu-bus1" 29*c66ec88fSEmmanuel Vadot and "samsung,exynos5433-cmu-bus2" - clock controller compatible for CMU_BUS 30*c66ec88fSEmmanuel Vadot which generates global data buses clock and global peripheral buses clock. 31*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-g3d" - clock controller compatible for CMU_G3D 32*c66ec88fSEmmanuel Vadot which generates clocks for 3D Graphics Engine IP. 33*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-gscl" - clock controller compatible for CMU_GSCL 34*c66ec88fSEmmanuel Vadot which generates clocks for GSCALER IPs. 35*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-apollo"- clock controller compatible for CMU_APOLLO 36*c66ec88fSEmmanuel Vadot which generates clocks for Cortex-A53 Quad-core processor. 37*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-atlas" - clock controller compatible for CMU_ATLAS 38*c66ec88fSEmmanuel Vadot which generates clocks for Cortex-A57 Quad-core processor, CoreSight and 39*c66ec88fSEmmanuel Vadot L2 cache controller. 40*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-mscl" - clock controller compatible for CMU_MSCL 41*c66ec88fSEmmanuel Vadot which generates clocks for M2M (Memory to Memory) scaler and JPEG IPs. 42*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-mfc" - clock controller compatible for CMU_MFC 43*c66ec88fSEmmanuel Vadot which generates clocks for MFC(Multi-Format Codec) IP. 44*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-hevc" - clock controller compatible for CMU_HEVC 45*c66ec88fSEmmanuel Vadot which generates clocks for HEVC(High Efficiency Video Codec) decoder IP. 46*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-isp" - clock controller compatible for CMU_ISP 47*c66ec88fSEmmanuel Vadot which generates clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs. 48*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-cam0" - clock controller compatible for CMU_CAM0 49*c66ec88fSEmmanuel Vadot which generates clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} 50*c66ec88fSEmmanuel Vadot IPs. 51*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-cam1" - clock controller compatible for CMU_CAM1 52*c66ec88fSEmmanuel Vadot which generates clocks for Cortex-A5/MIPI_CSIS2/FIMC-LITE_C/FIMC-FD IPs. 53*c66ec88fSEmmanuel Vadot - "samsung,exynos5433-cmu-imem" - clock controller compatible for CMU_IMEM 54*c66ec88fSEmmanuel Vadot which generates clocks for SSS (Security SubSystem) and SlimSSS IPs. 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel Vadot- reg: physical base address of the controller and length of memory mapped 57*c66ec88fSEmmanuel Vadot region. 58*c66ec88fSEmmanuel Vadot 59*c66ec88fSEmmanuel Vadot- #clock-cells: should be 1. 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel Vadot- clocks: list of the clock controller input clock identifiers, 62*c66ec88fSEmmanuel Vadot from common clock bindings. Please refer the next section 63*c66ec88fSEmmanuel Vadot to find the input clocks for a given controller. 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel Vadot- clock-names: list of the clock controller input clock names, 66*c66ec88fSEmmanuel Vadot as described in clock-bindings.txt. 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot Input clocks for top clock controller: 69*c66ec88fSEmmanuel Vadot - oscclk 70*c66ec88fSEmmanuel Vadot - sclk_mphy_pll 71*c66ec88fSEmmanuel Vadot - sclk_mfc_pll 72*c66ec88fSEmmanuel Vadot - sclk_bus_pll 73*c66ec88fSEmmanuel Vadot 74*c66ec88fSEmmanuel Vadot Input clocks for cpif clock controller: 75*c66ec88fSEmmanuel Vadot - oscclk 76*c66ec88fSEmmanuel Vadot 77*c66ec88fSEmmanuel Vadot Input clocks for mif clock controller: 78*c66ec88fSEmmanuel Vadot - oscclk 79*c66ec88fSEmmanuel Vadot - sclk_mphy_pll 80*c66ec88fSEmmanuel Vadot 81*c66ec88fSEmmanuel Vadot Input clocks for fsys clock controller: 82*c66ec88fSEmmanuel Vadot - oscclk 83*c66ec88fSEmmanuel Vadot - sclk_ufs_mphy 84*c66ec88fSEmmanuel Vadot - aclk_fsys_200 85*c66ec88fSEmmanuel Vadot - sclk_pcie_100_fsys 86*c66ec88fSEmmanuel Vadot - sclk_ufsunipro_fsys 87*c66ec88fSEmmanuel Vadot - sclk_mmc2_fsys 88*c66ec88fSEmmanuel Vadot - sclk_mmc1_fsys 89*c66ec88fSEmmanuel Vadot - sclk_mmc0_fsys 90*c66ec88fSEmmanuel Vadot - sclk_usbhost30_fsys 91*c66ec88fSEmmanuel Vadot - sclk_usbdrd30_fsys 92*c66ec88fSEmmanuel Vadot 93*c66ec88fSEmmanuel Vadot Input clocks for g2d clock controller: 94*c66ec88fSEmmanuel Vadot - oscclk 95*c66ec88fSEmmanuel Vadot - aclk_g2d_266 96*c66ec88fSEmmanuel Vadot - aclk_g2d_400 97*c66ec88fSEmmanuel Vadot 98*c66ec88fSEmmanuel Vadot Input clocks for disp clock controller: 99*c66ec88fSEmmanuel Vadot - oscclk 100*c66ec88fSEmmanuel Vadot - sclk_dsim1_disp 101*c66ec88fSEmmanuel Vadot - sclk_dsim0_disp 102*c66ec88fSEmmanuel Vadot - sclk_dsd_disp 103*c66ec88fSEmmanuel Vadot - sclk_decon_tv_eclk_disp 104*c66ec88fSEmmanuel Vadot - sclk_decon_vclk_disp 105*c66ec88fSEmmanuel Vadot - sclk_decon_eclk_disp 106*c66ec88fSEmmanuel Vadot - sclk_decon_tv_vclk_disp 107*c66ec88fSEmmanuel Vadot - aclk_disp_333 108*c66ec88fSEmmanuel Vadot 109*c66ec88fSEmmanuel Vadot Input clocks for audio clock controller: 110*c66ec88fSEmmanuel Vadot - oscclk 111*c66ec88fSEmmanuel Vadot - fout_aud_pll 112*c66ec88fSEmmanuel Vadot 113*c66ec88fSEmmanuel Vadot Input clocks for bus0 clock controller: 114*c66ec88fSEmmanuel Vadot - aclk_bus0_400 115*c66ec88fSEmmanuel Vadot 116*c66ec88fSEmmanuel Vadot Input clocks for bus1 clock controller: 117*c66ec88fSEmmanuel Vadot - aclk_bus1_400 118*c66ec88fSEmmanuel Vadot 119*c66ec88fSEmmanuel Vadot Input clocks for bus2 clock controller: 120*c66ec88fSEmmanuel Vadot - oscclk 121*c66ec88fSEmmanuel Vadot - aclk_bus2_400 122*c66ec88fSEmmanuel Vadot 123*c66ec88fSEmmanuel Vadot Input clocks for g3d clock controller: 124*c66ec88fSEmmanuel Vadot - oscclk 125*c66ec88fSEmmanuel Vadot - aclk_g3d_400 126*c66ec88fSEmmanuel Vadot 127*c66ec88fSEmmanuel Vadot Input clocks for gscl clock controller: 128*c66ec88fSEmmanuel Vadot - oscclk 129*c66ec88fSEmmanuel Vadot - aclk_gscl_111 130*c66ec88fSEmmanuel Vadot - aclk_gscl_333 131*c66ec88fSEmmanuel Vadot 132*c66ec88fSEmmanuel Vadot Input clocks for apollo clock controller: 133*c66ec88fSEmmanuel Vadot - oscclk 134*c66ec88fSEmmanuel Vadot - sclk_bus_pll_apollo 135*c66ec88fSEmmanuel Vadot 136*c66ec88fSEmmanuel Vadot Input clocks for atlas clock controller: 137*c66ec88fSEmmanuel Vadot - oscclk 138*c66ec88fSEmmanuel Vadot - sclk_bus_pll_atlas 139*c66ec88fSEmmanuel Vadot 140*c66ec88fSEmmanuel Vadot Input clocks for mscl clock controller: 141*c66ec88fSEmmanuel Vadot - oscclk 142*c66ec88fSEmmanuel Vadot - sclk_jpeg_mscl 143*c66ec88fSEmmanuel Vadot - aclk_mscl_400 144*c66ec88fSEmmanuel Vadot 145*c66ec88fSEmmanuel Vadot Input clocks for mfc clock controller: 146*c66ec88fSEmmanuel Vadot - oscclk 147*c66ec88fSEmmanuel Vadot - aclk_mfc_400 148*c66ec88fSEmmanuel Vadot 149*c66ec88fSEmmanuel Vadot Input clocks for hevc clock controller: 150*c66ec88fSEmmanuel Vadot - oscclk 151*c66ec88fSEmmanuel Vadot - aclk_hevc_400 152*c66ec88fSEmmanuel Vadot 153*c66ec88fSEmmanuel Vadot Input clocks for isp clock controller: 154*c66ec88fSEmmanuel Vadot - oscclk 155*c66ec88fSEmmanuel Vadot - aclk_isp_dis_400 156*c66ec88fSEmmanuel Vadot - aclk_isp_400 157*c66ec88fSEmmanuel Vadot 158*c66ec88fSEmmanuel Vadot Input clocks for cam0 clock controller: 159*c66ec88fSEmmanuel Vadot - oscclk 160*c66ec88fSEmmanuel Vadot - aclk_cam0_333 161*c66ec88fSEmmanuel Vadot - aclk_cam0_400 162*c66ec88fSEmmanuel Vadot - aclk_cam0_552 163*c66ec88fSEmmanuel Vadot 164*c66ec88fSEmmanuel Vadot Input clocks for cam1 clock controller: 165*c66ec88fSEmmanuel Vadot - oscclk 166*c66ec88fSEmmanuel Vadot - sclk_isp_uart_cam1 167*c66ec88fSEmmanuel Vadot - sclk_isp_spi1_cam1 168*c66ec88fSEmmanuel Vadot - sclk_isp_spi0_cam1 169*c66ec88fSEmmanuel Vadot - aclk_cam1_333 170*c66ec88fSEmmanuel Vadot - aclk_cam1_400 171*c66ec88fSEmmanuel Vadot - aclk_cam1_552 172*c66ec88fSEmmanuel Vadot 173*c66ec88fSEmmanuel Vadot Input clocks for imem clock controller: 174*c66ec88fSEmmanuel Vadot - oscclk 175*c66ec88fSEmmanuel Vadot - aclk_imem_sssx_266 176*c66ec88fSEmmanuel Vadot - aclk_imem_266 177*c66ec88fSEmmanuel Vadot - aclk_imem_200 178*c66ec88fSEmmanuel Vadot 179*c66ec88fSEmmanuel VadotOptional properties: 180*c66ec88fSEmmanuel Vadot - power-domains: a phandle to respective power domain node as described by 181*c66ec88fSEmmanuel Vadot generic PM domain bindings (see power/power_domain.txt for more 182*c66ec88fSEmmanuel Vadot information). 183*c66ec88fSEmmanuel Vadot 184*c66ec88fSEmmanuel VadotEach clock is assigned an identifier and client nodes can use this identifier 185*c66ec88fSEmmanuel Vadotto specify the clock which they consume. 186*c66ec88fSEmmanuel Vadot 187*c66ec88fSEmmanuel VadotAll available clocks are defined as preprocessor macros in 188*c66ec88fSEmmanuel Vadotdt-bindings/clock/exynos5433.h header and can be used in device 189*c66ec88fSEmmanuel Vadottree sources. 190*c66ec88fSEmmanuel Vadot 191*c66ec88fSEmmanuel VadotExample 1: Examples of 'oscclk' source clock node are listed below. 192*c66ec88fSEmmanuel Vadot 193*c66ec88fSEmmanuel Vadot xxti: xxti { 194*c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 195*c66ec88fSEmmanuel Vadot clock-output-names = "oscclk"; 196*c66ec88fSEmmanuel Vadot #clock-cells = <0>; 197*c66ec88fSEmmanuel Vadot }; 198*c66ec88fSEmmanuel Vadot 199*c66ec88fSEmmanuel VadotExample 2: Examples of clock controller nodes are listed below. 200*c66ec88fSEmmanuel Vadot 201*c66ec88fSEmmanuel Vadot cmu_top: clock-controller@10030000 { 202*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-top"; 203*c66ec88fSEmmanuel Vadot reg = <0x10030000 0x0c04>; 204*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 205*c66ec88fSEmmanuel Vadot 206*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 207*c66ec88fSEmmanuel Vadot "sclk_mphy_pll", 208*c66ec88fSEmmanuel Vadot "sclk_mfc_pll", 209*c66ec88fSEmmanuel Vadot "sclk_bus_pll"; 210*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 211*c66ec88fSEmmanuel Vadot <&cmu_cpif CLK_SCLK_MPHY_PLL>, 212*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_MFC_PLL>, 213*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_BUS_PLL>; 214*c66ec88fSEmmanuel Vadot }; 215*c66ec88fSEmmanuel Vadot 216*c66ec88fSEmmanuel Vadot cmu_cpif: clock-controller@10fc0000 { 217*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-cpif"; 218*c66ec88fSEmmanuel Vadot reg = <0x10fc0000 0x0c04>; 219*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 220*c66ec88fSEmmanuel Vadot 221*c66ec88fSEmmanuel Vadot clock-names = "oscclk"; 222*c66ec88fSEmmanuel Vadot clocks = <&xxti>; 223*c66ec88fSEmmanuel Vadot }; 224*c66ec88fSEmmanuel Vadot 225*c66ec88fSEmmanuel Vadot cmu_mif: clock-controller@105b0000 { 226*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-mif"; 227*c66ec88fSEmmanuel Vadot reg = <0x105b0000 0x100c>; 228*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 229*c66ec88fSEmmanuel Vadot 230*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 231*c66ec88fSEmmanuel Vadot "sclk_mphy_pll"; 232*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 233*c66ec88fSEmmanuel Vadot <&cmu_cpif CLK_SCLK_MPHY_PLL>; 234*c66ec88fSEmmanuel Vadot }; 235*c66ec88fSEmmanuel Vadot 236*c66ec88fSEmmanuel Vadot cmu_peric: clock-controller@14c80000 { 237*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-peric"; 238*c66ec88fSEmmanuel Vadot reg = <0x14c80000 0x0b08>; 239*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 240*c66ec88fSEmmanuel Vadot }; 241*c66ec88fSEmmanuel Vadot 242*c66ec88fSEmmanuel Vadot cmu_peris: clock-controller@10040000 { 243*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-peris"; 244*c66ec88fSEmmanuel Vadot reg = <0x10040000 0x0b20>; 245*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 246*c66ec88fSEmmanuel Vadot }; 247*c66ec88fSEmmanuel Vadot 248*c66ec88fSEmmanuel Vadot cmu_fsys: clock-controller@156e0000 { 249*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-fsys"; 250*c66ec88fSEmmanuel Vadot reg = <0x156e0000 0x0b04>; 251*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 252*c66ec88fSEmmanuel Vadot 253*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 254*c66ec88fSEmmanuel Vadot "sclk_ufs_mphy", 255*c66ec88fSEmmanuel Vadot "aclk_fsys_200", 256*c66ec88fSEmmanuel Vadot "sclk_pcie_100_fsys", 257*c66ec88fSEmmanuel Vadot "sclk_ufsunipro_fsys", 258*c66ec88fSEmmanuel Vadot "sclk_mmc2_fsys", 259*c66ec88fSEmmanuel Vadot "sclk_mmc1_fsys", 260*c66ec88fSEmmanuel Vadot "sclk_mmc0_fsys", 261*c66ec88fSEmmanuel Vadot "sclk_usbhost30_fsys", 262*c66ec88fSEmmanuel Vadot "sclk_usbdrd30_fsys"; 263*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 264*c66ec88fSEmmanuel Vadot <&cmu_cpif CLK_SCLK_UFS_MPHY>, 265*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_FSYS_200>, 266*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_PCIE_100_FSYS>, 267*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_UFSUNIPRO_FSYS>, 268*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_MMC2_FSYS>, 269*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_MMC1_FSYS>, 270*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_MMC0_FSYS>, 271*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_USBHOST30_FSYS>, 272*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_USBDRD30_FSYS>; 273*c66ec88fSEmmanuel Vadot }; 274*c66ec88fSEmmanuel Vadot 275*c66ec88fSEmmanuel Vadot cmu_g2d: clock-controller@12460000 { 276*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-g2d"; 277*c66ec88fSEmmanuel Vadot reg = <0x12460000 0x0b08>; 278*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 279*c66ec88fSEmmanuel Vadot 280*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 281*c66ec88fSEmmanuel Vadot "aclk_g2d_266", 282*c66ec88fSEmmanuel Vadot "aclk_g2d_400"; 283*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 284*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_G2D_266>, 285*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_G2D_400>; 286*c66ec88fSEmmanuel Vadot power-domains = <&pd_g2d>; 287*c66ec88fSEmmanuel Vadot }; 288*c66ec88fSEmmanuel Vadot 289*c66ec88fSEmmanuel Vadot cmu_disp: clock-controller@13b90000 { 290*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-disp"; 291*c66ec88fSEmmanuel Vadot reg = <0x13b90000 0x0c04>; 292*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 293*c66ec88fSEmmanuel Vadot 294*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 295*c66ec88fSEmmanuel Vadot "sclk_dsim1_disp", 296*c66ec88fSEmmanuel Vadot "sclk_dsim0_disp", 297*c66ec88fSEmmanuel Vadot "sclk_dsd_disp", 298*c66ec88fSEmmanuel Vadot "sclk_decon_tv_eclk_disp", 299*c66ec88fSEmmanuel Vadot "sclk_decon_vclk_disp", 300*c66ec88fSEmmanuel Vadot "sclk_decon_eclk_disp", 301*c66ec88fSEmmanuel Vadot "sclk_decon_tv_vclk_disp", 302*c66ec88fSEmmanuel Vadot "aclk_disp_333"; 303*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 304*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DSIM1_DISP>, 305*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DSIM0_DISP>, 306*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DSD_DISP>, 307*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DECON_TV_ECLK_DISP>, 308*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DECON_VCLK_DISP>, 309*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DECON_ECLK_DISP>, 310*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_SCLK_DECON_TV_VCLK_DISP>, 311*c66ec88fSEmmanuel Vadot <&cmu_mif CLK_ACLK_DISP_333>; 312*c66ec88fSEmmanuel Vadot power-domains = <&pd_disp>; 313*c66ec88fSEmmanuel Vadot }; 314*c66ec88fSEmmanuel Vadot 315*c66ec88fSEmmanuel Vadot cmu_aud: clock-controller@114c0000 { 316*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-aud"; 317*c66ec88fSEmmanuel Vadot reg = <0x114c0000 0x0b04>; 318*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 319*c66ec88fSEmmanuel Vadot 320*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "fout_aud_pll"; 321*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_top CLK_FOUT_AUD_PLL>; 322*c66ec88fSEmmanuel Vadot power-domains = <&pd_aud>; 323*c66ec88fSEmmanuel Vadot }; 324*c66ec88fSEmmanuel Vadot 325*c66ec88fSEmmanuel Vadot cmu_bus0: clock-controller@13600000 { 326*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-bus0"; 327*c66ec88fSEmmanuel Vadot reg = <0x13600000 0x0b04>; 328*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 329*c66ec88fSEmmanuel Vadot 330*c66ec88fSEmmanuel Vadot clock-names = "aclk_bus0_400"; 331*c66ec88fSEmmanuel Vadot clocks = <&cmu_top CLK_ACLK_BUS0_400>; 332*c66ec88fSEmmanuel Vadot }; 333*c66ec88fSEmmanuel Vadot 334*c66ec88fSEmmanuel Vadot cmu_bus1: clock-controller@14800000 { 335*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-bus1"; 336*c66ec88fSEmmanuel Vadot reg = <0x14800000 0x0b04>; 337*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 338*c66ec88fSEmmanuel Vadot 339*c66ec88fSEmmanuel Vadot clock-names = "aclk_bus1_400"; 340*c66ec88fSEmmanuel Vadot clocks = <&cmu_top CLK_ACLK_BUS1_400>; 341*c66ec88fSEmmanuel Vadot }; 342*c66ec88fSEmmanuel Vadot 343*c66ec88fSEmmanuel Vadot cmu_bus2: clock-controller@13400000 { 344*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-bus2"; 345*c66ec88fSEmmanuel Vadot reg = <0x13400000 0x0b04>; 346*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 347*c66ec88fSEmmanuel Vadot 348*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "aclk_bus2_400"; 349*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_mif CLK_ACLK_BUS2_400>; 350*c66ec88fSEmmanuel Vadot }; 351*c66ec88fSEmmanuel Vadot 352*c66ec88fSEmmanuel Vadot cmu_g3d: clock-controller@14aa0000 { 353*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-g3d"; 354*c66ec88fSEmmanuel Vadot reg = <0x14aa0000 0x1000>; 355*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 356*c66ec88fSEmmanuel Vadot 357*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "aclk_g3d_400"; 358*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_top CLK_ACLK_G3D_400>; 359*c66ec88fSEmmanuel Vadot power-domains = <&pd_g3d>; 360*c66ec88fSEmmanuel Vadot }; 361*c66ec88fSEmmanuel Vadot 362*c66ec88fSEmmanuel Vadot cmu_gscl: clock-controller@13cf0000 { 363*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-gscl"; 364*c66ec88fSEmmanuel Vadot reg = <0x13cf0000 0x0b10>; 365*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 366*c66ec88fSEmmanuel Vadot 367*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 368*c66ec88fSEmmanuel Vadot "aclk_gscl_111", 369*c66ec88fSEmmanuel Vadot "aclk_gscl_333"; 370*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 371*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_GSCL_111>, 372*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_GSCL_333>; 373*c66ec88fSEmmanuel Vadot power-domains = <&pd_gscl>; 374*c66ec88fSEmmanuel Vadot }; 375*c66ec88fSEmmanuel Vadot 376*c66ec88fSEmmanuel Vadot cmu_apollo: clock-controller@11900000 { 377*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-apollo"; 378*c66ec88fSEmmanuel Vadot reg = <0x11900000 0x1088>; 379*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 380*c66ec88fSEmmanuel Vadot 381*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "sclk_bus_pll_apollo"; 382*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_mif CLK_SCLK_BUS_PLL_APOLLO>; 383*c66ec88fSEmmanuel Vadot }; 384*c66ec88fSEmmanuel Vadot 385*c66ec88fSEmmanuel Vadot cmu_atlas: clock-controller@11800000 { 386*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-atlas"; 387*c66ec88fSEmmanuel Vadot reg = <0x11800000 0x1088>; 388*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 389*c66ec88fSEmmanuel Vadot 390*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "sclk_bus_pll_atlas"; 391*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_mif CLK_SCLK_BUS_PLL_ATLAS>; 392*c66ec88fSEmmanuel Vadot }; 393*c66ec88fSEmmanuel Vadot 394*c66ec88fSEmmanuel Vadot cmu_mscl: clock-controller@105d0000 { 395*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-mscl"; 396*c66ec88fSEmmanuel Vadot reg = <0x105d0000 0x0b10>; 397*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 398*c66ec88fSEmmanuel Vadot 399*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 400*c66ec88fSEmmanuel Vadot "sclk_jpeg_mscl", 401*c66ec88fSEmmanuel Vadot "aclk_mscl_400"; 402*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 403*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_JPEG_MSCL>, 404*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_MSCL_400>; 405*c66ec88fSEmmanuel Vadot power-domains = <&pd_mscl>; 406*c66ec88fSEmmanuel Vadot }; 407*c66ec88fSEmmanuel Vadot 408*c66ec88fSEmmanuel Vadot cmu_mfc: clock-controller@15280000 { 409*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-mfc"; 410*c66ec88fSEmmanuel Vadot reg = <0x15280000 0x0b08>; 411*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 412*c66ec88fSEmmanuel Vadot 413*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "aclk_mfc_400"; 414*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_top CLK_ACLK_MFC_400>; 415*c66ec88fSEmmanuel Vadot power-domains = <&pd_mfc>; 416*c66ec88fSEmmanuel Vadot }; 417*c66ec88fSEmmanuel Vadot 418*c66ec88fSEmmanuel Vadot cmu_hevc: clock-controller@14f80000 { 419*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-hevc"; 420*c66ec88fSEmmanuel Vadot reg = <0x14f80000 0x0b08>; 421*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 422*c66ec88fSEmmanuel Vadot 423*c66ec88fSEmmanuel Vadot clock-names = "oscclk", "aclk_hevc_400"; 424*c66ec88fSEmmanuel Vadot clocks = <&xxti>, <&cmu_top CLK_ACLK_HEVC_400>; 425*c66ec88fSEmmanuel Vadot power-domains = <&pd_hevc>; 426*c66ec88fSEmmanuel Vadot }; 427*c66ec88fSEmmanuel Vadot 428*c66ec88fSEmmanuel Vadot cmu_isp: clock-controller@146d0000 { 429*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-isp"; 430*c66ec88fSEmmanuel Vadot reg = <0x146d0000 0x0b0c>; 431*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 432*c66ec88fSEmmanuel Vadot 433*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 434*c66ec88fSEmmanuel Vadot "aclk_isp_dis_400", 435*c66ec88fSEmmanuel Vadot "aclk_isp_400"; 436*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 437*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_ISP_DIS_400>, 438*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_ISP_400>; 439*c66ec88fSEmmanuel Vadot power-domains = <&pd_isp>; 440*c66ec88fSEmmanuel Vadot }; 441*c66ec88fSEmmanuel Vadot 442*c66ec88fSEmmanuel Vadot cmu_cam0: clock-controller@120d0000 { 443*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-cam0"; 444*c66ec88fSEmmanuel Vadot reg = <0x120d0000 0x0b0c>; 445*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 446*c66ec88fSEmmanuel Vadot 447*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 448*c66ec88fSEmmanuel Vadot "aclk_cam0_333", 449*c66ec88fSEmmanuel Vadot "aclk_cam0_400", 450*c66ec88fSEmmanuel Vadot "aclk_cam0_552"; 451*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 452*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_CAM0_333>, 453*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_CAM0_400>, 454*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_CAM0_552>; 455*c66ec88fSEmmanuel Vadot power-domains = <&pd_cam0>; 456*c66ec88fSEmmanuel Vadot }; 457*c66ec88fSEmmanuel Vadot 458*c66ec88fSEmmanuel Vadot cmu_cam1: clock-controller@145d0000 { 459*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-cam1"; 460*c66ec88fSEmmanuel Vadot reg = <0x145d0000 0x0b08>; 461*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 462*c66ec88fSEmmanuel Vadot 463*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 464*c66ec88fSEmmanuel Vadot "sclk_isp_uart_cam1", 465*c66ec88fSEmmanuel Vadot "sclk_isp_spi1_cam1", 466*c66ec88fSEmmanuel Vadot "sclk_isp_spi0_cam1", 467*c66ec88fSEmmanuel Vadot "aclk_cam1_333", 468*c66ec88fSEmmanuel Vadot "aclk_cam1_400", 469*c66ec88fSEmmanuel Vadot "aclk_cam1_552"; 470*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 471*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_ISP_UART_CAM1>, 472*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_ISP_SPI1_CAM1>, 473*c66ec88fSEmmanuel Vadot <&cmu_top CLK_SCLK_ISP_SPI0_CAM1>, 474*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_CAM1_333>, 475*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_CAM1_400>, 476*c66ec88fSEmmanuel Vadot <&cmu_top CLK_ACLK_CAM1_552>; 477*c66ec88fSEmmanuel Vadot power-domains = <&pd_cam1>; 478*c66ec88fSEmmanuel Vadot }; 479*c66ec88fSEmmanuel Vadot 480*c66ec88fSEmmanuel Vadot cmu_imem: clock-controller@11060000 { 481*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-cmu-imem"; 482*c66ec88fSEmmanuel Vadot reg = <0x11060000 0x1000>; 483*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 484*c66ec88fSEmmanuel Vadot 485*c66ec88fSEmmanuel Vadot clock-names = "oscclk", 486*c66ec88fSEmmanuel Vadot "aclk_imem_sssx_266", 487*c66ec88fSEmmanuel Vadot "aclk_imem_266", 488*c66ec88fSEmmanuel Vadot "aclk_imem_200"; 489*c66ec88fSEmmanuel Vadot clocks = <&xxti>, 490*c66ec88fSEmmanuel Vadot <&cmu_top CLK_DIV_ACLK_IMEM_SSSX_266>, 491*c66ec88fSEmmanuel Vadot <&cmu_top CLK_DIV_ACLK_IMEM_266>, 492*c66ec88fSEmmanuel Vadot <&cmu_top CLK_DIV_ACLK_IMEM_200>; 493*c66ec88fSEmmanuel Vadot }; 494*c66ec88fSEmmanuel Vadot 495*c66ec88fSEmmanuel VadotExample 3: UART controller node that consumes the clock generated by the clock 496*c66ec88fSEmmanuel Vadot controller. 497*c66ec88fSEmmanuel Vadot 498*c66ec88fSEmmanuel Vadot serial_0: serial@14c10000 { 499*c66ec88fSEmmanuel Vadot compatible = "samsung,exynos5433-uart"; 500*c66ec88fSEmmanuel Vadot reg = <0x14C10000 0x100>; 501*c66ec88fSEmmanuel Vadot interrupts = <0 421 0>; 502*c66ec88fSEmmanuel Vadot clocks = <&cmu_peric CLK_PCLK_UART0>, 503*c66ec88fSEmmanuel Vadot <&cmu_peric CLK_SCLK_UART0>; 504*c66ec88fSEmmanuel Vadot clock-names = "uart", "clk_uart_baud0"; 505*c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 506*c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_bus>; 507*c66ec88fSEmmanuel Vadot }; 508