blob: 16a541fca66f3eb617defe6bbb0d662aac30f8eb [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/msm/qcom,sm8550-dpu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SM8550 Display DPU
8
9maintainers:
10 - Neil Armstrong <neil.armstrong@linaro.org>
11
12$ref: /schemas/display/msm/dpu-common.yaml#
13
14properties:
15 compatible:
16 const: qcom,sm8550-dpu
17
18 reg:
19 items:
20 - description: Address offset and size for mdp register set
21 - description: Address offset and size for vbif register set
22
23 reg-names:
24 items:
25 - const: mdp
26 - const: vbif
27
28 clocks:
29 items:
30 - description: Display AHB
31 - description: Display hf axi
32 - description: Display MDSS ahb
33 - description: Display lut
34 - description: Display core
35 - description: Display vsync
36
37 clock-names:
38 items:
39 - const: bus
40 - const: nrt_bus
41 - const: iface
42 - const: lut
43 - const: core
44 - const: vsync
45
46required:
47 - compatible
48 - reg
49 - reg-names
50 - clocks
51 - clock-names
52
53unevaluatedProperties: false
54
55examples:
56 - |
57 #include <dt-bindings/clock/qcom,sm8550-dispcc.h>
58 #include <dt-bindings/clock/qcom,sm8550-gcc.h>
59 #include <dt-bindings/interrupt-controller/arm-gic.h>
60 #include <dt-bindings/power/qcom,rpmhpd.h>
61
62 display-controller@ae01000 {
63 compatible = "qcom,sm8550-dpu";
64 reg = <0x0ae01000 0x8f000>,
65 <0x0aeb0000 0x2008>;
66 reg-names = "mdp", "vbif";
67
68 clocks = <&gcc GCC_DISP_AHB_CLK>,
69 <&gcc GCC_DISP_HF_AXI_CLK>,
70 <&dispcc DISP_CC_MDSS_AHB_CLK>,
71 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
72 <&dispcc DISP_CC_MDSS_MDP_CLK>,
73 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
74 clock-names = "bus",
75 "nrt_bus",
76 "iface",
77 "lut",
78 "core",
79 "vsync";
80
81 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
82 assigned-clock-rates = <19200000>;
83
84 operating-points-v2 = <&mdp_opp_table>;
85 power-domains = <&rpmhpd RPMHPD_MMCX>;
86
87 interrupt-parent = <&mdss>;
88 interrupts = <0>;
89
90 ports {
91 #address-cells = <1>;
92 #size-cells = <0>;
93
94 port@0 {
95 reg = <0>;
96 dpu_intf1_out: endpoint {
97 remote-endpoint = <&dsi0_in>;
98 };
99 };
100
101 port@1 {
102 reg = <1>;
103 dpu_intf2_out: endpoint {
104 remote-endpoint = <&dsi1_in>;
105 };
106 };
107 };
108
109 mdp_opp_table: opp-table {
110 compatible = "operating-points-v2";
111
112 opp-200000000 {
113 opp-hz = /bits/ 64 <200000000>;
114 required-opps = <&rpmhpd_opp_low_svs>;
115 };
116
117 opp-325000000 {
118 opp-hz = /bits/ 64 <325000000>;
119 required-opps = <&rpmhpd_opp_svs>;
120 };
121
122 opp-375000000 {
123 opp-hz = /bits/ 64 <375000000>;
124 required-opps = <&rpmhpd_opp_svs_l1>;
125 };
126
127 opp-514000000 {
128 opp-hz = /bits/ 64 <514000000>;
129 required-opps = <&rpmhpd_opp_nom>;
130 };
131 };
132 };
133...