1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28bab661aSEmmanuel Vadot%YAML 1.2 38bab661aSEmmanuel Vadot--- 48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,mdss.yaml# 58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68bab661aSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm Mobile Display SubSystem (MDSS) 88bab661aSEmmanuel Vadot 98bab661aSEmmanuel Vadotmaintainers: 108bab661aSEmmanuel Vadot - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 118bab661aSEmmanuel Vadot - Rob Clark <robdclark@gmail.com> 128bab661aSEmmanuel Vadot 138bab661aSEmmanuel Vadotdescription: 14*aa1a8ff2SEmmanuel Vadot This is the bindings documentation for the Mobile Display Subsystem(MDSS) that 158bab661aSEmmanuel Vadot encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc. 168bab661aSEmmanuel Vadot 178bab661aSEmmanuel Vadotproperties: 18cb7aa33aSEmmanuel Vadot $nodename: 19cb7aa33aSEmmanuel Vadot pattern: "^display-subsystem@[0-9a-f]+$" 20cb7aa33aSEmmanuel Vadot 218bab661aSEmmanuel Vadot compatible: 228bab661aSEmmanuel Vadot enum: 238bab661aSEmmanuel Vadot - qcom,mdss 248bab661aSEmmanuel Vadot 258bab661aSEmmanuel Vadot reg: 268bab661aSEmmanuel Vadot minItems: 2 278bab661aSEmmanuel Vadot maxItems: 3 288bab661aSEmmanuel Vadot 298bab661aSEmmanuel Vadot reg-names: 308bab661aSEmmanuel Vadot minItems: 2 318bab661aSEmmanuel Vadot items: 328bab661aSEmmanuel Vadot - const: mdss_phys 338bab661aSEmmanuel Vadot - const: vbif_phys 348bab661aSEmmanuel Vadot - const: vbif_nrt_phys 358bab661aSEmmanuel Vadot 368bab661aSEmmanuel Vadot interrupts: 378bab661aSEmmanuel Vadot maxItems: 1 388bab661aSEmmanuel Vadot 398bab661aSEmmanuel Vadot interrupt-controller: true 408bab661aSEmmanuel Vadot 418bab661aSEmmanuel Vadot "#interrupt-cells": 428bab661aSEmmanuel Vadot const: 1 438bab661aSEmmanuel Vadot 448bab661aSEmmanuel Vadot power-domains: 458bab661aSEmmanuel Vadot maxItems: 1 468bab661aSEmmanuel Vadot description: | 478bab661aSEmmanuel Vadot The MDSS power domain provided by GCC 488bab661aSEmmanuel Vadot 498bab661aSEmmanuel Vadot clocks: 50cb7aa33aSEmmanuel Vadot oneOf: 51cb7aa33aSEmmanuel Vadot - minItems: 3 528bab661aSEmmanuel Vadot items: 538bab661aSEmmanuel Vadot - description: Display abh clock 548bab661aSEmmanuel Vadot - description: Display axi clock 558bab661aSEmmanuel Vadot - description: Display vsync clock 56cb7aa33aSEmmanuel Vadot - description: Display core clock 57cb7aa33aSEmmanuel Vadot - minItems: 1 58cb7aa33aSEmmanuel Vadot items: 59cb7aa33aSEmmanuel Vadot - description: Display abh clock 60cb7aa33aSEmmanuel Vadot - description: Display core clock 618bab661aSEmmanuel Vadot 628bab661aSEmmanuel Vadot clock-names: 63cb7aa33aSEmmanuel Vadot oneOf: 64cb7aa33aSEmmanuel Vadot - minItems: 3 658bab661aSEmmanuel Vadot items: 668bab661aSEmmanuel Vadot - const: iface 678bab661aSEmmanuel Vadot - const: bus 688bab661aSEmmanuel Vadot - const: vsync 69cb7aa33aSEmmanuel Vadot - const: core 70cb7aa33aSEmmanuel Vadot - minItems: 1 71cb7aa33aSEmmanuel Vadot items: 72cb7aa33aSEmmanuel Vadot - const: iface 73cb7aa33aSEmmanuel Vadot - const: core 748bab661aSEmmanuel Vadot 758bab661aSEmmanuel Vadot "#address-cells": 768bab661aSEmmanuel Vadot const: 1 778bab661aSEmmanuel Vadot 788bab661aSEmmanuel Vadot "#size-cells": 798bab661aSEmmanuel Vadot const: 1 808bab661aSEmmanuel Vadot 818bab661aSEmmanuel Vadot ranges: true 828bab661aSEmmanuel Vadot 838bab661aSEmmanuel Vadot resets: 848bab661aSEmmanuel Vadot items: 858bab661aSEmmanuel Vadot - description: MDSS_CORE reset 868bab661aSEmmanuel Vadot 878bab661aSEmmanuel Vadotrequired: 888bab661aSEmmanuel Vadot - compatible 898bab661aSEmmanuel Vadot - reg 908bab661aSEmmanuel Vadot - reg-names 918bab661aSEmmanuel Vadot - interrupts 928bab661aSEmmanuel Vadot - interrupt-controller 938bab661aSEmmanuel Vadot - "#interrupt-cells" 948bab661aSEmmanuel Vadot - power-domains 958bab661aSEmmanuel Vadot - clocks 968bab661aSEmmanuel Vadot - clock-names 978bab661aSEmmanuel Vadot - "#address-cells" 988bab661aSEmmanuel Vadot - "#size-cells" 998bab661aSEmmanuel Vadot - ranges 1008bab661aSEmmanuel Vadot 1018bab661aSEmmanuel VadotpatternProperties: 102cb7aa33aSEmmanuel Vadot "^display-controller@[1-9a-f][0-9a-f]*$": 1038bab661aSEmmanuel Vadot type: object 104fac71e4eSEmmanuel Vadot additionalProperties: true 1058bab661aSEmmanuel Vadot properties: 1068bab661aSEmmanuel Vadot compatible: 107cb7aa33aSEmmanuel Vadot contains: 1088bab661aSEmmanuel Vadot const: qcom,mdp5 1098bab661aSEmmanuel Vadot 1108bab661aSEmmanuel Vadot "^dsi@[1-9a-f][0-9a-f]*$": 1118bab661aSEmmanuel Vadot type: object 112fac71e4eSEmmanuel Vadot additionalProperties: true 1138bab661aSEmmanuel Vadot properties: 1148bab661aSEmmanuel Vadot compatible: 115cb7aa33aSEmmanuel Vadot contains: 1168bab661aSEmmanuel Vadot const: qcom,mdss-dsi-ctrl 1178bab661aSEmmanuel Vadot 1188bab661aSEmmanuel Vadot "^phy@[1-9a-f][0-9a-f]*$": 1198bab661aSEmmanuel Vadot type: object 120fac71e4eSEmmanuel Vadot additionalProperties: true 1218bab661aSEmmanuel Vadot properties: 1228bab661aSEmmanuel Vadot compatible: 1238bab661aSEmmanuel Vadot enum: 1248bab661aSEmmanuel Vadot - qcom,dsi-phy-14nm 1258bab661aSEmmanuel Vadot - qcom,dsi-phy-14nm-660 1268bab661aSEmmanuel Vadot - qcom,dsi-phy-14nm-8953 1278bab661aSEmmanuel Vadot - qcom,dsi-phy-20nm 128f126890aSEmmanuel Vadot - qcom,dsi-phy-28nm-8226 1298bab661aSEmmanuel Vadot - qcom,dsi-phy-28nm-hpm 1308bab661aSEmmanuel Vadot - qcom,dsi-phy-28nm-lp 1318bab661aSEmmanuel Vadot - qcom,hdmi-phy-8084 1328bab661aSEmmanuel Vadot - qcom,hdmi-phy-8660 1338bab661aSEmmanuel Vadot - qcom,hdmi-phy-8960 1348bab661aSEmmanuel Vadot - qcom,hdmi-phy-8974 1358bab661aSEmmanuel Vadot - qcom,hdmi-phy-8996 1368bab661aSEmmanuel Vadot 1378bab661aSEmmanuel Vadot "^hdmi-tx@[1-9a-f][0-9a-f]*$": 1388bab661aSEmmanuel Vadot type: object 139fac71e4eSEmmanuel Vadot additionalProperties: true 1408bab661aSEmmanuel Vadot properties: 1418bab661aSEmmanuel Vadot compatible: 1428bab661aSEmmanuel Vadot enum: 1438bab661aSEmmanuel Vadot - qcom,hdmi-tx-8084 1448bab661aSEmmanuel Vadot - qcom,hdmi-tx-8660 1458bab661aSEmmanuel Vadot - qcom,hdmi-tx-8960 1468bab661aSEmmanuel Vadot - qcom,hdmi-tx-8974 1478bab661aSEmmanuel Vadot - qcom,hdmi-tx-8994 1488bab661aSEmmanuel Vadot - qcom,hdmi-tx-8996 1498bab661aSEmmanuel Vadot 1508bab661aSEmmanuel VadotadditionalProperties: false 1518bab661aSEmmanuel Vadot 1528bab661aSEmmanuel Vadotexamples: 1538bab661aSEmmanuel Vadot - | 1548bab661aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-msm8916.h> 1558bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 156cb7aa33aSEmmanuel Vadot display-subsystem@1a00000 { 1578bab661aSEmmanuel Vadot compatible = "qcom,mdss"; 1588bab661aSEmmanuel Vadot reg = <0x1a00000 0x1000>, 1598bab661aSEmmanuel Vadot <0x1ac8000 0x3000>; 1608bab661aSEmmanuel Vadot reg-names = "mdss_phys", "vbif_phys"; 1618bab661aSEmmanuel Vadot 1628bab661aSEmmanuel Vadot power-domains = <&gcc MDSS_GDSC>; 1638bab661aSEmmanuel Vadot 1648bab661aSEmmanuel Vadot clocks = <&gcc GCC_MDSS_AHB_CLK>, 1658bab661aSEmmanuel Vadot <&gcc GCC_MDSS_AXI_CLK>, 1668bab661aSEmmanuel Vadot <&gcc GCC_MDSS_VSYNC_CLK>; 1678bab661aSEmmanuel Vadot clock-names = "iface", 1688bab661aSEmmanuel Vadot "bus", 1698bab661aSEmmanuel Vadot "vsync"; 1708bab661aSEmmanuel Vadot 1718bab661aSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1728bab661aSEmmanuel Vadot 1738bab661aSEmmanuel Vadot interrupt-controller; 1748bab661aSEmmanuel Vadot #interrupt-cells = <1>; 1758bab661aSEmmanuel Vadot 1768bab661aSEmmanuel Vadot #address-cells = <1>; 1778bab661aSEmmanuel Vadot #size-cells = <1>; 1788bab661aSEmmanuel Vadot ranges; 1798bab661aSEmmanuel Vadot 180cb7aa33aSEmmanuel Vadot display-controller@1a01000 { 181cb7aa33aSEmmanuel Vadot compatible = "qcom,msm8916-mdp5", "qcom,mdp5"; 1828bab661aSEmmanuel Vadot reg = <0x01a01000 0x89000>; 1838bab661aSEmmanuel Vadot reg-names = "mdp_phys"; 1848bab661aSEmmanuel Vadot 1858bab661aSEmmanuel Vadot interrupt-parent = <&mdss>; 1868bab661aSEmmanuel Vadot interrupts = <0>; 1878bab661aSEmmanuel Vadot 1888bab661aSEmmanuel Vadot clocks = <&gcc GCC_MDSS_AHB_CLK>, 1898bab661aSEmmanuel Vadot <&gcc GCC_MDSS_AXI_CLK>, 1908bab661aSEmmanuel Vadot <&gcc GCC_MDSS_MDP_CLK>, 1918bab661aSEmmanuel Vadot <&gcc GCC_MDSS_VSYNC_CLK>; 1928bab661aSEmmanuel Vadot clock-names = "iface", 1938bab661aSEmmanuel Vadot "bus", 1948bab661aSEmmanuel Vadot "core", 1958bab661aSEmmanuel Vadot "vsync"; 1968bab661aSEmmanuel Vadot 1978bab661aSEmmanuel Vadot iommus = <&apps_iommu 4>; 1988bab661aSEmmanuel Vadot 1998bab661aSEmmanuel Vadot ports { 2008bab661aSEmmanuel Vadot #address-cells = <1>; 2018bab661aSEmmanuel Vadot #size-cells = <0>; 2028bab661aSEmmanuel Vadot 2038bab661aSEmmanuel Vadot port@0 { 2048bab661aSEmmanuel Vadot reg = <0>; 2058bab661aSEmmanuel Vadot mdp5_intf1_out: endpoint { 2068bab661aSEmmanuel Vadot remote-endpoint = <&dsi0_in>; 2078bab661aSEmmanuel Vadot }; 2088bab661aSEmmanuel Vadot }; 2098bab661aSEmmanuel Vadot }; 2108bab661aSEmmanuel Vadot }; 2118bab661aSEmmanuel Vadot }; 2128bab661aSEmmanuel Vadot... 213