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