1*cd188d68SMarijn Suijten# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*cd188d68SMarijn Suijten%YAML 1.2 3*cd188d68SMarijn Suijten--- 4*cd188d68SMarijn Suijten$id: http://devicetree.org/schemas/display/msm/qcom,sm6125-mdss.yaml# 5*cd188d68SMarijn Suijten$schema: http://devicetree.org/meta-schemas/core.yaml# 6*cd188d68SMarijn Suijten 7*cd188d68SMarijn Suijtentitle: Qualcomm SM6125 Display MDSS 8*cd188d68SMarijn Suijten 9*cd188d68SMarijn Suijtenmaintainers: 10*cd188d68SMarijn Suijten - Marijn Suijten <marijn.suijten@somainline.org> 11*cd188d68SMarijn Suijten 12*cd188d68SMarijn Suijtendescription: 13*cd188d68SMarijn Suijten SM6125 MSM Mobile Display Subsystem (MDSS), which encapsulates sub-blocks 14*cd188d68SMarijn Suijten like DPU display controller, DSI and DP interfaces etc. 15*cd188d68SMarijn Suijten 16*cd188d68SMarijn Suijten$ref: /schemas/display/msm/mdss-common.yaml# 17*cd188d68SMarijn Suijten 18*cd188d68SMarijn Suijtenproperties: 19*cd188d68SMarijn Suijten compatible: 20*cd188d68SMarijn Suijten const: qcom,sm6125-mdss 21*cd188d68SMarijn Suijten 22*cd188d68SMarijn Suijten clocks: 23*cd188d68SMarijn Suijten items: 24*cd188d68SMarijn Suijten - description: Display AHB clock from gcc 25*cd188d68SMarijn Suijten - description: Display AHB clock 26*cd188d68SMarijn Suijten - description: Display core clock 27*cd188d68SMarijn Suijten 28*cd188d68SMarijn Suijten clock-names: 29*cd188d68SMarijn Suijten items: 30*cd188d68SMarijn Suijten - const: iface 31*cd188d68SMarijn Suijten - const: ahb 32*cd188d68SMarijn Suijten - const: core 33*cd188d68SMarijn Suijten 34*cd188d68SMarijn Suijten iommus: 35*cd188d68SMarijn Suijten maxItems: 1 36*cd188d68SMarijn Suijten 37*cd188d68SMarijn Suijten interconnects: 38*cd188d68SMarijn Suijten maxItems: 2 39*cd188d68SMarijn Suijten 40*cd188d68SMarijn Suijten interconnect-names: 41*cd188d68SMarijn Suijten maxItems: 2 42*cd188d68SMarijn Suijten 43*cd188d68SMarijn SuijtenpatternProperties: 44*cd188d68SMarijn Suijten "^display-controller@[0-9a-f]+$": 45*cd188d68SMarijn Suijten type: object 46*cd188d68SMarijn Suijten properties: 47*cd188d68SMarijn Suijten compatible: 48*cd188d68SMarijn Suijten const: qcom,sm6125-dpu 49*cd188d68SMarijn Suijten 50*cd188d68SMarijn Suijten "^dsi@[0-9a-f]+$": 51*cd188d68SMarijn Suijten type: object 52*cd188d68SMarijn Suijten properties: 53*cd188d68SMarijn Suijten compatible: 54*cd188d68SMarijn Suijten items: 55*cd188d68SMarijn Suijten - const: qcom,sm6125-dsi-ctrl 56*cd188d68SMarijn Suijten - const: qcom,mdss-dsi-ctrl 57*cd188d68SMarijn Suijten 58*cd188d68SMarijn Suijten "^phy@[0-9a-f]+$": 59*cd188d68SMarijn Suijten type: object 60*cd188d68SMarijn Suijten properties: 61*cd188d68SMarijn Suijten compatible: 62*cd188d68SMarijn Suijten const: qcom,sm6125-dsi-phy-14nm 63*cd188d68SMarijn Suijten 64*cd188d68SMarijn SuijtenunevaluatedProperties: false 65*cd188d68SMarijn Suijten 66*cd188d68SMarijn Suijtenexamples: 67*cd188d68SMarijn Suijten - | 68*cd188d68SMarijn Suijten #include <dt-bindings/clock/qcom,dispcc-sm6125.h> 69*cd188d68SMarijn Suijten #include <dt-bindings/clock/qcom,gcc-sm6125.h> 70*cd188d68SMarijn Suijten #include <dt-bindings/clock/qcom,rpmcc.h> 71*cd188d68SMarijn Suijten #include <dt-bindings/interrupt-controller/arm-gic.h> 72*cd188d68SMarijn Suijten #include <dt-bindings/power/qcom-rpmpd.h> 73*cd188d68SMarijn Suijten 74*cd188d68SMarijn Suijten display-subsystem@5e00000 { 75*cd188d68SMarijn Suijten compatible = "qcom,sm6125-mdss"; 76*cd188d68SMarijn Suijten reg = <0x05e00000 0x1000>; 77*cd188d68SMarijn Suijten reg-names = "mdss"; 78*cd188d68SMarijn Suijten 79*cd188d68SMarijn Suijten interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 80*cd188d68SMarijn Suijten interrupt-controller; 81*cd188d68SMarijn Suijten #interrupt-cells = <1>; 82*cd188d68SMarijn Suijten 83*cd188d68SMarijn Suijten clocks = <&gcc GCC_DISP_AHB_CLK>, 84*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_AHB_CLK>, 85*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_MDP_CLK>; 86*cd188d68SMarijn Suijten clock-names = "iface", 87*cd188d68SMarijn Suijten "ahb", 88*cd188d68SMarijn Suijten "core"; 89*cd188d68SMarijn Suijten 90*cd188d68SMarijn Suijten power-domains = <&dispcc MDSS_GDSC>; 91*cd188d68SMarijn Suijten 92*cd188d68SMarijn Suijten iommus = <&apps_smmu 0x400 0x0>; 93*cd188d68SMarijn Suijten 94*cd188d68SMarijn Suijten #address-cells = <1>; 95*cd188d68SMarijn Suijten #size-cells = <1>; 96*cd188d68SMarijn Suijten ranges; 97*cd188d68SMarijn Suijten 98*cd188d68SMarijn Suijten display-controller@5e01000 { 99*cd188d68SMarijn Suijten compatible = "qcom,sm6125-dpu"; 100*cd188d68SMarijn Suijten reg = <0x05e01000 0x83208>, 101*cd188d68SMarijn Suijten <0x05eb0000 0x2008>; 102*cd188d68SMarijn Suijten reg-names = "mdp", "vbif"; 103*cd188d68SMarijn Suijten 104*cd188d68SMarijn Suijten interrupt-parent = <&mdss>; 105*cd188d68SMarijn Suijten interrupts = <0>; 106*cd188d68SMarijn Suijten 107*cd188d68SMarijn Suijten clocks = <&gcc GCC_DISP_HF_AXI_CLK>, 108*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_AHB_CLK>, 109*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_ROT_CLK>, 110*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 111*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_MDP_CLK>, 112*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_VSYNC_CLK>, 113*cd188d68SMarijn Suijten <&gcc GCC_DISP_THROTTLE_CORE_CLK>; 114*cd188d68SMarijn Suijten clock-names = "bus", 115*cd188d68SMarijn Suijten "iface", 116*cd188d68SMarijn Suijten "rot", 117*cd188d68SMarijn Suijten "lut", 118*cd188d68SMarijn Suijten "core", 119*cd188d68SMarijn Suijten "vsync", 120*cd188d68SMarijn Suijten "throttle"; 121*cd188d68SMarijn Suijten assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 122*cd188d68SMarijn Suijten assigned-clock-rates = <19200000>; 123*cd188d68SMarijn Suijten 124*cd188d68SMarijn Suijten operating-points-v2 = <&mdp_opp_table>; 125*cd188d68SMarijn Suijten power-domains = <&rpmpd SM6125_VDDCX>; 126*cd188d68SMarijn Suijten 127*cd188d68SMarijn Suijten ports { 128*cd188d68SMarijn Suijten #address-cells = <1>; 129*cd188d68SMarijn Suijten #size-cells = <0>; 130*cd188d68SMarijn Suijten 131*cd188d68SMarijn Suijten port@0 { 132*cd188d68SMarijn Suijten reg = <0>; 133*cd188d68SMarijn Suijten dpu_intf1_out: endpoint { 134*cd188d68SMarijn Suijten remote-endpoint = <&mdss_dsi0_in>; 135*cd188d68SMarijn Suijten }; 136*cd188d68SMarijn Suijten }; 137*cd188d68SMarijn Suijten }; 138*cd188d68SMarijn Suijten }; 139*cd188d68SMarijn Suijten 140*cd188d68SMarijn Suijten dsi@5e94000 { 141*cd188d68SMarijn Suijten compatible = "qcom,sm6125-dsi-ctrl", "qcom,mdss-dsi-ctrl"; 142*cd188d68SMarijn Suijten reg = <0x05e94000 0x400>; 143*cd188d68SMarijn Suijten reg-names = "dsi_ctrl"; 144*cd188d68SMarijn Suijten 145*cd188d68SMarijn Suijten interrupt-parent = <&mdss>; 146*cd188d68SMarijn Suijten interrupts = <4>; 147*cd188d68SMarijn Suijten 148*cd188d68SMarijn Suijten clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 149*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 150*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 151*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_ESC0_CLK>, 152*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_AHB_CLK>, 153*cd188d68SMarijn Suijten <&gcc GCC_DISP_HF_AXI_CLK>; 154*cd188d68SMarijn Suijten clock-names = "byte", 155*cd188d68SMarijn Suijten "byte_intf", 156*cd188d68SMarijn Suijten "pixel", 157*cd188d68SMarijn Suijten "core", 158*cd188d68SMarijn Suijten "iface", 159*cd188d68SMarijn Suijten "bus"; 160*cd188d68SMarijn Suijten assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, 161*cd188d68SMarijn Suijten <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; 162*cd188d68SMarijn Suijten assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>; 163*cd188d68SMarijn Suijten 164*cd188d68SMarijn Suijten operating-points-v2 = <&dsi_opp_table>; 165*cd188d68SMarijn Suijten power-domains = <&rpmpd SM6125_VDDCX>; 166*cd188d68SMarijn Suijten 167*cd188d68SMarijn Suijten phys = <&mdss_dsi0_phy>; 168*cd188d68SMarijn Suijten phy-names = "dsi"; 169*cd188d68SMarijn Suijten 170*cd188d68SMarijn Suijten #address-cells = <1>; 171*cd188d68SMarijn Suijten #size-cells = <0>; 172*cd188d68SMarijn Suijten 173*cd188d68SMarijn Suijten ports { 174*cd188d68SMarijn Suijten #address-cells = <1>; 175*cd188d68SMarijn Suijten #size-cells = <0>; 176*cd188d68SMarijn Suijten 177*cd188d68SMarijn Suijten port@0 { 178*cd188d68SMarijn Suijten reg = <0>; 179*cd188d68SMarijn Suijten mdss_dsi0_in: endpoint { 180*cd188d68SMarijn Suijten remote-endpoint = <&dpu_intf1_out>; 181*cd188d68SMarijn Suijten }; 182*cd188d68SMarijn Suijten }; 183*cd188d68SMarijn Suijten 184*cd188d68SMarijn Suijten port@1 { 185*cd188d68SMarijn Suijten reg = <1>; 186*cd188d68SMarijn Suijten mdss_dsi0_out: endpoint { 187*cd188d68SMarijn Suijten }; 188*cd188d68SMarijn Suijten }; 189*cd188d68SMarijn Suijten }; 190*cd188d68SMarijn Suijten }; 191*cd188d68SMarijn Suijten 192*cd188d68SMarijn Suijten phy@5e94400 { 193*cd188d68SMarijn Suijten compatible = "qcom,sm6125-dsi-phy-14nm"; 194*cd188d68SMarijn Suijten reg = <0x05e94400 0x100>, 195*cd188d68SMarijn Suijten <0x05e94500 0x300>, 196*cd188d68SMarijn Suijten <0x05e94800 0x188>; 197*cd188d68SMarijn Suijten reg-names = "dsi_phy", 198*cd188d68SMarijn Suijten "dsi_phy_lane", 199*cd188d68SMarijn Suijten "dsi_pll"; 200*cd188d68SMarijn Suijten 201*cd188d68SMarijn Suijten #clock-cells = <1>; 202*cd188d68SMarijn Suijten #phy-cells = <0>; 203*cd188d68SMarijn Suijten 204*cd188d68SMarijn Suijten clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 205*cd188d68SMarijn Suijten <&rpmcc RPM_SMD_XO_CLK_SRC>; 206*cd188d68SMarijn Suijten clock-names = "iface", 207*cd188d68SMarijn Suijten "ref"; 208*cd188d68SMarijn Suijten 209*cd188d68SMarijn Suijten required-opps = <&rpmpd_opp_nom>; 210*cd188d68SMarijn Suijten power-domains = <&rpmpd SM6125_VDDMX>; 211*cd188d68SMarijn Suijten }; 212*cd188d68SMarijn Suijten }; 213*cd188d68SMarijn Suijten... 214