xref: /linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1440b075bSKrzysztof Kozlowski# 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
1846ccf3e0SLuca Weiss              - qcom,msm8226-dsi-ctrl
190c0f65c6SBryan O'Donoghue              - qcom,msm8916-dsi-ctrl
200c0f65c6SBryan O'Donoghue              - qcom,msm8953-dsi-ctrl
210c0f65c6SBryan O'Donoghue              - qcom,msm8974-dsi-ctrl
22db36595cSAdam Skladowski              - qcom,msm8976-dsi-ctrl
230c0f65c6SBryan O'Donoghue              - qcom,msm8996-dsi-ctrl
240c0f65c6SBryan O'Donoghue              - qcom,msm8998-dsi-ctrl
250c0f65c6SBryan O'Donoghue              - qcom,qcm2290-dsi-ctrl
26*2a0195b9SAyushi Makhija              - qcom,sa8775p-dsi-ctrl
273c70c9d0SDmitry Baryshkov              - qcom,sar2130p-dsi-ctrl
280c0f65c6SBryan O'Donoghue              - qcom,sc7180-dsi-ctrl
290c0f65c6SBryan O'Donoghue              - qcom,sc7280-dsi-ctrl
300c0f65c6SBryan O'Donoghue              - qcom,sdm660-dsi-ctrl
31bf5a8069SRichard Acayan              - qcom,sdm670-dsi-ctrl
320c0f65c6SBryan O'Donoghue              - qcom,sdm845-dsi-ctrl
337360fc8bSKonrad Dybcio              - qcom,sm6115-dsi-ctrl
34bb49fa70SMarijn Suijten              - qcom,sm6125-dsi-ctrl
35e9280f12SLi Liu              - qcom,sm6150-dsi-ctrl
36e99b2d06SKonrad Dybcio              - qcom,sm6350-dsi-ctrl
3727a86922SKonrad Dybcio              - qcom,sm6375-dsi-ctrl
38fe34394eSDanila Tikhonov              - qcom,sm7150-dsi-ctrl
390c0f65c6SBryan O'Donoghue              - qcom,sm8150-dsi-ctrl
400c0f65c6SBryan O'Donoghue              - qcom,sm8250-dsi-ctrl
410c0f65c6SBryan O'Donoghue              - qcom,sm8350-dsi-ctrl
420c0f65c6SBryan O'Donoghue              - qcom,sm8450-dsi-ctrl
430c0f65c6SBryan O'Donoghue              - qcom,sm8550-dsi-ctrl
448adc26fcSNeil Armstrong              - qcom,sm8650-dsi-ctrl
450c0f65c6SBryan O'Donoghue              - qcom,sm8750-dsi-ctrl
460c0f65c6SBryan O'Donoghue          - const: qcom,mdss-dsi-ctrl
4736b0d6c1SKonrad Dybcio      - enum:
4836b0d6c1SKonrad Dybcio          - qcom,dsi-ctrl-6g-qcm2290
490c0f65c6SBryan O'Donoghue          - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
504dbe55c9SKrishna Manikandan        deprecated: true
514dbe55c9SKrishna Manikandan
524dbe55c9SKrishna Manikandan  reg:
534dbe55c9SKrishna Manikandan    maxItems: 1
544dbe55c9SKrishna Manikandan
554dbe55c9SKrishna Manikandan  reg-names:
564dbe55c9SKrishna Manikandan    const: dsi_ctrl
574dbe55c9SKrishna Manikandan
584dbe55c9SKrishna Manikandan  interrupts:
594dbe55c9SKrishna Manikandan    maxItems: 1
604dbe55c9SKrishna Manikandan
61d10bdc6eSBryan O'Donoghue  clocks:
62d10bdc6eSBryan O'Donoghue    description: |
63d10bdc6eSBryan O'Donoghue      Several clocks are used, depending on the variant. Typical ones are::
64d10bdc6eSBryan O'Donoghue       - bus:: Display AHB clock.
65d10bdc6eSBryan O'Donoghue       - byte:: Display byte clock.
66d10bdc6eSBryan O'Donoghue       - byte_intf:: Display byte interface clock.
67d10bdc6eSBryan O'Donoghue       - core:: Display core clock.
68d10bdc6eSBryan O'Donoghue       - core_mss:: Core MultiMedia SubSystem clock.
69d10bdc6eSBryan O'Donoghue       - iface:: Display AXI clock.
70d10bdc6eSBryan O'Donoghue       - mdp_core:: MDP Core clock.
71d10bdc6eSBryan O'Donoghue       - mnoc:: MNOC clock
72d10bdc6eSBryan O'Donoghue       - pixel:: Display pixel clock.
73d10bdc6eSBryan O'Donoghue    minItems: 3
744dbe55c9SKrishna Manikandan    maxItems: 12
754dbe55c9SKrishna Manikandan
76d10bdc6eSBryan O'Donoghue  clock-names:
77d10bdc6eSBryan O'Donoghue    minItems: 3
784dbe55c9SKrishna Manikandan    maxItems: 12
794dbe55c9SKrishna Manikandan
804dbe55c9SKrishna Manikandan  phys:
814dbe55c9SKrishna Manikandan    maxItems: 1
824dbe55c9SKrishna Manikandan
83c5415562SBryan O'Donoghue  phy-names:
844dbe55c9SKrishna Manikandan    deprecated: true
854dbe55c9SKrishna Manikandan    const: dsi
864dbe55c9SKrishna Manikandan
874dbe55c9SKrishna Manikandan  syscon-sfpb:
884334aec0SRob Herring    description: A phandle to mmss_sfpb syscon node (only for DSIv2).
894dbe55c9SKrishna Manikandan    $ref: /schemas/types.yaml#/definitions/phandle
904dbe55c9SKrishna Manikandan
914dbe55c9SKrishna Manikandan  qcom,dual-dsi-mode:
924dbe55c9SKrishna Manikandan    type: boolean
934dbe55c9SKrishna Manikandan    description: |
944dbe55c9SKrishna Manikandan      Indicates if the DSI controller is driving a panel which needs
954dbe55c9SKrishna Manikandan      2 DSI links.
96ca29699aSJianhua Lu
97ca29699aSJianhua Lu  qcom,master-dsi:
98ca29699aSJianhua Lu    type: boolean
99ca29699aSJianhua Lu    description: |
100ca29699aSJianhua Lu      Indicates if the DSI controller is the master DSI controller when
101ca29699aSJianhua Lu      qcom,dual-dsi-mode enabled.
102ca29699aSJianhua Lu
103ca29699aSJianhua Lu  qcom,sync-dual-dsi:
104ca29699aSJianhua Lu    type: boolean
105ca29699aSJianhua Lu    description: |
106ca29699aSJianhua Lu      Indicates if the DSI controller needs to sync the other DSI controller
107ca29699aSJianhua Lu      with MIPI DCS commands when qcom,dual-dsi-mode enabled.
108061a9aeaSDmitry Baryshkov
1092f8e5f8bSDmitry Baryshkov  assigned-clocks:
1102f8e5f8bSDmitry Baryshkov    minItems: 2
111061a9aeaSDmitry Baryshkov    maxItems: 4
112061a9aeaSDmitry Baryshkov    description: |
1132f8e5f8bSDmitry Baryshkov      For DSI on SM8650 and older: parents of "byte" and "pixel" for the given
1142f8e5f8bSDmitry Baryshkov      platform.
115061a9aeaSDmitry Baryshkov      For DSIv2 platforms this should contain "byte", "esc", "src" and
116061a9aeaSDmitry Baryshkov      "pixel_src" clocks.
1172f8e5f8bSDmitry Baryshkov
1182f8e5f8bSDmitry Baryshkov  assigned-clock-parents:
119061a9aeaSDmitry Baryshkov    minItems: 2
120061a9aeaSDmitry Baryshkov    maxItems: 4
121061a9aeaSDmitry Baryshkov    description: |
1224dbe55c9SKrishna Manikandan      The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.
1234dbe55c9SKrishna Manikandan
1244dbe55c9SKrishna Manikandan  power-domains:
1254dbe55c9SKrishna Manikandan    maxItems: 1
1264dbe55c9SKrishna Manikandan
127bac4ccceSDmitry Baryshkov  operating-points-v2: true
128bac4ccceSDmitry Baryshkov
129bac4ccceSDmitry Baryshkov  opp-table:
1304dbe55c9SKrishna Manikandan    type: object
1314334aec0SRob Herring
1324dbe55c9SKrishna Manikandan  ports:
1334dbe55c9SKrishna Manikandan    $ref: /schemas/graph.yaml#/properties/ports
1344dbe55c9SKrishna Manikandan    description: |
1354dbe55c9SKrishna Manikandan      Contains DSI controller input and output ports as children, each
1364dbe55c9SKrishna Manikandan      containing one endpoint subnode.
1374dbe55c9SKrishna Manikandan
1384334aec0SRob Herring    properties:
139b4db237eSRob Herring      port@0:
1404dbe55c9SKrishna Manikandan        $ref: /schemas/graph.yaml#/$defs/port-base
1414dbe55c9SKrishna Manikandan        unevaluatedProperties: false
1424dbe55c9SKrishna Manikandan        description: |
1434dbe55c9SKrishna Manikandan          Input endpoints of the controller.
1444dbe55c9SKrishna Manikandan        properties:
1454dbe55c9SKrishna Manikandan          endpoint:
1464dbe55c9SKrishna Manikandan            $ref: /schemas/media/video-interfaces.yaml#
1474dbe55c9SKrishna Manikandan            unevaluatedProperties: false
1484dbe55c9SKrishna Manikandan            properties:
1492fd5293dSDmitry Baryshkov              data-lanes:
1504dbe55c9SKrishna Manikandan                maxItems: 4
1514dbe55c9SKrishna Manikandan                minItems: 1
1524dbe55c9SKrishna Manikandan                items:
1534dbe55c9SKrishna Manikandan                  enum: [ 0, 1, 2, 3 ]
1544334aec0SRob Herring
155b4db237eSRob Herring      port@1:
1564dbe55c9SKrishna Manikandan        $ref: /schemas/graph.yaml#/$defs/port-base
1574dbe55c9SKrishna Manikandan        unevaluatedProperties: false
1584dbe55c9SKrishna Manikandan        description: |
1594dbe55c9SKrishna Manikandan          Output endpoints of the controller.
1604dbe55c9SKrishna Manikandan        properties:
1614dbe55c9SKrishna Manikandan          endpoint:
1624dbe55c9SKrishna Manikandan            $ref: /schemas/media/video-interfaces.yaml#
1634dbe55c9SKrishna Manikandan            unevaluatedProperties: false
1644dbe55c9SKrishna Manikandan            properties:
1652fd5293dSDmitry Baryshkov              data-lanes:
1664dbe55c9SKrishna Manikandan                maxItems: 4
1674dbe55c9SKrishna Manikandan                minItems: 1
1684dbe55c9SKrishna Manikandan                items:
169ec66abb4SDmitry Baryshkov                  enum: [ 0, 1, 2, 3 ]
170ec66abb4SDmitry Baryshkov
171ec66abb4SDmitry Baryshkov              qcom,te-source:
172ec66abb4SDmitry Baryshkov                $ref: /schemas/types.yaml#/definitions/string
173ec66abb4SDmitry Baryshkov                description:
174ec66abb4SDmitry Baryshkov                  Specifies the source of vsync signal from the panel used for
175ec66abb4SDmitry Baryshkov                  tearing elimination.
176ec66abb4SDmitry Baryshkov                default: mdp_vsync_p
177ec66abb4SDmitry Baryshkov                enum:
178ec66abb4SDmitry Baryshkov                  - mdp_vsync_p
179ec66abb4SDmitry Baryshkov                  - mdp_vsync_s
180ec66abb4SDmitry Baryshkov                  - mdp_vsync_e
181ec66abb4SDmitry Baryshkov                  - timer0
182ec66abb4SDmitry Baryshkov                  - timer1
183ec66abb4SDmitry Baryshkov                  - timer2
184ec66abb4SDmitry Baryshkov                  - timer3
1854dbe55c9SKrishna Manikandan                  - timer4
1864dbe55c9SKrishna Manikandan
1874dbe55c9SKrishna Manikandan    required:
1884dbe55c9SKrishna Manikandan      - port@0
18905c578d5SDmitry Baryshkov      - port@1
19005c578d5SDmitry Baryshkov
19105c578d5SDmitry Baryshkov  avdd-supply:
19205c578d5SDmitry Baryshkov    description:
193270ad296SKonrad Dybcio      Phandle to vdd regulator device node
194270ad296SKonrad Dybcio
195270ad296SKonrad Dybcio  refgen-supply:
196270ad296SKonrad Dybcio    description:
19705c578d5SDmitry Baryshkov      Phandle to REFGEN regulator device node
19805c578d5SDmitry Baryshkov
19905c578d5SDmitry Baryshkov  vcca-supply:
20005c578d5SDmitry Baryshkov    description:
201adf6a3ebSBryan O'Donoghue      Phandle to vdd regulator device node
202adf6a3ebSBryan O'Donoghue
203adf6a3ebSBryan O'Donoghue  vdd-supply:
204adf6a3ebSBryan O'Donoghue    description:
205adf6a3ebSBryan O'Donoghue      VDD regulator
206adf6a3ebSBryan O'Donoghue
207adf6a3ebSBryan O'Donoghue  vddio-supply:
208adf6a3ebSBryan O'Donoghue    description:
209adf6a3ebSBryan O'Donoghue      VDD-IO regulator
210adf6a3ebSBryan O'Donoghue
211adf6a3ebSBryan O'Donoghue  vdda-supply:
212adf6a3ebSBryan O'Donoghue    description:
2134dbe55c9SKrishna Manikandan      VDDA regulator
2144dbe55c9SKrishna Manikandan
2154dbe55c9SKrishna Manikandanrequired:
2164dbe55c9SKrishna Manikandan  - compatible
2174dbe55c9SKrishna Manikandan  - reg
2184dbe55c9SKrishna Manikandan  - reg-names
2194dbe55c9SKrishna Manikandan  - interrupts
2204dbe55c9SKrishna Manikandan  - clocks
221061a9aeaSDmitry Baryshkov  - clock-names
222061a9aeaSDmitry Baryshkov  - phys
2234dbe55c9SKrishna Manikandan  - ports
2244dbe55c9SKrishna Manikandan
225d10bdc6eSBryan O'DonoghueallOf:
226d10bdc6eSBryan O'Donoghue  - $ref: ../dsi-controller.yaml#
227d10bdc6eSBryan O'Donoghue  - if:
228d10bdc6eSBryan O'Donoghue      properties:
229d10bdc6eSBryan O'Donoghue        compatible:
230d10bdc6eSBryan O'Donoghue          contains:
231d10bdc6eSBryan O'Donoghue            enum:
232d10bdc6eSBryan O'Donoghue              - qcom,apq8064-dsi-ctrl
233d10bdc6eSBryan O'Donoghue    then:
234d10bdc6eSBryan O'Donoghue      properties:
235d10bdc6eSBryan O'Donoghue        clocks:
23683ee6d2eSKrzysztof Kozlowski          minItems: 7
237d10bdc6eSBryan O'Donoghue          maxItems: 7
238d10bdc6eSBryan O'Donoghue        clock-names:
239d10bdc6eSBryan O'Donoghue          items:
240d10bdc6eSBryan O'Donoghue            - const: iface
241d10bdc6eSBryan O'Donoghue            - const: bus
242d10bdc6eSBryan O'Donoghue            - const: core_mmss
243d10bdc6eSBryan O'Donoghue            - const: src
244d10bdc6eSBryan O'Donoghue            - const: byte
245d10bdc6eSBryan O'Donoghue            - const: pixel
246d10bdc6eSBryan O'Donoghue            - const: core
247d10bdc6eSBryan O'Donoghue      required:
248d10bdc6eSBryan O'Donoghue        - assigned-clocks
249d10bdc6eSBryan O'Donoghue        - assigned-clock-parents
250d10bdc6eSBryan O'Donoghue
251d10bdc6eSBryan O'Donoghue  - if:
252d10bdc6eSBryan O'Donoghue      properties:
253d10bdc6eSBryan O'Donoghue        compatible:
254d10bdc6eSBryan O'Donoghue          contains:
255db36595cSAdam Skladowski            enum:
256d10bdc6eSBryan O'Donoghue              - qcom,msm8916-dsi-ctrl
257d10bdc6eSBryan O'Donoghue              - qcom,msm8953-dsi-ctrl
258d10bdc6eSBryan O'Donoghue              - qcom,msm8976-dsi-ctrl
25983ee6d2eSKrzysztof Kozlowski    then:
260d10bdc6eSBryan O'Donoghue      properties:
261d10bdc6eSBryan O'Donoghue        clocks:
262d10bdc6eSBryan O'Donoghue          minItems: 6
263d10bdc6eSBryan O'Donoghue          maxItems: 6
264d10bdc6eSBryan O'Donoghue        clock-names:
265d10bdc6eSBryan O'Donoghue          items:
266d10bdc6eSBryan O'Donoghue            - const: mdp_core
267d10bdc6eSBryan O'Donoghue            - const: iface
268d10bdc6eSBryan O'Donoghue            - const: bus
269d10bdc6eSBryan O'Donoghue            - const: byte
270d10bdc6eSBryan O'Donoghue            - const: pixel
271d10bdc6eSBryan O'Donoghue            - const: core
272d10bdc6eSBryan O'Donoghue      required:
273d10bdc6eSBryan O'Donoghue        - assigned-clocks
274d10bdc6eSBryan O'Donoghue        - assigned-clock-parents
27546ccf3e0SLuca Weiss
276d10bdc6eSBryan O'Donoghue  - if:
277d10bdc6eSBryan O'Donoghue      properties:
278d10bdc6eSBryan O'Donoghue        compatible:
279d10bdc6eSBryan O'Donoghue          contains:
28083ee6d2eSKrzysztof Kozlowski            enum:
281d10bdc6eSBryan O'Donoghue              - qcom,msm8226-dsi-ctrl
282d10bdc6eSBryan O'Donoghue              - qcom,msm8974-dsi-ctrl
283d10bdc6eSBryan O'Donoghue    then:
284d10bdc6eSBryan O'Donoghue      properties:
285d10bdc6eSBryan O'Donoghue        clocks:
286d10bdc6eSBryan O'Donoghue          minItems: 7
287d10bdc6eSBryan O'Donoghue          maxItems: 7
288d10bdc6eSBryan O'Donoghue        clock-names:
289d10bdc6eSBryan O'Donoghue          items:
290d10bdc6eSBryan O'Donoghue            - const: mdp_core
291d10bdc6eSBryan O'Donoghue            - const: iface
292d10bdc6eSBryan O'Donoghue            - const: bus
293d10bdc6eSBryan O'Donoghue            - const: byte
294d10bdc6eSBryan O'Donoghue            - const: pixel
295d10bdc6eSBryan O'Donoghue            - const: core
296d10bdc6eSBryan O'Donoghue            - const: core_mmss
297d10bdc6eSBryan O'Donoghue      required:
298d10bdc6eSBryan O'Donoghue        - assigned-clocks
299d10bdc6eSBryan O'Donoghue        - assigned-clock-parents
300d10bdc6eSBryan O'Donoghue
30183ee6d2eSKrzysztof Kozlowski  - if:
302d10bdc6eSBryan O'Donoghue      properties:
303d10bdc6eSBryan O'Donoghue        compatible:
304d10bdc6eSBryan O'Donoghue          contains:
305d10bdc6eSBryan O'Donoghue            enum:
306d10bdc6eSBryan O'Donoghue              - qcom,msm8996-dsi-ctrl
307d10bdc6eSBryan O'Donoghue    then:
308d10bdc6eSBryan O'Donoghue      properties:
309d10bdc6eSBryan O'Donoghue        clocks:
310d10bdc6eSBryan O'Donoghue          minItems: 7
311d10bdc6eSBryan O'Donoghue          maxItems: 7
312d10bdc6eSBryan O'Donoghue        clock-names:
313d10bdc6eSBryan O'Donoghue          items:
314d10bdc6eSBryan O'Donoghue            - const: mdp_core
315d10bdc6eSBryan O'Donoghue            - const: byte
316d10bdc6eSBryan O'Donoghue            - const: iface
317d10bdc6eSBryan O'Donoghue            - const: bus
318d10bdc6eSBryan O'Donoghue            - const: core_mmss
319*2a0195b9SAyushi Makhija            - const: pixel
3203c70c9d0SDmitry Baryshkov            - const: core
321d10bdc6eSBryan O'Donoghue      required:
322d10bdc6eSBryan O'Donoghue        - assigned-clocks
3230edf7b1fSKrzysztof Kozlowski        - assigned-clock-parents
3240edf7b1fSKrzysztof Kozlowski
3250edf7b1fSKrzysztof Kozlowski  - if:
3260edf7b1fSKrzysztof Kozlowski      properties:
3270edf7b1fSKrzysztof Kozlowski        compatible:
328e9280f12SLi Liu          contains:
329fe34394eSDanila Tikhonov            enum:
330d10bdc6eSBryan O'Donoghue              - qcom,msm8998-dsi-ctrl
331d10bdc6eSBryan O'Donoghue              - qcom,sa8775p-dsi-ctrl
332d10bdc6eSBryan O'Donoghue              - qcom,sar2130p-dsi-ctrl
333d10bdc6eSBryan O'Donoghue              - qcom,sc7180-dsi-ctrl
334d10bdc6eSBryan O'Donoghue              - qcom,sc7280-dsi-ctrl
3358adc26fcSNeil Armstrong              - qcom,sdm845-dsi-ctrl
336d10bdc6eSBryan O'Donoghue              - qcom,sm6115-dsi-ctrl
337d10bdc6eSBryan O'Donoghue              - qcom,sm6125-dsi-ctrl
338d10bdc6eSBryan O'Donoghue              - qcom,sm6350-dsi-ctrl
33983ee6d2eSKrzysztof Kozlowski              - qcom,sm6375-dsi-ctrl
340d10bdc6eSBryan O'Donoghue              - qcom,sm6150-dsi-ctrl
341d10bdc6eSBryan O'Donoghue              - qcom,sm7150-dsi-ctrl
342d10bdc6eSBryan O'Donoghue              - qcom,sm8150-dsi-ctrl
343d10bdc6eSBryan O'Donoghue              - qcom,sm8250-dsi-ctrl
344d10bdc6eSBryan O'Donoghue              - qcom,sm8350-dsi-ctrl
345d10bdc6eSBryan O'Donoghue              - qcom,sm8450-dsi-ctrl
346d10bdc6eSBryan O'Donoghue              - qcom,sm8550-dsi-ctrl
347d10bdc6eSBryan O'Donoghue              - qcom,sm8650-dsi-ctrl
348d10bdc6eSBryan O'Donoghue    then:
349d10bdc6eSBryan O'Donoghue      properties:
350d10bdc6eSBryan O'Donoghue        clocks:
351d10bdc6eSBryan O'Donoghue          minItems: 6
352d10bdc6eSBryan O'Donoghue          maxItems: 6
353d10bdc6eSBryan O'Donoghue        clock-names:
354d10bdc6eSBryan O'Donoghue          items:
355d10bdc6eSBryan O'Donoghue            - const: byte
356d10bdc6eSBryan O'Donoghue            - const: byte_intf
357d10bdc6eSBryan O'Donoghue            - const: pixel
358d10bdc6eSBryan O'Donoghue            - const: core
35983ee6d2eSKrzysztof Kozlowski            - const: iface
360d10bdc6eSBryan O'Donoghue            - const: bus
361d10bdc6eSBryan O'Donoghue      required:
362d10bdc6eSBryan O'Donoghue        - assigned-clocks
363d10bdc6eSBryan O'Donoghue        - assigned-clock-parents
364d10bdc6eSBryan O'Donoghue
365d10bdc6eSBryan O'Donoghue  - if:
366d10bdc6eSBryan O'Donoghue      properties:
367d10bdc6eSBryan O'Donoghue        compatible:
368d10bdc6eSBryan O'Donoghue          contains:
369d10bdc6eSBryan O'Donoghue            enum:
370d10bdc6eSBryan O'Donoghue              - qcom,sm8750-dsi-ctrl
371d10bdc6eSBryan O'Donoghue    then:
372d10bdc6eSBryan O'Donoghue      properties:
37365e83594SDmitry Baryshkov        clocks:
3744dbe55c9SKrishna Manikandan          minItems: 12
3754dbe55c9SKrishna Manikandan          maxItems: 12
3764dbe55c9SKrishna Manikandan        clock-names:
3774dbe55c9SKrishna Manikandan          items:
3784dbe55c9SKrishna Manikandan            - const: byte
3794dbe55c9SKrishna Manikandan            - const: byte_intf
3804dbe55c9SKrishna Manikandan            - const: pixel
3814dbe55c9SKrishna Manikandan            - const: core
3824dbe55c9SKrishna Manikandan            - const: iface
3830c0f65c6SBryan O'Donoghue            - const: bus
3844dbe55c9SKrishna Manikandan            - const: dsi_pll_pixel
3854dbe55c9SKrishna Manikandan            - const: dsi_pll_byte
3864dbe55c9SKrishna Manikandan            - const: esync
3874dbe55c9SKrishna Manikandan            - const: osc
3884dbe55c9SKrishna Manikandan            - const: byte_src
3894dbe55c9SKrishna Manikandan            - const: pixel_src
3904dbe55c9SKrishna Manikandan
3914dbe55c9SKrishna Manikandan  - if:
3924dbe55c9SKrishna Manikandan      properties:
3934dbe55c9SKrishna Manikandan        compatible:
3944dbe55c9SKrishna Manikandan          contains:
3954dbe55c9SKrishna Manikandan            enum:
3964dbe55c9SKrishna Manikandan              - qcom,sdm660-dsi-ctrl
3974dbe55c9SKrishna Manikandan    then:
3984dbe55c9SKrishna Manikandan      properties:
3994dbe55c9SKrishna Manikandan        clocks:
4004dbe55c9SKrishna Manikandan          minItems: 9
4014dbe55c9SKrishna Manikandan          maxItems: 9
4024dbe55c9SKrishna Manikandan        clock-names:
4034dbe55c9SKrishna Manikandan          items:
4044dbe55c9SKrishna Manikandan            - const: mdp_core
4054dbe55c9SKrishna Manikandan            - const: byte
4064dbe55c9SKrishna Manikandan            - const: byte_intf
4074dbe55c9SKrishna Manikandan            - const: mnoc
4084dbe55c9SKrishna Manikandan            - const: iface
409061a9aeaSDmitry Baryshkov            - const: bus
410061a9aeaSDmitry Baryshkov            - const: core_mmss
411061a9aeaSDmitry Baryshkov            - const: pixel
4124dbe55c9SKrishna Manikandan            - const: core
4134dbe55c9SKrishna Manikandan      required:
4144dbe55c9SKrishna Manikandan        - assigned-clocks
4154dbe55c9SKrishna Manikandan        - assigned-clock-parents
4164dbe55c9SKrishna Manikandan
4174dbe55c9SKrishna ManikandanunevaluatedProperties: false
4184dbe55c9SKrishna Manikandan
4194dbe55c9SKrishna Manikandanexamples:
4204dbe55c9SKrishna Manikandan  - |
42152659fabSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
4224dbe55c9SKrishna Manikandan    #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
4234dbe55c9SKrishna Manikandan    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
4244dbe55c9SKrishna Manikandan    #include <dt-bindings/power/qcom-rpmpd.h>
4254dbe55c9SKrishna Manikandan
4264dbe55c9SKrishna Manikandan    dsi@ae94000 {
4274dbe55c9SKrishna Manikandan        compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl";
42852659fabSKrzysztof Kozlowski        reg = <0x0ae94000 0x400>;
4294dbe55c9SKrishna Manikandan        reg-names = "dsi_ctrl";
4304dbe55c9SKrishna Manikandan
431ec66abb4SDmitry Baryshkov        #address-cells = <1>;
4324dbe55c9SKrishna Manikandan        #size-cells = <0>;
4334dbe55c9SKrishna Manikandan
4344dbe55c9SKrishna Manikandan        interrupt-parent = <&mdss>;
4354dbe55c9SKrishna Manikandan        interrupts = <4>;
4364dbe55c9SKrishna Manikandan
437        clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
438                 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
439                 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
440                 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
441                 <&dispcc DISP_CC_MDSS_AHB_CLK>,
442                 <&dispcc DISP_CC_MDSS_AXI_CLK>;
443        clock-names = "byte",
444                      "byte_intf",
445                      "pixel",
446                      "core",
447                      "iface",
448                      "bus";
449
450        phys = <&dsi0_phy>;
451        phy-names = "dsi";
452
453        assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
454        assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>;
455
456        power-domains = <&rpmhpd SC7180_CX>;
457        operating-points-v2 = <&dsi_opp_table>;
458
459        ports {
460            #address-cells = <1>;
461            #size-cells = <0>;
462
463            port@0 {
464                reg = <0>;
465                endpoint {
466                    remote-endpoint = <&dpu_intf1_out>;
467                };
468            };
469
470            port@1 {
471                reg = <1>;
472                endpoint {
473                    remote-endpoint = <&sn65dsi86_in>;
474                    data-lanes = <0 1 2 3>;
475                    qcom,te-source = "mdp_vsync_e";
476                };
477            };
478        };
479    };
480...
481