1 # SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
4 $id: http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Display DSI controller
10 - Krishna Manikandan <quic_mkrishn@quicinc.com>
17 - qcom,apq8064-dsi-ctrl
18 - qcom,msm8226-dsi-ctrl
19 - qcom,msm8916-dsi-ctrl
20 - qcom,msm8953-dsi-ctrl
21 - qcom,msm8974-dsi-ctrl
22 - qcom,msm8996-dsi-ctrl
23 - qcom,msm8998-dsi-ctrl
24 - qcom,qcm2290-dsi-ctrl
25 - qcom,sc7180-dsi-ctrl
26 - qcom,sc7280-dsi-ctrl
27 - qcom,sdm660-dsi-ctrl
28 - qcom,sdm845-dsi-ctrl
29 - qcom,sm6115-dsi-ctrl
30 - qcom,sm6350-dsi-ctrl
31 - qcom,sm6375-dsi-ctrl
32 - qcom,sm8150-dsi-ctrl
33 - qcom,sm8250-dsi-ctrl
34 - qcom,sm8350-dsi-ctrl
35 - qcom,sm8450-dsi-ctrl
36 - qcom,sm8550-dsi-ctrl
37 - const: qcom,mdss-dsi-ctrl
39 - qcom,dsi-ctrl-6g-qcm2290
40 - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible
54 Several clocks are used, depending on the variant. Typical ones are::
55 - bus:: Display AHB clock.
56 - byte:: Display byte clock.
57 - byte_intf:: Display byte interface clock.
58 - core:: Display core clock.
59 - core_mss:: Core MultiMedia SubSystem clock.
60 - iface:: Display AXI clock.
61 - mdp_core:: MDP Core clock.
63 - pixel:: Display pixel clock.
79 description: A phandle to mmss_sfpb syscon node (only for DSIv2).
80 $ref: /schemas/types.yaml#/definitions/phandle
85 Indicates if the DSI controller is driving a panel which needs
91 Indicates if the DSI controller is the master DSI controller when
92 qcom,dual-dsi-mode enabled.
97 Indicates if the DSI controller needs to sync the other DSI controller
98 with MIPI DCS commands when qcom,dual-dsi-mode enabled.
104 Parents of "byte" and "pixel" for the given platform.
105 For DSIv2 platforms this should contain "byte", "esc", "src" and
108 assigned-clock-parents:
112 The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block.
117 operating-points-v2: true
123 $ref: /schemas/graph.yaml#/properties/ports
125 Contains DSI controller input and output ports as children, each
126 containing one endpoint subnode.
130 $ref: /schemas/graph.yaml#/$defs/port-base
131 unevaluatedProperties: false
133 Input endpoints of the controller.
136 $ref: /schemas/media/video-interfaces.yaml#
137 unevaluatedProperties: false
146 $ref: /schemas/graph.yaml#/$defs/port-base
147 unevaluatedProperties: false
149 Output endpoints of the controller.
152 $ref: /schemas/media/video-interfaces.yaml#
153 unevaluatedProperties: false
167 Phandle to vdd regulator device node
171 Phandle to vdd regulator device node
194 - assigned-clock-parents
198 - $ref: ../dsi-controller.yaml#
204 - qcom,apq8064-dsi-ctrl
224 - qcom,msm8916-dsi-ctrl
243 - qcom,msm8953-dsi-ctrl
262 - qcom,msm8226-dsi-ctrl
263 - qcom,msm8974-dsi-ctrl
283 - qcom,msm8996-dsi-ctrl
303 - qcom,msm8998-dsi-ctrl
304 - qcom,sm6350-dsi-ctrl
323 - qcom,sc7180-dsi-ctrl
324 - qcom,sc7280-dsi-ctrl
325 - qcom,sm8150-dsi-ctrl
326 - qcom,sm8250-dsi-ctrl
327 - qcom,sm8350-dsi-ctrl
328 - qcom,sm8450-dsi-ctrl
329 - qcom,sm8550-dsi-ctrl
348 - qcom,sdm660-dsi-ctrl
370 - qcom,sdm845-dsi-ctrl
371 - qcom,sm6115-dsi-ctrl
372 - qcom,sm6375-dsi-ctrl
386 unevaluatedProperties: false
390 #include <dt-bindings/interrupt-controller/arm-gic.h>
391 #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
392 #include <dt-bindings/clock/qcom,gcc-sdm845.h>
393 #include <dt-bindings/power/qcom-rpmpd.h>
396 compatible = "qcom,sc7180-dsi-ctrl", "qcom,mdss-dsi-ctrl";
397 reg = <0x0ae94000 0x400>;
398 reg-names = "dsi_ctrl";
400 #address-cells = <1>;
403 interrupt-parent = <&mdss>;
406 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
407 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
408 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
409 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
410 <&dispcc DISP_CC_MDSS_AHB_CLK>,
411 <&dispcc DISP_CC_MDSS_AXI_CLK>;
412 clock-names = "byte",
422 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
423 assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>;
425 power-domains = <&rpmhpd SC7180_CX>;
426 operating-points-v2 = <&dsi_opp_table>;
429 #address-cells = <1>;
435 remote-endpoint = <&dpu_intf1_out>;
442 remote-endpoint = <&sn65dsi86_in>;
443 data-lanes = <0 1 2 3>;