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