Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp858558rdb; Thu, 30 Nov 2023 23:43:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IH7lBTLFfvjO+kPvZYQWEAJhjiERB3f06o3CDf9POvSTwiHrisfi5zsJ8OaYzL/QbVVVVU0 X-Received: by 2002:a05:6a20:6a20:b0:18b:93cc:c9fb with SMTP id p32-20020a056a206a2000b0018b93ccc9fbmr32346225pzk.54.1701416596021; Thu, 30 Nov 2023 23:43:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701416596; cv=none; d=google.com; s=arc-20160816; b=GSKR7PrmZWHdpDnYox5Ru5RzBqkI/pDsoHAJmSD8nUPx4UHpBU52ZyW2KkT9mAaWyB FO7Pkd3GNfSM7xf4nkqnTuNdFsu/DgO6pBpOsqWJjaFRcvuh3VMJ4JA4soUDmZxQzGN1 w+oAe/0qoXVegYRBgg5duIjFh4oqBVxJCE30i9HfQUCQaFxhPoEBmICyMj+Yu5CVGfBU WCKnyudmatP5n3e3Cx+8G020SDKxa3YugGQxC75F+QWQmK0/wIzKVMQEuo68MAZuu/f3 IDtx9Rk9oCN2pnNNKyvnzvcv+Fdq8xF0uUcJcx+HMXalEeYttJPzKPzhrtxu5Rp+nAa7 tzOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=C4gZXQfygUPAe+AAwdkfE77RWakOl4sMNVWq16oRFqo=; fh=qRFPp4sK8QumbXHsH3XchWQ8JFA/wJ2WdIEZwl9T2BA=; b=aMmwXQBkaFJzXbPnwzo9A2iZa6b0dXO5m/2Sx8KzidCDj+x0dFG9lLBsQbcIB9li13 bVz/ZEFpCkUTj2Sps8UVruBYndG6HgljzTwY50ZoN/A9teygqpdjDiadI9j9FEuX+CYZ v+Dbie6X1KtWgAbGvnWaf5C1X6ThmasiUwr4XOHtgkJrR8xkZTu4NImxL7IVqrOqrYIW W/WPncUiGznAvLZBgBq0gO83oEjr7N/Cyb3shA8cnnAndpq0IzK1//htg+dtjIsT98NR C8sXa1wNDCwfR7/klr6VQBuPxkYBE4R8+5hgK5+q9et3SWzCtxU/Wb5mBYqTwXK+TuLm kUeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qpKojryL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id w66-20020a636245000000b005c606792120si3048437pgb.107.2023.11.30.23.43.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 23:43:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qpKojryL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 9E79F805DC0F; Thu, 30 Nov 2023 23:42:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229505AbjLAHmp (ORCPT + 99 others); Fri, 1 Dec 2023 02:42:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235234AbjLAHmm (ORCPT ); Fri, 1 Dec 2023 02:42:42 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E1451725 for ; Thu, 30 Nov 2023 23:42:47 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-40b2ddab817so17233235e9.3 for ; Thu, 30 Nov 2023 23:42:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1701416565; x=1702021365; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=C4gZXQfygUPAe+AAwdkfE77RWakOl4sMNVWq16oRFqo=; b=qpKojryL45jyGjUxwC6TSUVoKCNsUxuqljNiQ0BNPSeomG6LSnog9Ncs2ur7DLPxg7 CRmwj1baMzhowyiqMrepCqWku5tX8CooEdFc56DprqtfPcM4CPg0pm6M0WbxJ8nLGXZK 6o0kE3k79aWZ81vCZxs6K05stS8XKMIQcx65YEUET86MiUv2GBAAzrExQhCETFA7Um6M pkN2yyeLj6PIYqt9WLqgb1SMKtg3i/7bqGIQtalUAkaDJHPmWwcIjLVBlbECsjWPsoyq 69jbnPaVOvF6xmoDZsqKl9w7yq7x+ws2haQ5hpWt5OJ922WMV5owjZiwgy0L+kHhUFCL NHzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701416565; x=1702021365; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=C4gZXQfygUPAe+AAwdkfE77RWakOl4sMNVWq16oRFqo=; b=l8yRH4CH79Z02t3Cya0WICvX6od0MslbGy0z7dfZGNXvymyEuFH3ggGBHMwIbr5net K6uqCcfOOLW3Xr1TZye3qz4chNWXg4NlkDSJOFUnq+t7dK1n/zG1rRfMUathciEH6Wsx vJqq0fq04hxfm4n+Dr/R0QLzLVyWbbMCdHZs6yQDBhltSFnn4CARWiK4ugjcO5tlt+iQ l67YH02HgskDS/ACgljmusGkf0WYWTQh7m2P1JzfSBPW6hjGEkiEuGYXL77/XiyiUo3t Hoc8LbFKSPrFQVPkGm7h05LMmCjSIL02waNSBrZttJjOKgI/8ZzFro6e3IYFa3v6l8j9 OaQg== X-Gm-Message-State: AOJu0YwWDH5oyZ68mNWxs0qh+65iy2dNkLYbbtGakrBnMkMJe2i1EFDd rLEjvrsyqCCvnyHCJaq7UKXQtw== X-Received: by 2002:a05:600c:20d1:b0:40b:5e21:e278 with SMTP id y17-20020a05600c20d100b0040b5e21e278mr213483wmm.101.1701416565467; Thu, 30 Nov 2023 23:42:45 -0800 (PST) Received: from linaro.org ([82.77.85.67]) by smtp.gmail.com with ESMTPSA id e13-20020adff34d000000b00332f95ab44esm3472068wrp.57.2023.11.30.23.42.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 23:42:45 -0800 (PST) Date: Fri, 1 Dec 2023 09:42:43 +0200 From: Abel Vesa To: Can Guo Cc: bvanassche@acm.org, mani@kernel.org, adrian.hunter@intel.com, vkoul@kernel.org, beanhuo@micron.com, avri.altman@wdc.com, junwoo80.lee@samsung.com, martin.petersen@oracle.com, linux-scsi@vger.kernel.org, linux-arm-msm@vger.kernel.org, Andy Gross , Bjorn Andersson , Konrad Dybcio , Kishon Vijay Abraham I , Dmitry Baryshkov , Johan Hovold , "open list:GENERIC PHY FRAMEWORK" , open list Subject: Re: [PATCH v7 09/10] phy: qualcomm: phy-qcom-qmp-ufs: Rectify SM8550 UFS HS-G4 PHY Settings Message-ID: References: <1701407001-471-1-git-send-email-quic_cang@quicinc.com> <1701407001-471-10-git-send-email-quic_cang@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1701407001-471-10-git-send-email-quic_cang@quicinc.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 23:42:57 -0800 (PST) On 23-11-30 21:03:19, Can Guo wrote: > The registers, which are being touched in current SM8550 UFS PHY settings, > and the values being programmed are mainly the ones working for HS-G4 mode, > meanwhile, there are also a few ones somehow taken from HS-G5 PHY settings. > However, even consider HS-G4 mode only, some of them are incorrect and some > are missing. Rectify the HS-G4 PHY settings by strictly aligning with the > SM8550 UFS PHY Hardware Programming Guide suggested HS-G4 PHY settings. > > Fixes: 1679bfef906f ("phy: qcom-qmp-ufs: Add SM8550 support") > Reviewed-by: Dmitry Baryshkov > Reviewed-by: Abel Vesa > Reviewed-by: Manivannan Sadhasivam > Signed-off-by: Can Guo > --- Hi Can, Since you are not CC'ing everyone on all patches from this series, please write the changes made since the last version in every patch (if applicable) from now on. Thanks, Abel > .../qualcomm/phy-qcom-qmp-qserdes-txrx-ufs-v6.h | 1 + > drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 28 +++++++++++++++------- > 2 files changed, 20 insertions(+), 9 deletions(-) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-txrx-ufs-v6.h b/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-txrx-ufs-v6.h > index ae220fd..35d497f 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-txrx-ufs-v6.h > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-qserdes-txrx-ufs-v6.h > @@ -11,6 +11,7 @@ > #define QSERDES_UFS_V6_TX_RES_CODE_LANE_OFFSET_TX 0x30 > #define QSERDES_UFS_V6_TX_RES_CODE_LANE_OFFSET_RX 0x34 > #define QSERDES_UFS_V6_TX_LANE_MODE_1 0x7c > +#define QSERDES_UFS_V6_TX_FR_DCC_CTRL 0x108 > > #define QSERDES_UFS_V6_RX_UCDR_FASTLOCK_FO_GAIN_RATE2 0x08 > #define QSERDES_UFS_V6_RX_UCDR_FASTLOCK_FO_GAIN_RATE4 0x10 > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > index 5f79d18..3c2e625 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > @@ -763,22 +763,26 @@ static const struct qmp_phy_init_tbl sm8550_ufsphy_serdes[] = { > QMP_PHY_INIT_CFG(QSERDES_V6_COM_PLL_CCTRL_MODE0, 0x14), > QMP_PHY_INIT_CFG(QSERDES_V6_COM_LOCK_CMP1_MODE0, 0x7f), > QMP_PHY_INIT_CFG(QSERDES_V6_COM_LOCK_CMP2_MODE0, 0x06), > - QMP_PHY_INIT_CFG(QSERDES_V6_COM_DEC_START_MODE0, 0x4c), > - QMP_PHY_INIT_CFG(QSERDES_V6_COM_CP_CTRL_MODE0, 0x0a), > - QMP_PHY_INIT_CFG(QSERDES_V6_COM_PLL_RCTRL_MODE0, 0x18), > - QMP_PHY_INIT_CFG(QSERDES_V6_COM_PLL_CCTRL_MODE0, 0x14), > - QMP_PHY_INIT_CFG(QSERDES_V6_COM_LOCK_CMP1_MODE0, 0x99), > - QMP_PHY_INIT_CFG(QSERDES_V6_COM_LOCK_CMP2_MODE0, 0x07), > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_DEC_START_MODE1, 0x4c), > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_CP_CTRL_MODE1, 0x0a), > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_PLL_RCTRL_MODE1, 0x18), > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_PLL_CCTRL_MODE1, 0x14), > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_LOCK_CMP1_MODE1, 0x99), > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_LOCK_CMP2_MODE1, 0x07), > +}; > + > +static const struct qmp_phy_init_tbl sm8550_ufsphy_hs_b_serdes[] = { > + QMP_PHY_INIT_CFG(QSERDES_V6_COM_VCO_TUNE_MAP, 0x44), > }; > > static const struct qmp_phy_init_tbl sm8550_ufsphy_tx[] = { > - QMP_PHY_INIT_CFG(QSERDES_V6_TX_LANE_MODE_1, 0x05), > + QMP_PHY_INIT_CFG(QSERDES_UFS_V6_TX_LANE_MODE_1, 0x05), > QMP_PHY_INIT_CFG(QSERDES_UFS_V6_TX_RES_CODE_LANE_OFFSET_TX, 0x07), > + QMP_PHY_INIT_CFG(QSERDES_UFS_V6_TX_FR_DCC_CTRL, 0x4c), > }; > > static const struct qmp_phy_init_tbl sm8550_ufsphy_rx[] = { > - QMP_PHY_INIT_CFG(QSERDES_UFS_V6_RX_UCDR_FASTLOCK_FO_GAIN_RATE2, 0x0c), > - QMP_PHY_INIT_CFG(QSERDES_UFS_V6_RX_UCDR_FASTLOCK_FO_GAIN_RATE4, 0x0f), > + QMP_PHY_INIT_CFG(QSERDES_UFS_V6_RX_UCDR_FO_GAIN_RATE2, 0x0c), > QMP_PHY_INIT_CFG(QSERDES_UFS_V6_RX_VGA_CAL_MAN_VAL, 0x0e), > > QMP_PHY_INIT_CFG(QSERDES_UFS_V6_RX_MODE_RATE_0_1_B0, 0xc2), > @@ -801,6 +805,8 @@ static const struct qmp_phy_init_tbl sm8550_ufsphy_pcs[] = { > QMP_PHY_INIT_CFG(QPHY_V6_PCS_UFS_TX_MID_TERM_CTRL1, 0x43), > QMP_PHY_INIT_CFG(QPHY_V6_PCS_UFS_PLL_CNTL, 0x2b), > QMP_PHY_INIT_CFG(QPHY_V6_PCS_UFS_MULTI_LANE_CTRL1, 0x02), > + QMP_PHY_INIT_CFG(QPHY_V6_PCS_UFS_TX_HSGEAR_CAPABILITY, 0x04), > + QMP_PHY_INIT_CFG(QPHY_V6_PCS_UFS_RX_HSGEAR_CAPABILITY, 0x04), > }; > > static const struct qmp_phy_init_tbl sm8650_ufsphy_serdes[] = { > @@ -1357,6 +1363,10 @@ static const struct qmp_phy_cfg sm8550_ufsphy_cfg = { > .pcs = sm8550_ufsphy_pcs, > .pcs_num = ARRAY_SIZE(sm8550_ufsphy_pcs), > }, > + .tbls_hs_b = { > + .serdes = sm8550_ufsphy_hs_b_serdes, > + .serdes_num = ARRAY_SIZE(sm8550_ufsphy_hs_b_serdes), > + }, > .clk_list = sdm845_ufs_phy_clk_l, > .num_clks = ARRAY_SIZE(sdm845_ufs_phy_clk_l), > .vreg_list = qmp_phy_vreg_l, > -- > 2.7.4 >