brintos

brintos / linux-shallow public Read only

0
0
Text · 12.0 KiB · 3f9326e Raw
525 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/clock/samsung,exynos5433-clock.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Samsung Exynos5433 SoC clock controller8 9maintainers:10  - Chanwoo Choi <cw00.choi@samsung.com>11  - Krzysztof Kozlowski <krzk@kernel.org>12  - Sylwester Nawrocki <s.nawrocki@samsung.com>13  - Tomasz Figa <tomasz.figa@gmail.com>14 15description: |16  Expected external clocks, defined in DTS as fixed-rate clocks with a matching17  name::18    - "oscclk" - PLL input clock from XXTI19 20  All available clocks are defined as preprocessor macros in21  include/dt-bindings/clock/exynos5433.h header.22 23properties:24  compatible:25    enum:26        # CMU_TOP which generates clocks for27        # IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS domains and bus28        # clocks29      - samsung,exynos5433-cmu-top30        # CMU_CPIF which generates clocks for LLI (Low Latency Interface) IP31      - samsung,exynos5433-cmu-cpif32        # CMU_MIF which generates clocks for DRAM Memory Controller domain33      - samsung,exynos5433-cmu-mif34        # CMU_PERIC which generates clocks for35        # UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS IPs36      - samsung,exynos5433-cmu-peric37        # CMU_PERIS which generates clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC IPs38      - samsung,exynos5433-cmu-peris39        # CMU_FSYS which generates clocks for USB/UFS/SDMMC/TSI/PDMA IPs40      - samsung,exynos5433-cmu-fsys41      - samsung,exynos5433-cmu-g2d42        # CMU_DISP which generates clocks for Display (DECON/HDMI/DSIM/MIXER) IPs43      - samsung,exynos5433-cmu-disp44      - samsung,exynos5433-cmu-aud45      - samsung,exynos5433-cmu-bus046      - samsung,exynos5433-cmu-bus147      - samsung,exynos5433-cmu-bus248      - samsung,exynos5433-cmu-g3d49      - samsung,exynos5433-cmu-gscl50      - samsung,exynos5433-cmu-apollo51        # CMU_ATLAS which generates clocks for Cortex-A57 Quad-core processor,52        # CoreSight and  L2 cache controller53      - samsung,exynos5433-cmu-atlas54        # CMU_MSCL which generates clocks for M2M (Memory to Memory) scaler and55        # JPEG IPs56      - samsung,exynos5433-cmu-mscl57      - samsung,exynos5433-cmu-mfc58      - samsung,exynos5433-cmu-hevc59        # CMU_ISP which generates clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs60      - samsung,exynos5433-cmu-isp61        # CMU_CAM0 which generates clocks for62        # MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs63      - samsung,exynos5433-cmu-cam064        # CMU_CAM1 which generates clocks for65        # Cortex-A5/MIPI_CSIS2/FIMC-LITE_C/FIMC-FD IPs66      - samsung,exynos5433-cmu-cam167        # CMU_IMEM which generates clocks for SSS (Security SubSystem) and68        # SlimSSS IPs69      - samsung,exynos5433-cmu-imem70 71  clocks:72    minItems: 173    maxItems: 1074 75  clock-names:76    minItems: 177    maxItems: 1078 79  "#clock-cells":80    const: 181 82  power-domains:83    maxItems: 184 85  reg:86    maxItems: 187 88required:89  - compatible90  - "#clock-cells"91  - reg92 93allOf:94  - if:95      properties:96        compatible:97          contains:98            const: samsung,exynos5433-cmu-top99    then:100      properties:101        clocks:102          minItems: 4103          maxItems: 4104        clock-names:105          items:106            - const: oscclk107            - const: sclk_mphy_pll108            - const: sclk_mfc_pll109            - const: sclk_bus_pll110      required:111        - clock-names112        - clocks113 114  - if:115      properties:116        compatible:117          contains:118            const: samsung,exynos5433-cmu-cpif119    then:120      properties:121        clocks:122          minItems: 1123          maxItems: 1124        clock-names:125          items:126            - const: oscclk127      required:128        - clock-names129        - clocks130 131  - if:132      properties:133        compatible:134          contains:135            const: samsung,exynos5433-cmu-mif136    then:137      properties:138        clocks:139          minItems: 2140          maxItems: 2141        clock-names:142          items:143            - const: oscclk144            - const: sclk_mphy_pll145      required:146        - clock-names147        - clocks148 149  - if:150      properties:151        compatible:152          contains:153            const: samsung,exynos5433-cmu-fsys154    then:155      properties:156        clocks:157          minItems: 10158          maxItems: 10159        clock-names:160          items:161            - const: oscclk162            - const: sclk_ufs_mphy163            - const: aclk_fsys_200164            - const: sclk_pcie_100_fsys165            - const: sclk_ufsunipro_fsys166            - const: sclk_mmc2_fsys167            - const: sclk_mmc1_fsys168            - const: sclk_mmc0_fsys169            - const: sclk_usbhost30_fsys170            - const: sclk_usbdrd30_fsys171      required:172        - clock-names173        - clocks174 175  - if:176      properties:177        compatible:178          contains:179            const: samsung,exynos5433-cmu-g2d180    then:181      properties:182        clocks:183          minItems: 3184          maxItems: 3185        clock-names:186          items:187            - const: oscclk188            - const: aclk_g2d_266189            - const: aclk_g2d_400190      required:191        - clock-names192        - clocks193 194  - if:195      properties:196        compatible:197          contains:198            const: samsung,exynos5433-cmu-disp199    then:200      properties:201        clocks:202          minItems: 9203          maxItems: 9204        clock-names:205          items:206            - const: oscclk207            - const: sclk_dsim1_disp208            - const: sclk_dsim0_disp209            - const: sclk_dsd_disp210            - const: sclk_decon_tv_eclk_disp211            - const: sclk_decon_vclk_disp212            - const: sclk_decon_eclk_disp213            - const: sclk_decon_tv_vclk_disp214            - const: aclk_disp_333215      required:216        - clock-names217        - clocks218 219  - if:220      properties:221        compatible:222          contains:223            const: samsung,exynos5433-cmu-aud224    then:225      properties:226        clocks:227          minItems: 2228          maxItems: 2229        clock-names:230          items:231            - const: oscclk232            - const: fout_aud_pll233      required:234        - clock-names235        - clocks236 237  - if:238      properties:239        compatible:240          contains:241            const: samsung,exynos5433-cmu-bus0242    then:243      properties:244        clocks:245          minItems: 1246          maxItems: 1247        clock-names:248          items:249            - const: aclk_bus0_400250      required:251        - clock-names252        - clocks253 254  - if:255      properties:256        compatible:257          contains:258            const: samsung,exynos5433-cmu-bus1259    then:260      properties:261        clocks:262          minItems: 1263          maxItems: 1264        clock-names:265          items:266            - const: aclk_bus1_400267      required:268        - clock-names269        - clocks270 271  - if:272      properties:273        compatible:274          contains:275            const: samsung,exynos5433-cmu-bus2276    then:277      properties:278        clocks:279          minItems: 2280          maxItems: 2281        clock-names:282          items:283            - const: oscclk284            - const: aclk_bus2_400285      required:286        - clock-names287        - clocks288 289  - if:290      properties:291        compatible:292          contains:293            const: samsung,exynos5433-cmu-g3d294    then:295      properties:296        clocks:297          minItems: 2298          maxItems: 2299        clock-names:300          items:301            - const: oscclk302            - const: aclk_g3d_400303      required:304        - clock-names305        - clocks306 307  - if:308      properties:309        compatible:310          contains:311            const: samsung,exynos5433-cmu-gscl312    then:313      properties:314        clocks:315          minItems: 3316          maxItems: 3317        clock-names:318          items:319            - const: oscclk320            - const: aclk_gscl_111321            - const: aclk_gscl_333322      required:323        - clock-names324        - clocks325 326  - if:327      properties:328        compatible:329          contains:330            const: samsung,exynos5433-cmu-apollo331    then:332      properties:333        clocks:334          minItems: 2335          maxItems: 2336        clock-names:337          items:338            - const: oscclk339            - const: sclk_bus_pll_apollo340      required:341        - clock-names342        - clocks343 344  - if:345      properties:346        compatible:347          contains:348            const: samsung,exynos5433-cmu-atlas349    then:350      properties:351        clocks:352          minItems: 2353          maxItems: 2354        clock-names:355          items:356            - const: oscclk357            - const: sclk_bus_pll_atlas358      required:359        - clock-names360        - clocks361 362  - if:363      properties:364        compatible:365          contains:366            const: samsung,exynos5433-cmu-mscl367    then:368      properties:369        clocks:370          minItems: 3371          maxItems: 3372        clock-names:373          items:374            - const: oscclk375            - const: sclk_jpeg_mscl376            - const: aclk_mscl_400377      required:378        - clock-names379        - clocks380 381  - if:382      properties:383        compatible:384          contains:385            const: samsung,exynos5433-cmu-mfc386    then:387      properties:388        clocks:389          minItems: 2390          maxItems: 2391        clock-names:392          items:393            - const: oscclk394            - const: aclk_mfc_400395      required:396        - clock-names397        - clocks398 399  - if:400      properties:401        compatible:402          contains:403            const: samsung,exynos5433-cmu-hevc404    then:405      properties:406        clocks:407          minItems: 2408          maxItems: 2409        clock-names:410          items:411            - const: oscclk412            - const: aclk_hevc_400413      required:414        - clock-names415        - clocks416 417  - if:418      properties:419        compatible:420          contains:421            const: samsung,exynos5433-cmu-isp422    then:423      properties:424        clocks:425          minItems: 3426          maxItems: 3427        clock-names:428          items:429            - const: oscclk430            - const: aclk_isp_dis_400431            - const: aclk_isp_400432      required:433        - clock-names434        - clocks435 436  - if:437      properties:438        compatible:439          contains:440            const: samsung,exynos5433-cmu-cam0441    then:442      properties:443        clocks:444          minItems: 4445          maxItems: 4446        clock-names:447          items:448            - const: oscclk449            - const: aclk_cam0_333450            - const: aclk_cam0_400451            - const: aclk_cam0_552452      required:453        - clock-names454        - clocks455 456  - if:457      properties:458        compatible:459          contains:460            const: samsung,exynos5433-cmu-cam1461    then:462      properties:463        clocks:464          minItems: 7465          maxItems: 7466        clock-names:467          items:468            - const: oscclk469            - const: sclk_isp_uart_cam1470            - const: sclk_isp_spi1_cam1471            - const: sclk_isp_spi0_cam1472            - const: aclk_cam1_333473            - const: aclk_cam1_400474            - const: aclk_cam1_552475      required:476        - clock-names477        - clocks478 479  - if:480      properties:481        compatible:482          contains:483            const: samsung,exynos5433-cmu-imem484    then:485      properties:486        clocks:487          minItems: 4488          maxItems: 4489        clock-names:490          items:491            - const: oscclk492            - const: aclk_imem_sssx_266493            - const: aclk_imem_266494            - const: aclk_imem_200495      required:496        - clock-names497        - clocks498 499additionalProperties: false500 501examples:502  - |503    #include <dt-bindings/clock/exynos5433.h>504    xxti: clock {505        compatible = "fixed-clock";506        clock-output-names = "oscclk";507        #clock-cells = <0>;508        clock-frequency = <24000000>;509    };510 511    clock-controller@10030000 {512        compatible = "samsung,exynos5433-cmu-top";513        reg = <0x10030000 0x1000>;514        #clock-cells = <1>;515 516        clock-names = "oscclk",517                      "sclk_mphy_pll",518                      "sclk_mfc_pll",519                      "sclk_bus_pll";520        clocks = <&xxti>,521                 <&cmu_cpif CLK_SCLK_MPHY_PLL>,522                 <&cmu_mif CLK_SCLK_MFC_PLL>,523                 <&cmu_mif CLK_SCLK_BUS_PLL>;524    };525