1440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2385c8ac7SDmitry Baryshkov%YAML 1.2 3385c8ac7SDmitry Baryshkov--- 4385c8ac7SDmitry Baryshkov$id: http://devicetree.org/schemas/display/msm/qcom,mdp5.yaml# 5385c8ac7SDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml# 6385c8ac7SDmitry Baryshkov 7385c8ac7SDmitry Baryshkovtitle: Qualcomm Adreno/Snapdragon Mobile Display controller (MDP5) 8385c8ac7SDmitry Baryshkov 9385c8ac7SDmitry Baryshkovdescription: 10385c8ac7SDmitry Baryshkov MDP5 display controller found in SoCs like MSM8974, APQ8084, MSM8916, MSM8994 11385c8ac7SDmitry Baryshkov and MSM8996. 12385c8ac7SDmitry Baryshkov 13385c8ac7SDmitry Baryshkovmaintainers: 14385c8ac7SDmitry Baryshkov - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 15385c8ac7SDmitry Baryshkov - Rob Clark <robdclark@gmail.com> 16385c8ac7SDmitry Baryshkov 17385c8ac7SDmitry Baryshkovproperties: 18385c8ac7SDmitry Baryshkov compatible: 195c719967SDmitry Baryshkov oneOf: 205c719967SDmitry Baryshkov - const: qcom,mdp5 215c719967SDmitry Baryshkov deprecated: true 225c719967SDmitry Baryshkov - items: 235c719967SDmitry Baryshkov - enum: 245c719967SDmitry Baryshkov - qcom,apq8084-mdp5 25c6e79fd5SLuca Weiss - qcom,msm8226-mdp5 265c719967SDmitry Baryshkov - qcom,msm8916-mdp5 275c719967SDmitry Baryshkov - qcom,msm8917-mdp5 28*c94dc5feSBarnabás Czémán - qcom,msm8937-mdp5 295c719967SDmitry Baryshkov - qcom,msm8953-mdp5 305c719967SDmitry Baryshkov - qcom,msm8974-mdp5 315c719967SDmitry Baryshkov - qcom,msm8976-mdp5 325c719967SDmitry Baryshkov - qcom,msm8994-mdp5 335c719967SDmitry Baryshkov - qcom,msm8996-mdp5 345c719967SDmitry Baryshkov - qcom,sdm630-mdp5 355c719967SDmitry Baryshkov - qcom,sdm660-mdp5 365c719967SDmitry Baryshkov - const: qcom,mdp5 37385c8ac7SDmitry Baryshkov 38798cc8f0SDmitry Baryshkov $nodename: 39798cc8f0SDmitry Baryshkov pattern: '^display-controller@[0-9a-f]+$' 40798cc8f0SDmitry Baryshkov 41385c8ac7SDmitry Baryshkov reg: 42385c8ac7SDmitry Baryshkov maxItems: 1 43385c8ac7SDmitry Baryshkov 44385c8ac7SDmitry Baryshkov reg-names: 45385c8ac7SDmitry Baryshkov items: 46385c8ac7SDmitry Baryshkov - const: mdp_phys 47385c8ac7SDmitry Baryshkov 48385c8ac7SDmitry Baryshkov interrupts: 49385c8ac7SDmitry Baryshkov maxItems: 1 50385c8ac7SDmitry Baryshkov 51385c8ac7SDmitry Baryshkov clocks: 52385c8ac7SDmitry Baryshkov minItems: 4 53385c8ac7SDmitry Baryshkov maxItems: 7 54385c8ac7SDmitry Baryshkov 55385c8ac7SDmitry Baryshkov clock-names: 56385c8ac7SDmitry Baryshkov oneOf: 57385c8ac7SDmitry Baryshkov - minItems: 4 58385c8ac7SDmitry Baryshkov items: 59385c8ac7SDmitry Baryshkov - const: iface 60385c8ac7SDmitry Baryshkov - const: bus 61385c8ac7SDmitry Baryshkov - const: core 62385c8ac7SDmitry Baryshkov - const: vsync 63385c8ac7SDmitry Baryshkov - const: lut 64385c8ac7SDmitry Baryshkov - const: tbu 65385c8ac7SDmitry Baryshkov - const: tbu_rt 66385c8ac7SDmitry Baryshkov # MSM8996 has additional iommu clock 67385c8ac7SDmitry Baryshkov - items: 68385c8ac7SDmitry Baryshkov - const: iface 69385c8ac7SDmitry Baryshkov - const: bus 70385c8ac7SDmitry Baryshkov - const: core 71385c8ac7SDmitry Baryshkov - const: iommu 72385c8ac7SDmitry Baryshkov - const: vsync 73385c8ac7SDmitry Baryshkov 74385c8ac7SDmitry Baryshkov interconnects: 75385c8ac7SDmitry Baryshkov minItems: 1 76385c8ac7SDmitry Baryshkov items: 77385c8ac7SDmitry Baryshkov - description: Interconnect path from mdp0 (or a single mdp) port to the data bus 78385c8ac7SDmitry Baryshkov - description: Interconnect path from mdp1 port to the data bus 79385c8ac7SDmitry Baryshkov - description: Interconnect path from rotator port to the data bus 80385c8ac7SDmitry Baryshkov 81385c8ac7SDmitry Baryshkov interconnect-names: 82385c8ac7SDmitry Baryshkov minItems: 1 83385c8ac7SDmitry Baryshkov items: 84385c8ac7SDmitry Baryshkov - const: mdp0-mem 85385c8ac7SDmitry Baryshkov - const: mdp1-mem 86385c8ac7SDmitry Baryshkov - const: rotator-mem 87385c8ac7SDmitry Baryshkov 88385c8ac7SDmitry Baryshkov iommus: 89385c8ac7SDmitry Baryshkov items: 90385c8ac7SDmitry Baryshkov - description: apps SMMU with the Stream-ID mask for Hard-Fail port0 91385c8ac7SDmitry Baryshkov 92385c8ac7SDmitry Baryshkov power-domains: 93385c8ac7SDmitry Baryshkov maxItems: 1 94385c8ac7SDmitry Baryshkov 95385c8ac7SDmitry Baryshkov operating-points-v2: true 96385c8ac7SDmitry Baryshkov opp-table: 97385c8ac7SDmitry Baryshkov type: object 98385c8ac7SDmitry Baryshkov 99385c8ac7SDmitry Baryshkov ports: 100385c8ac7SDmitry Baryshkov $ref: /schemas/graph.yaml#/properties/ports 101385c8ac7SDmitry Baryshkov description: > 102385c8ac7SDmitry Baryshkov Contains the list of output ports from DPU device. These ports 103385c8ac7SDmitry Baryshkov connect to interfaces that are external to the DPU hardware, 104385c8ac7SDmitry Baryshkov such as DSI, DP etc. MDP5 devices support up to 4 ports: 105385c8ac7SDmitry Baryshkov one or two DSI ports, HDMI and eDP. 106385c8ac7SDmitry Baryshkov 107385c8ac7SDmitry Baryshkov patternProperties: 108385c8ac7SDmitry Baryshkov "^port@[0-3]+$": 109385c8ac7SDmitry Baryshkov $ref: /schemas/graph.yaml#/properties/port 110385c8ac7SDmitry Baryshkov 111385c8ac7SDmitry Baryshkov # at least one port is required 112385c8ac7SDmitry Baryshkov required: 113385c8ac7SDmitry Baryshkov - port@0 114385c8ac7SDmitry Baryshkov 115385c8ac7SDmitry Baryshkovrequired: 116385c8ac7SDmitry Baryshkov - compatible 117385c8ac7SDmitry Baryshkov - reg 118385c8ac7SDmitry Baryshkov - reg-names 119385c8ac7SDmitry Baryshkov - clocks 120385c8ac7SDmitry Baryshkov - clock-names 121385c8ac7SDmitry Baryshkov - ports 122385c8ac7SDmitry Baryshkov 123385c8ac7SDmitry BaryshkovadditionalProperties: false 124385c8ac7SDmitry Baryshkov 125385c8ac7SDmitry Baryshkovexamples: 126385c8ac7SDmitry Baryshkov - | 127385c8ac7SDmitry Baryshkov #include <dt-bindings/clock/qcom,gcc-msm8916.h> 128385c8ac7SDmitry Baryshkov #include <dt-bindings/interrupt-controller/arm-gic.h> 129385c8ac7SDmitry Baryshkov display-controller@1a01000 { 130385c8ac7SDmitry Baryshkov compatible = "qcom,mdp5"; 131385c8ac7SDmitry Baryshkov reg = <0x1a01000 0x90000>; 132385c8ac7SDmitry Baryshkov reg-names = "mdp_phys"; 133385c8ac7SDmitry Baryshkov 134385c8ac7SDmitry Baryshkov interrupt-parent = <&mdss>; 135385c8ac7SDmitry Baryshkov interrupts = <0>; 136385c8ac7SDmitry Baryshkov 137385c8ac7SDmitry Baryshkov clocks = <&gcc GCC_MDSS_AHB_CLK>, 138385c8ac7SDmitry Baryshkov <&gcc GCC_MDSS_AXI_CLK>, 139385c8ac7SDmitry Baryshkov <&gcc GCC_MDSS_MDP_CLK>, 140385c8ac7SDmitry Baryshkov <&gcc GCC_MDSS_VSYNC_CLK>; 141385c8ac7SDmitry Baryshkov clock-names = "iface", 142385c8ac7SDmitry Baryshkov "bus", 143385c8ac7SDmitry Baryshkov "core", 144385c8ac7SDmitry Baryshkov "vsync"; 145385c8ac7SDmitry Baryshkov 146385c8ac7SDmitry Baryshkov ports { 147385c8ac7SDmitry Baryshkov #address-cells = <1>; 148385c8ac7SDmitry Baryshkov #size-cells = <0>; 149385c8ac7SDmitry Baryshkov 150385c8ac7SDmitry Baryshkov port@0 { 151385c8ac7SDmitry Baryshkov reg = <0>; 152385c8ac7SDmitry Baryshkov endpoint { 153385c8ac7SDmitry Baryshkov remote-endpoint = <&dsi0_in>; 154385c8ac7SDmitry Baryshkov }; 155385c8ac7SDmitry Baryshkov }; 156385c8ac7SDmitry Baryshkov }; 157385c8ac7SDmitry Baryshkov }; 158385c8ac7SDmitry Baryshkov... 159