1aa1a8ff2SEmmanuel 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,sm6115-mdss.yaml# 58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68bab661aSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm SM6115 Display MDSS 88bab661aSEmmanuel Vadot 98bab661aSEmmanuel Vadotmaintainers: 108bab661aSEmmanuel Vadot - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 118bab661aSEmmanuel Vadot 128bab661aSEmmanuel Vadotdescription: 138bab661aSEmmanuel Vadot Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates 148bab661aSEmmanuel Vadot sub-blocks like DPU display controller and DSI. Device tree bindings of MDSS 158bab661aSEmmanuel Vadot are mentioned for SM6115 target. 168bab661aSEmmanuel Vadot 178bab661aSEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml# 188bab661aSEmmanuel Vadot 198bab661aSEmmanuel Vadotproperties: 208bab661aSEmmanuel Vadot compatible: 21cb7aa33aSEmmanuel Vadot const: qcom,sm6115-mdss 228bab661aSEmmanuel Vadot 238bab661aSEmmanuel Vadot clocks: 248bab661aSEmmanuel Vadot items: 258bab661aSEmmanuel Vadot - description: Display AHB clock from gcc 268bab661aSEmmanuel Vadot - description: Display AXI clock 278bab661aSEmmanuel Vadot - description: Display core clock 288bab661aSEmmanuel Vadot 298bab661aSEmmanuel Vadot iommus: 308bab661aSEmmanuel Vadot maxItems: 2 318bab661aSEmmanuel Vadot 32*8d13bc63SEmmanuel Vadot interconnects: 33*8d13bc63SEmmanuel Vadot items: 34*8d13bc63SEmmanuel Vadot - description: Interconnect path from mdp0 port to the data bus 35*8d13bc63SEmmanuel Vadot - description: Interconnect path from CPU to the reg bus 36*8d13bc63SEmmanuel Vadot 37*8d13bc63SEmmanuel Vadot interconnect-names: 38*8d13bc63SEmmanuel Vadot items: 39*8d13bc63SEmmanuel Vadot - const: mdp0-mem 40*8d13bc63SEmmanuel Vadot - const: cpu-cfg 41*8d13bc63SEmmanuel Vadot 428bab661aSEmmanuel VadotpatternProperties: 438bab661aSEmmanuel Vadot "^display-controller@[0-9a-f]+$": 448bab661aSEmmanuel Vadot type: object 4584943d6fSEmmanuel Vadot additionalProperties: true 4684943d6fSEmmanuel Vadot 478bab661aSEmmanuel Vadot properties: 488bab661aSEmmanuel Vadot compatible: 498bab661aSEmmanuel Vadot const: qcom,sm6115-dpu 508bab661aSEmmanuel Vadot 518bab661aSEmmanuel Vadot "^dsi@[0-9a-f]+$": 528bab661aSEmmanuel Vadot type: object 5384943d6fSEmmanuel Vadot additionalProperties: true 5484943d6fSEmmanuel Vadot 558bab661aSEmmanuel Vadot properties: 568bab661aSEmmanuel Vadot compatible: 57fac71e4eSEmmanuel Vadot oneOf: 58fac71e4eSEmmanuel Vadot - items: 59fac71e4eSEmmanuel Vadot - const: qcom,sm6115-dsi-ctrl 60fac71e4eSEmmanuel Vadot - const: qcom,mdss-dsi-ctrl 61fac71e4eSEmmanuel Vadot - description: Old binding, please don't use 62fac71e4eSEmmanuel Vadot deprecated: true 638bab661aSEmmanuel Vadot const: qcom,dsi-ctrl-6g-qcm2290 648bab661aSEmmanuel Vadot 658bab661aSEmmanuel Vadot "^phy@[0-9a-f]+$": 668bab661aSEmmanuel Vadot type: object 6784943d6fSEmmanuel Vadot additionalProperties: true 6884943d6fSEmmanuel Vadot 698bab661aSEmmanuel Vadot properties: 708bab661aSEmmanuel Vadot compatible: 718bab661aSEmmanuel Vadot const: qcom,dsi-phy-14nm-2290 728bab661aSEmmanuel Vadot 738bab661aSEmmanuel Vadotrequired: 748bab661aSEmmanuel Vadot - compatible 758bab661aSEmmanuel Vadot 768bab661aSEmmanuel VadotunevaluatedProperties: false 778bab661aSEmmanuel Vadot 788bab661aSEmmanuel Vadotexamples: 798bab661aSEmmanuel Vadot - | 808bab661aSEmmanuel Vadot #include <dt-bindings/clock/qcom,sm6115-dispcc.h> 818bab661aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sm6115.h> 828bab661aSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmcc.h> 838bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 848bab661aSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 858bab661aSEmmanuel Vadot 868bab661aSEmmanuel Vadot display-subsystem@5e00000 { 878bab661aSEmmanuel Vadot #address-cells = <1>; 888bab661aSEmmanuel Vadot #size-cells = <1>; 898bab661aSEmmanuel Vadot compatible = "qcom,sm6115-mdss"; 908bab661aSEmmanuel Vadot reg = <0x05e00000 0x1000>; 918bab661aSEmmanuel Vadot reg-names = "mdss"; 928bab661aSEmmanuel Vadot power-domains = <&dispcc MDSS_GDSC>; 938bab661aSEmmanuel Vadot clocks = <&gcc GCC_DISP_AHB_CLK>, 948bab661aSEmmanuel Vadot <&gcc GCC_DISP_HF_AXI_CLK>, 958bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_MDP_CLK>; 968bab661aSEmmanuel Vadot 978bab661aSEmmanuel Vadot interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 988bab661aSEmmanuel Vadot interrupt-controller; 998bab661aSEmmanuel Vadot #interrupt-cells = <1>; 1008bab661aSEmmanuel Vadot 1018bab661aSEmmanuel Vadot iommus = <&apps_smmu 0x420 0x2>, 1028bab661aSEmmanuel Vadot <&apps_smmu 0x421 0x0>; 1038bab661aSEmmanuel Vadot ranges; 1048bab661aSEmmanuel Vadot 1058bab661aSEmmanuel Vadot display-controller@5e01000 { 1068bab661aSEmmanuel Vadot compatible = "qcom,sm6115-dpu"; 1078bab661aSEmmanuel Vadot reg = <0x05e01000 0x8f000>, 1088bab661aSEmmanuel Vadot <0x05eb0000 0x2008>; 1098bab661aSEmmanuel Vadot reg-names = "mdp", "vbif"; 1108bab661aSEmmanuel Vadot 1118bab661aSEmmanuel Vadot clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 1128bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AHB_CLK>, 1138bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_MDP_CLK>, 1148bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 1158bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_ROT_CLK>, 1168bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 1178bab661aSEmmanuel Vadot clock-names = "bus", "iface", "core", "lut", "rot", "vsync"; 1188bab661aSEmmanuel Vadot 1198bab661aSEmmanuel Vadot operating-points-v2 = <&mdp_opp_table>; 1208bab661aSEmmanuel Vadot power-domains = <&rpmpd SM6115_VDDCX>; 1218bab661aSEmmanuel Vadot 1228bab661aSEmmanuel Vadot interrupt-parent = <&mdss>; 1238bab661aSEmmanuel Vadot interrupts = <0>; 1248bab661aSEmmanuel Vadot 1258bab661aSEmmanuel Vadot ports { 1268bab661aSEmmanuel Vadot #address-cells = <1>; 1278bab661aSEmmanuel Vadot #size-cells = <0>; 1288bab661aSEmmanuel Vadot 1298bab661aSEmmanuel Vadot port@0 { 1308bab661aSEmmanuel Vadot reg = <0>; 1318bab661aSEmmanuel Vadot dpu_intf1_out: endpoint { 1328bab661aSEmmanuel Vadot remote-endpoint = <&dsi0_in>; 1338bab661aSEmmanuel Vadot }; 1348bab661aSEmmanuel Vadot }; 1358bab661aSEmmanuel Vadot }; 1368bab661aSEmmanuel Vadot }; 1378bab661aSEmmanuel Vadot 1388bab661aSEmmanuel Vadot dsi@5e94000 { 139fac71e4eSEmmanuel Vadot compatible = "qcom,sm6115-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 1408bab661aSEmmanuel Vadot reg = <0x05e94000 0x400>; 1418bab661aSEmmanuel Vadot reg-names = "dsi_ctrl"; 1428bab661aSEmmanuel Vadot 1438bab661aSEmmanuel Vadot interrupt-parent = <&mdss>; 1448bab661aSEmmanuel Vadot interrupts = <4>; 1458bab661aSEmmanuel Vadot 1468bab661aSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1478bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1488bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1498bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1508bab661aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AHB_CLK>, 1518bab661aSEmmanuel Vadot <&gcc GCC_DISP_HF_AXI_CLK>; 1528bab661aSEmmanuel Vadot clock-names = "byte", 1538bab661aSEmmanuel Vadot "byte_intf", 1548bab661aSEmmanuel Vadot "pixel", 1558bab661aSEmmanuel Vadot "core", 1568bab661aSEmmanuel Vadot "iface", 1578bab661aSEmmanuel Vadot "bus"; 1588bab661aSEmmanuel Vadot assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 1598bab661aSEmmanuel Vadot assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; 1608bab661aSEmmanuel Vadot 1618bab661aSEmmanuel Vadot operating-points-v2 = <&dsi_opp_table>; 1628bab661aSEmmanuel Vadot power-domains = <&rpmpd SM6115_VDDCX>; 1638bab661aSEmmanuel Vadot phys = <&dsi0_phy>; 1648bab661aSEmmanuel Vadot 1658bab661aSEmmanuel Vadot #address-cells = <1>; 1668bab661aSEmmanuel Vadot #size-cells = <0>; 1678bab661aSEmmanuel Vadot 1688bab661aSEmmanuel Vadot ports { 1698bab661aSEmmanuel Vadot #address-cells = <1>; 1708bab661aSEmmanuel Vadot #size-cells = <0>; 1718bab661aSEmmanuel Vadot 1728bab661aSEmmanuel Vadot port@0 { 1738bab661aSEmmanuel Vadot reg = <0>; 1748bab661aSEmmanuel Vadot dsi0_in: endpoint { 1758bab661aSEmmanuel Vadot remote-endpoint = <&dpu_intf1_out>; 1768bab661aSEmmanuel Vadot }; 1778bab661aSEmmanuel Vadot }; 1788bab661aSEmmanuel Vadot 1798bab661aSEmmanuel Vadot port@1 { 1808bab661aSEmmanuel Vadot reg = <1>; 1818bab661aSEmmanuel Vadot dsi0_out: endpoint { 1828bab661aSEmmanuel Vadot }; 1838bab661aSEmmanuel Vadot }; 1848bab661aSEmmanuel Vadot }; 1858bab661aSEmmanuel Vadot }; 1868bab661aSEmmanuel Vadot 1878bab661aSEmmanuel Vadot dsi0_phy: phy@5e94400 { 1888bab661aSEmmanuel Vadot compatible = "qcom,dsi-phy-14nm-2290"; 1898bab661aSEmmanuel Vadot reg = <0x05e94400 0x100>, 1908bab661aSEmmanuel Vadot <0x05e94500 0x300>, 1918bab661aSEmmanuel Vadot <0x05e94800 0x188>; 1928bab661aSEmmanuel Vadot reg-names = "dsi_phy", 1938bab661aSEmmanuel Vadot "dsi_phy_lane", 1948bab661aSEmmanuel Vadot "dsi_pll"; 1958bab661aSEmmanuel Vadot 1968bab661aSEmmanuel Vadot #clock-cells = <1>; 1978bab661aSEmmanuel Vadot #phy-cells = <0>; 1988bab661aSEmmanuel Vadot 1998bab661aSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>; 2008bab661aSEmmanuel Vadot clock-names = "iface", "ref"; 2018bab661aSEmmanuel Vadot }; 2028bab661aSEmmanuel Vadot }; 2038bab661aSEmmanuel Vadot... 204