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