Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp610925pxb; Tue, 1 Feb 2022 06:59:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJzrwZx52tD17iWlaWb94GQhr4YS6wJy3G1rm01FRFiBIjnK176Ls4ZKhapf28uAHoeu7FOI X-Received: by 2002:a17:90a:2e08:: with SMTP id q8mr2768579pjd.105.1643727597852; Tue, 01 Feb 2022 06:59:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643727597; cv=none; d=google.com; s=arc-20160816; b=Dgi2uexFsTc/12kMWJTgi7QvP8RGAuH74dQC1vFHNoo8ppPcDNoeMrsKtvcgN/EJYX dQq6uVstvslhCQWTz9ieDTZX/OAJPPS8HsRbdLzoZzLhwrjtrfnVjUYJXUCAE1ddEyWl eraEmW3oVhy4Xt9VRRWd3BzJWM9OA7FhL0tP9E76qVHUmSwQMJGQW7j0oUI62/C1UUH2 LiGRa+O+4pDpJZwfCkvxChA70a9C10AZCvxEpLbo04PsXdB4UOAl+YLr3YD2y2JHpsCo QJgAMlyZ3awpw+kBlflIsVdPXJjyh3GvtwcGSp4Rmah7JUTIlgM31wr9Cv7kQSmSzqoT 1Qvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=Ui9GKFPyYNMmLF3gc89ulR+KCxxezwdSgNx0bwlIGyk=; b=kNG1ZeANCgnXrJTF/zmaL7nDNpCAn6VHci0uI8GWY6sTTg1UG9PfL0qby26Ie1zdxr XJ0/sYjSGEEBhjblXA5akXffrkWtoqypYcjvzQcL3zBsdthYsWpeTvnzg/HgJoPeA+oa NE5Ix7cXF03zWiuCd3IP/xe5ak3vJ7tWN4THj8gDqYLaW+l7rR0Y89Z258F7nyM+Hweq q9IsvdMGVirY+Khb8MlWHGP0fWB9tAu6qdC3BQq8jr7A3/VbxIz57OLnBYKMzi4Hbupr wW7SI3rjEsHbvSCSK+KG09uc2pCPUyBgWItzDhKONB/Kko9UEt0Wr2F1FhAFDAVQsDzX hbeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=snbYAlXd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l5si15651143pld.172.2022.02.01.06.59.46; Tue, 01 Feb 2022 06:59:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=snbYAlXd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356058AbiA3T5G (ORCPT + 99 others); Sun, 30 Jan 2022 14:57:06 -0500 Received: from alexa-out.qualcomm.com ([129.46.98.28]:36433 "EHLO alexa-out.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356037AbiA3T47 (ORCPT ); Sun, 30 Jan 2022 14:56:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1643572620; x=1675108620; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=Ui9GKFPyYNMmLF3gc89ulR+KCxxezwdSgNx0bwlIGyk=; b=snbYAlXd/X1IVRnS06+lfZ+jWD7OlBvy4gTKf6owV3y6bCrqiKPgFD62 A/Yyd8YzLh0F23jxgzf1J6aIt6ChusoZW98FAuVZ/ha+N5jYc3mai6ytm ZuXnrY/NUbCHqPomVlfFlQUzlntHChQP6up/tIn3vnX6vWQQ5UCAjgehc Y=; Received: from ironmsg09-lv.qualcomm.com ([10.47.202.153]) by alexa-out.qualcomm.com with ESMTP; 30 Jan 2022 11:56:59 -0800 X-QCInternal: smtphost Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by ironmsg09-lv.qualcomm.com with ESMTP/TLS/AES256-SHA; 30 Jan 2022 11:56:58 -0800 X-QCInternal: smtphost Received: from rajeevny-linux.qualcomm.com ([10.204.66.121]) by ironmsg02-blr.qualcomm.com with ESMTP; 31 Jan 2022 01:26:31 +0530 Received: by rajeevny-linux.qualcomm.com (Postfix, from userid 2363605) id 3805421AD1; Mon, 31 Jan 2022 01:26:30 +0530 (IST) From: Rajeev Nandan To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Rajeev Nandan , linux-kernel@vger.kernel.org, sean@poorly.run, robdclark@gmail.com, robh+dt@kernel.org, robh@kernel.org, quic_abhinavk@quicinc.com, quic_kalyant@quicinc.com, quic_mkrishn@quicinc.com, jonathan@marek.ca, dmitry.baryshkov@linaro.org, airlied@linux.ie, daniel@ffwll.ch, swboyd@chromium.org Subject: [v4 1/3] dt-bindings: msm/dsi: Add 10nm dsi phy tuning properties Date: Mon, 31 Jan 2022 01:26:24 +0530 Message-Id: <1643572586-21331-2-git-send-email-quic_rajeevny@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643572586-21331-1-git-send-email-quic_rajeevny@quicinc.com> References: <1643572586-21331-1-git-send-email-quic_rajeevny@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In most cases, the default values of DSI PHY tuning registers should be sufficient as they are fully optimized. However, in some cases where extreme board parasitics cause the eye shape to degrade, the override bits can be used to improve the signal quality. The general guidelines for DSI PHY tuning include: - High and moderate data rates may benefit from the drive strength and drive level tuning. - Drive strength tuning will affect the output impedance and may be used for matching optimization. - Drive level tuning will affect the output levels without affecting the impedance. The clock and data lanes have a calibration circuitry feature. The drive strength tuning can be done by adjusting rescode offset for hstop/hsbot, and the drive level tuning can be done by adjusting the LDO output level for the HSTX drive. Signed-off-by: Rajeev Nandan --- Changes in v2: - More details in the commit text (Stephen Boyd) - Use human understandable values (Stephen Boyd, Dmitry Baryshkov) - Do not take values that are going to be unused (Dmitry Baryshkov) Changes in v3: - Use "qcom," prefix (Dmitry Baryshkov) - Remove encoding from phy-drive-ldo-level (Dmitry Baryshkov) - Use negative values instead of two's complement (Dmitry, Rob Herring) Changes in v4: - Fix dt_binding_check error (Rob Herring's bot) .../bindings/display/msm/dsi-phy-10nm.yaml | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml b/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml index 4399715..2d5a766 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml @@ -35,6 +35,38 @@ properties: Connected to DSI0_MIPI_DSI_PLL_VDDA0P9 pin for sc7180 target and connected to VDDA_MIPI_DSI_0_PLL_0P9 pin for sdm845 target + qcom,phy-rescode-offset-top: + $ref: /schemas/types.yaml#/definitions/int8-array + minItems: 5 + maxItems: 5 + description: + Integer array of offset for pull-up legs rescode for all five lanes. + To offset the drive strength from the calibrated value in an increasing + manner, -32 is the weakest and +31 is the strongest. + items: + minimum: -32 + maximum: 31 + + qcom,phy-rescode-offset-bot: + $ref: /schemas/types.yaml#/definitions/int8-array + minItems: 5 + maxItems: 5 + description: + Integer array of offset for pull-down legs rescode for all five lanes. + To offset the drive strength from the calibrated value in a decreasing + manner, -32 is the weakest and +31 is the strongest. + items: + minimum: -32 + maximum: 31 + + qcom,phy-drive-ldo-level: + $ref: "/schemas/types.yaml#/definitions/uint32" + description: + The PHY LDO has an amplitude tuning feature to adjust the LDO output + for the HSTX drive. Use supported levels (mV) to offset the drive level + from the default value. + enum: [ 375, 400, 425, 450, 475, 500 ] + required: - compatible - reg @@ -64,5 +96,9 @@ examples: clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, <&rpmhcc RPMH_CXO_CLK>; clock-names = "iface", "ref"; + + qcom,phy-rescode-offset-top = /bits/ 8 <0 0 0 0 0>; + qcom,phy-rescode-offset-bot = /bits/ 8 <0 0 0 0 0>; + qcom,phy-drive-ldo-level = <400>; }; ... -- 2.7.4