14dbe55c9SKrishna Manikandan# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
24dbe55c9SKrishna Manikandan%YAML 1.2
34dbe55c9SKrishna Manikandan---
44dbe55c9SKrishna Manikandan$id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
54dbe55c9SKrishna Manikandan$schema: http://devicetree.org/meta-schemas/core.yaml#
64dbe55c9SKrishna Manikandan
74dbe55c9SKrishna Manikandantitle: Qualcomm Display DSI controller
84dbe55c9SKrishna Manikandan
94dbe55c9SKrishna Manikandanmaintainers:
10cce65bb2SKrishna Manikandan  - Krishna Manikandan <quic_mkrishn@quicinc.com>
114dbe55c9SKrishna Manikandan
124dbe55c9SKrishna Manikandanproperties:
134dbe55c9SKrishna Manikandan  compatible:
140c0f65c6SBryan O'Donoghue    oneOf:
150c0f65c6SBryan O'Donoghue      - items:
160c0f65c6SBryan O'Donoghue          - enum:
170c0f65c6SBryan O'Donoghue              - qcom,apq8064-dsi-ctrl
180c0f65c6SBryan O'Donoghue              - qcom,msm8916-dsi-ctrl
190c0f65c6SBryan O'Donoghue              - qcom,msm8953-dsi-ctrl
200c0f65c6SBryan O'Donoghue              - qcom,msm8974-dsi-ctrl
210c0f65c6SBryan O'Donoghue              - qcom,msm8996-dsi-ctrl
220c0f65c6SBryan O'Donoghue              - qcom,msm8998-dsi-ctrl
230c0f65c6SBryan O'Donoghue              - qcom,qcm2290-dsi-ctrl
240c0f65c6SBryan O'Donoghue              - qcom,sc7180-dsi-ctrl
250c0f65c6SBryan O'Donoghue              - qcom,sc7280-dsi-ctrl
260c0f65c6SBryan O'Donoghue              - qcom,sdm660-dsi-ctrl
270c0f65c6SBryan O'Donoghue              - qcom,sdm845-dsi-ctrl
280c0f65c6SBryan O'Donoghue              - qcom,sm8150-dsi-ctrl
290c0f65c6SBryan O'Donoghue              - qcom,sm8250-dsi-ctrl
300c0f65c6SBryan O'Donoghue              - qcom,sm8350-dsi-ctrl
310c0f65c6SBryan O'Donoghue              - qcom,sm8450-dsi-ctrl
320c0f65c6SBryan O'Donoghue              - qcom,sm8550-dsi-ctrl
330c0f65c6SBryan O'Donoghue          - const: qcom,mdss-dsi-ctrl
340c0f65c6SBryan O'Donoghue      - items:
350c0f65c6SBryan O'Donoghue          - enum:
360c0f65c6SBryan O'Donoghue              - dsi-ctrl-6g-qcm2290
370c0f65c6SBryan O'Donoghue          - const: qcom,mdss-dsi-ctrl
380c0f65c6SBryan O'Donoghue        deprecated: true
394dbe55c9SKrishna Manikandan
404dbe55c9SKrishna Manikandan  reg:
414dbe55c9SKrishna Manikandan    maxItems: 1
424dbe55c9SKrishna Manikandan
434dbe55c9SKrishna Manikandan  reg-names:
444dbe55c9SKrishna Manikandan    const: dsi_ctrl
454dbe55c9SKrishna Manikandan
464dbe55c9SKrishna Manikandan  interrupts:
474dbe55c9SKrishna Manikandan    maxItems: 1
484dbe55c9SKrishna Manikandan
494dbe55c9SKrishna Manikandan  clocks:
50*d10bdc6eSBryan O'Donoghue    description: |
51*d10bdc6eSBryan O'Donoghue      Several clocks are used, depending on the variant. Typical ones are::
52*d10bdc6eSBryan O'Donoghue       - bus:: Display AHB clock.
53*d10bdc6eSBryan O'Donoghue       - byte:: Display byte clock.
54*d10bdc6eSBryan O'Donoghue       - byte_intf:: Display byte interface clock.
55*d10bdc6eSBryan O'Donoghue       - core:: Display core clock.
56*d10bdc6eSBryan O'Donoghue       - core_mss:: Core MultiMedia SubSystem clock.
57*d10bdc6eSBryan O'Donoghue       - iface:: Display AXI clock.
58*d10bdc6eSBryan O'Donoghue       - mdp_core:: MDP Core clock.
59*d10bdc6eSBryan O'Donoghue       - mnoc:: MNOC clock
60*d10bdc6eSBryan O'Donoghue       - pixel:: Display pixel clock.
61*d10bdc6eSBryan O'Donoghue    minItems: 3
62*d10bdc6eSBryan O'Donoghue    maxItems: 9
634dbe55c9SKrishna Manikandan
644dbe55c9SKrishna Manikandan  clock-names:
65*d10bdc6eSBryan O'Donoghue    minItems: 3
66*d10bdc6eSBryan O'Donoghue    maxItems: 9
674dbe55c9SKrishna Manikandan
684dbe55c9SKrishna Manikandan  phys:
694dbe55c9SKrishna Manikandan    maxItems: 1
704dbe55c9SKrishna Manikandan
714dbe55c9SKrishna Manikandan  phy-names:
72c5415562SBryan O'Donoghue    deprecated: true
734dbe55c9SKrishna Manikandan    const: dsi
744dbe55c9SKrishna Manikandan
754dbe55c9SKrishna Manikandan  "#address-cells": true
764dbe55c9SKrishna Manikandan
774dbe55c9SKrishna Manikandan  "#size-cells": true
784dbe55c9SKrishna Manikandan
794dbe55c9SKrishna Manikandan  syscon-sfpb:
804dbe55c9SKrishna Manikandan    description: A phandle to mmss_sfpb syscon node (only for DSIv2).
814dbe55c9SKrishna Manikandan    $ref: "/schemas/types.yaml#/definitions/phandle"
824dbe55c9SKrishna Manikandan
834dbe55c9SKrishna Manikandan  qcom,dual-dsi-mode:
844dbe55c9SKrishna Manikandan    type: boolean
854dbe55c9SKrishna Manikandan    description: |
864dbe55c9SKrishna Manikandan      Indicates if the DSI controller is driving a panel which needs
874dbe55c9SKrishna Manikandan      2 DSI links.
884dbe55c9SKrishna Manikandan
89061a9aeaSDmitry Baryshkov  assigned-clocks:
90061a9aeaSDmitry Baryshkov    maxItems: 2
91061a9aeaSDmitry Baryshkov    description: |
92061a9aeaSDmitry Baryshkov      Parents of "byte" and "pixel" for the given platform.
93061a9aeaSDmitry Baryshkov
94061a9aeaSDmitry Baryshkov  assigned-clock-parents:
95061a9aeaSDmitry Baryshkov    maxItems: 2
96061a9aeaSDmitry Baryshkov    description: |
97061a9aeaSDmitry Baryshkov      The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.
98061a9aeaSDmitry Baryshkov
994dbe55c9SKrishna Manikandan  power-domains:
1004dbe55c9SKrishna Manikandan    maxItems: 1
1014dbe55c9SKrishna Manikandan
1024dbe55c9SKrishna Manikandan  operating-points-v2: true
1034dbe55c9SKrishna Manikandan
104bac4ccceSDmitry Baryshkov  opp-table:
105bac4ccceSDmitry Baryshkov    type: object
106bac4ccceSDmitry Baryshkov
1074dbe55c9SKrishna Manikandan  ports:
1084dbe55c9SKrishna Manikandan    $ref: "/schemas/graph.yaml#/properties/ports"
1094dbe55c9SKrishna Manikandan    description: |
1104dbe55c9SKrishna Manikandan      Contains DSI controller input and output ports as children, each
1114dbe55c9SKrishna Manikandan      containing one endpoint subnode.
1124dbe55c9SKrishna Manikandan
1134dbe55c9SKrishna Manikandan    properties:
1144dbe55c9SKrishna Manikandan      port@0:
115b4db237eSRob Herring        $ref: "/schemas/graph.yaml#/$defs/port-base"
116b4db237eSRob Herring        unevaluatedProperties: false
1174dbe55c9SKrishna Manikandan        description: |
1184dbe55c9SKrishna Manikandan          Input endpoints of the controller.
1194dbe55c9SKrishna Manikandan        properties:
1204dbe55c9SKrishna Manikandan          endpoint:
1214dbe55c9SKrishna Manikandan            $ref: /schemas/media/video-interfaces.yaml#
1224dbe55c9SKrishna Manikandan            unevaluatedProperties: false
1234dbe55c9SKrishna Manikandan            properties:
1244dbe55c9SKrishna Manikandan              data-lanes:
1254dbe55c9SKrishna Manikandan                maxItems: 4
1264dbe55c9SKrishna Manikandan                minItems: 4
1274dbe55c9SKrishna Manikandan                items:
1284dbe55c9SKrishna Manikandan                  enum: [ 0, 1, 2, 3 ]
1294dbe55c9SKrishna Manikandan
1304dbe55c9SKrishna Manikandan      port@1:
131b4db237eSRob Herring        $ref: "/schemas/graph.yaml#/$defs/port-base"
132b4db237eSRob Herring        unevaluatedProperties: false
1334dbe55c9SKrishna Manikandan        description: |
1344dbe55c9SKrishna Manikandan          Output endpoints of the controller.
1354dbe55c9SKrishna Manikandan        properties:
1364dbe55c9SKrishna Manikandan          endpoint:
1374dbe55c9SKrishna Manikandan            $ref: /schemas/media/video-interfaces.yaml#
1384dbe55c9SKrishna Manikandan            unevaluatedProperties: false
1394dbe55c9SKrishna Manikandan            properties:
1404dbe55c9SKrishna Manikandan              data-lanes:
1414dbe55c9SKrishna Manikandan                maxItems: 4
1424dbe55c9SKrishna Manikandan                minItems: 4
1434dbe55c9SKrishna Manikandan                items:
1444dbe55c9SKrishna Manikandan                  enum: [ 0, 1, 2, 3 ]
1454dbe55c9SKrishna Manikandan
1464dbe55c9SKrishna Manikandan    required:
1474dbe55c9SKrishna Manikandan      - port@0
1484dbe55c9SKrishna Manikandan      - port@1
1494dbe55c9SKrishna Manikandan
150adf6a3ebSBryan O'Donoghue  vdd-supply:
151adf6a3ebSBryan O'Donoghue    description:
152adf6a3ebSBryan O'Donoghue      VDD regulator
153adf6a3ebSBryan O'Donoghue
154adf6a3ebSBryan O'Donoghue  vddio-supply:
155adf6a3ebSBryan O'Donoghue    description:
156adf6a3ebSBryan O'Donoghue      VDD-IO regulator
157adf6a3ebSBryan O'Donoghue
158adf6a3ebSBryan O'Donoghue  vdda-supply:
159adf6a3ebSBryan O'Donoghue    description:
160adf6a3ebSBryan O'Donoghue      VDDA regulator
161adf6a3ebSBryan O'Donoghue
1624dbe55c9SKrishna Manikandanrequired:
1634dbe55c9SKrishna Manikandan  - compatible
1644dbe55c9SKrishna Manikandan  - reg
1654dbe55c9SKrishna Manikandan  - reg-names
1664dbe55c9SKrishna Manikandan  - interrupts
1674dbe55c9SKrishna Manikandan  - clocks
1684dbe55c9SKrishna Manikandan  - clock-names
1694dbe55c9SKrishna Manikandan  - phys
170061a9aeaSDmitry Baryshkov  - assigned-clocks
171061a9aeaSDmitry Baryshkov  - assigned-clock-parents
1724dbe55c9SKrishna Manikandan  - ports
1734dbe55c9SKrishna Manikandan
174*d10bdc6eSBryan O'DonoghueallOf:
175*d10bdc6eSBryan O'Donoghue  - $ref: ../dsi-controller.yaml#
176*d10bdc6eSBryan O'Donoghue  - if:
177*d10bdc6eSBryan O'Donoghue      properties:
178*d10bdc6eSBryan O'Donoghue        compatible:
179*d10bdc6eSBryan O'Donoghue          contains:
180*d10bdc6eSBryan O'Donoghue            enum:
181*d10bdc6eSBryan O'Donoghue              - qcom,apq8064-dsi-ctrl
182*d10bdc6eSBryan O'Donoghue    then:
183*d10bdc6eSBryan O'Donoghue      properties:
184*d10bdc6eSBryan O'Donoghue        clocks:
185*d10bdc6eSBryan O'Donoghue          maxItems: 7
186*d10bdc6eSBryan O'Donoghue        clock-names:
187*d10bdc6eSBryan O'Donoghue          items:
188*d10bdc6eSBryan O'Donoghue            - const: iface
189*d10bdc6eSBryan O'Donoghue            - const: bus
190*d10bdc6eSBryan O'Donoghue            - const: core_mmss
191*d10bdc6eSBryan O'Donoghue            - const: src
192*d10bdc6eSBryan O'Donoghue            - const: byte
193*d10bdc6eSBryan O'Donoghue            - const: pixel
194*d10bdc6eSBryan O'Donoghue            - const: core
195*d10bdc6eSBryan O'Donoghue
196*d10bdc6eSBryan O'Donoghue  - if:
197*d10bdc6eSBryan O'Donoghue      properties:
198*d10bdc6eSBryan O'Donoghue        compatible:
199*d10bdc6eSBryan O'Donoghue          contains:
200*d10bdc6eSBryan O'Donoghue            enum:
201*d10bdc6eSBryan O'Donoghue              - qcom,msm8916-dsi-ctrl
202*d10bdc6eSBryan O'Donoghue    then:
203*d10bdc6eSBryan O'Donoghue      properties:
204*d10bdc6eSBryan O'Donoghue        clocks:
205*d10bdc6eSBryan O'Donoghue          maxItems: 6
206*d10bdc6eSBryan O'Donoghue        clock-names:
207*d10bdc6eSBryan O'Donoghue          items:
208*d10bdc6eSBryan O'Donoghue            - const: mdp_core
209*d10bdc6eSBryan O'Donoghue            - const: iface
210*d10bdc6eSBryan O'Donoghue            - const: bus
211*d10bdc6eSBryan O'Donoghue            - const: byte
212*d10bdc6eSBryan O'Donoghue            - const: pixel
213*d10bdc6eSBryan O'Donoghue            - const: core
214*d10bdc6eSBryan O'Donoghue
215*d10bdc6eSBryan O'Donoghue  - if:
216*d10bdc6eSBryan O'Donoghue      properties:
217*d10bdc6eSBryan O'Donoghue        compatible:
218*d10bdc6eSBryan O'Donoghue          contains:
219*d10bdc6eSBryan O'Donoghue            enum:
220*d10bdc6eSBryan O'Donoghue              - qcom,msm8953-dsi-ctrl
221*d10bdc6eSBryan O'Donoghue    then:
222*d10bdc6eSBryan O'Donoghue      properties:
223*d10bdc6eSBryan O'Donoghue        clocks:
224*d10bdc6eSBryan O'Donoghue          maxItems: 6
225*d10bdc6eSBryan O'Donoghue        clock-names:
226*d10bdc6eSBryan O'Donoghue          items:
227*d10bdc6eSBryan O'Donoghue            - const: mdp_core
228*d10bdc6eSBryan O'Donoghue            - const: iface
229*d10bdc6eSBryan O'Donoghue            - const: bus
230*d10bdc6eSBryan O'Donoghue            - const: byte
231*d10bdc6eSBryan O'Donoghue            - const: pixel
232*d10bdc6eSBryan O'Donoghue            - const: core
233*d10bdc6eSBryan O'Donoghue
234*d10bdc6eSBryan O'Donoghue  - if:
235*d10bdc6eSBryan O'Donoghue      properties:
236*d10bdc6eSBryan O'Donoghue        compatible:
237*d10bdc6eSBryan O'Donoghue          contains:
238*d10bdc6eSBryan O'Donoghue            enum:
239*d10bdc6eSBryan O'Donoghue              - qcom,msm8974-dsi-ctrl
240*d10bdc6eSBryan O'Donoghue    then:
241*d10bdc6eSBryan O'Donoghue      properties:
242*d10bdc6eSBryan O'Donoghue        clocks:
243*d10bdc6eSBryan O'Donoghue          maxItems: 7
244*d10bdc6eSBryan O'Donoghue        clock-names:
245*d10bdc6eSBryan O'Donoghue          items:
246*d10bdc6eSBryan O'Donoghue            - const: mdp_core
247*d10bdc6eSBryan O'Donoghue            - const: iface
248*d10bdc6eSBryan O'Donoghue            - const: bus
249*d10bdc6eSBryan O'Donoghue            - const: byte
250*d10bdc6eSBryan O'Donoghue            - const: pixel
251*d10bdc6eSBryan O'Donoghue            - const: core
252*d10bdc6eSBryan O'Donoghue            - const: core_mmss
253*d10bdc6eSBryan O'Donoghue
254*d10bdc6eSBryan O'Donoghue  - if:
255*d10bdc6eSBryan O'Donoghue      properties:
256*d10bdc6eSBryan O'Donoghue        compatible:
257*d10bdc6eSBryan O'Donoghue          contains:
258*d10bdc6eSBryan O'Donoghue            enum:
259*d10bdc6eSBryan O'Donoghue              - qcom,msm8996-dsi-ctrl
260*d10bdc6eSBryan O'Donoghue    then:
261*d10bdc6eSBryan O'Donoghue      properties:
262*d10bdc6eSBryan O'Donoghue        clocks:
263*d10bdc6eSBryan O'Donoghue          maxItems: 7
264*d10bdc6eSBryan O'Donoghue        clock-names:
265*d10bdc6eSBryan O'Donoghue          items:
266*d10bdc6eSBryan O'Donoghue            - const: mdp_core
267*d10bdc6eSBryan O'Donoghue            - const: byte
268*d10bdc6eSBryan O'Donoghue            - const: iface
269*d10bdc6eSBryan O'Donoghue            - const: bus
270*d10bdc6eSBryan O'Donoghue            - const: core_mmss
271*d10bdc6eSBryan O'Donoghue            - const: pixel
272*d10bdc6eSBryan O'Donoghue            - const: core
273*d10bdc6eSBryan O'Donoghue
274*d10bdc6eSBryan O'Donoghue  - if:
275*d10bdc6eSBryan O'Donoghue      properties:
276*d10bdc6eSBryan O'Donoghue        compatible:
277*d10bdc6eSBryan O'Donoghue          contains:
278*d10bdc6eSBryan O'Donoghue            enum:
279*d10bdc6eSBryan O'Donoghue              - qcom,msm8998-dsi-ctrl
280*d10bdc6eSBryan O'Donoghue    then:
281*d10bdc6eSBryan O'Donoghue      properties:
282*d10bdc6eSBryan O'Donoghue        clocks:
283*d10bdc6eSBryan O'Donoghue          maxItems: 6
284*d10bdc6eSBryan O'Donoghue        clock-names:
285*d10bdc6eSBryan O'Donoghue          items:
286*d10bdc6eSBryan O'Donoghue            - const: byte
287*d10bdc6eSBryan O'Donoghue            - const: byte_intf
288*d10bdc6eSBryan O'Donoghue            - const: pixel
289*d10bdc6eSBryan O'Donoghue            - const: core
290*d10bdc6eSBryan O'Donoghue            - const: iface
291*d10bdc6eSBryan O'Donoghue            - const: bus
292*d10bdc6eSBryan O'Donoghue
293*d10bdc6eSBryan O'Donoghue  - if:
294*d10bdc6eSBryan O'Donoghue      properties:
295*d10bdc6eSBryan O'Donoghue        compatible:
296*d10bdc6eSBryan O'Donoghue          contains:
297*d10bdc6eSBryan O'Donoghue            enum:
298*d10bdc6eSBryan O'Donoghue              - qcom,sc7180-dsi-ctrl
299*d10bdc6eSBryan O'Donoghue              - qcom,sc7280-dsi-ctrl
300*d10bdc6eSBryan O'Donoghue              - qcom,sm8150-dsi-ctrl
301*d10bdc6eSBryan O'Donoghue              - qcom,sm8250-dsi-ctrl
302*d10bdc6eSBryan O'Donoghue              - qcom,sm8350-dsi-ctrl
303*d10bdc6eSBryan O'Donoghue              - qcom,sm8450-dsi-ctrl
304*d10bdc6eSBryan O'Donoghue              - qcom,sm8550-dsi-ctrl
305*d10bdc6eSBryan O'Donoghue    then:
306*d10bdc6eSBryan O'Donoghue      properties:
307*d10bdc6eSBryan O'Donoghue        clocks:
308*d10bdc6eSBryan O'Donoghue          maxItems: 6
309*d10bdc6eSBryan O'Donoghue        clock-names:
310*d10bdc6eSBryan O'Donoghue          items:
311*d10bdc6eSBryan O'Donoghue            - const: byte
312*d10bdc6eSBryan O'Donoghue            - const: byte_intf
313*d10bdc6eSBryan O'Donoghue            - const: pixel
314*d10bdc6eSBryan O'Donoghue            - const: core
315*d10bdc6eSBryan O'Donoghue            - const: iface
316*d10bdc6eSBryan O'Donoghue            - const: bus
317*d10bdc6eSBryan O'Donoghue
318*d10bdc6eSBryan O'Donoghue  - if:
319*d10bdc6eSBryan O'Donoghue      properties:
320*d10bdc6eSBryan O'Donoghue        compatible:
321*d10bdc6eSBryan O'Donoghue          contains:
322*d10bdc6eSBryan O'Donoghue            enum:
323*d10bdc6eSBryan O'Donoghue              - qcom,sdm660-dsi-ctrl
324*d10bdc6eSBryan O'Donoghue    then:
325*d10bdc6eSBryan O'Donoghue      properties:
326*d10bdc6eSBryan O'Donoghue        clocks:
327*d10bdc6eSBryan O'Donoghue          maxItems: 9
328*d10bdc6eSBryan O'Donoghue        clock-names:
329*d10bdc6eSBryan O'Donoghue          items:
330*d10bdc6eSBryan O'Donoghue            - const: mdp_core
331*d10bdc6eSBryan O'Donoghue            - const: byte
332*d10bdc6eSBryan O'Donoghue            - const: byte_intf
333*d10bdc6eSBryan O'Donoghue            - const: mnoc
334*d10bdc6eSBryan O'Donoghue            - const: iface
335*d10bdc6eSBryan O'Donoghue            - const: bus
336*d10bdc6eSBryan O'Donoghue            - const: core_mmss
337*d10bdc6eSBryan O'Donoghue            - const: pixel
338*d10bdc6eSBryan O'Donoghue            - const: core
339*d10bdc6eSBryan O'Donoghue
340*d10bdc6eSBryan O'Donoghue  - if:
341*d10bdc6eSBryan O'Donoghue      properties:
342*d10bdc6eSBryan O'Donoghue        compatible:
343*d10bdc6eSBryan O'Donoghue          contains:
344*d10bdc6eSBryan O'Donoghue            enum:
345*d10bdc6eSBryan O'Donoghue              - qcom,sdm845-dsi-ctrl
346*d10bdc6eSBryan O'Donoghue    then:
347*d10bdc6eSBryan O'Donoghue      properties:
348*d10bdc6eSBryan O'Donoghue        clocks:
349*d10bdc6eSBryan O'Donoghue          maxItems: 6
350*d10bdc6eSBryan O'Donoghue        clock-names:
351*d10bdc6eSBryan O'Donoghue          items:
352*d10bdc6eSBryan O'Donoghue            - const: byte
353*d10bdc6eSBryan O'Donoghue            - const: byte_intf
354*d10bdc6eSBryan O'Donoghue            - const: pixel
355*d10bdc6eSBryan O'Donoghue            - const: core
356*d10bdc6eSBryan O'Donoghue            - const: iface
357*d10bdc6eSBryan O'Donoghue            - const: bus
358*d10bdc6eSBryan O'Donoghue
3594dbe55c9SKrishna ManikandanadditionalProperties: false
3604dbe55c9SKrishna Manikandan
3614dbe55c9SKrishna Manikandanexamples:
3624dbe55c9SKrishna Manikandan  - |
3634dbe55c9SKrishna Manikandan     #include <dt-bindings/interrupt-controller/arm-gic.h>
3644dbe55c9SKrishna Manikandan     #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
3654dbe55c9SKrishna Manikandan     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
3664dbe55c9SKrishna Manikandan     #include <dt-bindings/power/qcom-rpmpd.h>
3674dbe55c9SKrishna Manikandan
3684dbe55c9SKrishna Manikandan     dsi@ae94000 {
3690c0f65c6SBryan O'Donoghue           compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl";
3704dbe55c9SKrishna Manikandan           reg = <0x0ae94000 0x400>;
3714dbe55c9SKrishna Manikandan           reg-names = "dsi_ctrl";
3724dbe55c9SKrishna Manikandan
3734dbe55c9SKrishna Manikandan           #address-cells = <1>;
3744dbe55c9SKrishna Manikandan           #size-cells = <0>;
3754dbe55c9SKrishna Manikandan
3764dbe55c9SKrishna Manikandan           interrupt-parent = <&mdss>;
3774dbe55c9SKrishna Manikandan           interrupts = <4>;
3784dbe55c9SKrishna Manikandan
3794dbe55c9SKrishna Manikandan           clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
3804dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
3814dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
3824dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_ESC0_CLK>,
3834dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_AHB_CLK>,
3844dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_AXI_CLK>;
3854dbe55c9SKrishna Manikandan           clock-names = "byte",
3864dbe55c9SKrishna Manikandan                         "byte_intf",
3874dbe55c9SKrishna Manikandan                         "pixel",
3884dbe55c9SKrishna Manikandan                         "core",
3894dbe55c9SKrishna Manikandan                         "iface",
3904dbe55c9SKrishna Manikandan                         "bus";
3914dbe55c9SKrishna Manikandan
3924dbe55c9SKrishna Manikandan           phys = <&dsi0_phy>;
3934dbe55c9SKrishna Manikandan           phy-names = "dsi";
3944dbe55c9SKrishna Manikandan
395061a9aeaSDmitry Baryshkov           assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
396061a9aeaSDmitry Baryshkov           assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>;
397061a9aeaSDmitry Baryshkov
3984dbe55c9SKrishna Manikandan           power-domains = <&rpmhpd SC7180_CX>;
3994dbe55c9SKrishna Manikandan           operating-points-v2 = <&dsi_opp_table>;
4004dbe55c9SKrishna Manikandan
4014dbe55c9SKrishna Manikandan           ports {
4024dbe55c9SKrishna Manikandan                  #address-cells = <1>;
4034dbe55c9SKrishna Manikandan                  #size-cells = <0>;
4044dbe55c9SKrishna Manikandan
4054dbe55c9SKrishna Manikandan                  port@0 {
4064dbe55c9SKrishna Manikandan                          reg = <0>;
4074dbe55c9SKrishna Manikandan                          dsi0_in: endpoint {
4084dbe55c9SKrishna Manikandan                                   remote-endpoint = <&dpu_intf1_out>;
4094dbe55c9SKrishna Manikandan                          };
4104dbe55c9SKrishna Manikandan                  };
4114dbe55c9SKrishna Manikandan
4124dbe55c9SKrishna Manikandan                  port@1 {
4134dbe55c9SKrishna Manikandan                          reg = <1>;
4144dbe55c9SKrishna Manikandan                          dsi0_out: endpoint {
4154dbe55c9SKrishna Manikandan                                   remote-endpoint = <&sn65dsi86_in>;
4164dbe55c9SKrishna Manikandan                                   data-lanes = <0 1 2 3>;
4174dbe55c9SKrishna Manikandan                          };
4184dbe55c9SKrishna Manikandan                  };
4194dbe55c9SKrishna Manikandan           };
4204dbe55c9SKrishna Manikandan     };
4214dbe55c9SKrishna Manikandan...
422