1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2cb7aa33aSEmmanuel Vadot%YAML 1.2 3cb7aa33aSEmmanuel Vadot--- 4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sc8280xp-mdss.yaml# 5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6cb7aa33aSEmmanuel Vadot 7cb7aa33aSEmmanuel Vadottitle: Qualcomm SC8280XP Mobile Display Subsystem 8cb7aa33aSEmmanuel Vadot 9cb7aa33aSEmmanuel Vadotmaintainers: 10cb7aa33aSEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 11cb7aa33aSEmmanuel Vadot 12cb7aa33aSEmmanuel Vadotdescription: 13cb7aa33aSEmmanuel Vadot Device tree bindings for MSM Mobile Display Subsystem (MDSS) that encapsulates 14cb7aa33aSEmmanuel Vadot sub-blocks like DPU display controller, DSI and DP interfaces etc. 15cb7aa33aSEmmanuel Vadot 16cb7aa33aSEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml# 17cb7aa33aSEmmanuel Vadot 18cb7aa33aSEmmanuel Vadotproperties: 19cb7aa33aSEmmanuel Vadot compatible: 20cb7aa33aSEmmanuel Vadot const: qcom,sc8280xp-mdss 21cb7aa33aSEmmanuel Vadot 22cb7aa33aSEmmanuel Vadot clocks: 23cb7aa33aSEmmanuel Vadot items: 24cb7aa33aSEmmanuel Vadot - description: Display AHB clock from gcc 25cb7aa33aSEmmanuel Vadot - description: Display AHB clock from dispcc 26cb7aa33aSEmmanuel Vadot - description: Display core clock 27cb7aa33aSEmmanuel Vadot 28cb7aa33aSEmmanuel Vadot clock-names: 29cb7aa33aSEmmanuel Vadot items: 30cb7aa33aSEmmanuel Vadot - const: iface 31cb7aa33aSEmmanuel Vadot - const: ahb 32cb7aa33aSEmmanuel Vadot - const: core 33cb7aa33aSEmmanuel Vadot 34cb7aa33aSEmmanuel VadotpatternProperties: 35cb7aa33aSEmmanuel Vadot "^display-controller@[0-9a-f]+$": 36cb7aa33aSEmmanuel Vadot type: object 37*84943d6fSEmmanuel Vadot additionalProperties: true 38*84943d6fSEmmanuel Vadot 39cb7aa33aSEmmanuel Vadot properties: 40cb7aa33aSEmmanuel Vadot compatible: 41cb7aa33aSEmmanuel Vadot const: qcom,sc8280xp-dpu 42cb7aa33aSEmmanuel Vadot 43cb7aa33aSEmmanuel Vadot "^displayport-controller@[0-9a-f]+$": 44cb7aa33aSEmmanuel Vadot type: object 45*84943d6fSEmmanuel Vadot additionalProperties: true 46*84943d6fSEmmanuel Vadot 47cb7aa33aSEmmanuel Vadot properties: 48cb7aa33aSEmmanuel Vadot compatible: 49cb7aa33aSEmmanuel Vadot enum: 50cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-dp 51cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-edp 52cb7aa33aSEmmanuel Vadot 53cb7aa33aSEmmanuel VadotunevaluatedProperties: false 54cb7aa33aSEmmanuel Vadot 55cb7aa33aSEmmanuel Vadotexamples: 56cb7aa33aSEmmanuel Vadot - | 57cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/qcom,dispcc-sc8280xp.h> 58cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> 59cb7aa33aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 60cb7aa33aSEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sc8280xp.h> 61cb7aa33aSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 62cb7aa33aSEmmanuel Vadot 63cb7aa33aSEmmanuel Vadot display-subsystem@ae00000 { 64cb7aa33aSEmmanuel Vadot compatible = "qcom,sc8280xp-mdss"; 65cb7aa33aSEmmanuel Vadot reg = <0x0ae00000 0x1000>; 66cb7aa33aSEmmanuel Vadot reg-names = "mdss"; 67cb7aa33aSEmmanuel Vadot 68cb7aa33aSEmmanuel Vadot power-domains = <&dispcc0 MDSS_GDSC>; 69cb7aa33aSEmmanuel Vadot 70cb7aa33aSEmmanuel Vadot clocks = <&gcc GCC_DISP_AHB_CLK>, 71cb7aa33aSEmmanuel Vadot <&dispcc0 DISP_CC_MDSS_AHB_CLK>, 72cb7aa33aSEmmanuel Vadot <&dispcc0 DISP_CC_MDSS_MDP_CLK>; 73cb7aa33aSEmmanuel Vadot clock-names = "iface", 74cb7aa33aSEmmanuel Vadot "ahb", 75cb7aa33aSEmmanuel Vadot "core"; 76cb7aa33aSEmmanuel Vadot 77cb7aa33aSEmmanuel Vadot resets = <&dispcc0 DISP_CC_MDSS_CORE_BCR>; 78cb7aa33aSEmmanuel Vadot 79cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 80cb7aa33aSEmmanuel Vadot interrupt-controller; 81cb7aa33aSEmmanuel Vadot #interrupt-cells = <1>; 82cb7aa33aSEmmanuel Vadot 83cb7aa33aSEmmanuel Vadot interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>, 84cb7aa33aSEmmanuel Vadot <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>; 85cb7aa33aSEmmanuel Vadot interconnect-names = "mdp0-mem", "mdp1-mem"; 86cb7aa33aSEmmanuel Vadot 87cb7aa33aSEmmanuel Vadot iommus = <&apps_smmu 0x1000 0x402>; 88cb7aa33aSEmmanuel Vadot 89cb7aa33aSEmmanuel Vadot #address-cells = <1>; 90cb7aa33aSEmmanuel Vadot #size-cells = <1>; 91cb7aa33aSEmmanuel Vadot ranges; 92cb7aa33aSEmmanuel Vadot 93cb7aa33aSEmmanuel Vadot display-controller@ae01000 { 94cb7aa33aSEmmanuel Vadot compatible = "qcom,sc8280xp-dpu"; 95cb7aa33aSEmmanuel Vadot reg = <0x0ae01000 0x8f000>, 96cb7aa33aSEmmanuel Vadot <0x0aeb0000 0x2008>; 97cb7aa33aSEmmanuel Vadot reg-names = "mdp", "vbif"; 98cb7aa33aSEmmanuel Vadot 99cb7aa33aSEmmanuel Vadot clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 100cb7aa33aSEmmanuel Vadot <&gcc GCC_DISP_SF_AXI_CLK>, 101cb7aa33aSEmmanuel Vadot <&dispcc0 DISP_CC_MDSS_AHB_CLK>, 102cb7aa33aSEmmanuel Vadot <&dispcc0 DISP_CC_MDSS_MDP_LUT_CLK>, 103cb7aa33aSEmmanuel Vadot <&dispcc0 DISP_CC_MDSS_MDP_CLK>, 104cb7aa33aSEmmanuel Vadot <&dispcc0 DISP_CC_MDSS_VSYNC_CLK>; 105cb7aa33aSEmmanuel Vadot clock-names = "bus", 106cb7aa33aSEmmanuel Vadot "nrt_bus", 107cb7aa33aSEmmanuel Vadot "iface", 108cb7aa33aSEmmanuel Vadot "lut", 109cb7aa33aSEmmanuel Vadot "core", 110cb7aa33aSEmmanuel Vadot "vsync"; 111cb7aa33aSEmmanuel Vadot 112cb7aa33aSEmmanuel Vadot assigned-clocks = <&dispcc0 DISP_CC_MDSS_VSYNC_CLK>; 113cb7aa33aSEmmanuel Vadot assigned-clock-rates = <19200000>; 114cb7aa33aSEmmanuel Vadot 115cb7aa33aSEmmanuel Vadot operating-points-v2 = <&mdss0_mdp_opp_table>; 116cb7aa33aSEmmanuel Vadot power-domains = <&rpmhpd SC8280XP_MMCX>; 117cb7aa33aSEmmanuel Vadot 118cb7aa33aSEmmanuel Vadot interrupt-parent = <&mdss0>; 119cb7aa33aSEmmanuel Vadot interrupts = <0>; 120cb7aa33aSEmmanuel Vadot 121cb7aa33aSEmmanuel Vadot ports { 122cb7aa33aSEmmanuel Vadot #address-cells = <1>; 123cb7aa33aSEmmanuel Vadot #size-cells = <0>; 124cb7aa33aSEmmanuel Vadot 125cb7aa33aSEmmanuel Vadot port@0 { 126cb7aa33aSEmmanuel Vadot reg = <0>; 127cb7aa33aSEmmanuel Vadot endpoint { 128cb7aa33aSEmmanuel Vadot remote-endpoint = <&mdss0_dp0_in>; 129cb7aa33aSEmmanuel Vadot }; 130cb7aa33aSEmmanuel Vadot }; 131cb7aa33aSEmmanuel Vadot 132cb7aa33aSEmmanuel Vadot port@4 { 133cb7aa33aSEmmanuel Vadot reg = <4>; 134cb7aa33aSEmmanuel Vadot endpoint { 135cb7aa33aSEmmanuel Vadot remote-endpoint = <&mdss0_dp1_in>; 136cb7aa33aSEmmanuel Vadot }; 137cb7aa33aSEmmanuel Vadot }; 138cb7aa33aSEmmanuel Vadot 139cb7aa33aSEmmanuel Vadot port@5 { 140cb7aa33aSEmmanuel Vadot reg = <5>; 141cb7aa33aSEmmanuel Vadot endpoint { 142cb7aa33aSEmmanuel Vadot remote-endpoint = <&mdss0_dp3_in>; 143cb7aa33aSEmmanuel Vadot }; 144cb7aa33aSEmmanuel Vadot }; 145cb7aa33aSEmmanuel Vadot 146cb7aa33aSEmmanuel Vadot port@6 { 147cb7aa33aSEmmanuel Vadot reg = <6>; 148cb7aa33aSEmmanuel Vadot endpoint { 149cb7aa33aSEmmanuel Vadot remote-endpoint = <&mdss0_dp2_in>; 150cb7aa33aSEmmanuel Vadot }; 151cb7aa33aSEmmanuel Vadot }; 152cb7aa33aSEmmanuel Vadot }; 153cb7aa33aSEmmanuel Vadot }; 154cb7aa33aSEmmanuel Vadot }; 155cb7aa33aSEmmanuel Vadot... 156