1e61492e4SChanho Park# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2e61492e4SChanho Park%YAML 1.2 3e61492e4SChanho Park--- 4e61492e4SChanho Park$id: http://devicetree.org/schemas/clock/samsung,exynosautov9-clock.yaml# 5e61492e4SChanho Park$schema: http://devicetree.org/meta-schemas/core.yaml# 6e61492e4SChanho Park 7e61492e4SChanho Parktitle: Samsung Exynos Auto v9 SoC clock controller 8e61492e4SChanho Park 9e61492e4SChanho Parkmaintainers: 10e61492e4SChanho Park - Chanho Park <chanho61.park@samsung.com> 11e61492e4SChanho Park - Chanwoo Choi <cw00.choi@samsung.com> 12e61492e4SChanho Park - Krzysztof Kozlowski <krzk@kernel.org> 13e61492e4SChanho Park - Sylwester Nawrocki <s.nawrocki@samsung.com> 14e61492e4SChanho Park - Tomasz Figa <tomasz.figa@gmail.com> 15e61492e4SChanho Park 16e61492e4SChanho Parkdescription: | 17e61492e4SChanho Park Exynos Auto v9 clock controller is comprised of several CMU units, generating 18e61492e4SChanho Park clocks for different domains. Those CMU units are modeled as separate device 19e61492e4SChanho Park tree nodes, and might depend on each other. Root clocks in that clock tree are 20e61492e4SChanho Park two external clocks:: OSCCLK/XTCXO (26 MHz) and RTCCLK/XrtcXTI (32768 Hz). 21e61492e4SChanho Park The external OSCCLK must be defined as fixed-rate clock in dts. 22e61492e4SChanho Park 23e61492e4SChanho Park CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and 24e61492e4SChanho Park dividers; all other clocks of function blocks (other CMUs) are usually 25e61492e4SChanho Park derived from CMU_TOP. 26e61492e4SChanho Park 27e61492e4SChanho Park Each clock is assigned an identifier and client nodes can use this identifier 28e61492e4SChanho Park to specify the clock which they consume. All clocks available for usage 29e61492e4SChanho Park in clock consumer nodes are defined as preprocessor macros in 30e61492e4SChanho Park 'include/dt-bindings/clock/samsung,exynosautov9.h' header. 31e61492e4SChanho Park 32e61492e4SChanho Parkproperties: 33e61492e4SChanho Park compatible: 34e61492e4SChanho Park enum: 35e61492e4SChanho Park - samsung,exynosautov9-cmu-top 36e61492e4SChanho Park - samsung,exynosautov9-cmu-busmc 37e61492e4SChanho Park - samsung,exynosautov9-cmu-core 384b6ec8d8SChanho Park - samsung,exynosautov9-cmu-fsys0 394b6ec8d8SChanho Park - samsung,exynosautov9-cmu-fsys1 40e61492e4SChanho Park - samsung,exynosautov9-cmu-fsys2 41e61492e4SChanho Park - samsung,exynosautov9-cmu-peric0 42e61492e4SChanho Park - samsung,exynosautov9-cmu-peric1 43e61492e4SChanho Park - samsung,exynosautov9-cmu-peris 44e61492e4SChanho Park 45e61492e4SChanho Park clocks: 46e61492e4SChanho Park minItems: 1 47e61492e4SChanho Park maxItems: 5 48e61492e4SChanho Park 49e61492e4SChanho Park clock-names: 50e61492e4SChanho Park minItems: 1 51e61492e4SChanho Park maxItems: 5 52e61492e4SChanho Park 53e61492e4SChanho Park "#clock-cells": 54e61492e4SChanho Park const: 1 55e61492e4SChanho Park 56e61492e4SChanho Park reg: 57e61492e4SChanho Park maxItems: 1 58e61492e4SChanho Park 59e61492e4SChanho ParkallOf: 60e61492e4SChanho Park - if: 61e61492e4SChanho Park properties: 62e61492e4SChanho Park compatible: 63e61492e4SChanho Park contains: 64e61492e4SChanho Park const: samsung,exynosautov9-cmu-top 65e61492e4SChanho Park 66e61492e4SChanho Park then: 67e61492e4SChanho Park properties: 68e61492e4SChanho Park clocks: 69e61492e4SChanho Park items: 70e61492e4SChanho Park - description: External reference clock (26 MHz) 71e61492e4SChanho Park 72e61492e4SChanho Park clock-names: 73e61492e4SChanho Park items: 74e61492e4SChanho Park - const: oscclk 75e61492e4SChanho Park 76e61492e4SChanho Park - if: 77e61492e4SChanho Park properties: 78e61492e4SChanho Park compatible: 79e61492e4SChanho Park contains: 80e61492e4SChanho Park const: samsung,exynosautov9-cmu-busmc 81e61492e4SChanho Park 82e61492e4SChanho Park then: 83e61492e4SChanho Park properties: 84e61492e4SChanho Park clocks: 85e61492e4SChanho Park items: 86e61492e4SChanho Park - description: External reference clock (26 MHz) 87e61492e4SChanho Park - description: CMU_BUSMC bus clock (from CMU_TOP) 88e61492e4SChanho Park 89e61492e4SChanho Park clock-names: 90e61492e4SChanho Park items: 91e61492e4SChanho Park - const: oscclk 92e61492e4SChanho Park - const: dout_clkcmu_busmc_bus 93e61492e4SChanho Park 94e61492e4SChanho Park - if: 95e61492e4SChanho Park properties: 96e61492e4SChanho Park compatible: 97e61492e4SChanho Park contains: 98e61492e4SChanho Park const: samsung,exynosautov9-cmu-core 99e61492e4SChanho Park 100e61492e4SChanho Park then: 101e61492e4SChanho Park properties: 102e61492e4SChanho Park clocks: 103e61492e4SChanho Park items: 104e61492e4SChanho Park - description: External reference clock (26 MHz) 105e61492e4SChanho Park - description: CMU_CORE bus clock (from CMU_TOP) 106e61492e4SChanho Park 107e61492e4SChanho Park clock-names: 108e61492e4SChanho Park items: 109e61492e4SChanho Park - const: oscclk 110e61492e4SChanho Park - const: dout_clkcmu_core_bus 111e61492e4SChanho Park 112e61492e4SChanho Park - if: 113e61492e4SChanho Park properties: 114e61492e4SChanho Park compatible: 115e61492e4SChanho Park contains: 1164b6ec8d8SChanho Park const: samsung,exynosautov9-cmu-fsys0 1174b6ec8d8SChanho Park 1184b6ec8d8SChanho Park then: 1194b6ec8d8SChanho Park properties: 1204b6ec8d8SChanho Park clocks: 1214b6ec8d8SChanho Park items: 1224b6ec8d8SChanho Park - description: External reference clock (26 MHz) 1234b6ec8d8SChanho Park - description: CMU_FSYS0 bus clock (from CMU_TOP) 1244b6ec8d8SChanho Park - description: CMU_FSYS0 pcie clock (from CMU_TOP) 1254b6ec8d8SChanho Park 1264b6ec8d8SChanho Park clock-names: 1274b6ec8d8SChanho Park items: 1284b6ec8d8SChanho Park - const: oscclk 1294b6ec8d8SChanho Park - const: dout_clkcmu_fsys0_bus 1304b6ec8d8SChanho Park - const: dout_clkcmu_fsys0_pcie 1314b6ec8d8SChanho Park 1324b6ec8d8SChanho Park - if: 1334b6ec8d8SChanho Park properties: 1344b6ec8d8SChanho Park compatible: 1354b6ec8d8SChanho Park contains: 1364b6ec8d8SChanho Park const: samsung,exynosautov9-cmu-fsys1 1374b6ec8d8SChanho Park 1384b6ec8d8SChanho Park then: 1394b6ec8d8SChanho Park properties: 1404b6ec8d8SChanho Park clocks: 1414b6ec8d8SChanho Park items: 1424b6ec8d8SChanho Park - description: External reference clock (26 MHz) 1434b6ec8d8SChanho Park - description: CMU_FSYS1 bus clock (from CMU_TOP) 1444b6ec8d8SChanho Park - description: CMU_FSYS1 mmc card clock (from CMU_TOP) 1454b6ec8d8SChanho Park - description: CMU_FSYS1 usb clock (from CMU_TOP) 1464b6ec8d8SChanho Park 1474b6ec8d8SChanho Park clock-names: 1484b6ec8d8SChanho Park items: 1494b6ec8d8SChanho Park - const: oscclk 1504b6ec8d8SChanho Park - const: dout_clkcmu_fsys1_bus 151*4854e8b0SInbaraj E - const: gout_clkcmu_fsys1_mmc_card 1524b6ec8d8SChanho Park - const: dout_clkcmu_fsys1_usbdrd 1534b6ec8d8SChanho Park 1544b6ec8d8SChanho Park - if: 1554b6ec8d8SChanho Park properties: 1564b6ec8d8SChanho Park compatible: 1574b6ec8d8SChanho Park contains: 158e61492e4SChanho Park const: samsung,exynosautov9-cmu-fsys2 159e61492e4SChanho Park 160e61492e4SChanho Park then: 161e61492e4SChanho Park properties: 162e61492e4SChanho Park clocks: 163e61492e4SChanho Park items: 164e61492e4SChanho Park - description: External reference clock (26 MHz) 165e61492e4SChanho Park - description: CMU_FSYS2 bus clock (from CMU_TOP) 166e61492e4SChanho Park - description: UFS clock (from CMU_TOP) 167e61492e4SChanho Park - description: Ethernet clock (from CMU_TOP) 168e61492e4SChanho Park 169e61492e4SChanho Park clock-names: 170e61492e4SChanho Park items: 171e61492e4SChanho Park - const: oscclk 172e61492e4SChanho Park - const: dout_clkcmu_fsys2_bus 173e61492e4SChanho Park - const: dout_fsys2_clkcmu_ufs_embd 174e61492e4SChanho Park - const: dout_fsys2_clkcmu_ethernet 175e61492e4SChanho Park 176e61492e4SChanho Park - if: 177e61492e4SChanho Park properties: 178e61492e4SChanho Park compatible: 179e61492e4SChanho Park contains: 180e61492e4SChanho Park const: samsung,exynosautov9-cmu-peric0 181e61492e4SChanho Park 182e61492e4SChanho Park then: 183e61492e4SChanho Park properties: 184e61492e4SChanho Park clocks: 185e61492e4SChanho Park items: 186e61492e4SChanho Park - description: External reference clock (26 MHz) 187e61492e4SChanho Park - description: CMU_PERIC0 bus clock (from CMU_TOP) 188e61492e4SChanho Park - description: PERIC0 IP clock (from CMU_TOP) 189e61492e4SChanho Park 190e61492e4SChanho Park clock-names: 191e61492e4SChanho Park items: 192e61492e4SChanho Park - const: oscclk 193e61492e4SChanho Park - const: dout_clkcmu_peric0_bus 194e61492e4SChanho Park - const: dout_clkcmu_peric0_ip 195e61492e4SChanho Park 196e61492e4SChanho Park - if: 197e61492e4SChanho Park properties: 198e61492e4SChanho Park compatible: 199e61492e4SChanho Park contains: 200e61492e4SChanho Park const: samsung,exynosautov9-cmu-peric1 201e61492e4SChanho Park 202e61492e4SChanho Park then: 203e61492e4SChanho Park properties: 204e61492e4SChanho Park clocks: 205e61492e4SChanho Park items: 206e61492e4SChanho Park - description: External reference clock (26 MHz) 207e61492e4SChanho Park - description: CMU_PERIC1 bus clock (from CMU_TOP) 208e61492e4SChanho Park - description: PERIC1 IP clock (from CMU_TOP) 209e61492e4SChanho Park 210e61492e4SChanho Park clock-names: 211e61492e4SChanho Park items: 212e61492e4SChanho Park - const: oscclk 213e61492e4SChanho Park - const: dout_clkcmu_peric1_bus 214e61492e4SChanho Park - const: dout_clkcmu_peric1_ip 215e61492e4SChanho Park 216e61492e4SChanho Park - if: 217e61492e4SChanho Park properties: 218e61492e4SChanho Park compatible: 219e61492e4SChanho Park contains: 220e61492e4SChanho Park const: samsung,exynosautov9-cmu-peris 221e61492e4SChanho Park 222e61492e4SChanho Park then: 223e61492e4SChanho Park properties: 224e61492e4SChanho Park clocks: 225e61492e4SChanho Park items: 226e61492e4SChanho Park - description: External reference clock (26 MHz) 227e61492e4SChanho Park - description: CMU_PERIS bus clock (from CMU_TOP) 228e61492e4SChanho Park 229e61492e4SChanho Park clock-names: 230e61492e4SChanho Park items: 231e61492e4SChanho Park - const: oscclk 232e61492e4SChanho Park - const: dout_clkcmu_peris_bus 233e61492e4SChanho Park 234e61492e4SChanho Parkrequired: 235e61492e4SChanho Park - compatible 236e61492e4SChanho Park - "#clock-cells" 237e61492e4SChanho Park - clocks 238e61492e4SChanho Park - clock-names 239e61492e4SChanho Park - reg 240e61492e4SChanho Park 241e61492e4SChanho ParkadditionalProperties: false 242e61492e4SChanho Park 243e61492e4SChanho Parkexamples: 244e61492e4SChanho Park # Clock controller node for CMU_FSYS2 245e61492e4SChanho Park - | 246e61492e4SChanho Park #include <dt-bindings/clock/samsung,exynosautov9.h> 247e61492e4SChanho Park 248e61492e4SChanho Park cmu_fsys2: clock-controller@17c00000 { 249e61492e4SChanho Park compatible = "samsung,exynosautov9-cmu-fsys2"; 250e61492e4SChanho Park reg = <0x17c00000 0x8000>; 251e61492e4SChanho Park #clock-cells = <1>; 252e61492e4SChanho Park 253e61492e4SChanho Park clocks = <&xtcxo>, 254e61492e4SChanho Park <&cmu_top DOUT_CLKCMU_FSYS2_BUS>, 255e61492e4SChanho Park <&cmu_top DOUT_CLKCMU_FSYS2_UFS_EMBD>, 256e61492e4SChanho Park <&cmu_top DOUT_CLKCMU_FSYS2_ETHERNET>; 257e61492e4SChanho Park clock-names = "oscclk", 258e61492e4SChanho Park "dout_clkcmu_fsys2_bus", 259e61492e4SChanho Park "dout_fsys2_clkcmu_ufs_embd", 260e61492e4SChanho Park "dout_fsys2_clkcmu_ethernet"; 261e61492e4SChanho Park }; 262e61492e4SChanho Park 263e61492e4SChanho Park... 264