The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/clock/samsung,exynos850-clock.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/clock/samsung,exynos850-clock.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Samsung Exynos850 SoC clock controller
    8 
    9 maintainers:
   10   - Sam Protsenko <semen.protsenko@linaro.org>
   11   - Chanwoo Choi <cw00.choi@samsung.com>
   12   - Krzysztof Kozlowski <krzk@kernel.org>
   13   - Sylwester Nawrocki <s.nawrocki@samsung.com>
   14   - Tomasz Figa <tomasz.figa@gmail.com>
   15 
   16 description: |
   17   Exynos850 clock controller is comprised of several CMU units, generating
   18   clocks for different domains. Those CMU units are modeled as separate device
   19   tree nodes, and might depend on each other. Root clocks in that clock tree are
   20   two external clocks:: OSCCLK (26 MHz) and RTCCLK (32768 Hz). Those external
   21   clocks must be defined as fixed-rate clocks in dts.
   22 
   23   CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and
   24   dividers; all other leaf clocks (other CMUs) are usually derived from CMU_TOP.
   25 
   26   Each clock is assigned an identifier and client nodes can use this identifier
   27   to specify the clock which they consume. All clocks available for usage
   28   in clock consumer nodes are defined as preprocessor macros in
   29   'dt-bindings/clock/exynos850.h' header.
   30 
   31 properties:
   32   compatible:
   33     enum:
   34       - samsung,exynos850-cmu-top
   35       - samsung,exynos850-cmu-apm
   36       - samsung,exynos850-cmu-cmgp
   37       - samsung,exynos850-cmu-core
   38       - samsung,exynos850-cmu-dpu
   39       - samsung,exynos850-cmu-hsi
   40       - samsung,exynos850-cmu-peri
   41 
   42   clocks:
   43     minItems: 1
   44     maxItems: 5
   45 
   46   clock-names:
   47     minItems: 1
   48     maxItems: 5
   49 
   50   "#clock-cells":
   51     const: 1
   52 
   53   reg:
   54     maxItems: 1
   55 
   56 allOf:
   57   - if:
   58       properties:
   59         compatible:
   60           contains:
   61             const: samsung,exynos850-cmu-top
   62 
   63     then:
   64       properties:
   65         clocks:
   66           items:
   67             - description: External reference clock (26 MHz)
   68 
   69         clock-names:
   70           items:
   71             - const: oscclk
   72 
   73   - if:
   74       properties:
   75         compatible:
   76           contains:
   77             const: samsung,exynos850-cmu-apm
   78 
   79     then:
   80       properties:
   81         clocks:
   82           items:
   83             - description: External reference clock (26 MHz)
   84             - description: CMU_APM bus clock (from CMU_TOP)
   85 
   86         clock-names:
   87           items:
   88             - const: oscclk
   89             - const: dout_clkcmu_apm_bus
   90 
   91   - if:
   92       properties:
   93         compatible:
   94           contains:
   95             const: samsung,exynos850-cmu-cmgp
   96 
   97     then:
   98       properties:
   99         clocks:
  100           items:
  101             - description: External reference clock (26 MHz)
  102             - description: CMU_CMGP bus clock (from CMU_APM)
  103 
  104         clock-names:
  105           items:
  106             - const: oscclk
  107             - const: gout_clkcmu_cmgp_bus
  108 
  109   - if:
  110       properties:
  111         compatible:
  112           contains:
  113             const: samsung,exynos850-cmu-core
  114 
  115     then:
  116       properties:
  117         clocks:
  118           items:
  119             - description: External reference clock (26 MHz)
  120             - description: CMU_CORE bus clock (from CMU_TOP)
  121             - description: CCI clock (from CMU_TOP)
  122             - description: eMMC clock (from CMU_TOP)
  123             - description: SSS clock (from CMU_TOP)
  124 
  125         clock-names:
  126           items:
  127             - const: oscclk
  128             - const: dout_core_bus
  129             - const: dout_core_cci
  130             - const: dout_core_mmc_embd
  131             - const: dout_core_sss
  132 
  133   - if:
  134       properties:
  135         compatible:
  136           contains:
  137             const: samsung,exynos850-cmu-dpu
  138 
  139     then:
  140       properties:
  141         clocks:
  142           items:
  143             - description: External reference clock (26 MHz)
  144             - description: DPU clock (from CMU_TOP)
  145 
  146         clock-names:
  147           items:
  148             - const: oscclk
  149             - const: dout_dpu
  150 
  151   - if:
  152       properties:
  153         compatible:
  154           contains:
  155             const: samsung,exynos850-cmu-hsi
  156 
  157     then:
  158       properties:
  159         clocks:
  160           items:
  161             - description: External reference clock (26 MHz)
  162             - description: External RTC clock (32768 Hz)
  163             - description: CMU_HSI bus clock (from CMU_TOP)
  164             - description: SD card clock (from CMU_TOP)
  165             - description: "USB 2.0 DRD clock (from CMU_TOP)"
  166 
  167         clock-names:
  168           items:
  169             - const: oscclk
  170             - const: rtcclk
  171             - const: dout_hsi_bus
  172             - const: dout_hsi_mmc_card
  173             - const: dout_hsi_usb20drd
  174 
  175   - if:
  176       properties:
  177         compatible:
  178           contains:
  179             const: samsung,exynos850-cmu-peri
  180 
  181     then:
  182       properties:
  183         clocks:
  184           items:
  185             - description: External reference clock (26 MHz)
  186             - description: CMU_PERI bus clock (from CMU_TOP)
  187             - description: UART clock (from CMU_TOP)
  188             - description: Parent clock for HSI2C and SPI (from CMU_TOP)
  189 
  190         clock-names:
  191           items:
  192             - const: oscclk
  193             - const: dout_peri_bus
  194             - const: dout_peri_uart
  195             - const: dout_peri_ip
  196 
  197 required:
  198   - compatible
  199   - "#clock-cells"
  200   - clocks
  201   - clock-names
  202   - reg
  203 
  204 additionalProperties: false
  205 
  206 examples:
  207   # Clock controller node for CMU_PERI
  208   - |
  209     #include <dt-bindings/clock/exynos850.h>
  210 
  211     cmu_peri: clock-controller@10030000 {
  212         compatible = "samsung,exynos850-cmu-peri";
  213         reg = <0x10030000 0x8000>;
  214         #clock-cells = <1>;
  215 
  216         clocks = <&oscclk>, <&cmu_top CLK_DOUT_PERI_BUS>,
  217                  <&cmu_top CLK_DOUT_PERI_UART>,
  218                  <&cmu_top CLK_DOUT_PERI_IP>;
  219         clock-names = "oscclk", "dout_peri_bus",
  220                       "dout_peri_uart", "dout_peri_ip";
  221     };
  222 
  223 ...

Cache object: 9bd217216d193e0dc427cce6de647e37


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.