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