1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 23b7502b0SKonrad Dybcio%YAML 1.2 33b7502b0SKonrad Dybcio--- 43b7502b0SKonrad Dybcio$id: http://devicetree.org/schemas/display/msm/qcom,sm6350-mdss.yaml# 53b7502b0SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml# 63b7502b0SKonrad Dybcio 73b7502b0SKonrad Dybciotitle: Qualcomm SM6350 Display MDSS 83b7502b0SKonrad Dybcio 93b7502b0SKonrad Dybciomaintainers: 103b7502b0SKonrad Dybcio - Krishna Manikandan <quic_mkrishn@quicinc.com> 113b7502b0SKonrad Dybcio 123b7502b0SKonrad Dybciodescription: 133b7502b0SKonrad Dybcio SM6350 MSM Mobile Display Subsystem (MDSS), which encapsulates sub-blocks 143b7502b0SKonrad Dybcio like DPU display controller, DSI and DP interfaces etc. 153b7502b0SKonrad Dybcio 163b7502b0SKonrad Dybcio$ref: /schemas/display/msm/mdss-common.yaml# 173b7502b0SKonrad Dybcio 183b7502b0SKonrad Dybcioproperties: 193b7502b0SKonrad Dybcio compatible: 203b7502b0SKonrad Dybcio const: qcom,sm6350-mdss 213b7502b0SKonrad Dybcio 223b7502b0SKonrad Dybcio clocks: 233b7502b0SKonrad Dybcio items: 243b7502b0SKonrad Dybcio - description: Display AHB clock from gcc 253b7502b0SKonrad Dybcio - description: Display AXI clock from gcc 263b7502b0SKonrad Dybcio - description: Display core clock 273b7502b0SKonrad Dybcio 283b7502b0SKonrad Dybcio clock-names: 293b7502b0SKonrad Dybcio items: 303b7502b0SKonrad Dybcio - const: iface 313b7502b0SKonrad Dybcio - const: bus 323b7502b0SKonrad Dybcio - const: core 333b7502b0SKonrad Dybcio 343b7502b0SKonrad Dybcio iommus: 353b7502b0SKonrad Dybcio maxItems: 1 363b7502b0SKonrad Dybcio 373b7502b0SKonrad Dybcio interconnects: 383b7502b0SKonrad Dybcio maxItems: 2 393b7502b0SKonrad Dybcio 403b7502b0SKonrad Dybcio interconnect-names: 413b7502b0SKonrad Dybcio maxItems: 2 423b7502b0SKonrad Dybcio 433b7502b0SKonrad DybciopatternProperties: 443b7502b0SKonrad Dybcio "^display-controller@[0-9a-f]+$": 453b7502b0SKonrad Dybcio type: object 463b7502b0SKonrad Dybcio properties: 473b7502b0SKonrad Dybcio compatible: 483b7502b0SKonrad Dybcio const: qcom,sm6350-dpu 493b7502b0SKonrad Dybcio 503b7502b0SKonrad Dybcio "^dsi@[0-9a-f]+$": 513b7502b0SKonrad Dybcio type: object 523b7502b0SKonrad Dybcio properties: 533b7502b0SKonrad Dybcio compatible: 543b7502b0SKonrad Dybcio items: 553b7502b0SKonrad Dybcio - const: qcom,sm6350-dsi-ctrl 563b7502b0SKonrad Dybcio - const: qcom,mdss-dsi-ctrl 573b7502b0SKonrad Dybcio 583b7502b0SKonrad Dybcio "^phy@[0-9a-f]+$": 593b7502b0SKonrad Dybcio type: object 603b7502b0SKonrad Dybcio properties: 613b7502b0SKonrad Dybcio compatible: 623b7502b0SKonrad Dybcio const: qcom,dsi-phy-10nm 633b7502b0SKonrad Dybcio 643b7502b0SKonrad DybciounevaluatedProperties: false 653b7502b0SKonrad Dybcio 663b7502b0SKonrad Dybcioexamples: 673b7502b0SKonrad Dybcio - | 683b7502b0SKonrad Dybcio #include <dt-bindings/clock/qcom,dispcc-sm6350.h> 693b7502b0SKonrad Dybcio #include <dt-bindings/clock/qcom,gcc-sm6350.h> 703b7502b0SKonrad Dybcio #include <dt-bindings/clock/qcom,rpmh.h> 713b7502b0SKonrad Dybcio #include <dt-bindings/interrupt-controller/arm-gic.h> 723b7502b0SKonrad Dybcio #include <dt-bindings/power/qcom-rpmpd.h> 733b7502b0SKonrad Dybcio 743b7502b0SKonrad Dybcio display-subsystem@ae00000 { 753b7502b0SKonrad Dybcio compatible = "qcom,sm6350-mdss"; 763b7502b0SKonrad Dybcio reg = <0x0ae00000 0x1000>; 773b7502b0SKonrad Dybcio reg-names = "mdss"; 783b7502b0SKonrad Dybcio 793b7502b0SKonrad Dybcio power-domains = <&dispcc MDSS_GDSC>; 803b7502b0SKonrad Dybcio 813b7502b0SKonrad Dybcio clocks = <&gcc GCC_DISP_AHB_CLK>, 823b7502b0SKonrad Dybcio <&gcc GCC_DISP_AXI_CLK>, 833b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_MDP_CLK>; 843b7502b0SKonrad Dybcio clock-names = "iface", "bus", "core"; 853b7502b0SKonrad Dybcio 863b7502b0SKonrad Dybcio interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 873b7502b0SKonrad Dybcio interrupt-controller; 883b7502b0SKonrad Dybcio #interrupt-cells = <1>; 893b7502b0SKonrad Dybcio 903b7502b0SKonrad Dybcio iommus = <&apps_smmu 0x800 0x2>; 913b7502b0SKonrad Dybcio #address-cells = <1>; 923b7502b0SKonrad Dybcio #size-cells = <1>; 933b7502b0SKonrad Dybcio ranges; 943b7502b0SKonrad Dybcio 953b7502b0SKonrad Dybcio display-controller@ae01000 { 963b7502b0SKonrad Dybcio compatible = "qcom,sm6350-dpu"; 973b7502b0SKonrad Dybcio reg = <0x0ae01000 0x8f000>, 983b7502b0SKonrad Dybcio <0x0aeb0000 0x2008>; 993b7502b0SKonrad Dybcio reg-names = "mdp", "vbif"; 1003b7502b0SKonrad Dybcio 1013b7502b0SKonrad Dybcio clocks = <&gcc GCC_DISP_AXI_CLK>, 1023b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_AHB_CLK>, 1033b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_ROT_CLK>, 1043b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 1053b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_MDP_CLK>, 1063b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 1073b7502b0SKonrad Dybcio clock-names = "bus", "iface", "rot", "lut", "core", 1083b7502b0SKonrad Dybcio "vsync"; 1093b7502b0SKonrad Dybcio 1103b7502b0SKonrad Dybcio assigned-clocks = <&dispcc DISP_CC_MDSS_MDP_CLK>, 1113b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_VSYNC_CLK>, 1123b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_ROT_CLK>, 1133b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_AHB_CLK>; 1143b7502b0SKonrad Dybcio assigned-clock-rates = <300000000>, 1153b7502b0SKonrad Dybcio <19200000>, 1163b7502b0SKonrad Dybcio <19200000>, 1173b7502b0SKonrad Dybcio <19200000>; 1183b7502b0SKonrad Dybcio 1193b7502b0SKonrad Dybcio interrupt-parent = <&mdss>; 1203b7502b0SKonrad Dybcio interrupts = <0>; 1213b7502b0SKonrad Dybcio operating-points-v2 = <&mdp_opp_table>; 1223b7502b0SKonrad Dybcio power-domains = <&rpmhpd SM6350_CX>; 1233b7502b0SKonrad Dybcio 1243b7502b0SKonrad Dybcio ports { 1253b7502b0SKonrad Dybcio #address-cells = <1>; 1263b7502b0SKonrad Dybcio #size-cells = <0>; 1273b7502b0SKonrad Dybcio 1283b7502b0SKonrad Dybcio port@0 { 1293b7502b0SKonrad Dybcio reg = <0>; 1303b7502b0SKonrad Dybcio dpu_intf1_out: endpoint { 1313b7502b0SKonrad Dybcio remote-endpoint = <&dsi0_in>; 1323b7502b0SKonrad Dybcio }; 1333b7502b0SKonrad Dybcio }; 1343b7502b0SKonrad Dybcio }; 1353b7502b0SKonrad Dybcio }; 1363b7502b0SKonrad Dybcio 1373b7502b0SKonrad Dybcio dsi@ae94000 { 1383b7502b0SKonrad Dybcio compatible = "qcom,sm6350-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 1393b7502b0SKonrad Dybcio reg = <0x0ae94000 0x400>; 1403b7502b0SKonrad Dybcio reg-names = "dsi_ctrl"; 1413b7502b0SKonrad Dybcio 1423b7502b0SKonrad Dybcio interrupt-parent = <&mdss>; 1433b7502b0SKonrad Dybcio interrupts = <4>; 1443b7502b0SKonrad Dybcio 1453b7502b0SKonrad Dybcio clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1463b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1473b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1483b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1493b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_AHB_CLK>, 1503b7502b0SKonrad Dybcio <&gcc GCC_DISP_AXI_CLK>; 1513b7502b0SKonrad Dybcio clock-names = "byte", 1523b7502b0SKonrad Dybcio "byte_intf", 1533b7502b0SKonrad Dybcio "pixel", 1543b7502b0SKonrad Dybcio "core", 1553b7502b0SKonrad Dybcio "iface", 1563b7502b0SKonrad Dybcio "bus"; 1573b7502b0SKonrad Dybcio 1583b7502b0SKonrad Dybcio assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, 1593b7502b0SKonrad Dybcio <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 1603b7502b0SKonrad Dybcio assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; 1613b7502b0SKonrad Dybcio 1623b7502b0SKonrad Dybcio operating-points-v2 = <&dsi_opp_table>; 1633b7502b0SKonrad Dybcio power-domains = <&rpmhpd SM6350_MX>; 1643b7502b0SKonrad Dybcio 1653b7502b0SKonrad Dybcio phys = <&dsi0_phy>; 1663b7502b0SKonrad Dybcio phy-names = "dsi"; 1673b7502b0SKonrad Dybcio 1683b7502b0SKonrad Dybcio #address-cells = <1>; 1693b7502b0SKonrad Dybcio #size-cells = <0>; 1703b7502b0SKonrad Dybcio 1713b7502b0SKonrad Dybcio ports { 1723b7502b0SKonrad Dybcio #address-cells = <1>; 1733b7502b0SKonrad Dybcio #size-cells = <0>; 1743b7502b0SKonrad Dybcio 1753b7502b0SKonrad Dybcio port@0 { 1763b7502b0SKonrad Dybcio reg = <0>; 1773b7502b0SKonrad Dybcio dsi0_in: endpoint { 1783b7502b0SKonrad Dybcio remote-endpoint = <&dpu_intf1_out>; 1793b7502b0SKonrad Dybcio }; 1803b7502b0SKonrad Dybcio }; 1813b7502b0SKonrad Dybcio 1823b7502b0SKonrad Dybcio port@1 { 1833b7502b0SKonrad Dybcio reg = <1>; 1843b7502b0SKonrad Dybcio dsi0_out: endpoint { 1853b7502b0SKonrad Dybcio }; 1863b7502b0SKonrad Dybcio }; 1873b7502b0SKonrad Dybcio }; 1883b7502b0SKonrad Dybcio }; 1893b7502b0SKonrad Dybcio 1903b7502b0SKonrad Dybcio dsi0_phy: phy@ae94400 { 1913b7502b0SKonrad Dybcio compatible = "qcom,dsi-phy-10nm"; 1923b7502b0SKonrad Dybcio reg = <0x0ae94400 0x200>, 1933b7502b0SKonrad Dybcio <0x0ae94600 0x280>, 1943b7502b0SKonrad Dybcio <0x0ae94a00 0x1e0>; 1953b7502b0SKonrad Dybcio reg-names = "dsi_phy", 1963b7502b0SKonrad Dybcio "dsi_phy_lane", 1973b7502b0SKonrad Dybcio "dsi_pll"; 1983b7502b0SKonrad Dybcio 1993b7502b0SKonrad Dybcio #clock-cells = <1>; 2003b7502b0SKonrad Dybcio #phy-cells = <0>; 2013b7502b0SKonrad Dybcio 2023b7502b0SKonrad Dybcio clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, <&rpmhcc RPMH_CXO_CLK>; 2033b7502b0SKonrad Dybcio clock-names = "iface", "ref"; 2043b7502b0SKonrad Dybcio }; 2053b7502b0SKonrad Dybcio }; 2063b7502b0SKonrad Dybcio... 207