1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 22a5c1021SKonrad Dybcio%YAML 1.2 32a5c1021SKonrad Dybcio--- 42a5c1021SKonrad Dybcio$id: http://devicetree.org/schemas/display/msm/qcom,sm6375-mdss.yaml# 52a5c1021SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml# 62a5c1021SKonrad Dybcio 72a5c1021SKonrad Dybciotitle: Qualcomm SM6375 Display MDSS 82a5c1021SKonrad Dybcio 92a5c1021SKonrad Dybciomaintainers: 102a5c1021SKonrad Dybcio - Konrad Dybcio <konrad.dybcio@linaro.org> 112a5c1021SKonrad Dybcio 122a5c1021SKonrad Dybciodescription: 132a5c1021SKonrad Dybcio SM6375 MSM Mobile Display Subsystem (MDSS), which encapsulates sub-blocks 142a5c1021SKonrad Dybcio like DPU display controller, DSI and DP interfaces etc. 152a5c1021SKonrad Dybcio 162a5c1021SKonrad Dybcio$ref: /schemas/display/msm/mdss-common.yaml# 172a5c1021SKonrad Dybcio 182a5c1021SKonrad Dybcioproperties: 192a5c1021SKonrad Dybcio compatible: 202a5c1021SKonrad Dybcio const: qcom,sm6375-mdss 212a5c1021SKonrad Dybcio 222a5c1021SKonrad Dybcio clocks: 232a5c1021SKonrad Dybcio items: 242a5c1021SKonrad Dybcio - description: Display AHB clock from gcc 252a5c1021SKonrad Dybcio - description: Display AHB clock 262a5c1021SKonrad Dybcio - description: Display core clock 272a5c1021SKonrad Dybcio 282a5c1021SKonrad Dybcio clock-names: 292a5c1021SKonrad Dybcio items: 302a5c1021SKonrad Dybcio - const: iface 312a5c1021SKonrad Dybcio - const: ahb 322a5c1021SKonrad Dybcio - const: core 332a5c1021SKonrad Dybcio 342a5c1021SKonrad Dybcio iommus: 352a5c1021SKonrad Dybcio maxItems: 1 362a5c1021SKonrad Dybcio 372a5c1021SKonrad Dybcio interconnects: 382a5c1021SKonrad Dybcio maxItems: 2 392a5c1021SKonrad Dybcio 402a5c1021SKonrad Dybcio interconnect-names: 412a5c1021SKonrad Dybcio maxItems: 2 422a5c1021SKonrad Dybcio 432a5c1021SKonrad DybciopatternProperties: 442a5c1021SKonrad Dybcio "^display-controller@[0-9a-f]+$": 452a5c1021SKonrad Dybcio type: object 462a5c1021SKonrad Dybcio properties: 472a5c1021SKonrad Dybcio compatible: 482a5c1021SKonrad Dybcio const: qcom,sm6375-dpu 492a5c1021SKonrad Dybcio 502a5c1021SKonrad Dybcio "^dsi@[0-9a-f]+$": 512a5c1021SKonrad Dybcio type: object 522a5c1021SKonrad Dybcio properties: 532a5c1021SKonrad Dybcio compatible: 542a5c1021SKonrad Dybcio items: 552a5c1021SKonrad Dybcio - const: qcom,sm6375-dsi-ctrl 562a5c1021SKonrad Dybcio - const: qcom,mdss-dsi-ctrl 572a5c1021SKonrad Dybcio 582a5c1021SKonrad Dybcio "^phy@[0-9a-f]+$": 592a5c1021SKonrad Dybcio type: object 602a5c1021SKonrad Dybcio properties: 612a5c1021SKonrad Dybcio compatible: 622a5c1021SKonrad Dybcio const: qcom,sm6375-dsi-phy-7nm 632a5c1021SKonrad Dybcio 642a5c1021SKonrad DybciounevaluatedProperties: false 652a5c1021SKonrad Dybcio 662a5c1021SKonrad Dybcioexamples: 672a5c1021SKonrad Dybcio - | 682a5c1021SKonrad Dybcio #include <dt-bindings/clock/qcom,rpmcc.h> 692a5c1021SKonrad Dybcio #include <dt-bindings/clock/qcom,sm6375-gcc.h> 702a5c1021SKonrad Dybcio #include <dt-bindings/clock/qcom,sm6375-dispcc.h> 712a5c1021SKonrad Dybcio #include <dt-bindings/interrupt-controller/arm-gic.h> 722a5c1021SKonrad Dybcio #include <dt-bindings/power/qcom-rpmpd.h> 732a5c1021SKonrad Dybcio 742a5c1021SKonrad Dybcio display-subsystem@5e00000 { 752a5c1021SKonrad Dybcio compatible = "qcom,sm6375-mdss"; 762a5c1021SKonrad Dybcio reg = <0x05e00000 0x1000>; 772a5c1021SKonrad Dybcio reg-names = "mdss"; 782a5c1021SKonrad Dybcio 792a5c1021SKonrad Dybcio power-domains = <&dispcc MDSS_GDSC>; 802a5c1021SKonrad Dybcio 812a5c1021SKonrad Dybcio clocks = <&gcc GCC_DISP_AHB_CLK>, 822a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_AHB_CLK>, 832a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_MDP_CLK>; 842a5c1021SKonrad Dybcio clock-names = "iface", "ahb", "core"; 852a5c1021SKonrad Dybcio 862a5c1021SKonrad Dybcio interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 872a5c1021SKonrad Dybcio interrupt-controller; 882a5c1021SKonrad Dybcio #interrupt-cells = <1>; 892a5c1021SKonrad Dybcio 902a5c1021SKonrad Dybcio iommus = <&apps_smmu 0x820 0x2>; 912a5c1021SKonrad Dybcio #address-cells = <1>; 922a5c1021SKonrad Dybcio #size-cells = <1>; 932a5c1021SKonrad Dybcio ranges; 942a5c1021SKonrad Dybcio 952a5c1021SKonrad Dybcio display-controller@5e01000 { 962a5c1021SKonrad Dybcio compatible = "qcom,sm6375-dpu"; 972a5c1021SKonrad Dybcio reg = <0x05e01000 0x8e030>, 982a5c1021SKonrad Dybcio <0x05eb0000 0x2008>; 992a5c1021SKonrad Dybcio reg-names = "mdp", "vbif"; 1002a5c1021SKonrad Dybcio 1012a5c1021SKonrad Dybcio clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 1022a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_AHB_CLK>, 1032a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_ROT_CLK>, 1042a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 1052a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_MDP_CLK>, 1062a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_VSYNC_CLK>, 1072a5c1021SKonrad Dybcio <&gcc GCC_DISP_THROTTLE_CORE_CLK>; 1082a5c1021SKonrad Dybcio clock-names = "bus", 1092a5c1021SKonrad Dybcio "iface", 1102a5c1021SKonrad Dybcio "rot", 1112a5c1021SKonrad Dybcio "lut", 1122a5c1021SKonrad Dybcio "core", 1132a5c1021SKonrad Dybcio "vsync", 1142a5c1021SKonrad Dybcio "throttle"; 1152a5c1021SKonrad Dybcio 1162a5c1021SKonrad Dybcio assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 1172a5c1021SKonrad Dybcio assigned-clock-rates = <19200000>; 1182a5c1021SKonrad Dybcio 1192a5c1021SKonrad Dybcio operating-points-v2 = <&mdp_opp_table>; 1202a5c1021SKonrad Dybcio power-domains = <&rpmpd SM6375_VDDCX>; 1212a5c1021SKonrad Dybcio 1222a5c1021SKonrad Dybcio interrupt-parent = <&mdss>; 1232a5c1021SKonrad Dybcio interrupts = <0>; 1242a5c1021SKonrad Dybcio 1252a5c1021SKonrad Dybcio ports { 1262a5c1021SKonrad Dybcio #address-cells = <1>; 1272a5c1021SKonrad Dybcio #size-cells = <0>; 1282a5c1021SKonrad Dybcio 1292a5c1021SKonrad Dybcio port@0 { 1302a5c1021SKonrad Dybcio reg = <0>; 1312a5c1021SKonrad Dybcio dpu_intf1_out: endpoint { 1322a5c1021SKonrad Dybcio remote-endpoint = <&dsi0_in>; 1332a5c1021SKonrad Dybcio }; 1342a5c1021SKonrad Dybcio }; 1352a5c1021SKonrad Dybcio }; 1362a5c1021SKonrad Dybcio }; 1372a5c1021SKonrad Dybcio 1382a5c1021SKonrad Dybcio dsi@5e94000 { 1392a5c1021SKonrad Dybcio compatible = "qcom,sm6375-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 1402a5c1021SKonrad Dybcio reg = <0x05e94000 0x400>; 1412a5c1021SKonrad Dybcio reg-names = "dsi_ctrl"; 1422a5c1021SKonrad Dybcio 1432a5c1021SKonrad Dybcio interrupt-parent = <&mdss>; 1442a5c1021SKonrad Dybcio interrupts = <4>; 1452a5c1021SKonrad Dybcio 1462a5c1021SKonrad Dybcio clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1472a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1482a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1492a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1502a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_AHB_CLK>, 1512a5c1021SKonrad Dybcio <&gcc GCC_DISP_HF_AXI_CLK>; 1522a5c1021SKonrad Dybcio clock-names = "byte", 1532a5c1021SKonrad Dybcio "byte_intf", 1542a5c1021SKonrad Dybcio "pixel", 1552a5c1021SKonrad Dybcio "core", 1562a5c1021SKonrad Dybcio "iface", 1572a5c1021SKonrad Dybcio "bus"; 1582a5c1021SKonrad Dybcio 1592a5c1021SKonrad Dybcio assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, 1602a5c1021SKonrad Dybcio <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 1612a5c1021SKonrad Dybcio assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>; 1622a5c1021SKonrad Dybcio 1632a5c1021SKonrad Dybcio operating-points-v2 = <&dsi_opp_table>; 1642a5c1021SKonrad Dybcio power-domains = <&rpmpd SM6375_VDDMX>; 1652a5c1021SKonrad Dybcio 1662a5c1021SKonrad Dybcio phys = <&mdss_dsi0_phy>; 1672a5c1021SKonrad Dybcio phy-names = "dsi"; 1682a5c1021SKonrad Dybcio 1692a5c1021SKonrad Dybcio #address-cells = <1>; 1702a5c1021SKonrad Dybcio #size-cells = <0>; 1712a5c1021SKonrad Dybcio 1722a5c1021SKonrad Dybcio ports { 1732a5c1021SKonrad Dybcio #address-cells = <1>; 1742a5c1021SKonrad Dybcio #size-cells = <0>; 1752a5c1021SKonrad Dybcio 1762a5c1021SKonrad Dybcio port@0 { 1772a5c1021SKonrad Dybcio reg = <0>; 1782a5c1021SKonrad Dybcio dsi0_in: endpoint { 1792a5c1021SKonrad Dybcio remote-endpoint = <&dpu_intf1_out>; 1802a5c1021SKonrad Dybcio }; 1812a5c1021SKonrad Dybcio }; 1822a5c1021SKonrad Dybcio 1832a5c1021SKonrad Dybcio port@1 { 1842a5c1021SKonrad Dybcio reg = <1>; 1852a5c1021SKonrad Dybcio dsi0_out: endpoint { 1862a5c1021SKonrad Dybcio }; 1872a5c1021SKonrad Dybcio }; 1882a5c1021SKonrad Dybcio }; 1892a5c1021SKonrad Dybcio }; 1902a5c1021SKonrad Dybcio 1912a5c1021SKonrad Dybcio mdss_dsi0_phy: phy@5e94400 { 1922a5c1021SKonrad Dybcio compatible = "qcom,sm6375-dsi-phy-7nm"; 1932a5c1021SKonrad Dybcio reg = <0x05e94400 0x200>, 1942a5c1021SKonrad Dybcio <0x05e94600 0x280>, 1952a5c1021SKonrad Dybcio <0x05e94900 0x264>; 1962a5c1021SKonrad Dybcio reg-names = "dsi_phy", 1972a5c1021SKonrad Dybcio "dsi_phy_lane", 1982a5c1021SKonrad Dybcio "dsi_pll"; 1992a5c1021SKonrad Dybcio 2002a5c1021SKonrad Dybcio #clock-cells = <1>; 2012a5c1021SKonrad Dybcio #phy-cells = <0>; 2022a5c1021SKonrad Dybcio 2032a5c1021SKonrad Dybcio clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 2042a5c1021SKonrad Dybcio <&rpmcc RPM_SMD_XO_CLK_SRC>; 2052a5c1021SKonrad Dybcio clock-names = "iface", "ref"; 2062a5c1021SKonrad Dybcio }; 2072a5c1021SKonrad Dybcio }; 2082a5c1021SKonrad Dybcio... 209