1*440b075bSKrzysztof 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 285c719967SDmitry Baryshkov - qcom,msm8953-mdp5 295c719967SDmitry Baryshkov - qcom,msm8974-mdp5 305c719967SDmitry Baryshkov - qcom,msm8976-mdp5 315c719967SDmitry Baryshkov - qcom,msm8994-mdp5 325c719967SDmitry Baryshkov - qcom,msm8996-mdp5 335c719967SDmitry Baryshkov - qcom,sdm630-mdp5 345c719967SDmitry Baryshkov - qcom,sdm660-mdp5 355c719967SDmitry Baryshkov - const: qcom,mdp5 36385c8ac7SDmitry Baryshkov 37798cc8f0SDmitry Baryshkov $nodename: 38798cc8f0SDmitry Baryshkov pattern: '^display-controller@[0-9a-f]+$' 39798cc8f0SDmitry Baryshkov 40385c8ac7SDmitry Baryshkov reg: 41385c8ac7SDmitry Baryshkov maxItems: 1 42385c8ac7SDmitry Baryshkov 43385c8ac7SDmitry Baryshkov reg-names: 44385c8ac7SDmitry Baryshkov items: 45385c8ac7SDmitry Baryshkov - const: mdp_phys 46385c8ac7SDmitry Baryshkov 47385c8ac7SDmitry Baryshkov interrupts: 48385c8ac7SDmitry Baryshkov maxItems: 1 49385c8ac7SDmitry Baryshkov 50385c8ac7SDmitry Baryshkov clocks: 51385c8ac7SDmitry Baryshkov minItems: 4 52385c8ac7SDmitry Baryshkov maxItems: 7 53385c8ac7SDmitry Baryshkov 54385c8ac7SDmitry Baryshkov clock-names: 55385c8ac7SDmitry Baryshkov oneOf: 56385c8ac7SDmitry Baryshkov - minItems: 4 57385c8ac7SDmitry Baryshkov items: 58385c8ac7SDmitry Baryshkov - const: iface 59385c8ac7SDmitry Baryshkov - const: bus 60385c8ac7SDmitry Baryshkov - const: core 61385c8ac7SDmitry Baryshkov - const: vsync 62385c8ac7SDmitry Baryshkov - const: lut 63385c8ac7SDmitry Baryshkov - const: tbu 64385c8ac7SDmitry Baryshkov - const: tbu_rt 65385c8ac7SDmitry Baryshkov # MSM8996 has additional iommu clock 66385c8ac7SDmitry Baryshkov - items: 67385c8ac7SDmitry Baryshkov - const: iface 68385c8ac7SDmitry Baryshkov - const: bus 69385c8ac7SDmitry Baryshkov - const: core 70385c8ac7SDmitry Baryshkov - const: iommu 71385c8ac7SDmitry Baryshkov - const: vsync 72385c8ac7SDmitry Baryshkov 73385c8ac7SDmitry Baryshkov interconnects: 74385c8ac7SDmitry Baryshkov minItems: 1 75385c8ac7SDmitry Baryshkov items: 76385c8ac7SDmitry Baryshkov - description: Interconnect path from mdp0 (or a single mdp) port to the data bus 77385c8ac7SDmitry Baryshkov - description: Interconnect path from mdp1 port to the data bus 78385c8ac7SDmitry Baryshkov - description: Interconnect path from rotator port to the data bus 79385c8ac7SDmitry Baryshkov 80385c8ac7SDmitry Baryshkov interconnect-names: 81385c8ac7SDmitry Baryshkov minItems: 1 82385c8ac7SDmitry Baryshkov items: 83385c8ac7SDmitry Baryshkov - const: mdp0-mem 84385c8ac7SDmitry Baryshkov - const: mdp1-mem 85385c8ac7SDmitry Baryshkov - const: rotator-mem 86385c8ac7SDmitry Baryshkov 87385c8ac7SDmitry Baryshkov iommus: 88385c8ac7SDmitry Baryshkov items: 89385c8ac7SDmitry Baryshkov - description: apps SMMU with the Stream-ID mask for Hard-Fail port0 90385c8ac7SDmitry Baryshkov 91385c8ac7SDmitry Baryshkov power-domains: 92385c8ac7SDmitry Baryshkov maxItems: 1 93385c8ac7SDmitry Baryshkov 94385c8ac7SDmitry Baryshkov operating-points-v2: true 95385c8ac7SDmitry Baryshkov opp-table: 96385c8ac7SDmitry Baryshkov type: object 97385c8ac7SDmitry Baryshkov 98385c8ac7SDmitry Baryshkov ports: 99385c8ac7SDmitry Baryshkov $ref: /schemas/graph.yaml#/properties/ports 100385c8ac7SDmitry Baryshkov description: > 101385c8ac7SDmitry Baryshkov Contains the list of output ports from DPU device. These ports 102385c8ac7SDmitry Baryshkov connect to interfaces that are external to the DPU hardware, 103385c8ac7SDmitry Baryshkov such as DSI, DP etc. MDP5 devices support up to 4 ports: 104385c8ac7SDmitry Baryshkov one or two DSI ports, HDMI and eDP. 105385c8ac7SDmitry Baryshkov 106385c8ac7SDmitry Baryshkov patternProperties: 107385c8ac7SDmitry Baryshkov "^port@[0-3]+$": 108385c8ac7SDmitry Baryshkov $ref: /schemas/graph.yaml#/properties/port 109385c8ac7SDmitry Baryshkov 110385c8ac7SDmitry Baryshkov # at least one port is required 111385c8ac7SDmitry Baryshkov required: 112385c8ac7SDmitry Baryshkov - port@0 113385c8ac7SDmitry Baryshkov 114385c8ac7SDmitry Baryshkovrequired: 115385c8ac7SDmitry Baryshkov - compatible 116385c8ac7SDmitry Baryshkov - reg 117385c8ac7SDmitry Baryshkov - reg-names 118385c8ac7SDmitry Baryshkov - clocks 119385c8ac7SDmitry Baryshkov - clock-names 120385c8ac7SDmitry Baryshkov - ports 121385c8ac7SDmitry Baryshkov 122385c8ac7SDmitry BaryshkovadditionalProperties: false 123385c8ac7SDmitry Baryshkov 124385c8ac7SDmitry Baryshkovexamples: 125385c8ac7SDmitry Baryshkov - | 126385c8ac7SDmitry Baryshkov #include <dt-bindings/clock/qcom,gcc-msm8916.h> 127385c8ac7SDmitry Baryshkov #include <dt-bindings/interrupt-controller/arm-gic.h> 128385c8ac7SDmitry Baryshkov display-controller@1a01000 { 129385c8ac7SDmitry Baryshkov compatible = "qcom,mdp5"; 130385c8ac7SDmitry Baryshkov reg = <0x1a01000 0x90000>; 131385c8ac7SDmitry Baryshkov reg-names = "mdp_phys"; 132385c8ac7SDmitry Baryshkov 133385c8ac7SDmitry Baryshkov interrupt-parent = <&mdss>; 134385c8ac7SDmitry Baryshkov interrupts = <0>; 135385c8ac7SDmitry Baryshkov 136385c8ac7SDmitry Baryshkov clocks = <&gcc GCC_MDSS_AHB_CLK>, 137385c8ac7SDmitry Baryshkov <&gcc GCC_MDSS_AXI_CLK>, 138385c8ac7SDmitry Baryshkov <&gcc GCC_MDSS_MDP_CLK>, 139385c8ac7SDmitry Baryshkov <&gcc GCC_MDSS_VSYNC_CLK>; 140385c8ac7SDmitry Baryshkov clock-names = "iface", 141385c8ac7SDmitry Baryshkov "bus", 142385c8ac7SDmitry Baryshkov "core", 143385c8ac7SDmitry Baryshkov "vsync"; 144385c8ac7SDmitry Baryshkov 145385c8ac7SDmitry Baryshkov ports { 146385c8ac7SDmitry Baryshkov #address-cells = <1>; 147385c8ac7SDmitry Baryshkov #size-cells = <0>; 148385c8ac7SDmitry Baryshkov 149385c8ac7SDmitry Baryshkov port@0 { 150385c8ac7SDmitry Baryshkov reg = <0>; 151385c8ac7SDmitry Baryshkov endpoint { 152385c8ac7SDmitry Baryshkov remote-endpoint = <&dsi0_in>; 153385c8ac7SDmitry Baryshkov }; 154385c8ac7SDmitry Baryshkov }; 155385c8ac7SDmitry Baryshkov }; 156385c8ac7SDmitry Baryshkov }; 157385c8ac7SDmitry Baryshkov... 158