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