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