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