brintos

brintos / linux-shallow public Read only

0
0
Text · 9.6 KiB · b05f835 Raw
383 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,exynos5260-clock.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Samsung Exynos5260 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    - "fin_pll" - PLL input clock from XXTI19    - "xrtcxti" - input clock from XRTCXTI20    - "ioclk_pcm_extclk" - pcm external operation clock21    - "ioclk_spdif_extclk" - spdif external operation clock22    - "ioclk_i2s_cdclk" - i2s0 codec clock23 24  Phy clocks::25  There are several clocks which are generated by specific PHYs.  These clocks26  are fed into the clock controller and then routed to the hardware blocks.27  These clocks are defined as fixed clocks in the driver with following names::28    - "phyclk_dptx_phy_ch3_txd_clk" - dp phy clock for channel 329    - "phyclk_dptx_phy_ch2_txd_clk" - dp phy clock for channel 230    - "phyclk_dptx_phy_ch1_txd_clk" - dp phy clock for channel 131    - "phyclk_dptx_phy_ch0_txd_clk" - dp phy clock for channel 032    - "phyclk_hdmi_phy_tmds_clko" - hdmi phy tmds clock33    - "phyclk_hdmi_phy_pixel_clko" - hdmi phy pixel clock34    - "phyclk_hdmi_link_o_tmds_clkhi" - hdmi phy for hdmi link35    - "phyclk_dptx_phy_o_ref_clk_24m" - dp phy reference clock36    - "phyclk_dptx_phy_clk_div2"37    - "phyclk_mipi_dphy_4l_m_rxclkesc0"38    - "phyclk_usbhost20_phy_phyclock" - usb 2.0 phy clock39    - "phyclk_usbhost20_phy_freeclk"40    - "phyclk_usbhost20_phy_clk48mohci"41    - "phyclk_usbdrd30_udrd30_pipe_pclk"42    - "phyclk_usbdrd30_udrd30_phyclock" - usb 3.0 phy clock43 44  All available clocks are defined as preprocessor macros in45  include/dt-bindings/clock/exynos5260-clk.h header.46 47properties:48  compatible:49    enum:50      - samsung,exynos5260-clock-top51      - samsung,exynos5260-clock-peri52      - samsung,exynos5260-clock-egl53      - samsung,exynos5260-clock-kfc54      - samsung,exynos5260-clock-g2d55      - samsung,exynos5260-clock-mif56      - samsung,exynos5260-clock-mfc57      - samsung,exynos5260-clock-g3d58      - samsung,exynos5260-clock-fsys59      - samsung,exynos5260-clock-aud60      - samsung,exynos5260-clock-isp61      - samsung,exynos5260-clock-gscl62      - samsung,exynos5260-clock-disp63 64  clocks:65    minItems: 166    maxItems: 1967 68  clock-names:69    minItems: 170    maxItems: 1971 72  "#clock-cells":73    const: 174 75  reg:76    maxItems: 177 78required:79  - compatible80  - "#clock-cells"81  - reg82 83allOf:84  - if:85      properties:86        compatible:87          contains:88            const: samsung,exynos5260-clock-top89    then:90      properties:91        clocks:92          minItems: 493          maxItems: 494        clock-names:95          items:96            - const: fin_pll97            - const: dout_mem_pll98            - const: dout_bus_pll99            - const: dout_media_pll100      required:101        - clock-names102        - clocks103 104  - if:105      properties:106        compatible:107          contains:108            const: samsung,exynos5260-clock-peri109    then:110      properties:111        clocks:112          minItems: 13113          maxItems: 13114        clock-names:115          items:116            - const: fin_pll117            - const: ioclk_pcm_extclk118            - const: ioclk_i2s_cdclk119            - const: ioclk_spdif_extclk120            - const: phyclk_hdmi_phy_ref_cko121            - const: dout_aclk_peri_66122            - const: dout_sclk_peri_uart0123            - const: dout_sclk_peri_uart1124            - const: dout_sclk_peri_uart2125            - const: dout_sclk_peri_spi0_b126            - const: dout_sclk_peri_spi1_b127            - const: dout_sclk_peri_spi2_b128            - const: dout_aclk_peri_aud129      required:130        - clock-names131        - clocks132 133  - if:134      properties:135        compatible:136          contains:137            const: samsung,exynos5260-clock-egl138    then:139      properties:140        clocks:141          minItems: 2142          maxItems: 2143        clock-names:144          items:145            - const: fin_pll146            - const: dout_bus_pll147      required:148        - clock-names149        - clocks150 151  - if:152      properties:153        compatible:154          contains:155            const: samsung,exynos5260-clock-kfc156    then:157      properties:158        clocks:159          minItems: 2160          maxItems: 2161        clock-names:162          items:163            - const: fin_pll164            - const: dout_media_pll165      required:166        - clock-names167        - clocks168 169  - if:170      properties:171        compatible:172          contains:173            const: samsung,exynos5260-clock-g2d174    then:175      properties:176        clocks:177          minItems: 2178          maxItems: 2179        clock-names:180          items:181            - const: fin_pll182            - const: dout_aclk_g2d_333183      required:184        - clock-names185        - clocks186 187  - if:188      properties:189        compatible:190          contains:191            const: samsung,exynos5260-clock-mif192    then:193      properties:194        clocks:195          minItems: 1196          maxItems: 1197        clock-names:198          items:199            - const: fin_pll200      required:201        - clock-names202        - clocks203 204  - if:205      properties:206        compatible:207          contains:208            const: samsung,exynos5260-clock-mfc209    then:210      properties:211        clocks:212          minItems: 2213          maxItems: 2214        clock-names:215          items:216            - const: fin_pll217            - const: dout_aclk_mfc_333218      required:219        - clock-names220        - clocks221 222  - if:223      properties:224        compatible:225          contains:226            const: samsung,exynos5260-clock-g3d227    then:228      properties:229        clocks:230          minItems: 1231          maxItems: 1232        clock-names:233          items:234            - const: fin_pll235      required:236        - clock-names237        - clocks238 239  - if:240      properties:241        compatible:242          contains:243            const: samsung,exynos5260-clock-fsys244    then:245      properties:246        clocks:247          minItems: 7248          maxItems: 7249        clock-names:250          items:251            - const: fin_pll252            - const: phyclk_usbhost20_phy_phyclock253            - const: phyclk_usbhost20_phy_freeclk254            - const: phyclk_usbhost20_phy_clk48mohci255            - const: phyclk_usbdrd30_udrd30_pipe_pclk256            - const: phyclk_usbdrd30_udrd30_phyclock257            - const: dout_aclk_fsys_200258      required:259        - clock-names260        - clocks261 262  - if:263      properties:264        compatible:265          contains:266            const: samsung,exynos5260-clock-aud267    then:268      properties:269        clocks:270          minItems: 4271          maxItems: 4272        clock-names:273          items:274            - const: fin_pll275            - const: fout_aud_pll276            - const: ioclk_i2s_cdclk277            - const: ioclk_pcm_extclk278      required:279        - clock-names280        - clocks281 282  - if:283      properties:284        compatible:285          contains:286            const: samsung,exynos5260-clock-isp287    then:288      properties:289        clocks:290          minItems: 4291          maxItems: 4292        clock-names:293          items:294            - const: fin_pll295            - const: dout_aclk_isp1_266296            - const: dout_aclk_isp1_400297            - const: mout_aclk_isp1_266298 299      required:300        - clock-names301        - clocks302 303  - if:304      properties:305        compatible:306          contains:307            const: samsung,exynos5260-clock-gscl308    then:309      properties:310        clocks:311          minItems: 3312          maxItems: 3313        clock-names:314          items:315            - const: fin_pll316            - const: dout_aclk_gscl_400317            - const: dout_aclk_gscl_333318      required:319        - clock-names320        - clocks321 322  - if:323      properties:324        compatible:325          contains:326            const: samsung,exynos5260-clock-disp327    then:328      properties:329        clocks:330          minItems: 19331          maxItems: 19332        clock-names:333          items:334            - const: fin_pll335            - const: phyclk_dptx_phy_ch3_txd_clk336            - const: phyclk_dptx_phy_ch2_txd_clk337            - const: phyclk_dptx_phy_ch1_txd_clk338            - const: phyclk_dptx_phy_ch0_txd_clk339            - const: phyclk_hdmi_phy_tmds_clko340            - const: phyclk_hdmi_phy_ref_clko341            - const: phyclk_hdmi_phy_pixel_clko342            - const: phyclk_hdmi_link_o_tmds_clkhi343            - const: phyclk_mipi_dphy_4l_m_txbyte_clkhs344            - const: phyclk_dptx_phy_o_ref_clk_24m345            - const: phyclk_dptx_phy_clk_div2346            - const: phyclk_mipi_dphy_4l_m_rxclkesc0347            - const: phyclk_hdmi_phy_ref_cko348            - const: ioclk_spdif_extclk349            - const: dout_aclk_peri_aud350            - const: dout_aclk_disp_222351            - const: dout_sclk_disp_pixel352            - const: dout_aclk_disp_333353      required:354        - clock-names355        - clocks356 357additionalProperties: false358 359examples:360  - |361    #include <dt-bindings/clock/exynos5260-clk.h>362 363    fin_pll: clock {364        compatible = "fixed-clock";365        clock-output-names = "fin_pll";366        #clock-cells = <0>;367        clock-frequency = <24000000>;368    };369 370    clock-controller@10010000 {371        compatible = "samsung,exynos5260-clock-top";372        reg = <0x10010000 0x10000>;373        #clock-cells = <1>;374        clocks = <&fin_pll>,375                 <&clock_mif MIF_DOUT_MEM_PLL>,376                 <&clock_mif MIF_DOUT_BUS_PLL>,377                 <&clock_mif MIF_DOUT_MEDIA_PLL>;378        clock-names = "fin_pll",379                      "dout_mem_pll",380                      "dout_bus_pll",381                      "dout_media_pll";382    };383