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/tesla,fsd-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/tesla,fsd-clock.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Tesla FSD (Full Self-Driving) SoC clock controller
    8 
    9 maintainers:
   10   - Alim Akhtar <alim.akhtar@samsung.com>
   11   - linux-fsd@tesla.com
   12 
   13 description: |
   14   FSD clock controller consist of several clock management unit
   15   (CMU), which generates clocks for various inteernal SoC blocks.
   16   The root clock comes from external OSC clock (24 MHz).
   17 
   18   All available clocks are defined as preprocessor macros in
   19   'dt-bindings/clock/fsd-clk.h' header.
   20 
   21 properties:
   22   compatible:
   23     enum:
   24       - tesla,fsd-clock-cmu
   25       - tesla,fsd-clock-imem
   26       - tesla,fsd-clock-peric
   27       - tesla,fsd-clock-fsys0
   28       - tesla,fsd-clock-fsys1
   29       - tesla,fsd-clock-mfc
   30       - tesla,fsd-clock-cam_csi
   31 
   32   clocks:
   33     minItems: 1
   34     maxItems: 6
   35 
   36   clock-names:
   37     minItems: 1
   38     maxItems: 6
   39 
   40   "#clock-cells":
   41     const: 1
   42 
   43   reg:
   44     maxItems: 1
   45 
   46 allOf:
   47   - if:
   48       properties:
   49         compatible:
   50           contains:
   51             const: tesla,fsd-clock-cmu
   52     then:
   53       properties:
   54         clocks:
   55           items:
   56             - description: External reference clock (24 MHz)
   57         clock-names:
   58           items:
   59             - const: fin_pll
   60 
   61   - if:
   62       properties:
   63         compatible:
   64           contains:
   65             const: tesla,fsd-clock-imem
   66     then:
   67       properties:
   68         clocks:
   69           items:
   70             - description: External reference clock (24 MHz)
   71             - description: IMEM TCU clock (from CMU_CMU)
   72             - description: IMEM bus clock (from CMU_CMU)
   73             - description: IMEM DMA clock (from CMU_CMU)
   74         clock-names:
   75           items:
   76             - const: fin_pll
   77             - const: dout_cmu_imem_tcuclk
   78             - const: dout_cmu_imem_aclk
   79             - const: dout_cmu_imem_dmaclk
   80 
   81   - if:
   82       properties:
   83         compatible:
   84           contains:
   85             const: tesla,fsd-clock-peric
   86     then:
   87       properties:
   88         clocks:
   89           items:
   90             - description: External reference clock (24 MHz)
   91             - description: Shared0 PLL div4 clock (from CMU_CMU)
   92             - description: PERIC shared1 div36 clock (from CMU_CMU)
   93             - description: PERIC shared0 div3 TBU clock (from CMU_CMU)
   94             - description: PERIC shared0 div20 clock (from CMU_CMU)
   95             - description: PERIC shared1 div4 DMAclock (from CMU_CMU)
   96         clock-names:
   97           items:
   98             - const: fin_pll
   99             - const: dout_cmu_pll_shared0_div4
  100             - const: dout_cmu_peric_shared1div36
  101             - const: dout_cmu_peric_shared0div3_tbuclk
  102             - const: dout_cmu_peric_shared0div20
  103             - const: dout_cmu_peric_shared1div4_dmaclk
  104 
  105   - if:
  106       properties:
  107         compatible:
  108           contains:
  109             const: tesla,fsd-clock-fsys0
  110     then:
  111       properties:
  112         clocks:
  113           items:
  114             - description: External reference clock (24 MHz)
  115             - description: Shared0 PLL div6 clock (from CMU_CMU)
  116             - description: FSYS0 shared1 div4 clock (from CMU_CMU)
  117             - description: FSYS0 shared0 div4 clock (from CMU_CMU)
  118         clock-names:
  119           items:
  120             - const: fin_pll
  121             - const: dout_cmu_pll_shared0_div6
  122             - const: dout_cmu_fsys0_shared1div4
  123             - const: dout_cmu_fsys0_shared0div4
  124 
  125   - if:
  126       properties:
  127         compatible:
  128           contains:
  129             const: tesla,fsd-clock-fsys1
  130     then:
  131       properties:
  132         clocks:
  133           items:
  134             - description: External reference clock (24 MHz)
  135             - description: FSYS1 shared0 div8 clock (from CMU_CMU)
  136             - description: FSYS1 shared0 div4 clock (from CMU_CMU)
  137         clock-names:
  138           items:
  139             - const: fin_pll
  140             - const: dout_cmu_fsys1_shared0div8
  141             - const: dout_cmu_fsys1_shared0div4
  142 
  143   - if:
  144       properties:
  145         compatible:
  146           contains:
  147             const: tesla,fsd-clock-mfc
  148     then:
  149       properties:
  150         clocks:
  151           items:
  152             - description: External reference clock (24 MHz)
  153         clock-names:
  154           items:
  155             - const: fin_pll
  156 
  157   - if:
  158       properties:
  159         compatible:
  160           contains:
  161             const: tesla,fsd-clock-cam_csi
  162     then:
  163       properties:
  164         clocks:
  165           items:
  166             - description: External reference clock (24 MHz)
  167         clock-names:
  168           items:
  169             - const: fin_pll
  170 
  171 required:
  172   - compatible
  173   - "#clock-cells"
  174   - clocks
  175   - clock-names
  176   - reg
  177 
  178 additionalProperties: false
  179 
  180 examples:
  181   # Clock controller node for CMU_FSYS1
  182   - |
  183     #include <dt-bindings/clock/fsd-clk.h>
  184 
  185     clock_fsys1: clock-controller@16810000 {
  186           compatible = "tesla,fsd-clock-fsys1";
  187           reg = <0x16810000 0x3000>;
  188           #clock-cells = <1>;
  189 
  190           clocks = <&fin_pll>,
  191                    <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV8>,
  192                    <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV4>;
  193           clock-names = "fin_pll",
  194                         "dout_cmu_fsys1_shared0div8",
  195                         "dout_cmu_fsys1_shared0div4";
  196     };
  197 
  198 ...

Cache object: 211970765b071d63446065e072ea18b4


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