xref: /linux/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml (revision fe34394ecdad459d2d7b1f30e4a39ac27fcd77f8)
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
260c0f65c6SBryan O'Donoghue              - qcom,sc7180-dsi-ctrl
270c0f65c6SBryan O'Donoghue              - qcom,sc7280-dsi-ctrl
280c0f65c6SBryan O'Donoghue              - qcom,sdm660-dsi-ctrl
29bf5a8069SRichard Acayan              - qcom,sdm670-dsi-ctrl
300c0f65c6SBryan O'Donoghue              - qcom,sdm845-dsi-ctrl
317360fc8bSKonrad Dybcio              - qcom,sm6115-dsi-ctrl
32bb49fa70SMarijn Suijten              - qcom,sm6125-dsi-ctrl
33e99b2d06SKonrad Dybcio              - qcom,sm6350-dsi-ctrl
3427a86922SKonrad Dybcio              - qcom,sm6375-dsi-ctrl
35*fe34394eSDanila Tikhonov              - qcom,sm7150-dsi-ctrl
360c0f65c6SBryan O'Donoghue              - qcom,sm8150-dsi-ctrl
370c0f65c6SBryan O'Donoghue              - qcom,sm8250-dsi-ctrl
380c0f65c6SBryan O'Donoghue              - qcom,sm8350-dsi-ctrl
390c0f65c6SBryan O'Donoghue              - qcom,sm8450-dsi-ctrl
400c0f65c6SBryan O'Donoghue              - qcom,sm8550-dsi-ctrl
418adc26fcSNeil Armstrong              - qcom,sm8650-dsi-ctrl
420c0f65c6SBryan O'Donoghue          - const: qcom,mdss-dsi-ctrl
430c0f65c6SBryan O'Donoghue      - enum:
4436b0d6c1SKonrad Dybcio          - qcom,dsi-ctrl-6g-qcm2290
4536b0d6c1SKonrad Dybcio          - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
460c0f65c6SBryan O'Donoghue        deprecated: true
474dbe55c9SKrishna Manikandan
484dbe55c9SKrishna Manikandan  reg:
494dbe55c9SKrishna Manikandan    maxItems: 1
504dbe55c9SKrishna Manikandan
514dbe55c9SKrishna Manikandan  reg-names:
524dbe55c9SKrishna Manikandan    const: dsi_ctrl
534dbe55c9SKrishna Manikandan
544dbe55c9SKrishna Manikandan  interrupts:
554dbe55c9SKrishna Manikandan    maxItems: 1
564dbe55c9SKrishna Manikandan
574dbe55c9SKrishna Manikandan  clocks:
58d10bdc6eSBryan O'Donoghue    description: |
59d10bdc6eSBryan O'Donoghue      Several clocks are used, depending on the variant. Typical ones are::
60d10bdc6eSBryan O'Donoghue       - bus:: Display AHB clock.
61d10bdc6eSBryan O'Donoghue       - byte:: Display byte clock.
62d10bdc6eSBryan O'Donoghue       - byte_intf:: Display byte interface clock.
63d10bdc6eSBryan O'Donoghue       - core:: Display core clock.
64d10bdc6eSBryan O'Donoghue       - core_mss:: Core MultiMedia SubSystem clock.
65d10bdc6eSBryan O'Donoghue       - iface:: Display AXI clock.
66d10bdc6eSBryan O'Donoghue       - mdp_core:: MDP Core clock.
67d10bdc6eSBryan O'Donoghue       - mnoc:: MNOC clock
68d10bdc6eSBryan O'Donoghue       - pixel:: Display pixel clock.
69d10bdc6eSBryan O'Donoghue    minItems: 3
70d10bdc6eSBryan O'Donoghue    maxItems: 9
714dbe55c9SKrishna Manikandan
724dbe55c9SKrishna Manikandan  clock-names:
73d10bdc6eSBryan O'Donoghue    minItems: 3
74d10bdc6eSBryan O'Donoghue    maxItems: 9
754dbe55c9SKrishna Manikandan
764dbe55c9SKrishna Manikandan  phys:
774dbe55c9SKrishna Manikandan    maxItems: 1
784dbe55c9SKrishna Manikandan
794dbe55c9SKrishna Manikandan  phy-names:
80c5415562SBryan O'Donoghue    deprecated: true
814dbe55c9SKrishna Manikandan    const: dsi
824dbe55c9SKrishna Manikandan
834dbe55c9SKrishna Manikandan  syscon-sfpb:
844dbe55c9SKrishna Manikandan    description: A phandle to mmss_sfpb syscon node (only for DSIv2).
854334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
864dbe55c9SKrishna Manikandan
874dbe55c9SKrishna Manikandan  qcom,dual-dsi-mode:
884dbe55c9SKrishna Manikandan    type: boolean
894dbe55c9SKrishna Manikandan    description: |
904dbe55c9SKrishna Manikandan      Indicates if the DSI controller is driving a panel which needs
914dbe55c9SKrishna Manikandan      2 DSI links.
924dbe55c9SKrishna Manikandan
93ca29699aSJianhua Lu  qcom,master-dsi:
94ca29699aSJianhua Lu    type: boolean
95ca29699aSJianhua Lu    description: |
96ca29699aSJianhua Lu      Indicates if the DSI controller is the master DSI controller when
97ca29699aSJianhua Lu      qcom,dual-dsi-mode enabled.
98ca29699aSJianhua Lu
99ca29699aSJianhua Lu  qcom,sync-dual-dsi:
100ca29699aSJianhua Lu    type: boolean
101ca29699aSJianhua Lu    description: |
102ca29699aSJianhua Lu      Indicates if the DSI controller needs to sync the other DSI controller
103ca29699aSJianhua Lu      with MIPI DCS commands when qcom,dual-dsi-mode enabled.
104ca29699aSJianhua Lu
105061a9aeaSDmitry Baryshkov  assigned-clocks:
1062f8e5f8bSDmitry Baryshkov    minItems: 2
1072f8e5f8bSDmitry Baryshkov    maxItems: 4
108061a9aeaSDmitry Baryshkov    description: |
109061a9aeaSDmitry Baryshkov      Parents of "byte" and "pixel" for the given platform.
1102f8e5f8bSDmitry Baryshkov      For DSIv2 platforms this should contain "byte", "esc", "src" and
1112f8e5f8bSDmitry Baryshkov      "pixel_src" clocks.
112061a9aeaSDmitry Baryshkov
113061a9aeaSDmitry Baryshkov  assigned-clock-parents:
1142f8e5f8bSDmitry Baryshkov    minItems: 2
1152f8e5f8bSDmitry Baryshkov    maxItems: 4
116061a9aeaSDmitry Baryshkov    description: |
117061a9aeaSDmitry Baryshkov      The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.
118061a9aeaSDmitry Baryshkov
1194dbe55c9SKrishna Manikandan  power-domains:
1204dbe55c9SKrishna Manikandan    maxItems: 1
1214dbe55c9SKrishna Manikandan
1224dbe55c9SKrishna Manikandan  operating-points-v2: true
1234dbe55c9SKrishna Manikandan
124bac4ccceSDmitry Baryshkov  opp-table:
125bac4ccceSDmitry Baryshkov    type: object
126bac4ccceSDmitry Baryshkov
1274dbe55c9SKrishna Manikandan  ports:
1284334aec0SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
1294dbe55c9SKrishna Manikandan    description: |
1304dbe55c9SKrishna Manikandan      Contains DSI controller input and output ports as children, each
1314dbe55c9SKrishna Manikandan      containing one endpoint subnode.
1324dbe55c9SKrishna Manikandan
1334dbe55c9SKrishna Manikandan    properties:
1344dbe55c9SKrishna Manikandan      port@0:
1354334aec0SRob Herring        $ref: /schemas/graph.yaml#/$defs/port-base
136b4db237eSRob Herring        unevaluatedProperties: false
1374dbe55c9SKrishna Manikandan        description: |
1384dbe55c9SKrishna Manikandan          Input endpoints of the controller.
1394dbe55c9SKrishna Manikandan        properties:
1404dbe55c9SKrishna Manikandan          endpoint:
1414dbe55c9SKrishna Manikandan            $ref: /schemas/media/video-interfaces.yaml#
1424dbe55c9SKrishna Manikandan            unevaluatedProperties: false
1434dbe55c9SKrishna Manikandan            properties:
1444dbe55c9SKrishna Manikandan              data-lanes:
1454dbe55c9SKrishna Manikandan                maxItems: 4
1462fd5293dSDmitry Baryshkov                minItems: 1
1474dbe55c9SKrishna Manikandan                items:
1484dbe55c9SKrishna Manikandan                  enum: [ 0, 1, 2, 3 ]
1494dbe55c9SKrishna Manikandan
1504dbe55c9SKrishna Manikandan      port@1:
1514334aec0SRob Herring        $ref: /schemas/graph.yaml#/$defs/port-base
152b4db237eSRob Herring        unevaluatedProperties: false
1534dbe55c9SKrishna Manikandan        description: |
1544dbe55c9SKrishna Manikandan          Output endpoints of the controller.
1554dbe55c9SKrishna Manikandan        properties:
1564dbe55c9SKrishna Manikandan          endpoint:
1574dbe55c9SKrishna Manikandan            $ref: /schemas/media/video-interfaces.yaml#
1584dbe55c9SKrishna Manikandan            unevaluatedProperties: false
1594dbe55c9SKrishna Manikandan            properties:
1604dbe55c9SKrishna Manikandan              data-lanes:
1614dbe55c9SKrishna Manikandan                maxItems: 4
1622fd5293dSDmitry Baryshkov                minItems: 1
1634dbe55c9SKrishna Manikandan                items:
1644dbe55c9SKrishna Manikandan                  enum: [ 0, 1, 2, 3 ]
1654dbe55c9SKrishna Manikandan
166ec66abb4SDmitry Baryshkov              qcom,te-source:
167ec66abb4SDmitry Baryshkov                $ref: /schemas/types.yaml#/definitions/string
168ec66abb4SDmitry Baryshkov                description:
169ec66abb4SDmitry Baryshkov                  Specifies the source of vsync signal from the panel used for
170ec66abb4SDmitry Baryshkov                  tearing elimination.
171ec66abb4SDmitry Baryshkov                default: mdp_vsync_p
172ec66abb4SDmitry Baryshkov                enum:
173ec66abb4SDmitry Baryshkov                  - mdp_vsync_p
174ec66abb4SDmitry Baryshkov                  - mdp_vsync_s
175ec66abb4SDmitry Baryshkov                  - mdp_vsync_e
176ec66abb4SDmitry Baryshkov                  - timer0
177ec66abb4SDmitry Baryshkov                  - timer1
178ec66abb4SDmitry Baryshkov                  - timer2
179ec66abb4SDmitry Baryshkov                  - timer3
180ec66abb4SDmitry Baryshkov                  - timer4
181ec66abb4SDmitry Baryshkov
1824dbe55c9SKrishna Manikandan    required:
1834dbe55c9SKrishna Manikandan      - port@0
1844dbe55c9SKrishna Manikandan      - port@1
1854dbe55c9SKrishna Manikandan
18605c578d5SDmitry Baryshkov  avdd-supply:
18705c578d5SDmitry Baryshkov    description:
18805c578d5SDmitry Baryshkov      Phandle to vdd regulator device node
18905c578d5SDmitry Baryshkov
190270ad296SKonrad Dybcio  refgen-supply:
191270ad296SKonrad Dybcio    description:
192270ad296SKonrad Dybcio      Phandle to REFGEN regulator device node
193270ad296SKonrad Dybcio
19405c578d5SDmitry Baryshkov  vcca-supply:
19505c578d5SDmitry Baryshkov    description:
19605c578d5SDmitry Baryshkov      Phandle to vdd regulator device node
19705c578d5SDmitry Baryshkov
198adf6a3ebSBryan O'Donoghue  vdd-supply:
199adf6a3ebSBryan O'Donoghue    description:
200adf6a3ebSBryan O'Donoghue      VDD regulator
201adf6a3ebSBryan O'Donoghue
202adf6a3ebSBryan O'Donoghue  vddio-supply:
203adf6a3ebSBryan O'Donoghue    description:
204adf6a3ebSBryan O'Donoghue      VDD-IO regulator
205adf6a3ebSBryan O'Donoghue
206adf6a3ebSBryan O'Donoghue  vdda-supply:
207adf6a3ebSBryan O'Donoghue    description:
208adf6a3ebSBryan O'Donoghue      VDDA regulator
209adf6a3ebSBryan O'Donoghue
2104dbe55c9SKrishna Manikandanrequired:
2114dbe55c9SKrishna Manikandan  - compatible
2124dbe55c9SKrishna Manikandan  - reg
2134dbe55c9SKrishna Manikandan  - reg-names
2144dbe55c9SKrishna Manikandan  - interrupts
2154dbe55c9SKrishna Manikandan  - clocks
2164dbe55c9SKrishna Manikandan  - clock-names
2174dbe55c9SKrishna Manikandan  - phys
218061a9aeaSDmitry Baryshkov  - assigned-clocks
219061a9aeaSDmitry Baryshkov  - assigned-clock-parents
2204dbe55c9SKrishna Manikandan  - ports
2214dbe55c9SKrishna Manikandan
222d10bdc6eSBryan O'DonoghueallOf:
223d10bdc6eSBryan O'Donoghue  - $ref: ../dsi-controller.yaml#
224d10bdc6eSBryan O'Donoghue  - if:
225d10bdc6eSBryan O'Donoghue      properties:
226d10bdc6eSBryan O'Donoghue        compatible:
227d10bdc6eSBryan O'Donoghue          contains:
228d10bdc6eSBryan O'Donoghue            enum:
229d10bdc6eSBryan O'Donoghue              - qcom,apq8064-dsi-ctrl
230d10bdc6eSBryan O'Donoghue    then:
231d10bdc6eSBryan O'Donoghue      properties:
232d10bdc6eSBryan O'Donoghue        clocks:
233d10bdc6eSBryan O'Donoghue          maxItems: 7
234d10bdc6eSBryan O'Donoghue        clock-names:
235d10bdc6eSBryan O'Donoghue          items:
236d10bdc6eSBryan O'Donoghue            - const: iface
237d10bdc6eSBryan O'Donoghue            - const: bus
238d10bdc6eSBryan O'Donoghue            - const: core_mmss
239d10bdc6eSBryan O'Donoghue            - const: src
240d10bdc6eSBryan O'Donoghue            - const: byte
241d10bdc6eSBryan O'Donoghue            - const: pixel
242d10bdc6eSBryan O'Donoghue            - const: core
243d10bdc6eSBryan O'Donoghue
244d10bdc6eSBryan O'Donoghue  - if:
245d10bdc6eSBryan O'Donoghue      properties:
246d10bdc6eSBryan O'Donoghue        compatible:
247d10bdc6eSBryan O'Donoghue          contains:
248d10bdc6eSBryan O'Donoghue            enum:
249d10bdc6eSBryan O'Donoghue              - qcom,msm8916-dsi-ctrl
250d10bdc6eSBryan O'Donoghue    then:
251d10bdc6eSBryan O'Donoghue      properties:
252d10bdc6eSBryan O'Donoghue        clocks:
253d10bdc6eSBryan O'Donoghue          maxItems: 6
254d10bdc6eSBryan O'Donoghue        clock-names:
255d10bdc6eSBryan O'Donoghue          items:
256d10bdc6eSBryan O'Donoghue            - const: mdp_core
257d10bdc6eSBryan O'Donoghue            - const: iface
258d10bdc6eSBryan O'Donoghue            - const: bus
259d10bdc6eSBryan O'Donoghue            - const: byte
260d10bdc6eSBryan O'Donoghue            - const: pixel
261d10bdc6eSBryan O'Donoghue            - const: core
262d10bdc6eSBryan O'Donoghue
263d10bdc6eSBryan O'Donoghue  - if:
264d10bdc6eSBryan O'Donoghue      properties:
265d10bdc6eSBryan O'Donoghue        compatible:
266d10bdc6eSBryan O'Donoghue          contains:
267d10bdc6eSBryan O'Donoghue            enum:
268d10bdc6eSBryan O'Donoghue              - qcom,msm8953-dsi-ctrl
269db36595cSAdam Skladowski              - qcom,msm8976-dsi-ctrl
270d10bdc6eSBryan O'Donoghue    then:
271d10bdc6eSBryan O'Donoghue      properties:
272d10bdc6eSBryan O'Donoghue        clocks:
273d10bdc6eSBryan O'Donoghue          maxItems: 6
274d10bdc6eSBryan O'Donoghue        clock-names:
275d10bdc6eSBryan O'Donoghue          items:
276d10bdc6eSBryan O'Donoghue            - const: mdp_core
277d10bdc6eSBryan O'Donoghue            - const: iface
278d10bdc6eSBryan O'Donoghue            - const: bus
279d10bdc6eSBryan O'Donoghue            - const: byte
280d10bdc6eSBryan O'Donoghue            - const: pixel
281d10bdc6eSBryan O'Donoghue            - const: core
282d10bdc6eSBryan O'Donoghue
283d10bdc6eSBryan O'Donoghue  - if:
284d10bdc6eSBryan O'Donoghue      properties:
285d10bdc6eSBryan O'Donoghue        compatible:
286d10bdc6eSBryan O'Donoghue          contains:
287d10bdc6eSBryan O'Donoghue            enum:
28846ccf3e0SLuca Weiss              - qcom,msm8226-dsi-ctrl
289d10bdc6eSBryan O'Donoghue              - qcom,msm8974-dsi-ctrl
290d10bdc6eSBryan O'Donoghue    then:
291d10bdc6eSBryan O'Donoghue      properties:
292d10bdc6eSBryan O'Donoghue        clocks:
293d10bdc6eSBryan O'Donoghue          maxItems: 7
294d10bdc6eSBryan O'Donoghue        clock-names:
295d10bdc6eSBryan O'Donoghue          items:
296d10bdc6eSBryan O'Donoghue            - const: mdp_core
297d10bdc6eSBryan O'Donoghue            - const: iface
298d10bdc6eSBryan O'Donoghue            - const: bus
299d10bdc6eSBryan O'Donoghue            - const: byte
300d10bdc6eSBryan O'Donoghue            - const: pixel
301d10bdc6eSBryan O'Donoghue            - const: core
302d10bdc6eSBryan O'Donoghue            - const: core_mmss
303d10bdc6eSBryan O'Donoghue
304d10bdc6eSBryan O'Donoghue  - if:
305d10bdc6eSBryan O'Donoghue      properties:
306d10bdc6eSBryan O'Donoghue        compatible:
307d10bdc6eSBryan O'Donoghue          contains:
308d10bdc6eSBryan O'Donoghue            enum:
309d10bdc6eSBryan O'Donoghue              - qcom,msm8996-dsi-ctrl
310d10bdc6eSBryan O'Donoghue    then:
311d10bdc6eSBryan O'Donoghue      properties:
312d10bdc6eSBryan O'Donoghue        clocks:
313d10bdc6eSBryan O'Donoghue          maxItems: 7
314d10bdc6eSBryan O'Donoghue        clock-names:
315d10bdc6eSBryan O'Donoghue          items:
316d10bdc6eSBryan O'Donoghue            - const: mdp_core
317d10bdc6eSBryan O'Donoghue            - const: byte
318d10bdc6eSBryan O'Donoghue            - const: iface
319d10bdc6eSBryan O'Donoghue            - const: bus
320d10bdc6eSBryan O'Donoghue            - const: core_mmss
321d10bdc6eSBryan O'Donoghue            - const: pixel
322d10bdc6eSBryan O'Donoghue            - const: core
323d10bdc6eSBryan O'Donoghue
324d10bdc6eSBryan O'Donoghue  - if:
325d10bdc6eSBryan O'Donoghue      properties:
326d10bdc6eSBryan O'Donoghue        compatible:
327d10bdc6eSBryan O'Donoghue          contains:
328d10bdc6eSBryan O'Donoghue            enum:
329d10bdc6eSBryan O'Donoghue              - qcom,msm8998-dsi-ctrl
330bb49fa70SMarijn Suijten              - qcom,sm6125-dsi-ctrl
331e99b2d06SKonrad Dybcio              - qcom,sm6350-dsi-ctrl
332d10bdc6eSBryan O'Donoghue    then:
333d10bdc6eSBryan O'Donoghue      properties:
334d10bdc6eSBryan O'Donoghue        clocks:
335d10bdc6eSBryan O'Donoghue          maxItems: 6
336d10bdc6eSBryan O'Donoghue        clock-names:
337d10bdc6eSBryan O'Donoghue          items:
338d10bdc6eSBryan O'Donoghue            - const: byte
339d10bdc6eSBryan O'Donoghue            - const: byte_intf
340d10bdc6eSBryan O'Donoghue            - const: pixel
341d10bdc6eSBryan O'Donoghue            - const: core
342d10bdc6eSBryan O'Donoghue            - const: iface
343d10bdc6eSBryan O'Donoghue            - const: bus
344d10bdc6eSBryan O'Donoghue
345d10bdc6eSBryan O'Donoghue  - if:
346d10bdc6eSBryan O'Donoghue      properties:
347d10bdc6eSBryan O'Donoghue        compatible:
348d10bdc6eSBryan O'Donoghue          contains:
349d10bdc6eSBryan O'Donoghue            enum:
350d10bdc6eSBryan O'Donoghue              - qcom,sc7180-dsi-ctrl
351d10bdc6eSBryan O'Donoghue              - qcom,sc7280-dsi-ctrl
352*fe34394eSDanila Tikhonov              - qcom,sm7150-dsi-ctrl
353d10bdc6eSBryan O'Donoghue              - qcom,sm8150-dsi-ctrl
354d10bdc6eSBryan O'Donoghue              - qcom,sm8250-dsi-ctrl
355d10bdc6eSBryan O'Donoghue              - qcom,sm8350-dsi-ctrl
356d10bdc6eSBryan O'Donoghue              - qcom,sm8450-dsi-ctrl
357d10bdc6eSBryan O'Donoghue              - qcom,sm8550-dsi-ctrl
3588adc26fcSNeil Armstrong              - qcom,sm8650-dsi-ctrl
359d10bdc6eSBryan O'Donoghue    then:
360d10bdc6eSBryan O'Donoghue      properties:
361d10bdc6eSBryan O'Donoghue        clocks:
362d10bdc6eSBryan O'Donoghue          maxItems: 6
363d10bdc6eSBryan O'Donoghue        clock-names:
364d10bdc6eSBryan O'Donoghue          items:
365d10bdc6eSBryan O'Donoghue            - const: byte
366d10bdc6eSBryan O'Donoghue            - const: byte_intf
367d10bdc6eSBryan O'Donoghue            - const: pixel
368d10bdc6eSBryan O'Donoghue            - const: core
369d10bdc6eSBryan O'Donoghue            - const: iface
370d10bdc6eSBryan O'Donoghue            - const: bus
371d10bdc6eSBryan O'Donoghue
372d10bdc6eSBryan O'Donoghue  - if:
373d10bdc6eSBryan O'Donoghue      properties:
374d10bdc6eSBryan O'Donoghue        compatible:
375d10bdc6eSBryan O'Donoghue          contains:
376d10bdc6eSBryan O'Donoghue            enum:
377d10bdc6eSBryan O'Donoghue              - qcom,sdm660-dsi-ctrl
378d10bdc6eSBryan O'Donoghue    then:
379d10bdc6eSBryan O'Donoghue      properties:
380d10bdc6eSBryan O'Donoghue        clocks:
381d10bdc6eSBryan O'Donoghue          maxItems: 9
382d10bdc6eSBryan O'Donoghue        clock-names:
383d10bdc6eSBryan O'Donoghue          items:
384d10bdc6eSBryan O'Donoghue            - const: mdp_core
385d10bdc6eSBryan O'Donoghue            - const: byte
386d10bdc6eSBryan O'Donoghue            - const: byte_intf
387d10bdc6eSBryan O'Donoghue            - const: mnoc
388d10bdc6eSBryan O'Donoghue            - const: iface
389d10bdc6eSBryan O'Donoghue            - const: bus
390d10bdc6eSBryan O'Donoghue            - const: core_mmss
391d10bdc6eSBryan O'Donoghue            - const: pixel
392d10bdc6eSBryan O'Donoghue            - const: core
393d10bdc6eSBryan O'Donoghue
394d10bdc6eSBryan O'Donoghue  - if:
395d10bdc6eSBryan O'Donoghue      properties:
396d10bdc6eSBryan O'Donoghue        compatible:
397d10bdc6eSBryan O'Donoghue          contains:
398d10bdc6eSBryan O'Donoghue            enum:
399d10bdc6eSBryan O'Donoghue              - qcom,sdm845-dsi-ctrl
4007360fc8bSKonrad Dybcio              - qcom,sm6115-dsi-ctrl
40127a86922SKonrad Dybcio              - qcom,sm6375-dsi-ctrl
402d10bdc6eSBryan O'Donoghue    then:
403d10bdc6eSBryan O'Donoghue      properties:
404d10bdc6eSBryan O'Donoghue        clocks:
405d10bdc6eSBryan O'Donoghue          maxItems: 6
406d10bdc6eSBryan O'Donoghue        clock-names:
407d10bdc6eSBryan O'Donoghue          items:
408d10bdc6eSBryan O'Donoghue            - const: byte
409d10bdc6eSBryan O'Donoghue            - const: byte_intf
410d10bdc6eSBryan O'Donoghue            - const: pixel
411d10bdc6eSBryan O'Donoghue            - const: core
412d10bdc6eSBryan O'Donoghue            - const: iface
413d10bdc6eSBryan O'Donoghue            - const: bus
414d10bdc6eSBryan O'Donoghue
41565e83594SDmitry BaryshkovunevaluatedProperties: false
4164dbe55c9SKrishna Manikandan
4174dbe55c9SKrishna Manikandanexamples:
4184dbe55c9SKrishna Manikandan  - |
4194dbe55c9SKrishna Manikandan     #include <dt-bindings/interrupt-controller/arm-gic.h>
4204dbe55c9SKrishna Manikandan     #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
4214dbe55c9SKrishna Manikandan     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
4224dbe55c9SKrishna Manikandan     #include <dt-bindings/power/qcom-rpmpd.h>
4234dbe55c9SKrishna Manikandan
4244dbe55c9SKrishna Manikandan     dsi@ae94000 {
4250c0f65c6SBryan O'Donoghue           compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl";
4264dbe55c9SKrishna Manikandan           reg = <0x0ae94000 0x400>;
4274dbe55c9SKrishna Manikandan           reg-names = "dsi_ctrl";
4284dbe55c9SKrishna Manikandan
4294dbe55c9SKrishna Manikandan           #address-cells = <1>;
4304dbe55c9SKrishna Manikandan           #size-cells = <0>;
4314dbe55c9SKrishna Manikandan
4324dbe55c9SKrishna Manikandan           interrupt-parent = <&mdss>;
4334dbe55c9SKrishna Manikandan           interrupts = <4>;
4344dbe55c9SKrishna Manikandan
4354dbe55c9SKrishna Manikandan           clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
4364dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
4374dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
4384dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_ESC0_CLK>,
4394dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_AHB_CLK>,
4404dbe55c9SKrishna Manikandan                    <&dispcc DISP_CC_MDSS_AXI_CLK>;
4414dbe55c9SKrishna Manikandan           clock-names = "byte",
4424dbe55c9SKrishna Manikandan                         "byte_intf",
4434dbe55c9SKrishna Manikandan                         "pixel",
4444dbe55c9SKrishna Manikandan                         "core",
4454dbe55c9SKrishna Manikandan                         "iface",
4464dbe55c9SKrishna Manikandan                         "bus";
4474dbe55c9SKrishna Manikandan
4484dbe55c9SKrishna Manikandan           phys = <&dsi0_phy>;
4494dbe55c9SKrishna Manikandan           phy-names = "dsi";
4504dbe55c9SKrishna Manikandan
451061a9aeaSDmitry Baryshkov           assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
452061a9aeaSDmitry Baryshkov           assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>;
453061a9aeaSDmitry Baryshkov
4544dbe55c9SKrishna Manikandan           power-domains = <&rpmhpd SC7180_CX>;
4554dbe55c9SKrishna Manikandan           operating-points-v2 = <&dsi_opp_table>;
4564dbe55c9SKrishna Manikandan
4574dbe55c9SKrishna Manikandan           ports {
4584dbe55c9SKrishna Manikandan                  #address-cells = <1>;
4594dbe55c9SKrishna Manikandan                  #size-cells = <0>;
4604dbe55c9SKrishna Manikandan
4614dbe55c9SKrishna Manikandan                  port@0 {
4624dbe55c9SKrishna Manikandan                          reg = <0>;
4634dbe55c9SKrishna Manikandan                          dsi0_in: endpoint {
4644dbe55c9SKrishna Manikandan                                   remote-endpoint = <&dpu_intf1_out>;
4654dbe55c9SKrishna Manikandan                          };
4664dbe55c9SKrishna Manikandan                  };
4674dbe55c9SKrishna Manikandan
4684dbe55c9SKrishna Manikandan                  port@1 {
4694dbe55c9SKrishna Manikandan                          reg = <1>;
4704dbe55c9SKrishna Manikandan                          dsi0_out: endpoint {
4714dbe55c9SKrishna Manikandan                                   remote-endpoint = <&sn65dsi86_in>;
4724dbe55c9SKrishna Manikandan                                   data-lanes = <0 1 2 3>;
473ec66abb4SDmitry Baryshkov                                   qcom,te-source = "mdp_vsync_e";
4744dbe55c9SKrishna Manikandan                          };
4754dbe55c9SKrishna Manikandan                  };
4764dbe55c9SKrishna Manikandan           };
4774dbe55c9SKrishna Manikandan     };
4784dbe55c9SKrishna Manikandan...
479