xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/msm/dsi-controller-main.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
75956d97fSEmmanuel Vadottitle: Qualcomm Display DSI controller
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Krishna Manikandan <quic_mkrishn@quicinc.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotproperties:
135956d97fSEmmanuel Vadot  compatible:
14cb7aa33aSEmmanuel Vadot    oneOf:
15cb7aa33aSEmmanuel Vadot      - items:
16cb7aa33aSEmmanuel Vadot          - enum:
17cb7aa33aSEmmanuel Vadot              - qcom,apq8064-dsi-ctrl
18f126890aSEmmanuel Vadot              - qcom,msm8226-dsi-ctrl
19cb7aa33aSEmmanuel Vadot              - qcom,msm8916-dsi-ctrl
20cb7aa33aSEmmanuel Vadot              - qcom,msm8953-dsi-ctrl
21cb7aa33aSEmmanuel Vadot              - qcom,msm8974-dsi-ctrl
2201950c46SEmmanuel Vadot              - qcom,msm8976-dsi-ctrl
23cb7aa33aSEmmanuel Vadot              - qcom,msm8996-dsi-ctrl
24cb7aa33aSEmmanuel Vadot              - qcom,msm8998-dsi-ctrl
25cb7aa33aSEmmanuel Vadot              - qcom,qcm2290-dsi-ctrl
26cb7aa33aSEmmanuel Vadot              - qcom,sc7180-dsi-ctrl
27cb7aa33aSEmmanuel Vadot              - qcom,sc7280-dsi-ctrl
28cb7aa33aSEmmanuel Vadot              - qcom,sdm660-dsi-ctrl
298d13bc63SEmmanuel Vadot              - qcom,sdm670-dsi-ctrl
30cb7aa33aSEmmanuel Vadot              - qcom,sdm845-dsi-ctrl
31fac71e4eSEmmanuel Vadot              - qcom,sm6115-dsi-ctrl
32aa1a8ff2SEmmanuel Vadot              - qcom,sm6125-dsi-ctrl
33f126890aSEmmanuel Vadot              - qcom,sm6350-dsi-ctrl
34f126890aSEmmanuel Vadot              - qcom,sm6375-dsi-ctrl
35*0e8011faSEmmanuel Vadot              - qcom,sm7150-dsi-ctrl
36cb7aa33aSEmmanuel Vadot              - qcom,sm8150-dsi-ctrl
37cb7aa33aSEmmanuel Vadot              - qcom,sm8250-dsi-ctrl
38cb7aa33aSEmmanuel Vadot              - qcom,sm8350-dsi-ctrl
39cb7aa33aSEmmanuel Vadot              - qcom,sm8450-dsi-ctrl
40cb7aa33aSEmmanuel Vadot              - qcom,sm8550-dsi-ctrl
418d13bc63SEmmanuel Vadot              - qcom,sm8650-dsi-ctrl
42cb7aa33aSEmmanuel Vadot          - const: qcom,mdss-dsi-ctrl
43cb7aa33aSEmmanuel Vadot      - enum:
44fac71e4eSEmmanuel Vadot          - qcom,dsi-ctrl-6g-qcm2290
45fac71e4eSEmmanuel Vadot          - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
46cb7aa33aSEmmanuel Vadot        deprecated: true
475956d97fSEmmanuel Vadot
485956d97fSEmmanuel Vadot  reg:
495956d97fSEmmanuel Vadot    maxItems: 1
505956d97fSEmmanuel Vadot
515956d97fSEmmanuel Vadot  reg-names:
525956d97fSEmmanuel Vadot    const: dsi_ctrl
535956d97fSEmmanuel Vadot
545956d97fSEmmanuel Vadot  interrupts:
555956d97fSEmmanuel Vadot    maxItems: 1
565956d97fSEmmanuel Vadot
575956d97fSEmmanuel Vadot  clocks:
58cb7aa33aSEmmanuel Vadot    description: |
59cb7aa33aSEmmanuel Vadot      Several clocks are used, depending on the variant. Typical ones are::
60cb7aa33aSEmmanuel Vadot       - bus:: Display AHB clock.
61cb7aa33aSEmmanuel Vadot       - byte:: Display byte clock.
62cb7aa33aSEmmanuel Vadot       - byte_intf:: Display byte interface clock.
63cb7aa33aSEmmanuel Vadot       - core:: Display core clock.
64cb7aa33aSEmmanuel Vadot       - core_mss:: Core MultiMedia SubSystem clock.
65cb7aa33aSEmmanuel Vadot       - iface:: Display AXI clock.
66cb7aa33aSEmmanuel Vadot       - mdp_core:: MDP Core clock.
67cb7aa33aSEmmanuel Vadot       - mnoc:: MNOC clock
68cb7aa33aSEmmanuel Vadot       - pixel:: Display pixel clock.
69cb7aa33aSEmmanuel Vadot    minItems: 3
70cb7aa33aSEmmanuel Vadot    maxItems: 9
715956d97fSEmmanuel Vadot
725956d97fSEmmanuel Vadot  clock-names:
73cb7aa33aSEmmanuel Vadot    minItems: 3
74cb7aa33aSEmmanuel Vadot    maxItems: 9
755956d97fSEmmanuel Vadot
765956d97fSEmmanuel Vadot  phys:
775956d97fSEmmanuel Vadot    maxItems: 1
785956d97fSEmmanuel Vadot
795956d97fSEmmanuel Vadot  phy-names:
808bab661aSEmmanuel Vadot    deprecated: true
815956d97fSEmmanuel Vadot    const: dsi
825956d97fSEmmanuel Vadot
835956d97fSEmmanuel Vadot  syscon-sfpb:
845956d97fSEmmanuel Vadot    description: A phandle to mmss_sfpb syscon node (only for DSIv2).
85fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
865956d97fSEmmanuel Vadot
875956d97fSEmmanuel Vadot  qcom,dual-dsi-mode:
885956d97fSEmmanuel Vadot    type: boolean
895956d97fSEmmanuel Vadot    description: |
905956d97fSEmmanuel Vadot      Indicates if the DSI controller is driving a panel which needs
915956d97fSEmmanuel Vadot      2 DSI links.
925956d97fSEmmanuel Vadot
93fac71e4eSEmmanuel Vadot  qcom,master-dsi:
94fac71e4eSEmmanuel Vadot    type: boolean
95fac71e4eSEmmanuel Vadot    description: |
96fac71e4eSEmmanuel Vadot      Indicates if the DSI controller is the master DSI controller when
97fac71e4eSEmmanuel Vadot      qcom,dual-dsi-mode enabled.
98fac71e4eSEmmanuel Vadot
99fac71e4eSEmmanuel Vadot  qcom,sync-dual-dsi:
100fac71e4eSEmmanuel Vadot    type: boolean
101fac71e4eSEmmanuel Vadot    description: |
102fac71e4eSEmmanuel Vadot      Indicates if the DSI controller needs to sync the other DSI controller
103fac71e4eSEmmanuel Vadot      with MIPI DCS commands when qcom,dual-dsi-mode enabled.
104fac71e4eSEmmanuel Vadot
105354d7675SEmmanuel Vadot  assigned-clocks:
106cb7aa33aSEmmanuel Vadot    minItems: 2
107cb7aa33aSEmmanuel Vadot    maxItems: 4
108354d7675SEmmanuel Vadot    description: |
109354d7675SEmmanuel Vadot      Parents of "byte" and "pixel" for the given platform.
110cb7aa33aSEmmanuel Vadot      For DSIv2 platforms this should contain "byte", "esc", "src" and
111cb7aa33aSEmmanuel Vadot      "pixel_src" clocks.
112354d7675SEmmanuel Vadot
113354d7675SEmmanuel Vadot  assigned-clock-parents:
114cb7aa33aSEmmanuel Vadot    minItems: 2
115cb7aa33aSEmmanuel Vadot    maxItems: 4
116354d7675SEmmanuel Vadot    description: |
117354d7675SEmmanuel Vadot      The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.
118354d7675SEmmanuel Vadot
1195956d97fSEmmanuel Vadot  power-domains:
1205956d97fSEmmanuel Vadot    maxItems: 1
1215956d97fSEmmanuel Vadot
1225956d97fSEmmanuel Vadot  operating-points-v2: true
1235956d97fSEmmanuel Vadot
1248bab661aSEmmanuel Vadot  opp-table:
1258bab661aSEmmanuel Vadot    type: object
1268bab661aSEmmanuel Vadot
1275956d97fSEmmanuel Vadot  ports:
128fac71e4eSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
1295956d97fSEmmanuel Vadot    description: |
1305956d97fSEmmanuel Vadot      Contains DSI controller input and output ports as children, each
1315956d97fSEmmanuel Vadot      containing one endpoint subnode.
1325956d97fSEmmanuel Vadot
1335956d97fSEmmanuel Vadot    properties:
1345956d97fSEmmanuel Vadot      port@0:
135fac71e4eSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
136354d7675SEmmanuel Vadot        unevaluatedProperties: false
1375956d97fSEmmanuel Vadot        description: |
1385956d97fSEmmanuel Vadot          Input endpoints of the controller.
1395956d97fSEmmanuel Vadot        properties:
1405956d97fSEmmanuel Vadot          endpoint:
1415956d97fSEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
1425956d97fSEmmanuel Vadot            unevaluatedProperties: false
1435956d97fSEmmanuel Vadot            properties:
1445956d97fSEmmanuel Vadot              data-lanes:
1455956d97fSEmmanuel Vadot                maxItems: 4
146cb7aa33aSEmmanuel Vadot                minItems: 1
1475956d97fSEmmanuel Vadot                items:
1485956d97fSEmmanuel Vadot                  enum: [ 0, 1, 2, 3 ]
1495956d97fSEmmanuel Vadot
1505956d97fSEmmanuel Vadot      port@1:
151fac71e4eSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
152354d7675SEmmanuel Vadot        unevaluatedProperties: false
1535956d97fSEmmanuel Vadot        description: |
1545956d97fSEmmanuel Vadot          Output endpoints of the controller.
1555956d97fSEmmanuel Vadot        properties:
1565956d97fSEmmanuel Vadot          endpoint:
1575956d97fSEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
1585956d97fSEmmanuel Vadot            unevaluatedProperties: false
1595956d97fSEmmanuel Vadot            properties:
1605956d97fSEmmanuel Vadot              data-lanes:
1615956d97fSEmmanuel Vadot                maxItems: 4
162cb7aa33aSEmmanuel Vadot                minItems: 1
1635956d97fSEmmanuel Vadot                items:
1645956d97fSEmmanuel Vadot                  enum: [ 0, 1, 2, 3 ]
1655956d97fSEmmanuel Vadot
166*0e8011faSEmmanuel Vadot              qcom,te-source:
167*0e8011faSEmmanuel Vadot                $ref: /schemas/types.yaml#/definitions/string
168*0e8011faSEmmanuel Vadot                description:
169*0e8011faSEmmanuel Vadot                  Specifies the source of vsync signal from the panel used for
170*0e8011faSEmmanuel Vadot                  tearing elimination.
171*0e8011faSEmmanuel Vadot                default: mdp_vsync_p
172*0e8011faSEmmanuel Vadot                enum:
173*0e8011faSEmmanuel Vadot                  - mdp_vsync_p
174*0e8011faSEmmanuel Vadot                  - mdp_vsync_s
175*0e8011faSEmmanuel Vadot                  - mdp_vsync_e
176*0e8011faSEmmanuel Vadot                  - timer0
177*0e8011faSEmmanuel Vadot                  - timer1
178*0e8011faSEmmanuel Vadot                  - timer2
179*0e8011faSEmmanuel Vadot                  - timer3
180*0e8011faSEmmanuel Vadot                  - timer4
181*0e8011faSEmmanuel Vadot
1825956d97fSEmmanuel Vadot    required:
1835956d97fSEmmanuel Vadot      - port@0
1845956d97fSEmmanuel Vadot      - port@1
1855956d97fSEmmanuel Vadot
186cb7aa33aSEmmanuel Vadot  avdd-supply:
187cb7aa33aSEmmanuel Vadot    description:
188cb7aa33aSEmmanuel Vadot      Phandle to vdd regulator device node
189cb7aa33aSEmmanuel Vadot
190aa1a8ff2SEmmanuel Vadot  refgen-supply:
191aa1a8ff2SEmmanuel Vadot    description:
192aa1a8ff2SEmmanuel Vadot      Phandle to REFGEN regulator device node
193aa1a8ff2SEmmanuel Vadot
194cb7aa33aSEmmanuel Vadot  vcca-supply:
195cb7aa33aSEmmanuel Vadot    description:
196cb7aa33aSEmmanuel Vadot      Phandle to vdd regulator device node
197cb7aa33aSEmmanuel Vadot
198cb7aa33aSEmmanuel Vadot  vdd-supply:
199cb7aa33aSEmmanuel Vadot    description:
200cb7aa33aSEmmanuel Vadot      VDD regulator
201cb7aa33aSEmmanuel Vadot
202cb7aa33aSEmmanuel Vadot  vddio-supply:
203cb7aa33aSEmmanuel Vadot    description:
204cb7aa33aSEmmanuel Vadot      VDD-IO regulator
205cb7aa33aSEmmanuel Vadot
206cb7aa33aSEmmanuel Vadot  vdda-supply:
207cb7aa33aSEmmanuel Vadot    description:
208cb7aa33aSEmmanuel Vadot      VDDA regulator
209cb7aa33aSEmmanuel Vadot
2105956d97fSEmmanuel Vadotrequired:
2115956d97fSEmmanuel Vadot  - compatible
2125956d97fSEmmanuel Vadot  - reg
2135956d97fSEmmanuel Vadot  - reg-names
2145956d97fSEmmanuel Vadot  - interrupts
2155956d97fSEmmanuel Vadot  - clocks
2165956d97fSEmmanuel Vadot  - clock-names
2175956d97fSEmmanuel Vadot  - phys
218354d7675SEmmanuel Vadot  - assigned-clocks
219354d7675SEmmanuel Vadot  - assigned-clock-parents
2205956d97fSEmmanuel Vadot  - ports
2215956d97fSEmmanuel Vadot
222cb7aa33aSEmmanuel VadotallOf:
223cb7aa33aSEmmanuel Vadot  - $ref: ../dsi-controller.yaml#
224cb7aa33aSEmmanuel Vadot  - if:
225cb7aa33aSEmmanuel Vadot      properties:
226cb7aa33aSEmmanuel Vadot        compatible:
227cb7aa33aSEmmanuel Vadot          contains:
228cb7aa33aSEmmanuel Vadot            enum:
229cb7aa33aSEmmanuel Vadot              - qcom,apq8064-dsi-ctrl
230cb7aa33aSEmmanuel Vadot    then:
231cb7aa33aSEmmanuel Vadot      properties:
232cb7aa33aSEmmanuel Vadot        clocks:
233cb7aa33aSEmmanuel Vadot          maxItems: 7
234cb7aa33aSEmmanuel Vadot        clock-names:
235cb7aa33aSEmmanuel Vadot          items:
236cb7aa33aSEmmanuel Vadot            - const: iface
237cb7aa33aSEmmanuel Vadot            - const: bus
238cb7aa33aSEmmanuel Vadot            - const: core_mmss
239cb7aa33aSEmmanuel Vadot            - const: src
240cb7aa33aSEmmanuel Vadot            - const: byte
241cb7aa33aSEmmanuel Vadot            - const: pixel
242cb7aa33aSEmmanuel Vadot            - const: core
243cb7aa33aSEmmanuel Vadot
244cb7aa33aSEmmanuel Vadot  - if:
245cb7aa33aSEmmanuel Vadot      properties:
246cb7aa33aSEmmanuel Vadot        compatible:
247cb7aa33aSEmmanuel Vadot          contains:
248cb7aa33aSEmmanuel Vadot            enum:
249cb7aa33aSEmmanuel Vadot              - qcom,msm8916-dsi-ctrl
250cb7aa33aSEmmanuel Vadot    then:
251cb7aa33aSEmmanuel Vadot      properties:
252cb7aa33aSEmmanuel Vadot        clocks:
253cb7aa33aSEmmanuel Vadot          maxItems: 6
254cb7aa33aSEmmanuel Vadot        clock-names:
255cb7aa33aSEmmanuel Vadot          items:
256cb7aa33aSEmmanuel Vadot            - const: mdp_core
257cb7aa33aSEmmanuel Vadot            - const: iface
258cb7aa33aSEmmanuel Vadot            - const: bus
259cb7aa33aSEmmanuel Vadot            - const: byte
260cb7aa33aSEmmanuel Vadot            - const: pixel
261cb7aa33aSEmmanuel Vadot            - const: core
262cb7aa33aSEmmanuel Vadot
263cb7aa33aSEmmanuel Vadot  - if:
264cb7aa33aSEmmanuel Vadot      properties:
265cb7aa33aSEmmanuel Vadot        compatible:
266cb7aa33aSEmmanuel Vadot          contains:
267cb7aa33aSEmmanuel Vadot            enum:
268cb7aa33aSEmmanuel Vadot              - qcom,msm8953-dsi-ctrl
26901950c46SEmmanuel Vadot              - qcom,msm8976-dsi-ctrl
270cb7aa33aSEmmanuel Vadot    then:
271cb7aa33aSEmmanuel Vadot      properties:
272cb7aa33aSEmmanuel Vadot        clocks:
273cb7aa33aSEmmanuel Vadot          maxItems: 6
274cb7aa33aSEmmanuel Vadot        clock-names:
275cb7aa33aSEmmanuel Vadot          items:
276cb7aa33aSEmmanuel Vadot            - const: mdp_core
277cb7aa33aSEmmanuel Vadot            - const: iface
278cb7aa33aSEmmanuel Vadot            - const: bus
279cb7aa33aSEmmanuel Vadot            - const: byte
280cb7aa33aSEmmanuel Vadot            - const: pixel
281cb7aa33aSEmmanuel Vadot            - const: core
282cb7aa33aSEmmanuel Vadot
283cb7aa33aSEmmanuel Vadot  - if:
284cb7aa33aSEmmanuel Vadot      properties:
285cb7aa33aSEmmanuel Vadot        compatible:
286cb7aa33aSEmmanuel Vadot          contains:
287cb7aa33aSEmmanuel Vadot            enum:
288f126890aSEmmanuel Vadot              - qcom,msm8226-dsi-ctrl
289cb7aa33aSEmmanuel Vadot              - qcom,msm8974-dsi-ctrl
290cb7aa33aSEmmanuel Vadot    then:
291cb7aa33aSEmmanuel Vadot      properties:
292cb7aa33aSEmmanuel Vadot        clocks:
293cb7aa33aSEmmanuel Vadot          maxItems: 7
294cb7aa33aSEmmanuel Vadot        clock-names:
295cb7aa33aSEmmanuel Vadot          items:
296cb7aa33aSEmmanuel Vadot            - const: mdp_core
297cb7aa33aSEmmanuel Vadot            - const: iface
298cb7aa33aSEmmanuel Vadot            - const: bus
299cb7aa33aSEmmanuel Vadot            - const: byte
300cb7aa33aSEmmanuel Vadot            - const: pixel
301cb7aa33aSEmmanuel Vadot            - const: core
302cb7aa33aSEmmanuel Vadot            - const: core_mmss
303cb7aa33aSEmmanuel Vadot
304cb7aa33aSEmmanuel Vadot  - if:
305cb7aa33aSEmmanuel Vadot      properties:
306cb7aa33aSEmmanuel Vadot        compatible:
307cb7aa33aSEmmanuel Vadot          contains:
308cb7aa33aSEmmanuel Vadot            enum:
309cb7aa33aSEmmanuel Vadot              - qcom,msm8996-dsi-ctrl
310cb7aa33aSEmmanuel Vadot    then:
311cb7aa33aSEmmanuel Vadot      properties:
312cb7aa33aSEmmanuel Vadot        clocks:
313cb7aa33aSEmmanuel Vadot          maxItems: 7
314cb7aa33aSEmmanuel Vadot        clock-names:
315cb7aa33aSEmmanuel Vadot          items:
316cb7aa33aSEmmanuel Vadot            - const: mdp_core
317cb7aa33aSEmmanuel Vadot            - const: byte
318cb7aa33aSEmmanuel Vadot            - const: iface
319cb7aa33aSEmmanuel Vadot            - const: bus
320cb7aa33aSEmmanuel Vadot            - const: core_mmss
321cb7aa33aSEmmanuel Vadot            - const: pixel
322cb7aa33aSEmmanuel Vadot            - const: core
323cb7aa33aSEmmanuel Vadot
324cb7aa33aSEmmanuel Vadot  - if:
325cb7aa33aSEmmanuel Vadot      properties:
326cb7aa33aSEmmanuel Vadot        compatible:
327cb7aa33aSEmmanuel Vadot          contains:
328cb7aa33aSEmmanuel Vadot            enum:
329cb7aa33aSEmmanuel Vadot              - qcom,msm8998-dsi-ctrl
330aa1a8ff2SEmmanuel Vadot              - qcom,sm6125-dsi-ctrl
331f126890aSEmmanuel Vadot              - qcom,sm6350-dsi-ctrl
332cb7aa33aSEmmanuel Vadot    then:
333cb7aa33aSEmmanuel Vadot      properties:
334cb7aa33aSEmmanuel Vadot        clocks:
335cb7aa33aSEmmanuel Vadot          maxItems: 6
336cb7aa33aSEmmanuel Vadot        clock-names:
337cb7aa33aSEmmanuel Vadot          items:
338cb7aa33aSEmmanuel Vadot            - const: byte
339cb7aa33aSEmmanuel Vadot            - const: byte_intf
340cb7aa33aSEmmanuel Vadot            - const: pixel
341cb7aa33aSEmmanuel Vadot            - const: core
342cb7aa33aSEmmanuel Vadot            - const: iface
343cb7aa33aSEmmanuel Vadot            - const: bus
344cb7aa33aSEmmanuel Vadot
345cb7aa33aSEmmanuel Vadot  - if:
346cb7aa33aSEmmanuel Vadot      properties:
347cb7aa33aSEmmanuel Vadot        compatible:
348cb7aa33aSEmmanuel Vadot          contains:
349cb7aa33aSEmmanuel Vadot            enum:
350cb7aa33aSEmmanuel Vadot              - qcom,sc7180-dsi-ctrl
351cb7aa33aSEmmanuel Vadot              - qcom,sc7280-dsi-ctrl
352*0e8011faSEmmanuel Vadot              - qcom,sm7150-dsi-ctrl
353cb7aa33aSEmmanuel Vadot              - qcom,sm8150-dsi-ctrl
354cb7aa33aSEmmanuel Vadot              - qcom,sm8250-dsi-ctrl
355cb7aa33aSEmmanuel Vadot              - qcom,sm8350-dsi-ctrl
356cb7aa33aSEmmanuel Vadot              - qcom,sm8450-dsi-ctrl
357cb7aa33aSEmmanuel Vadot              - qcom,sm8550-dsi-ctrl
3588d13bc63SEmmanuel Vadot              - qcom,sm8650-dsi-ctrl
359cb7aa33aSEmmanuel Vadot    then:
360cb7aa33aSEmmanuel Vadot      properties:
361cb7aa33aSEmmanuel Vadot        clocks:
362cb7aa33aSEmmanuel Vadot          maxItems: 6
363cb7aa33aSEmmanuel Vadot        clock-names:
364cb7aa33aSEmmanuel Vadot          items:
365cb7aa33aSEmmanuel Vadot            - const: byte
366cb7aa33aSEmmanuel Vadot            - const: byte_intf
367cb7aa33aSEmmanuel Vadot            - const: pixel
368cb7aa33aSEmmanuel Vadot            - const: core
369cb7aa33aSEmmanuel Vadot            - const: iface
370cb7aa33aSEmmanuel Vadot            - const: bus
371cb7aa33aSEmmanuel Vadot
372cb7aa33aSEmmanuel Vadot  - if:
373cb7aa33aSEmmanuel Vadot      properties:
374cb7aa33aSEmmanuel Vadot        compatible:
375cb7aa33aSEmmanuel Vadot          contains:
376cb7aa33aSEmmanuel Vadot            enum:
377cb7aa33aSEmmanuel Vadot              - qcom,sdm660-dsi-ctrl
378cb7aa33aSEmmanuel Vadot    then:
379cb7aa33aSEmmanuel Vadot      properties:
380cb7aa33aSEmmanuel Vadot        clocks:
381cb7aa33aSEmmanuel Vadot          maxItems: 9
382cb7aa33aSEmmanuel Vadot        clock-names:
383cb7aa33aSEmmanuel Vadot          items:
384cb7aa33aSEmmanuel Vadot            - const: mdp_core
385cb7aa33aSEmmanuel Vadot            - const: byte
386cb7aa33aSEmmanuel Vadot            - const: byte_intf
387cb7aa33aSEmmanuel Vadot            - const: mnoc
388cb7aa33aSEmmanuel Vadot            - const: iface
389cb7aa33aSEmmanuel Vadot            - const: bus
390cb7aa33aSEmmanuel Vadot            - const: core_mmss
391cb7aa33aSEmmanuel Vadot            - const: pixel
392cb7aa33aSEmmanuel Vadot            - const: core
393cb7aa33aSEmmanuel Vadot
394cb7aa33aSEmmanuel Vadot  - if:
395cb7aa33aSEmmanuel Vadot      properties:
396cb7aa33aSEmmanuel Vadot        compatible:
397cb7aa33aSEmmanuel Vadot          contains:
398cb7aa33aSEmmanuel Vadot            enum:
399cb7aa33aSEmmanuel Vadot              - qcom,sdm845-dsi-ctrl
400fac71e4eSEmmanuel Vadot              - qcom,sm6115-dsi-ctrl
401f126890aSEmmanuel Vadot              - qcom,sm6375-dsi-ctrl
402cb7aa33aSEmmanuel Vadot    then:
403cb7aa33aSEmmanuel Vadot      properties:
404cb7aa33aSEmmanuel Vadot        clocks:
405cb7aa33aSEmmanuel Vadot          maxItems: 6
406cb7aa33aSEmmanuel Vadot        clock-names:
407cb7aa33aSEmmanuel Vadot          items:
408cb7aa33aSEmmanuel Vadot            - const: byte
409cb7aa33aSEmmanuel Vadot            - const: byte_intf
410cb7aa33aSEmmanuel Vadot            - const: pixel
411cb7aa33aSEmmanuel Vadot            - const: core
412cb7aa33aSEmmanuel Vadot            - const: iface
413cb7aa33aSEmmanuel Vadot            - const: bus
414cb7aa33aSEmmanuel Vadot
415cb7aa33aSEmmanuel VadotunevaluatedProperties: false
4165956d97fSEmmanuel Vadot
4175956d97fSEmmanuel Vadotexamples:
4185956d97fSEmmanuel Vadot  - |
4195956d97fSEmmanuel Vadot     #include <dt-bindings/interrupt-controller/arm-gic.h>
4205956d97fSEmmanuel Vadot     #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
4215956d97fSEmmanuel Vadot     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
4225956d97fSEmmanuel Vadot     #include <dt-bindings/power/qcom-rpmpd.h>
4235956d97fSEmmanuel Vadot
4245956d97fSEmmanuel Vadot     dsi@ae94000 {
425cb7aa33aSEmmanuel Vadot           compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl";
4265956d97fSEmmanuel Vadot           reg = <0x0ae94000 0x400>;
4275956d97fSEmmanuel Vadot           reg-names = "dsi_ctrl";
4285956d97fSEmmanuel Vadot
4295956d97fSEmmanuel Vadot           #address-cells = <1>;
4305956d97fSEmmanuel Vadot           #size-cells = <0>;
4315956d97fSEmmanuel Vadot
4325956d97fSEmmanuel Vadot           interrupt-parent = <&mdss>;
4335956d97fSEmmanuel Vadot           interrupts = <4>;
4345956d97fSEmmanuel Vadot
4355956d97fSEmmanuel Vadot           clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
4365956d97fSEmmanuel Vadot                    <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
4375956d97fSEmmanuel Vadot                    <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
4385956d97fSEmmanuel Vadot                    <&dispcc DISP_CC_MDSS_ESC0_CLK>,
4395956d97fSEmmanuel Vadot                    <&dispcc DISP_CC_MDSS_AHB_CLK>,
4405956d97fSEmmanuel Vadot                    <&dispcc DISP_CC_MDSS_AXI_CLK>;
4415956d97fSEmmanuel Vadot           clock-names = "byte",
4425956d97fSEmmanuel Vadot                         "byte_intf",
4435956d97fSEmmanuel Vadot                         "pixel",
4445956d97fSEmmanuel Vadot                         "core",
4455956d97fSEmmanuel Vadot                         "iface",
4465956d97fSEmmanuel Vadot                         "bus";
4475956d97fSEmmanuel Vadot
4485956d97fSEmmanuel Vadot           phys = <&dsi0_phy>;
4495956d97fSEmmanuel Vadot           phy-names = "dsi";
4505956d97fSEmmanuel Vadot
451354d7675SEmmanuel Vadot           assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
452354d7675SEmmanuel Vadot           assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>;
453354d7675SEmmanuel Vadot
4545956d97fSEmmanuel Vadot           power-domains = <&rpmhpd SC7180_CX>;
4555956d97fSEmmanuel Vadot           operating-points-v2 = <&dsi_opp_table>;
4565956d97fSEmmanuel Vadot
4575956d97fSEmmanuel Vadot           ports {
4585956d97fSEmmanuel Vadot                  #address-cells = <1>;
4595956d97fSEmmanuel Vadot                  #size-cells = <0>;
4605956d97fSEmmanuel Vadot
4615956d97fSEmmanuel Vadot                  port@0 {
4625956d97fSEmmanuel Vadot                          reg = <0>;
4635956d97fSEmmanuel Vadot                          dsi0_in: endpoint {
4645956d97fSEmmanuel Vadot                                   remote-endpoint = <&dpu_intf1_out>;
4655956d97fSEmmanuel Vadot                          };
4665956d97fSEmmanuel Vadot                  };
4675956d97fSEmmanuel Vadot
4685956d97fSEmmanuel Vadot                  port@1 {
4695956d97fSEmmanuel Vadot                          reg = <1>;
4705956d97fSEmmanuel Vadot                          dsi0_out: endpoint {
4715956d97fSEmmanuel Vadot                                   remote-endpoint = <&sn65dsi86_in>;
4725956d97fSEmmanuel Vadot                                   data-lanes = <0 1 2 3>;
473*0e8011faSEmmanuel Vadot                                   qcom,te-source = "mdp_vsync_e";
4745956d97fSEmmanuel Vadot                          };
4755956d97fSEmmanuel Vadot                  };
4765956d97fSEmmanuel Vadot           };
4775956d97fSEmmanuel Vadot     };
4785956d97fSEmmanuel Vadot...
479