xref: /freebsd/sys/contrib/device-tree/Bindings/display/msm/qcom,sm6150-dpu.yaml (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
1*2846c905SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*2846c905SEmmanuel Vadot%YAML 1.2
3*2846c905SEmmanuel Vadot---
4*2846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sm6150-dpu.yaml#
5*2846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2846c905SEmmanuel Vadot
7*2846c905SEmmanuel Vadottitle: Qualcomm SM6150 Display DPU
8*2846c905SEmmanuel Vadot
9*2846c905SEmmanuel Vadotmaintainers:
10*2846c905SEmmanuel Vadot  - Abhinav Kumar <quic_abhinavk@quicinc.com>
11*2846c905SEmmanuel Vadot  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
12*2846c905SEmmanuel Vadot
13*2846c905SEmmanuel Vadot$ref: /schemas/display/msm/dpu-common.yaml#
14*2846c905SEmmanuel Vadot
15*2846c905SEmmanuel Vadotproperties:
16*2846c905SEmmanuel Vadot  compatible:
17*2846c905SEmmanuel Vadot    const: qcom,sm6150-dpu
18*2846c905SEmmanuel Vadot
19*2846c905SEmmanuel Vadot  reg:
20*2846c905SEmmanuel Vadot    items:
21*2846c905SEmmanuel Vadot      - description: Address offset and size for mdp register set
22*2846c905SEmmanuel Vadot      - description: Address offset and size for vbif register set
23*2846c905SEmmanuel Vadot
24*2846c905SEmmanuel Vadot  reg-names:
25*2846c905SEmmanuel Vadot    items:
26*2846c905SEmmanuel Vadot      - const: mdp
27*2846c905SEmmanuel Vadot      - const: vbif
28*2846c905SEmmanuel Vadot
29*2846c905SEmmanuel Vadot  clocks:
30*2846c905SEmmanuel Vadot    items:
31*2846c905SEmmanuel Vadot      - description: Display ahb clock
32*2846c905SEmmanuel Vadot      - description: Display hf axi clock
33*2846c905SEmmanuel Vadot      - description: Display core clock
34*2846c905SEmmanuel Vadot      - description: Display vsync clock
35*2846c905SEmmanuel Vadot
36*2846c905SEmmanuel Vadot  clock-names:
37*2846c905SEmmanuel Vadot    items:
38*2846c905SEmmanuel Vadot      - const: iface
39*2846c905SEmmanuel Vadot      - const: bus
40*2846c905SEmmanuel Vadot      - const: core
41*2846c905SEmmanuel Vadot      - const: vsync
42*2846c905SEmmanuel Vadot
43*2846c905SEmmanuel VadotunevaluatedProperties: false
44*2846c905SEmmanuel Vadot
45*2846c905SEmmanuel Vadotexamples:
46*2846c905SEmmanuel Vadot  - |
47*2846c905SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
48*2846c905SEmmanuel Vadot    #include <dt-bindings/power/qcom,rpmhpd.h>
49*2846c905SEmmanuel Vadot
50*2846c905SEmmanuel Vadot    display-controller@ae01000 {
51*2846c905SEmmanuel Vadot        compatible = "qcom,sm6150-dpu";
52*2846c905SEmmanuel Vadot        reg = <0x0ae01000 0x8f000>,
53*2846c905SEmmanuel Vadot              <0x0aeb0000 0x2008>;
54*2846c905SEmmanuel Vadot        reg-names = "mdp", "vbif";
55*2846c905SEmmanuel Vadot
56*2846c905SEmmanuel Vadot        clocks = <&dispcc_mdss_ahb_clk>,
57*2846c905SEmmanuel Vadot                 <&gcc_disp_hf_axi_clk>,
58*2846c905SEmmanuel Vadot                 <&dispcc_mdss_mdp_clk>,
59*2846c905SEmmanuel Vadot                 <&dispcc_mdss_vsync_clk>;
60*2846c905SEmmanuel Vadot        clock-names = "iface", "bus", "core", "vsync";
61*2846c905SEmmanuel Vadot
62*2846c905SEmmanuel Vadot        assigned-clocks = <&dispcc_mdss_vsync_clk>;
63*2846c905SEmmanuel Vadot        assigned-clock-rates = <19200000>;
64*2846c905SEmmanuel Vadot
65*2846c905SEmmanuel Vadot        operating-points-v2 = <&mdp_opp_table>;
66*2846c905SEmmanuel Vadot        power-domains = <&rpmhpd RPMHPD_CX>;
67*2846c905SEmmanuel Vadot
68*2846c905SEmmanuel Vadot        interrupt-parent = <&mdss>;
69*2846c905SEmmanuel Vadot        interrupts = <0>;
70*2846c905SEmmanuel Vadot
71*2846c905SEmmanuel Vadot        ports {
72*2846c905SEmmanuel Vadot            #address-cells = <1>;
73*2846c905SEmmanuel Vadot            #size-cells = <0>;
74*2846c905SEmmanuel Vadot
75*2846c905SEmmanuel Vadot            port@0 {
76*2846c905SEmmanuel Vadot                reg = <0>;
77*2846c905SEmmanuel Vadot                dpu_intf0_out: endpoint {
78*2846c905SEmmanuel Vadot                };
79*2846c905SEmmanuel Vadot            };
80*2846c905SEmmanuel Vadot
81*2846c905SEmmanuel Vadot            port@1 {
82*2846c905SEmmanuel Vadot                reg = <1>;
83*2846c905SEmmanuel Vadot                dpu_intf1_out: endpoint {
84*2846c905SEmmanuel Vadot                  remote-endpoint = <&mdss_dsi0_in>;
85*2846c905SEmmanuel Vadot                };
86*2846c905SEmmanuel Vadot            };
87*2846c905SEmmanuel Vadot        };
88*2846c905SEmmanuel Vadot
89*2846c905SEmmanuel Vadot        mdp_opp_table: opp-table {
90*2846c905SEmmanuel Vadot            compatible = "operating-points-v2";
91*2846c905SEmmanuel Vadot
92*2846c905SEmmanuel Vadot            opp-19200000 {
93*2846c905SEmmanuel Vadot              opp-hz = /bits/ 64 <19200000>;
94*2846c905SEmmanuel Vadot              required-opps = <&rpmhpd_opp_low_svs>;
95*2846c905SEmmanuel Vadot            };
96*2846c905SEmmanuel Vadot
97*2846c905SEmmanuel Vadot            opp-25600000 {
98*2846c905SEmmanuel Vadot              opp-hz = /bits/ 64 <25600000>;
99*2846c905SEmmanuel Vadot              required-opps = <&rpmhpd_opp_svs>;
100*2846c905SEmmanuel Vadot            };
101*2846c905SEmmanuel Vadot
102*2846c905SEmmanuel Vadot            opp-307200000 {
103*2846c905SEmmanuel Vadot              opp-hz = /bits/ 64 <307200000>;
104*2846c905SEmmanuel Vadot              required-opps = <&rpmhpd_opp_nom>;
105*2846c905SEmmanuel Vadot            };
106*2846c905SEmmanuel Vadot        };
107*2846c905SEmmanuel Vadot    };
108*2846c905SEmmanuel Vadot...
109