From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2F9627F75F for ; Thu, 17 Jul 2025 23:29:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752794943; cv=none; b=u4LfA9+0hz0EtHY3naT0RgpnO6s5Iu7wh/6L2DUH4jhykxVIF/bA5ja1oMQzthmssRq2m5CqO5hhOB4rgmxKRwRjC4KPCvsqkZ4dB+YhS2BymwT1n9NT2/c3U5ySjjQ70yFW70sWo1rcBViWXtlUjMwbBf8FgUMPpEubJBGQDSU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752794943; c=relaxed/simple; bh=PWzAgWyUzdaZStegfy1PZSx1tV8Q9odefkBheQlH+uQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eRTePEeJWaBiF+HjCUqDgzg+R2hLB0IaF1C5FuWdHSACg4bNwoxKLB+bkwTLmSj45geeyQxSq59JYx2fzCRT58hIuMdwbeBUq7FP3/3eMUullfowwIbsD+cvYdEFStgoJct0c9vp/reOu4O4kAaQgM2YEyrXHLrQDy70k2s6cjw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=GWM+hoAS; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="GWM+hoAS" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56HFPvwc015972 for ; Thu, 17 Jul 2025 23:29:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= yk8ZQbvTxT7BmHTI3shXSuRXBzNfqW8sP85GeRsrZG4=; b=GWM+hoASvo7ObJhg vg2UIzEKhnjsAtFpJl9AnLXeaDnaNdXiIQcCZnUIBdDwDDS4LK9sYpBp7b/cudgU +ej+H5SO1NNs5LE+KiJaiGx9ILVx4I9lkwmpq1CHrWXT4asa3l+sXc4NQmDIJR/x FpRo9zYCTBmd+R1O5JIwkeCgxDZPv89WMuGbAbpmDP1g+PIY3hSR8GzmEqgeZRlE 2imkpLHQfJ0efdBkgky1EI4cpOhvepAtvXnD3DIMhnZHb5vlauDqEebMdf5blXMF xhWUQvdLkGOpR1X2WY1gvxEd2WiEZtCKkyethRjtHxaTvsuAEUdRQQ7YsXloNCtB r8vVwA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47y3tc19vy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 17 Jul 2025 23:29:00 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-23689228a7fso21796835ad.1 for ; Thu, 17 Jul 2025 16:29:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752794939; x=1753399739; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yk8ZQbvTxT7BmHTI3shXSuRXBzNfqW8sP85GeRsrZG4=; b=CUsfddGQi5npG4LCG+mPyhWShBrxASBK+k6fbZHE8W0/B7mF6rQCtmriK7lrJjM/0e qBM5gvqsQ57E0Db7hz/frcQNOcH2fGYONokgsMRj+kpAL94C9RU6NdhzoHqL/CrJVW44 m5/QwEMrwEV1vFw295sutl5YeOb8n3RcuGjeRYbiqrlXpXzZyNbFpskrQGBlcWXm5sE2 ZJ1sPY8GVFl+1im9SFKMZ785TkL7d4VkMlpTq3xQ59Aqc1gOaKZNNKhvuoeCtPHd/sQd gMoG0hkYVBKtiHQky3lOypc226dyF+tvnOuh+a0KXhw654I1c9w2NolOJ4ZuX7zXpGdq +65w== X-Forwarded-Encrypted: i=1; AJvYcCWroSX6KxKzx/TygnlaIaaDzTsPrCr2fNiV1Duyp46kMZ1+oau29UbcJH9PL9kyE4MG9ELltNOS33QZ@vger.kernel.org X-Gm-Message-State: AOJu0YzDBfxpZm9Mz0Pmg4bBKeGYjMKwgxGjIXj+ie5866dc6d6MTeg7 qZN52Frg6TOsDW/7pv0bfq6UemtnFwMoESKy7owIi25jleI895an+KqaxnIhGE3VCJaD++S4Dzc 6j7E+E2EiGw0aM214HhW+RFrN790AfcP/86ZTJd9ySOECt3RjizjsHf7+zai32f5W X-Gm-Gg: ASbGncu/js8yMQ7xO0N1aLjjJvg6jolkdtga382TChmrfMlFU5uz5jztK8tp8uKabxe 2O3tP8y9zoKTRB2mp8fQp5P4qHfCtNJQj6m0fbYD3Tt+ieY8Gbi10LHBPkoiyFwWXCtzHDQJIUh 7i+30z+ISLMn5RN757mB2Hhs9/HHN10lJSaI8FqoVv2ViS0CG3a+wiDtb7ZOVAKxtH0AImqdlsr P9yJY7PsQ73188Gbisw8otKZICFSiTYHwvUmE/z7iUiH8LVlVU+chZnPj5ciUqpiP09bGz41OHU UWcUe6z3J1pEkv1ECjWsYYmZUrc9TeXpFrMrNM2Kk+zDaRhA31oRIUoRTYqcIdrF4Kh1ScL74kr Zhw9Nm7UlMhDyKvT5q9QXkW4W X-Received: by 2002:a17:903:1b6c:b0:23c:7c59:c74e with SMTP id d9443c01a7336-23e3009a237mr78036235ad.0.1752794939355; Thu, 17 Jul 2025 16:28:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE2/wtLSRngXNJpEVZ5L8vSfgP4iso0u3Mny2/dw9uXkt5pphORQ+PIZTh/iAWgEgnwPfpTEA== X-Received: by 2002:a17:903:1b6c:b0:23c:7c59:c74e with SMTP id d9443c01a7336-23e3009a237mr78035695ad.0.1752794938866; Thu, 17 Jul 2025 16:28:58 -0700 (PDT) Received: from jesszhan-linux.qualcomm.com (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23e3b5e3cb7sm2002195ad.17.2025.07.17.16.28.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jul 2025 16:28:58 -0700 (PDT) From: Jessica Zhang Date: Thu, 17 Jul 2025 16:28:46 -0700 Subject: [PATCH v3 4/5] dt-bindings: display/msm: add stream pixel clock bindings for MST Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250717-dp_mst_bindings-v3-4-72ce08285703@oss.qualcomm.com> References: <20250717-dp_mst_bindings-v3-0-72ce08285703@oss.qualcomm.com> In-Reply-To: <20250717-dp_mst_bindings-v3-0-72ce08285703@oss.qualcomm.com> To: Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kuogee Hsieh , Abel Vesa , Bjorn Andersson , Michael Turquette , Stephen Boyd , Mahadevan , Krishna Manikandan , Konrad Dybcio , Rob Clark , Abhinav Kumar , Jessica Zhang , Danila Tikhonov , cros-qcom-dts-watchers@chromium.org, Rob Clark Cc: Abhinav Kumar , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Krzysztof Kozlowski , Yongxing Mou X-Mailer: b4 0.15-dev-a9b2a X-Developer-Signature: v=1; a=ed25519-sha256; t=1752794927; l=9121; i=jessica.zhang@oss.qualcomm.com; s=20230329; h=from:subject:message-id; bh=lan3Y5KBTR4cC/ZtMB5SWaedJPpSyDvP8y8bQq9zCvE=; b=03eVzWqFidZ25JCpT9tqz5QUjDSx8ROwLmP2YHgRtifUoqZFZLYxbfvtojjYFYbp6auumdoDV x1KCbFJSL3pB3unjE//ooy8DahduBmsIAsAICXBdlJl0Er/9xwN22r0 X-Developer-Key: i=jessica.zhang@oss.qualcomm.com; a=ed25519; pk=gAUCgHZ6wTJOzQa3U0GfeCDH7iZLlqIEPo4rrjfDpWE= X-Authority-Analysis: v=2.4 cv=Z5PsHGRA c=1 sm=1 tr=0 ts=6879873c cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=IkcTkHD0fZMA:10 a=Wb1JkmetP80A:10 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=iZctjB8Tiv542dVYzCoA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: FlP6PB_mWfz92WyNfUlqyHmCNRfsN4nN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE3MDIwNiBTYWx0ZWRfX2m7ZzXjwgodM krgWfr9fF4wbpgMo6nwIQbvuJ7KIz5j6c0q1Qo+/MMLiG5l8l3/8cnn8KZnKAdwJEyPrpQaksJg WUJEa2i4t4CX6mGsr8oP9TgVqcjKIg3+4tSkvpklNC58hTnrN9yiKtKLNnvCdZN39kw3OWZ+rh2 QVtlGDfBPxxmA2MV0TreC5NS4tv0TO/GfayFPwy48w9kKQ5RJELLAIciqEOoi/gMl5/ckSxkaZQ y8PqRSD/9i/wvccE5EXtFX+q7hw4q/4DLdrAu4iMTlVQYh9bFPPEbOzT7u12ngxMh+0BhHHvw/t PrkSZEjK7+KxgwSh6vwUNSu4mY0zW49V4/nC/UZbhMC1DlbvoL2jrh8D835hTEyhr1emDN9qRCi VPcMVUDTbHazM2qaEe7aASNyOaAIkuwEjBDYfqLq200foJmMl1kBRWslShtSqwbd4aaML5t/ X-Proofpoint-GUID: FlP6PB_mWfz92WyNfUlqyHmCNRfsN4nN X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-17_04,2025-07-17_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 suspectscore=0 spamscore=0 clxscore=1015 mlxscore=0 malwarescore=0 phishscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507170206 From: Abhinav Kumar On some chipsets such as qcom,sa8775p-dp, qcom,sm8650-dp and some more, the display port controller can support more than one pixel stream (multi-stream transport). These chipsets can support up to 4 stream pixel clocks for display port controller. To support MST on these platforms, add the appropriate stream pixel clock bindings Since this mode is not supported on all chipsets, add exception rules and min/max items to clearly mark which chipsets support only SST mode (single stream) and which ones support MST. Note: On chipsets that do support MST, the number of streams supported can vary between controllers. For example, SA8775P supports 4 MST streams on mdss_dp0 but only 2 streams on mdss_dp1. In addition, many chipsets depend on the "sm8350-dp" compatibility string but not all (ex. SM6350) support MST. Because of these reasons, the min/maxItem for MST-supported platforms is a range of 5-8. Signed-off-by: Abhinav Kumar Signed-off-by: Jessica Zhang --- .../bindings/display/msm/dp-controller.yaml | 36 +++++++++++++++++++++- .../bindings/display/msm/qcom,sa8775p-mdss.yaml | 10 ++++-- .../bindings/display/msm/qcom,sar2130p-mdss.yaml | 6 ++-- .../bindings/display/msm/qcom,sc7280-mdss.yaml | 6 ++-- .../bindings/display/msm/qcom,sm8750-mdss.yaml | 6 ++-- .../bindings/display/msm/qcom,x1e80100-mdss.yaml | 6 ++-- 6 files changed, 59 insertions(+), 11 deletions(-) diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml index d8d94f62c102..2893f097df82 100644 --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml @@ -58,20 +58,28 @@ properties: maxItems: 1 clocks: + minItems: 5 items: - description: AHB clock to enable register access - description: Display Port AUX clock - description: Display Port Link clock - description: Link interface clock between DP and PHY - - description: Display Port Pixel clock + - description: Display Port stream 0 Pixel clock + - description: Display Port stream 1 Pixel clock + - description: Display Port stream 2 Pixel clock + - description: Display Port stream 3 Pixel clock clock-names: + minItems: 5 items: - const: core_iface - const: core_aux - const: ctrl_link - const: ctrl_link_iface - const: stream_pixel + - const: stream_1_pixel + - const: stream_2_pixel + - const: stream_3_pixel phys: maxItems: 1 @@ -173,6 +181,32 @@ allOf: required: - "#sound-dai-cells" + - if: + properties: + compatible: + contains: + enum: + - qcom,sa8775p-dp + - qcom,sc7280-dp + - qcom,sc8180x-dp + - qcom,sc8280xp-dp + - qcom,sc8280xp-edp + - qcom,sm8150-dp + - qcom,sm8350-dp + - qcom,sm8650-dp + - qcom,x1e80100-dp + then: + properties: + clocks: + minItems: 5 + maxItems: 8 + + else: + properties: + clocks: + minItems: 5 + maxItems: 5 + additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml index 2dc76a074da1..0af1e5cd1691 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,sa8775p-mdss.yaml @@ -384,12 +384,18 @@ examples: <&dispcc_dptx0_aux_clk>, <&dispcc_dptx0_link_clk>, <&dispcc_dptx0_link_intf_clk>, - <&dispcc_dptx0_pixel0_clk>; + <&dispcc_dptx0_pixel0_clk>, + <&dispcc_dptx0_pixel1_clk>, + <&dispcc_dptx0_pixel2_clk>, + <&dispcc_dptx0_pixel3_clk>; clock-names = "core_iface", "core_aux", "ctrl_link", "ctrl_link_iface", - "stream_pixel"; + "stream_pixel", + "stream_1_pixel", + "stream_2_pixel", + "stream_3_pixel"; phys = <&mdss0_dp0_phy>; phy-names = "dp"; diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sar2130p-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sar2130p-mdss.yaml index eef5627133db..0a8bda583469 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,sar2130p-mdss.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,sar2130p-mdss.yaml @@ -207,12 +207,14 @@ examples: <&dispcc_disp_cc_mdss_dptx0_aux_clk>, <&dispcc_disp_cc_mdss_dptx0_link_clk>, <&dispcc_disp_cc_mdss_dptx0_link_intf_clk>, - <&dispcc_disp_cc_mdss_dptx0_pixel0_clk>; + <&dispcc_disp_cc_mdss_dptx0_pixel0_clk>, + <&dispcc_disp_cc_mdss_dptx0_pixel1_clk>; clock-names = "core_iface", "core_aux", "ctrl_link", "ctrl_link_iface", - "stream_pixel"; + "stream_pixel", + "stream_1_pixel"; phys = <&usb_dp_qmpphy QMP_USB43DP_DP_PHY>; phy-names = "dp"; diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml index 9e52ac9c0eb4..f8fffc168a71 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7280-mdss.yaml @@ -378,12 +378,14 @@ examples: <&dispcc DISP_CC_MDSS_DP_AUX_CLK>, <&dispcc DISP_CC_MDSS_DP_LINK_CLK>, <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>, - <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>; + <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>, + <&dispcc DISP_CC_MDSS_DP_PIXEL1_CLK>; clock-names = "core_iface", "core_aux", "ctrl_link", "ctrl_link_iface", - "stream_pixel"; + "stream_pixel", + "stream_1_pixel"; phys = <&dp_phy>; phy-names = "dp"; diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml index 0858dd61fb0f..0bc0edc41341 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml @@ -401,12 +401,14 @@ examples: <&disp_cc_mdss_dptx0_aux_clk>, <&disp_cc_mdss_dptx0_link_clk>, <&disp_cc_mdss_dptx0_link_intf_clk>, - <&disp_cc_mdss_dptx0_pixel0_clk>; + <&disp_cc_mdss_dptx0_pixel0_clk>, + <&disp_cc_mdss_dptx0_pixel1_clk>; clock-names = "core_iface", "core_aux", "ctrl_link", "ctrl_link_iface", - "stream_pixel"; + "stream_pixel", + "stream_1_pixel"; operating-points-v2 = <&dp_opp_table>; diff --git a/Documentation/devicetree/bindings/display/msm/qcom,x1e80100-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,x1e80100-mdss.yaml index 0e699de684c8..ceb3a0b70799 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,x1e80100-mdss.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,x1e80100-mdss.yaml @@ -183,11 +183,13 @@ examples: <&dispcc_dptx0_aux_clk>, <&dispcc_dptx0_link_clk>, <&dispcc_dptx0_link_intf_clk>, - <&dispcc_dptx0_pixel0_clk>; + <&dispcc_dptx0_pixel0_clk>, + <&dispcc_dptx0_pixel1_clk>; clock-names = "core_iface", "core_aux", "ctrl_link", "ctrl_link_iface", - "stream_pixel"; + "stream_pixel", + "stream_1_pixel"; operating-points-v2 = <&mdss_dp0_opp_table>; -- 2.50.1