1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2f126890aSEmmanuel Vadot%YAML 1.2 3f126890aSEmmanuel Vadot--- 4f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/display/msm/qcom,sm6350-mdss.yaml# 5f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6f126890aSEmmanuel Vadot 7f126890aSEmmanuel Vadottitle: Qualcomm SM6350 Display MDSS 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadotmaintainers: 10f126890aSEmmanuel Vadot - Krishna Manikandan <quic_mkrishn@quicinc.com> 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadotdescription: 13f126890aSEmmanuel Vadot SM6350 MSM Mobile Display Subsystem (MDSS), which encapsulates sub-blocks 14f126890aSEmmanuel Vadot like DPU display controller, DSI and DP interfaces etc. 15f126890aSEmmanuel Vadot 16f126890aSEmmanuel Vadot$ref: /schemas/display/msm/mdss-common.yaml# 17f126890aSEmmanuel Vadot 18f126890aSEmmanuel Vadotproperties: 19f126890aSEmmanuel Vadot compatible: 20f126890aSEmmanuel Vadot const: qcom,sm6350-mdss 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot clocks: 23f126890aSEmmanuel Vadot items: 24f126890aSEmmanuel Vadot - description: Display AHB clock from gcc 25f126890aSEmmanuel Vadot - description: Display AXI clock from gcc 26f126890aSEmmanuel Vadot - description: Display core clock 27f126890aSEmmanuel Vadot 28f126890aSEmmanuel Vadot clock-names: 29f126890aSEmmanuel Vadot items: 30f126890aSEmmanuel Vadot - const: iface 31f126890aSEmmanuel Vadot - const: bus 32f126890aSEmmanuel Vadot - const: core 33f126890aSEmmanuel Vadot 34f126890aSEmmanuel Vadot iommus: 35f126890aSEmmanuel Vadot maxItems: 1 36f126890aSEmmanuel Vadot 37f126890aSEmmanuel Vadot interconnects: 388d13bc63SEmmanuel Vadot items: 398d13bc63SEmmanuel Vadot - description: Interconnect path from mdp0 port to the data bus 408d13bc63SEmmanuel Vadot - description: Interconnect path from CPU to the reg bus 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadot interconnect-names: 438d13bc63SEmmanuel Vadot items: 448d13bc63SEmmanuel Vadot - const: mdp0-mem 458d13bc63SEmmanuel Vadot - const: cpu-cfg 46f126890aSEmmanuel Vadot 47f126890aSEmmanuel VadotpatternProperties: 48f126890aSEmmanuel Vadot "^display-controller@[0-9a-f]+$": 49f126890aSEmmanuel Vadot type: object 5084943d6fSEmmanuel Vadot additionalProperties: true 5184943d6fSEmmanuel Vadot 52f126890aSEmmanuel Vadot properties: 53f126890aSEmmanuel Vadot compatible: 54f126890aSEmmanuel Vadot const: qcom,sm6350-dpu 55f126890aSEmmanuel Vadot 56*7d0873ebSEmmanuel Vadot "^displayport-controller@[0-9a-f]+$": 57*7d0873ebSEmmanuel Vadot type: object 58*7d0873ebSEmmanuel Vadot additionalProperties: true 59*7d0873ebSEmmanuel Vadot 60*7d0873ebSEmmanuel Vadot properties: 61*7d0873ebSEmmanuel Vadot compatible: 62*7d0873ebSEmmanuel Vadot contains: 63*7d0873ebSEmmanuel Vadot const: qcom,sm6350-dp 64*7d0873ebSEmmanuel Vadot 65f126890aSEmmanuel Vadot "^dsi@[0-9a-f]+$": 66f126890aSEmmanuel Vadot type: object 6784943d6fSEmmanuel Vadot additionalProperties: true 6884943d6fSEmmanuel Vadot 69f126890aSEmmanuel Vadot properties: 70f126890aSEmmanuel Vadot compatible: 71f126890aSEmmanuel Vadot items: 72f126890aSEmmanuel Vadot - const: qcom,sm6350-dsi-ctrl 73f126890aSEmmanuel Vadot - const: qcom,mdss-dsi-ctrl 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot "^phy@[0-9a-f]+$": 76f126890aSEmmanuel Vadot type: object 7784943d6fSEmmanuel Vadot additionalProperties: true 7884943d6fSEmmanuel Vadot 79f126890aSEmmanuel Vadot properties: 80f126890aSEmmanuel Vadot compatible: 81f126890aSEmmanuel Vadot const: qcom,dsi-phy-10nm 82f126890aSEmmanuel Vadot 83f126890aSEmmanuel VadotunevaluatedProperties: false 84f126890aSEmmanuel Vadot 85f126890aSEmmanuel Vadotexamples: 86f126890aSEmmanuel Vadot - | 87f126890aSEmmanuel Vadot #include <dt-bindings/clock/qcom,dispcc-sm6350.h> 88f126890aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sm6350.h> 89f126890aSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmh.h> 90f126890aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 91f126890aSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 92f126890aSEmmanuel Vadot 93f126890aSEmmanuel Vadot display-subsystem@ae00000 { 94f126890aSEmmanuel Vadot compatible = "qcom,sm6350-mdss"; 95f126890aSEmmanuel Vadot reg = <0x0ae00000 0x1000>; 96f126890aSEmmanuel Vadot reg-names = "mdss"; 97f126890aSEmmanuel Vadot 98f126890aSEmmanuel Vadot power-domains = <&dispcc MDSS_GDSC>; 99f126890aSEmmanuel Vadot 100f126890aSEmmanuel Vadot clocks = <&gcc GCC_DISP_AHB_CLK>, 101f126890aSEmmanuel Vadot <&gcc GCC_DISP_AXI_CLK>, 102f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_MDP_CLK>; 103f126890aSEmmanuel Vadot clock-names = "iface", "bus", "core"; 104f126890aSEmmanuel Vadot 105f126890aSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 106f126890aSEmmanuel Vadot interrupt-controller; 107f126890aSEmmanuel Vadot #interrupt-cells = <1>; 108f126890aSEmmanuel Vadot 109f126890aSEmmanuel Vadot iommus = <&apps_smmu 0x800 0x2>; 110f126890aSEmmanuel Vadot #address-cells = <1>; 111f126890aSEmmanuel Vadot #size-cells = <1>; 112f126890aSEmmanuel Vadot ranges; 113f126890aSEmmanuel Vadot 114f126890aSEmmanuel Vadot display-controller@ae01000 { 115f126890aSEmmanuel Vadot compatible = "qcom,sm6350-dpu"; 116f126890aSEmmanuel Vadot reg = <0x0ae01000 0x8f000>, 117f126890aSEmmanuel Vadot <0x0aeb0000 0x2008>; 118f126890aSEmmanuel Vadot reg-names = "mdp", "vbif"; 119f126890aSEmmanuel Vadot 120f126890aSEmmanuel Vadot clocks = <&gcc GCC_DISP_AXI_CLK>, 121f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AHB_CLK>, 122f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_ROT_CLK>, 123f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 124f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_MDP_CLK>, 125f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 126f126890aSEmmanuel Vadot clock-names = "bus", "iface", "rot", "lut", "core", 127f126890aSEmmanuel Vadot "vsync"; 128f126890aSEmmanuel Vadot 129f126890aSEmmanuel Vadot assigned-clocks = <&dispcc DISP_CC_MDSS_MDP_CLK>, 130f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_VSYNC_CLK>, 131f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_ROT_CLK>, 132f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AHB_CLK>; 133f126890aSEmmanuel Vadot assigned-clock-rates = <300000000>, 134f126890aSEmmanuel Vadot <19200000>, 135f126890aSEmmanuel Vadot <19200000>, 136f126890aSEmmanuel Vadot <19200000>; 137f126890aSEmmanuel Vadot 138f126890aSEmmanuel Vadot interrupt-parent = <&mdss>; 139f126890aSEmmanuel Vadot interrupts = <0>; 140f126890aSEmmanuel Vadot operating-points-v2 = <&mdp_opp_table>; 141f126890aSEmmanuel Vadot power-domains = <&rpmhpd SM6350_CX>; 142f126890aSEmmanuel Vadot 143f126890aSEmmanuel Vadot ports { 144f126890aSEmmanuel Vadot #address-cells = <1>; 145f126890aSEmmanuel Vadot #size-cells = <0>; 146f126890aSEmmanuel Vadot 147f126890aSEmmanuel Vadot port@0 { 148f126890aSEmmanuel Vadot reg = <0>; 149f126890aSEmmanuel Vadot dpu_intf1_out: endpoint { 150f126890aSEmmanuel Vadot remote-endpoint = <&dsi0_in>; 151f126890aSEmmanuel Vadot }; 152f126890aSEmmanuel Vadot }; 153f126890aSEmmanuel Vadot }; 154f126890aSEmmanuel Vadot }; 155f126890aSEmmanuel Vadot 156f126890aSEmmanuel Vadot dsi@ae94000 { 157f126890aSEmmanuel Vadot compatible = "qcom,sm6350-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 158f126890aSEmmanuel Vadot reg = <0x0ae94000 0x400>; 159f126890aSEmmanuel Vadot reg-names = "dsi_ctrl"; 160f126890aSEmmanuel Vadot 161f126890aSEmmanuel Vadot interrupt-parent = <&mdss>; 162f126890aSEmmanuel Vadot interrupts = <4>; 163f126890aSEmmanuel Vadot 164f126890aSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 165f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 166f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 167f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_ESC0_CLK>, 168f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_AHB_CLK>, 169f126890aSEmmanuel Vadot <&gcc GCC_DISP_AXI_CLK>; 170f126890aSEmmanuel Vadot clock-names = "byte", 171f126890aSEmmanuel Vadot "byte_intf", 172f126890aSEmmanuel Vadot "pixel", 173f126890aSEmmanuel Vadot "core", 174f126890aSEmmanuel Vadot "iface", 175f126890aSEmmanuel Vadot "bus"; 176f126890aSEmmanuel Vadot 177f126890aSEmmanuel Vadot assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, 178f126890aSEmmanuel Vadot <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 179f126890aSEmmanuel Vadot assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; 180f126890aSEmmanuel Vadot 181f126890aSEmmanuel Vadot operating-points-v2 = <&dsi_opp_table>; 182f126890aSEmmanuel Vadot power-domains = <&rpmhpd SM6350_MX>; 183f126890aSEmmanuel Vadot 184f126890aSEmmanuel Vadot phys = <&dsi0_phy>; 185f126890aSEmmanuel Vadot phy-names = "dsi"; 186f126890aSEmmanuel Vadot 187f126890aSEmmanuel Vadot #address-cells = <1>; 188f126890aSEmmanuel Vadot #size-cells = <0>; 189f126890aSEmmanuel Vadot 190f126890aSEmmanuel Vadot ports { 191f126890aSEmmanuel Vadot #address-cells = <1>; 192f126890aSEmmanuel Vadot #size-cells = <0>; 193f126890aSEmmanuel Vadot 194f126890aSEmmanuel Vadot port@0 { 195f126890aSEmmanuel Vadot reg = <0>; 196f126890aSEmmanuel Vadot dsi0_in: endpoint { 197f126890aSEmmanuel Vadot remote-endpoint = <&dpu_intf1_out>; 198f126890aSEmmanuel Vadot }; 199f126890aSEmmanuel Vadot }; 200f126890aSEmmanuel Vadot 201f126890aSEmmanuel Vadot port@1 { 202f126890aSEmmanuel Vadot reg = <1>; 203f126890aSEmmanuel Vadot dsi0_out: endpoint { 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot }; 207f126890aSEmmanuel Vadot }; 208f126890aSEmmanuel Vadot 209f126890aSEmmanuel Vadot dsi0_phy: phy@ae94400 { 210f126890aSEmmanuel Vadot compatible = "qcom,dsi-phy-10nm"; 211f126890aSEmmanuel Vadot reg = <0x0ae94400 0x200>, 212f126890aSEmmanuel Vadot <0x0ae94600 0x280>, 213f126890aSEmmanuel Vadot <0x0ae94a00 0x1e0>; 214f126890aSEmmanuel Vadot reg-names = "dsi_phy", 215f126890aSEmmanuel Vadot "dsi_phy_lane", 216f126890aSEmmanuel Vadot "dsi_pll"; 217f126890aSEmmanuel Vadot 218f126890aSEmmanuel Vadot #clock-cells = <1>; 219f126890aSEmmanuel Vadot #phy-cells = <0>; 220f126890aSEmmanuel Vadot 221f126890aSEmmanuel Vadot clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, <&rpmhcc RPMH_CXO_CLK>; 222f126890aSEmmanuel Vadot clock-names = "iface", "ref"; 223f126890aSEmmanuel Vadot }; 224f126890aSEmmanuel Vadot }; 225f126890aSEmmanuel Vadot... 226