1 # SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
4 $id: http://devicetree.org/schemas/display/msm/dpu-msm8998.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Display DPU dt properties for MSM8998 target
10 - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
13 Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
14 sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
15 bindings of MDSS and DPU are mentioned for MSM8998 target.
20 - const: qcom,msm8998-mdss
33 - description: Display AHB clock
34 - description: Display AXI clock
35 - description: Display core clock
46 interrupt-controller: true
48 "#address-cells": true
57 - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
62 "^display-controller@[0-9a-f]+$":
64 description: Node containing the properties of DPU.
65 additionalProperties: false
70 - const: qcom,msm8998-dpu
74 - description: Address offset and size for mdp register set
75 - description: Address offset and size for regdma register set
76 - description: Address offset and size for vbif register set
77 - description: Address offset and size for non-realtime vbif register set
88 - description: Display ahb clock
89 - description: Display axi clock
90 - description: Display mem-noc clock
91 - description: Display core clock
92 - description: Display vsync clock
108 operating-points-v2: true
113 $ref: /schemas/graph.yaml#/properties/ports
115 Contains the list of output ports from DPU device. These ports
116 connect to interfaces that are external to the DPU hardware,
117 such as DSI, DP etc. Each output port contains an endpoint that
118 describes how it is connected to an external interface.
122 $ref: /schemas/graph.yaml#/properties/port
123 description: DPU_INTF1 (DSI1)
126 $ref: /schemas/graph.yaml#/properties/port
127 description: DPU_INTF2 (DSI2)
140 - operating-points-v2
150 - interrupt-controller
154 additionalProperties: false
158 #include <dt-bindings/clock/qcom,mmcc-msm8998.h>
159 #include <dt-bindings/interrupt-controller/arm-gic.h>
160 #include <dt-bindings/power/qcom-rpmpd.h>
162 mdss: display-subsystem@c900000 {
163 compatible = "qcom,msm8998-mdss";
164 reg = <0x0c900000 0x1000>;
167 clocks = <&mmcc MDSS_AHB_CLK>,
168 <&mmcc MDSS_AXI_CLK>,
169 <&mmcc MDSS_MDP_CLK>;
170 clock-names = "iface", "bus", "core";
172 #address-cells = <1>;
173 #interrupt-cells = <1>;
176 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
177 interrupt-controller;
178 iommus = <&mmss_smmu 0>;
180 power-domains = <&mmcc MDSS_GDSC>;
183 display-controller@c901000 {
184 compatible = "qcom,msm8998-dpu";
185 reg = <0x0c901000 0x8f000>,
189 reg-names = "mdp", "regdma", "vbif", "vbif_nrt";
191 clocks = <&mmcc MDSS_AHB_CLK>,
192 <&mmcc MDSS_AXI_CLK>,
193 <&mmcc MNOC_AHB_CLK>,
194 <&mmcc MDSS_MDP_CLK>,
195 <&mmcc MDSS_VSYNC_CLK>;
196 clock-names = "iface", "bus", "mnoc", "core", "vsync";
198 interrupt-parent = <&mdss>;
200 operating-points-v2 = <&mdp_opp_table>;
201 power-domains = <&rpmpd MSM8998_VDDMX>;
204 #address-cells = <1>;
209 dpu_intf1_out: endpoint {
210 remote-endpoint = <&dsi0_in>;
216 dpu_intf2_out: endpoint {
217 remote-endpoint = <&dsi1_in>;