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,exynosautov9-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,exynosautov9-clock.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Samsung Exynos Auto v9 SoC clock controller
    8 
    9 maintainers:
   10   - Chanho Park <chanho61.park@samsung.com>
   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   Exynos Auto v9 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/XTCXO (26 MHz) and RTCCLK/XrtcXTI (32768 Hz).
   21   The external OSCCLK must be defined as fixed-rate clock in dts.
   22 
   23   CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and
   24   dividers; all other clocks of function blocks (other CMUs) are usually
   25   derived from CMU_TOP.
   26 
   27   Each clock is assigned an identifier and client nodes can use this identifier
   28   to specify the clock which they consume. All clocks available for usage
   29   in clock consumer nodes are defined as preprocessor macros in
   30   'include/dt-bindings/clock/samsung,exynosautov9.h' header.
   31 
   32 properties:
   33   compatible:
   34     enum:
   35       - samsung,exynosautov9-cmu-top
   36       - samsung,exynosautov9-cmu-busmc
   37       - samsung,exynosautov9-cmu-core
   38       - samsung,exynosautov9-cmu-fsys2
   39       - samsung,exynosautov9-cmu-peric0
   40       - samsung,exynosautov9-cmu-peric1
   41       - samsung,exynosautov9-cmu-peris
   42 
   43   clocks:
   44     minItems: 1
   45     maxItems: 5
   46 
   47   clock-names:
   48     minItems: 1
   49     maxItems: 5
   50 
   51   "#clock-cells":
   52     const: 1
   53 
   54   reg:
   55     maxItems: 1
   56 
   57 allOf:
   58   - if:
   59       properties:
   60         compatible:
   61           contains:
   62             const: samsung,exynosautov9-cmu-top
   63 
   64     then:
   65       properties:
   66         clocks:
   67           items:
   68             - description: External reference clock (26 MHz)
   69 
   70         clock-names:
   71           items:
   72             - const: oscclk
   73 
   74   - if:
   75       properties:
   76         compatible:
   77           contains:
   78             const: samsung,exynosautov9-cmu-busmc
   79 
   80     then:
   81       properties:
   82         clocks:
   83           items:
   84             - description: External reference clock (26 MHz)
   85             - description: CMU_BUSMC bus clock (from CMU_TOP)
   86 
   87         clock-names:
   88           items:
   89             - const: oscclk
   90             - const: dout_clkcmu_busmc_bus
   91 
   92   - if:
   93       properties:
   94         compatible:
   95           contains:
   96             const: samsung,exynosautov9-cmu-core
   97 
   98     then:
   99       properties:
  100         clocks:
  101           items:
  102             - description: External reference clock (26 MHz)
  103             - description: CMU_CORE bus clock (from CMU_TOP)
  104 
  105         clock-names:
  106           items:
  107             - const: oscclk
  108             - const: dout_clkcmu_core_bus
  109 
  110   - if:
  111       properties:
  112         compatible:
  113           contains:
  114             const: samsung,exynosautov9-cmu-fsys2
  115 
  116     then:
  117       properties:
  118         clocks:
  119           items:
  120             - description: External reference clock (26 MHz)
  121             - description: CMU_FSYS2 bus clock (from CMU_TOP)
  122             - description: UFS clock (from CMU_TOP)
  123             - description: Ethernet clock (from CMU_TOP)
  124 
  125         clock-names:
  126           items:
  127             - const: oscclk
  128             - const: dout_clkcmu_fsys2_bus
  129             - const: dout_fsys2_clkcmu_ufs_embd
  130             - const: dout_fsys2_clkcmu_ethernet
  131 
  132   - if:
  133       properties:
  134         compatible:
  135           contains:
  136             const: samsung,exynosautov9-cmu-peric0
  137 
  138     then:
  139       properties:
  140         clocks:
  141           items:
  142             - description: External reference clock (26 MHz)
  143             - description: CMU_PERIC0 bus clock (from CMU_TOP)
  144             - description: PERIC0 IP clock (from CMU_TOP)
  145 
  146         clock-names:
  147           items:
  148             - const: oscclk
  149             - const: dout_clkcmu_peric0_bus
  150             - const: dout_clkcmu_peric0_ip
  151 
  152   - if:
  153       properties:
  154         compatible:
  155           contains:
  156             const: samsung,exynosautov9-cmu-peric1
  157 
  158     then:
  159       properties:
  160         clocks:
  161           items:
  162             - description: External reference clock (26 MHz)
  163             - description: CMU_PERIC1 bus clock (from CMU_TOP)
  164             - description: PERIC1 IP clock (from CMU_TOP)
  165 
  166         clock-names:
  167           items:
  168             - const: oscclk
  169             - const: dout_clkcmu_peric1_bus
  170             - const: dout_clkcmu_peric1_ip
  171 
  172   - if:
  173       properties:
  174         compatible:
  175           contains:
  176             const: samsung,exynosautov9-cmu-peris
  177 
  178     then:
  179       properties:
  180         clocks:
  181           items:
  182             - description: External reference clock (26 MHz)
  183             - description: CMU_PERIS bus clock (from CMU_TOP)
  184 
  185         clock-names:
  186           items:
  187             - const: oscclk
  188             - const: dout_clkcmu_peris_bus
  189 
  190 required:
  191   - compatible
  192   - "#clock-cells"
  193   - clocks
  194   - clock-names
  195   - reg
  196 
  197 additionalProperties: false
  198 
  199 examples:
  200   # Clock controller node for CMU_FSYS2
  201   - |
  202     #include <dt-bindings/clock/samsung,exynosautov9.h>
  203 
  204     cmu_fsys2: clock-controller@17c00000 {
  205         compatible = "samsung,exynosautov9-cmu-fsys2";
  206         reg = <0x17c00000 0x8000>;
  207         #clock-cells = <1>;
  208 
  209         clocks = <&xtcxo>,
  210                  <&cmu_top DOUT_CLKCMU_FSYS2_BUS>,
  211                  <&cmu_top DOUT_CLKCMU_FSYS2_UFS_EMBD>,
  212                  <&cmu_top DOUT_CLKCMU_FSYS2_ETHERNET>;
  213         clock-names = "oscclk",
  214                       "dout_clkcmu_fsys2_bus",
  215                       "dout_fsys2_clkcmu_ufs_embd",
  216                       "dout_fsys2_clkcmu_ethernet";
  217     };
  218 
  219 ...

Cache object: ac48617d9520185506c815d1bfc2a44c


[ 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.