File Index
Files and directories
Sign in
FILE

tesla,fsd-clock.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml YAML
  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
  7title: Tesla FSD (Full Self-Driving) SoC clock controller
  8
  9maintainers:
 10  - Alim Akhtar <alim.akhtar@samsung.com>
 11  - linux-fsd@tesla.com
 12
 13description: |
 14  FSD clock controller consist of several clock management unit
 15  (CMU), which generates clocks for various internal 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
 21properties:
 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
 46allOf:
 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
171required:
172  - compatible
173  - "#clock-cells"
174  - clocks
175  - clock-names
176  - reg
177
178additionalProperties: false
179
180examples:
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...
~/ Read-only file preview.