From patchwork Wed Apr 9 07:55:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luke Wang X-Patchwork-Id: 14044275 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4A86CC36002 for ; Wed, 9 Apr 2025 07:58:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=VTuyzc9U1C6Boc+qIbTkLH3c7yT8ijUJKDCwlR24/AA=; b=iEnXV7dd+VFRmwKj996zqZImgC 3Z60Mditmgsdolai5GAzknQ5m+Avucs+G/1/Ll7w2ObMJn0BWx+WuFZ20qLTBO5Aq02tK7tjYB02M tTXZFI31cla364FaqwToVi+fb8qcC7kDC0/Xr+r7QbBwdJecsKgAdsY63VDmedro+NW1l8bJZ51XM xcjrzyV10WV2tQ2HqxdfrBl9t2zzwXeGkaKHYKYOMVNL5Wf0aVCYIZQmcUucRfxwxyPyv8vbcJRXs 327U7zoD8ZnTY/JzauRxPucOKK19ebhAWyha7m/dLFNhcSq5JkWxtVqwGoQcVc9xWXgQWGhl+8wKM HBsgCTPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QKL-00000006Uii-2WDJ; Wed, 09 Apr 2025 07:58:29 +0000 Received: from mail-dbaeur03on20630.outbound.protection.outlook.com ([2a01:111:f403:260d::630] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QGq-00000006TuG-25xh for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 07:54:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zHbpBM9OYG9mElRl/8Cn5y0hrHTSk/ClLiNkLqPJP23+A3EmeVvWTmCa9uLQBHi6vUS19oMzWP1847ATRfEdpAj7MpBK823ehPq+Qg6VpNpMWccV8qSbRUgM6yIGX5PWJ9GqDCURBxewMqvQr0RWXaYIaEClC9z8Gw0QBw0O+BYaPLVGU+DHAos8TgKOcQHBXwAfs3pAQM10Eo2aSQM0ueEcGMfvDzmx/SnCw2KRspLX2/LQIcRuv1S4xgxB/EJpebhiWLvuu75kAnRCZ73hn0Z3d58ch1OojpzVvb6WWagOGnnGw2pnnk74efUOzBKWUfr8IeuriWwqP5DlDpBwjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VTuyzc9U1C6Boc+qIbTkLH3c7yT8ijUJKDCwlR24/AA=; b=yvXK/w6Gx3pbyjygIC+LVnvXiacrmjXz7HdsqRrMVdUWEvXUC4N5rAyzGM4DFOX/U2KiYLYGC9/IH0NfauChU+qVpYAOYA9zEt+2uVigTTgDgN4Yc2Nb50WrGlXYLELSVgZH6FdRCFGfXIWibRVAe6f35NPa6KTOXptw9NE+gPn3yGm6/GkoufMGXKLL7s/4FFo/l7oBmeBBpbotg9G4Pp/0Xo0NRBsvr4/AKECSxJvwy1BvtOM53VtU/TwKpja76VkYBAfaQlD4xRrca/YLeSlbQYnETfcnftjfk+kr1soP1MaN48LdkmmYXMY5aciwV1I0gEFpBSHrH/GC7XPzLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VTuyzc9U1C6Boc+qIbTkLH3c7yT8ijUJKDCwlR24/AA=; b=Pjn1rMjVQSGxyLj2PTPfTh8RAJ/dT3AWS6tNA+dVOyR4oMeh8chnfmGN/ew71JgIAuDNqfzye3fCx2VAdRYLaQVwvNTScXrqR8mLaNbtFproE3j9C5KR7LPZ8MuySFBIS1MN4y5xqFntxFtO29JSp+74ejE9abPkFQsMKaMpkiMMSRc0TOge9kreJLnOX4EriXNzKvU5YMbMHYA8jERmNH18Us/Wpxijbpkv6Y86vHuCoTU7hthKMTtUncwSyBFuRXlysoym6g20b/cnlxgEPoFo6euo5N5m7aOyugn22TPEkeGyIpjzSm+ByAEeQZY2brejbhPs3FjLW7R75Tssqw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.31; Wed, 9 Apr 2025 07:54:49 +0000 Received: from DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a]) by DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a%5]) with mapi id 15.20.8606.033; Wed, 9 Apr 2025 07:54:49 +0000 From: ziniu.wang_1@nxp.com To: adrian.hunter@intel.com, ulf.hansson@linaro.org, haibo.chen@nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-mmc@vger.kernel.org, s32@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] mmc: sdhci-esdhc-imx: explicitly reset tuning circuit via RSTT bit Date: Wed, 9 Apr 2025 15:55:45 +0800 Message-Id: <20250409075550.3413032-2-ziniu.wang_1@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> References: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::11) To DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8567:EE_|AM9PR04MB8196:EE_ X-MS-Office365-Filtering-Correlation-Id: ef6b5bd6-5a87-43cc-6cb7-08dd773bcd9f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: sjNi6vmsKj7klwfxCeWbeqqBzyDcTizRQJ2sP1Gaiej5bmHVlzFyMKK3zf0NgOpXq6N/WfC47IOHNrDV3B+RmcksNtwc2zhNY88BMSWkifgNE4q89KNh3OnY7wRA05cPzxmjpeFi8dgOLPJvQBI+U7HTRxHSE6z/w+BO1auzKegK3rwG26ipRbI0OZjujoIarbDG3oSL4k333592n7eC6iALgkWQLH7Yee3QAv/CbeMtjXjvpLnVdm6pguGckuz/JXXlcIf90tTsGilvauYG5T3LvCnvbMc1zW2w1WPT5f2C1KUVC8Z6LLYhMdQRCXHZgpQHNNxC0jbnnlUFtKxqoOEMU3ZlLeqBk2W5pFr+ECoOQsL97SKNMvVVA+QKsuHGyX3rnO6wWk2Q0XWyAxVbkPWCRZ+ShMyZst/YQEGASmeMMbvbAQ9HMZwbVQ2sqwUL0EyIqHS6cximYLZymcvEbpV1oVV9i8AVLJJT5p+cHLNvBve4vaOal/iChink4ZIjVgxv9aHOgTcbgpiN1INm/7cdK4K05Ey6TRMKWeF1MKWlRA2YPn3Quxtkz1xMjUEhUh3rSOpCmdvMy8sZ9/8RiMOQwMyIo8F8iW3oix1PFiVDeSipgodaVZryJ51cBbV+nwi1i3PrjC7wkVShQ996lJ6TebijvVJSbbUhRSDX+pYNbit9tNheATELlYcl6K7/LFMuVQDLIYKatctl+xcttk6F8SxjZkoLe+bQob4L3lCmzDiB75gAU9pPVugR0BuYCmTgi0ua1OsE7kmrYjGr5CTaGnVg6rvSPJd33IkimnzhBg8Xw9o2lj14+47thDmq8PW0zv+hBDv98oyYkFwpXlqcfTLu+qJnu6t6A2v8J1xXdgyohn8+LRaA95XAIgP3M9AnHvNrh4z588tM06vGWzZubpg8bf4Duf5sKQTCaeG7/MhGvGqwolmKlwIpF3rQnHO+G1/jTqP8U5Ssn4m1bczOuUEVXgaS1hTgA+RzbBqShEVbrBM3pbuYmLALzoLxCBip8FpSotyezncjnhSLZX2mkdXvMDA6FZ1Zjv9qfo2llmj6hb0PGm3PpaXgiqIXOtNGE+RhPsxicg5B/Ns4DJBiERd70jeELg4DybqP9bki0xeTGAX4622AoJPjzDFjoiTk3ctkrxJ38NJ7nrMQNTolmPoGWIoIBmsE/npzG/8FRXowqVc8tiRPYn2+eORAeQd4PeySG+rIx97v1wrnM+u+uEf/NoBZi1ctYZsJO8QifljvXbKBvVwZjbuMEuBKj3ATK8jtgbPXNz1K6jbBP5YfaYnCX96FTb9Q60G+uHPK3m6XWeDuvyn8Z4gjlqUHWGqRswM6chgrP4S+VO9jKk2TRm81GdDsG1AqGy7fRW800icshgIeriW5MZS89PL930lJaMELhgq5NDT5cCO435ypsHASuRzMvw0o/cKvgaRxh7EQ2AGThce7POQIT3nJtB8G712AhZ8yvlYTSuWrMA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8567.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4z9FBu/emDeRHRucse8XYYHnZkbKeM7mxIM1ei1Z4Iqi7KQM9WfbH2ByK5uDmiMLFvgKok4NcIOjSZB5ydIVkSDeNd59bBi7tx4Y32q9de7xCRbLcSje9o7vwX0uKHz52OA4r+SoluNgio0/6gLHfi6F/gLrttMpAHPXWhDVgxv7OfGV7dOdOdt20VTXF/5AqgDp3Ytu3YFjKizavF6fbuVW6S6KGR55N97vvI+60f+6FtbUeRQDBuyIxVTfhxj3CTcMILXlltH7sxMEqP8z6j5JYQH4v6BZqhVXV/b3A9sY+Pp2X95FHS8sKuKINDDIYeYgr6qdCoYZMNiP18IyOZFYavzvi4G1EwHU21gGqQoEK8jyJC8OnWXVt+OnpuA3Ibf2GH92HKbTvEhYHcNdjYepezLg7l21YfNWc3dQYd1v2/jpXBDYd8TO3g3MfQr6exCk+TK/OEBmxQIr4+zIKa8YovT3/j1x67ZBaWCN2CiRiMYzKLQ+lBxMxAYGkFONB38jfxn6fKYrZzEUKrqAgK6ln1dWJptCOcdFHYJHc2sl2Nzgc4OlJtec6iMU5+SZQcFXfvI4dlrznotjp7nvY8kxyZdTtY1j1MLFdO9cAcE+Ga/toVeCwXJ9hQUf8+5wEwkBaNyrNZEsYk1yqjjPxkFOu7YB4758LHHhxQje11456SWQYqo5sPmoko5b/StffeocQ4VVQwdfuCd87aSMPa6Q1q844Gwq8gLHOB0grXsvLEAGKdnu9EljhhQ5fqJaJeVfwTI/cRFXhbsMS/ZrgwUBrliqpZA36oPHqKubR/9gew1r2n0bN+L1/k5HQO2FeGZoEiw58PWatK9vjRg0VHwYu/5aw9GFov3haNxc9dZypUfOVvBvc3tTRXMx3iq4v/+8c5dSjQ+X89pHomAFUJHBTfLc2EaR+BuxdVs49hQqUPyistPti1NsKX7wzBL/X3BD1+GCtc7qNK6jfXw0WGTnoswTF+rMLouMxxyOBqFDnECIEBJxpMyMJmBqx6srjRfBEqPMMnICgLgVPTGkxqOEzBLQzdRos7Xr8+m2xbLDOOlC8i5m0/harmKjqkonSIi8obUeyoE0A0b1Ns5FXo8jznh3JsLQS9tn7MuDmq7E5RvFXGDCF/dKVQ+oXfk+Kcs5KFIYvJvkf7RjWF41TNsPiytkqnXjoKxSJrncGrV3sMlBz2brLNnXWkyDrIITI1kWP0b8kNad86pbIu/RVZ/JUW3g/82BqCPD6ISNY0aNfDZvP3CuypJPWmzE2berhKz+uXKRkS9weqv4rb6x89p1q+dje5QQbW0rinj/0yZq3dBfRBVWb5yDJ/1M0wnHVhWXF3eutziqs5AvX47Q7zV9V1xt5MorBFpGe/jJummTuO1FMlupVbkHMFsU/jo0Y4kDbyjWSqwIl/ptZ68+MtDXk4tIKqqRCxtv/sZEuG8k7rSNnIJbf3fIEb2OemXlLF/9JIGfBU9eja1X9C4Pi5Eg6RMVpstPsB3MmuY+zmWjk5sgrqZKrXJoVu6oDxog3EjxUYSnZeNmOxds7c9VbGvcgNnjKcdqe7ByuGjZncDNOgPbFeOaZajGNQQobno3 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef6b5bd6-5a87-43cc-6cb7-08dd773bcd9f X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8567.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2025 07:54:49.5945 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qnlXFdhGn3jn+LacPei2W0WSlUYNRJNtLOPQGsVdhPMmhH76LZE+hAP4OimhNyAzc6sQiq4GnrEgSAXYUygEFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_005452_540443_ABB5EECD X-CRM114-Status: GOOD ( 14.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Haibo Chen According to the i.MX Reference Manual, the RSTT bit (SYS_CTRL[28]) is designed to reset the tuning circuit. While the Reference Manual states that clearing EXECUTE_TUNING bit from 1 to 0 in AUTOCMD12_ERR_STATUS can also set RSTT, this mechanism only works when the original EXECUTE_TUNING bit was 1. When the bit is already 0, the tuning circuit reset will not be triggered. This explicit reset approach strengthens the tuning reliability and aligns with the Reference Manual recommendations. Signed-off-by: Haibo Chen Signed-off-by: Luke Wang --- drivers/mmc/host/sdhci-esdhc-imx.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 7e8addaed697..8c2f5ae949ae 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -32,6 +32,7 @@ #define ESDHC_SYS_CTRL_DTOCV_MASK GENMASK(19, 16) #define ESDHC_SYS_CTRL_IPP_RST_N BIT(23) +#define ESDHC_SYS_CTRL_RESET_TUNING BIT(28) #define ESDHC_CTRL_D3CD 0x08 #define ESDHC_BURST_LEN_EN_INCR (1 << 27) /* VENDOR SPEC register */ @@ -1060,7 +1061,7 @@ static void esdhc_reset_tuning(struct sdhci_host *host) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); - u32 ctrl, tuning_ctrl; + u32 ctrl, tuning_ctrl, sys_ctrl; int ret; /* Reset the tuning circuit */ @@ -1084,6 +1085,11 @@ static void esdhc_reset_tuning(struct sdhci_host *host) writel(tuning_ctrl, host->ioaddr + ESDHC_TUNING_CTRL); } + /* set the reset tuning bit */ + sys_ctrl = readl(host->ioaddr + ESDHC_SYSTEM_CONTROL); + sys_ctrl |= ESDHC_SYS_CTRL_RESET_TUNING; + writel(sys_ctrl, host->ioaddr + ESDHC_SYSTEM_CONTROL); + ctrl = readl(host->ioaddr + SDHCI_AUTO_CMD_STATUS); ctrl &= ~ESDHC_MIX_CTRL_SMPCLK_SEL; ctrl &= ~ESDHC_MIX_CTRL_EXE_TUNE; From patchwork Wed Apr 9 07:55:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luke Wang X-Patchwork-Id: 14044276 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CFF49C36002 for ; Wed, 9 Apr 2025 08:00:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=OJF2N3EwX4lmcFwRkDr8x53Wgzi8S2bYh7SpMaQ9xVo=; b=14i8iELxNlxST1BNyRF5sniEbC AzOqfPXSbPG9AibOklMx6jqdB0PCi9il7Hm4yqO7wfMG9zdFTVwkW07eygH4fsrDA4kM77BZBLr6F 8YsXD8jYqeHcwVgxsuZdCqXSSgortQSGjJAVWM3RBtxN+PEXpIlWXfklnPZ4bbdH8kgZlSp7DMX3R +BSIrcD7Hut1jg6MhQfVlceAtje02z0NYm6ce8GFKsUetWcAYbwjHb5GRDPglWLMsoSBD0DXKJnbo g8RBN9TyNS7D3eywFx3mopnstwbXKc7w0GKQXlw/aJE78DBUhupYvKrf4oeMlXj2eht4lXbHJu5LA YHtEztGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QM5-00000006V8R-1VSa; Wed, 09 Apr 2025 08:00:17 +0000 Received: from mail-am6eur05on20624.outbound.protection.outlook.com ([2a01:111:f403:2612::624] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QGu-00000006Tuh-1EiB for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 07:54:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PckfFTaWiJg11urlxgjLD5KOyGPB38XAxXouCKe89d9J2xzRIYij4JgbSalEGHBuxCoKT3t/KjmZLbM2jaHcGZ+PjfWUN5KrqqqOVyCnFu9/7a80dhAVNXu4BpoFifZOQ9eV6rlB0uh1G+PTwweZPOuNxQT4JZDPmj8ftHU9u7vJI/hZUxXuYama3W5TCCP6dmbUhfKpqHP/5gj+kr7zw50zCKQ0kAaKGLeui57nagRl5Y18cEg1g9Xx+n+PxSO8TTVgqVPfM4LaTMuq5FPK9kktO66R2ek9byk9Tmu/Rpl2P2iFSH2ArvPvMu58u/t2dIPi/l+Q5knNDApGM/Yrbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OJF2N3EwX4lmcFwRkDr8x53Wgzi8S2bYh7SpMaQ9xVo=; b=Sdn17cOP41BgnCO6iOimHO1JttGxRWwQSxMxF/8r067kxKqrFyjXt1B7Ra9E5yL8ZFMCs3s443mqqDVXtSSfK7ImnrWnztUz7fjd1kCYT8661643gw87007GPvq7oBbTX8vhwjMK01Kdu0vjFNVfoNCqLOcLKAgcYTNnB878cDf27zclu3PL0fo80uszvbwy4gxp2Jw0+0g4HTLRHRnvQ0N/mFKexGPRy2cFhHu1MsWd4zmTOF260NVlZyemYSIW48rE3PgV0LVkaWcETdbPSYK6VBawk4U8XhaeaKxGvy32TogxnFTPPKWh7/FmRR/uWCH6NZIa2LD3FCkbz4UDuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OJF2N3EwX4lmcFwRkDr8x53Wgzi8S2bYh7SpMaQ9xVo=; b=F4gdkJPRVCyu9dB+9aB1NoS6gfHfaUgd8ZChruVSk8DbZ5BvnVoNTCgw3zlnjQpC71KQ7w4r+1KNJlA3eymJr4ATjQkpyQZ+qJimQBB4Z1EeHU4Q2AoHY0lHk2K0zCoQglq4wTLLUb3hsAYd788hbx9mWGMq5NLjQJOZPgZKAT8c5HfBoqS2tR5ddqQRJVm3j609IJrBHqtwrfxN1yka3gTlfnqh7V/fu/bf7WdSczBZxY5kNp2wAVCDX2od7MOcJqXN1rEcjZ1on9v4gt6BcdDdt8M9zgmkne8q2pfE0Ff+u4QpPrOkyv+K1Ce1guG3ZVnT5g+HmDZeqZ/9BhK3/g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) by AM7PR04MB7077.eurprd04.prod.outlook.com (2603:10a6:20b:11c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Wed, 9 Apr 2025 07:54:53 +0000 Received: from DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a]) by DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a%5]) with mapi id 15.20.8606.033; Wed, 9 Apr 2025 07:54:53 +0000 From: ziniu.wang_1@nxp.com To: adrian.hunter@intel.com, ulf.hansson@linaro.org, haibo.chen@nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-mmc@vger.kernel.org, s32@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] mmc: sdhci-esdhc-imx: reset async FIFO before sending manual tuning command Date: Wed, 9 Apr 2025 15:55:46 +0800 Message-Id: <20250409075550.3413032-3-ziniu.wang_1@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> References: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::11) To DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8567:EE_|AM7PR04MB7077:EE_ X-MS-Office365-Filtering-Correlation-Id: 4045fe4c-6fb6-47b1-5ab0-08dd773bd012 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: M7dB8LwHNsNVRg49f7eV63bSaU2HHi/UmwVVrcaWp+WGAxtFFZy4LQX7LXVJSKGwqvfz5lF37pgb3brn5Tn7PMfgzsmrnGpWpsyC36IUvBLp5L4AIAMcHQMHXoeKRQFdygYK08SUWzRUqmNEgnCvRDgECDdmeJCuHxkXoqX2DTK9h2NKsgKTRSITePs/d2ZFSD5ik1fKyN8NNu0r0GlLs4XqxKLFImqmHW5I4HbukcxSWz8VMz6Nj3wLXMzLj1SH80SSyI1N3cuf8A0ci4EzdLLuL8XqCL/EmbCHj5Md7Bk+4bHXQa7pT4K+SQM+Wkfft3KAd9hEgLlGlZ18b71m32i8dojfyntyaOiPyCXWABwLxxnf9zaDurHTp90C5xjvsB0pyegn1wMH5vezb6z447vZieNJfzbCqLHXottPEdevak6r1g4Yrm3fkwHodULKtckmNJrghdHbFKzB8Aq739JXfrkHWqbYLcjcLQ8utftAdO7tpgPC7u0M1oJVACzP3QYN8UNNPi9fvtsC2wl//YT8hIJhnb2YfGHljOZATM0PxHTdJ705uf2CigRNhwEDUhXdgC6pnJ4Mba7j3K38+AuqmspTJ34x8a+dA3QkRq97gKrip9OuxhNZjbThOd2th73DC2X3re3OF5Z18iFVRZUgtw3ZWh7lSmEHjCrtHST6qLLpbFk+zQEa3H5LVSGwWx0h5jmPNUD+0FFRcX+dWRroDyDktFUPD7jA++mZnCoV5qhHtk6e14G7QBZvJ/E7UPoDlqXoxJY3fLqBiXsb0bcAc1/I9SGYfGOzJXnakhXs+lKrFjvq6YMOJVCxoBEpUv5mD7CzBrWGpFISBWk3etRP24c3igpiUQ2+ITEXwRmtjaKpPF5HbfI9ce/4DS9AzdPdQOzThOigy+EyK4c5WUNd0TBsucgaJ7IFiLkMgkPxxlG5FquCTZMYoUyTz5ImkBwkpx2yotJnQA6HTZzvAzMNkbvNUTyPvAw497j0bwBBm0cdzUOHcNJwjHi85xuAIUcsF/aTE1zQgN9keodqjQtBZfcEhn4ryzXgv+7VoNB4oddCYlRe2L7WM4Kj/ZrMX/nohwTOOqIrf9sdsn23Y5Jm2B80GxBJeHvwjksthqq4d9WhdzpGqheGymj7GHoQzR8RerB8feyuGlXWzcEiALwdibzOfCOs7YsTdDS6WDbiI+9nep2DzsUuRCnkHgmP0y5b0OiCM6pItP7RDhqrPp4431SLktJktKVulzXIaOyF54Ugfl/ZpXUSwQmKiJTfq/nlpigKXQedLA8WfO6w+VSdQ15EQRJWVNFjIzp3G0qn2iSRwAnZWZR9l5Yf5FIjNdHXsA8DH73g82R97Z1hohH6PosGxJjFVgM0ZmvDUOVRykviQ6UlaVNnS7nCf0Ce3Vv2x9rOF6RM6jFwjcvMtxlJV6arGApGBw+rtPukRh+D3E8TvsAS05/fC/ENSZhq6ohduWjaXKItxfSuPtLHfg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8567.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gBbXe3u+Cg1rNyWyiapnOYmjFMctSl1qbO2k7L/kiSxofUpls7v1yMBEZ9ZoB4NWtrduWiyTdaZeZUGZ1gNE1VbADXWRF+mKp8l05MqVSUtpw5o9PocgVBpV0RIpRLkHg9o9gHxYCg40OS12CuPjxcWwaN7mYWbAO91bYaQftDcTG8uYrUxx87hiCzfk/YYsh9R+tZ9hah5gRZstY07qstpSthaj3Yuuz9n1AA8W6b9V3r6V18mdIzqiQDNE++3XxHhArWTTCepL4XJE5XlAwbzf1y4kWoNr4Sm6ekddcL0rLo748g9gtPm1vMtk4+vzkeSANGa4AkoZopZDLxCoQaxXyPOhtWpm2CvzUv/axwxkVRcCTb7B+EtGD9LfJbFulu/4OqiIeTu7MOYQzrtRsai/VkhIG76Ru7N8Fng0Lw3PXFJs2dOHoTinzz5Ou10PdXInyS2BIn94IY4Jg35BI7Ke/CpMA6DF31zkmoOnHv7wVCS0Pk1AAPhsRPgXAySn2OFs2enfpMMrSdXfjyOm+fN08jUZxIt3XHmmZDUkKemV6092CkRrlIgJKuOgtF4RC2rwt1SynHxP695uw6bjYY/M4vF2l8PWK4d3RfcI9BTpb6BHSwM8ETIsQBxZnTVZoIlRwDpORhmH+GZpVYJ54LLJR8O0IOPbdVRWwpzzydaz4SPWKz6zOA/VpkiSsv3YgRdVqnmuIoe21kPhfxpfKRh84QqkYToGn7iaPAWu6la5W+n551/PFYxSqh3Fdc9XURubU5nQhO13JOHphJrClLGJQeiqRQtwb+v8o+ZDps4LvQy347P68kwHF0dZ3SAs9dCLWoCIOhoobecTtBqPlYGtvQ/FEcB9dcZdqtZc+wmREDk1BIA7Mc4rIL1h34CvkJ2TVhGAocOpiCWZe5EKar69U5dyePizcWr/D3F4UWdEg5yAVK+QO9AGcUxhcH/ovN4wGtA0Q2NVTCSSYV2bnbVFz4Ant4DX1je3N0wAZ5tcPXQnBHvV6sHdbGz+DTNoHGe0sa844nuRvmM32x+qxH9q7NZTalZCxlMB3sChDPtsCf5vmJ9Ql3+no/zMfoj1xsej1SDOq7Z5v8054GWKiLfO4XnPVpTSvP+B1eI3g7yAMbuWsVEuMLL8Lxzk+2Y8q1xF3vQpc2yXnnGj1Ln26Y2GZ3duY6foziLPa/JtSU+QtlZ3HEjd1mAVcFq7uXkXiZveEoyi8rOmOiPBK/dcbdxKjzdT8u/Yb3F03lUTGMfcayDPU+Flq0kAYuFFQOdiPd8kMW4OA5eLg2YNDjd781mRc1xqHwTEezfJEo/SbYT4kAVEWhVqXKSWHnTpTJJ0O2cdOOjMXmIV8AlyIHcA5GmFBPE8FZPONX2KCpXdce3WjDN2EseD6aAv/9s0dq2C6WQCdAdgdLla9sUuR6O1lUX2+NdhAwJS4sWL6Az19AFEjfTEFHbvuVgqX/gcVwxgWXf2dEHHqiWScxmYwlllkWXevNW255F+LHjH3XaDMggLyWN+lrzts3kO/qLhbLGHRWX7CFvzhU/f0OlOJFUtaaGwwWBBP56YiebAiOmW+Ra5ZwwqXMqN6NhCKmjBZt0L X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4045fe4c-6fb6-47b1-5ab0-08dd773bd012 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8567.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2025 07:54:53.6210 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SCw9yrIZMBLA6KBW3dXsJX7cAfh5uHXbCAzCF1gK2CmuAjeI/6NlrUPFGIoZjjdWFT+ZX58/5hdRb+svdfTkgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7077 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_005456_334655_0E91865B X-CRM114-Status: GOOD ( 15.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Haibo Chen During manual tuning, residual data in the async FIFO from previous commands may impact with the tuning process. To ensure a clean state: 1. Set the RST_FIFO bit (SYS_CTRL[22]) to reset the async FIFO. 2. Poll the bit until self-cleared, confirming reset completion. This hardening ensures the tuning command starts with a clean FIFO state, improving the reliability of the manual tuning procedure. Signed-off-by: Haibo Chen Signed-off-by: Luke Wang --- drivers/mmc/host/sdhci-esdhc-imx.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 8c2f5ae949ae..8528aa6adf02 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -31,6 +31,7 @@ #include "cqhci.h" #define ESDHC_SYS_CTRL_DTOCV_MASK GENMASK(19, 16) +#define ESDHC_SYS_CTRL_RST_FIFO BIT(22) #define ESDHC_SYS_CTRL_IPP_RST_N BIT(23) #define ESDHC_SYS_CTRL_RESET_TUNING BIT(28) #define ESDHC_CTRL_D3CD 0x08 @@ -1149,7 +1150,7 @@ static int usdhc_execute_tuning(struct mmc_host *mmc, u32 opcode) static void esdhc_prepare_tuning(struct sdhci_host *host, u32 val) { - u32 reg; + u32 reg, sys_ctrl; u8 sw_rst; int ret; @@ -1173,6 +1174,16 @@ static void esdhc_prepare_tuning(struct sdhci_host *host, u32 val) dev_dbg(mmc_dev(host->mmc), "tuning with delay 0x%x ESDHC_TUNE_CTRL_STATUS 0x%x\n", val, readl(host->ioaddr + ESDHC_TUNE_CTRL_STATUS)); + + /* set RST_FIFO to reset the async FIFO, and wat it to self-clear */ + sys_ctrl = readl(host->ioaddr + ESDHC_SYSTEM_CONTROL); + sys_ctrl |= ESDHC_SYS_CTRL_RST_FIFO; + writel(sys_ctrl, host->ioaddr + ESDHC_SYSTEM_CONTROL); + ret = readl_poll_timeout(host->ioaddr + ESDHC_SYSTEM_CONTROL, sys_ctrl, + !(sys_ctrl & ESDHC_SYS_CTRL_RST_FIFO), 10, 100); + if (ret == -ETIMEDOUT) + dev_warn(mmc_dev(host->mmc), + "warning! RST_FIFO not clear in 100us\n"); } static void esdhc_post_tuning(struct sdhci_host *host) From patchwork Wed Apr 9 07:55:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luke Wang X-Patchwork-Id: 14044281 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AAF37C36002 for ; Wed, 9 Apr 2025 08:02:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=LoXx9kc3EltsitFWaQOSi3FJBHv+/d+FmYG6pkF5+aE=; b=T19ft/I/zm2Wtm3GZklz8xUoYc 1OXi1YVHBYcLxJ1g3DI4CxTc4JC9toHk+ENB5qpBmpJBdetv8KsoWFlZVN7lFD0Tv3CVrPtFMSB1U 1XutDr0fQJoC7LKb+GdgHGqP39L6r/PJvh0h1fLkIW44OdvpP1q0cpEz9Z2I8eMHkc5Px//gGNpPe NzgmfbmKFS+y49B0GFzrphpTOIBQFP50UQX3IKyH9Kz7nUacHr5HMuBW/RxPFFt/FB4ihMGddq0F6 keD5bfZpthg8lc6UijEvByRcgAt0rIWkXxNqzrXvUdZr1adWosGbXM+wIZ4A/n8tNjuGWM0TlHiy0 truCpKkA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QNq-00000006Vb4-0eg4; Wed, 09 Apr 2025 08:02:06 +0000 Received: from mail-dbaeur03on20620.outbound.protection.outlook.com ([2a01:111:f403:260d::620] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QGy-00000006Tvh-1mvS for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 07:55:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fFksXRHrHT9Lu3WDukF/aiA4kzR8qOXpRDbsrZ0SNn6yAX19dZiGbC2JWyPGIOMRGDS4qXGdVzKRG0rgpcTNne6WmsZdeD+mu8ydnyzBmseQ14zlzyo9v5E3raFLEqNTDUuM8AIBaYGxj1nLK66vV1tm58tSRRwk7fkT+OJFo3Uj1jH11r6aP8Rcdz2owKW2pUCEvWtHLC0AXVifOntxF8bKsx/06QgNj1m0FxV3Xfv9VNRQuT5Qvy6XwJeyJ5lMsDRyDB0XD+KhRiLbHAwx/iSGYgIn6AAfPkNBrKUGlz+k3v6LvlLJKO4K9GrHvf7al/Ly0buR9iuHvRdXSB0Usg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LoXx9kc3EltsitFWaQOSi3FJBHv+/d+FmYG6pkF5+aE=; b=jVo7ykQduasb7ErlbuHPuGe267yGD1OYcq3U8XJcF1yaZvK4F43xwxmXYRH+/vNQjyZ6HMpW1ptCX2SnRaKAuDVrV4rCCiGGyBlCT5ys/EA7/VLRKbw94eHJ/ms8yqhTwIdtQZX9/tMmH2TiZMURzSVaVkPWTOTtzt2SAvR8kp8GMaS0AKH5xdD51WmZBHRLJGmbq6EHNBAUg8nUWDyKXoPQVcVXIVS6pqZKDG6XpcyObXnEfYrWAYge6M7CJk9Fod/neJIxCQcoVslGaen8/eciCcDWn5ng8+wU2/nKenD1jm4A83K5jOUat5kRZrwPwyBNxJdHNQfje0oBiJbbxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LoXx9kc3EltsitFWaQOSi3FJBHv+/d+FmYG6pkF5+aE=; b=BspbQV2vwW01ENP66+BKEiDLq5VUym+Z1LbOgVT3+xk4kf8xdaSgu0+JgBlb3iA6EzPiY4+mCON0VnsPxXleyt4Cs9F1m20FPlovoehVeeoW7WMqFkMUunGbTi/8bHOiz8Hs97Ce0j3tD1YgMFyGeY/5W/sZVeDYMvGapUpBYvlgsqSapbWRnGcVMKX2c11FvNE7YdIAcZ6x2I2Tfn5m38hs612rwkp4ZPFY1Wv/1lrZcxOKKYe62U0qdqOKLXFBOkkwR+egYel7PDTeVKeCSWO3p/L7cTwH7a6vllb982ufZzY4X+A3+mW00bZh74nK96qXROOHt9BVJiekCZP1IA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.31; Wed, 9 Apr 2025 07:54:57 +0000 Received: from DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a]) by DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a%5]) with mapi id 15.20.8606.033; Wed, 9 Apr 2025 07:54:57 +0000 From: ziniu.wang_1@nxp.com To: adrian.hunter@intel.com, ulf.hansson@linaro.org, haibo.chen@nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-mmc@vger.kernel.org, s32@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] mmc: sdhci-esdhc-imx: widen auto-tuning window for standard tuning Date: Wed, 9 Apr 2025 15:55:47 +0800 Message-Id: <20250409075550.3413032-4-ziniu.wang_1@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> References: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::11) To DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8567:EE_|AM9PR04MB8196:EE_ X-MS-Office365-Filtering-Correlation-Id: 62d79abf-71ee-4b81-aabc-08dd773bd272 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: /PvBXb50+dO+iLjewEyZPAR7iH1rt0YdbadN3QHlpaPLjRpyZaSkaWtPxka+CAb8JeRqe+XCbrJHBld2C/5S+tMrAoNxDDGMdo05UeFTUxtaYF2YTdTzGKfppE3pG3Dh/B945bO28wKlZ2cA2QjG/+SbrBumlsXc+n5kndCfvmezKcFzBk2hQQy1nn72VZ8TSi1YINQ0LzW/3eaE9wC9qBJSmdNhHhaGiEK9T2+p9btjw3WVpZo3Voryx4vw1nK+5l6T1z6tXicdKmMw1oMn3301SXcImDCzRxlEc8rTM4S7sVL9kntWuhwlCBASC+HvqFHg0GY8BM5ZbrAUMRnx6qWtyaEtHgzHDtRPDSk5UbxyJ3czYPLGqpr4El0sQpcqhb5/kfdUxmvP8ksHhyydFuhcML1KyC7wa6DkQ/AA30q4UGkzBmmliBD39obwa0D5QsMf3fj+oQySAJ3IAzvH0JVgDzMIDN/1u7gSlVzsvENRW2OtjkvBpsUUpXq7zDOsRoa7unokQ4VS/EQFbsMWseI2yfiu5pal1dkdReFWb5NnGuL2EtSMgfmFtNr3cGAuu4K1NO8AweeJp5VH2mGrxpfZye8MRxkIsVRCbjrkAJJxxA0G/5ofaDDBXyBGWdPP00fEyBFxzfwYt6KzX+P/tBtxD1sa65DvKl5E8ZlYBXPHEXKHhw7clmcv2WG2TDpLv3VtWAcE5lYowHFaqebqDdQX4yvcbBSGePxr6WjoKWpgpLqMNYGA8+Rgb88pV2FCJ5S6sQjCdoVeXWhi4dFyXKCfsaVDD5XWcce/75zSi/988IrYa0Zj/2dS5sjQ8jdNj0muW7eKIUCPYNThDD92yVqL/YceOk6l54OW0/H+hUen3jT4LcTY1900I78No49pqVQnp1YUpkFEXW7H/xZfeVBUeCrgaG02BmBSnlDnsvERHYmT5m+T4+s4LoNohiFlB1wD+ihnMllm9ys4S67xLXCSN9GELauPKd3O5ID4i9YPSRSEP6lFm9/bgHGRaivGKc6I5arHRcs2WyaAHVuQNoIQ36sh2KBkedZZbk7CZAbb3xrvlBP7di279BSCwaepG5/5uzFoUUcv+yk1UQrk89OtNDC9xLHBxBG7tA6NgJkNjo++o+x7pjIy/PDzGmT/HsZwKOVx9jHlIjGX0RmMVLvCwuO47GwgtC1S6Ohl2FEUoCp5YFYJn3iJxeuOuM4awIRlKB/ROfPxCefItBmq63aS8gL/TNnmvc2WlmY5k6F9FLOeBOogqHrvFbTF/E0/qQLm8Ze61wrdkC37CNKTSiQVBnhMN/w27B8SU3IVyN/b5wuLiansPCuxwW1KMDm/yYpOCaOSMCe2wUco0sl+vWi1y1E/LAjKqlcTdJa+lPt/OR3fghr3mEXS8e93agUDECTRLXfFhrAws6c3g6VztAKZCXAEAMe82dPTWz49Hx4AUqDj2fl1h23tWQtduIl7m8ghsPQb5k0V5JSgEovR2Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8567.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vlqzN+TdgRe9dws++ZGSYi8XkPPjTPteneHg9vrc3CtdPC2P8TC2qkf5rZ5qe+PTdN0Nnv3vCEq03UZxdd89QMujZDoy0Ws1PCySEbD/myFSU3/p9vcAu1agcZqcvgyoumufW0PKR/Mac46TNP8gMbc1GM+PYU2pWKVOPmSFOy/5X0HXL94rb4Qanl2268nuBWmr4JSZkzoh0IOslS5XpjdITqq9wzcJk0DCUqLqVUaHiGfMYFRZnqj4TGONhODXvVTWCeL4N+HdtBVwXT1BM5WswaApM7Hjo733yXZCZg0QkoPrBbwHdenP2h8D84xaX9N5Km612fPST+vi2/OKkDN9BLFr6A39Xcu3tQBQYKOhyNvQ6m3qJQkzrK9ldsIzompviQBJd+vBXg0TxJNIaqL0XxDAffgxZsGF5JP57B63UV7gmKDvZha7zSEpm70xX3UmRWb3E9VsIFenJAQlJ+rXiCq8j/Hu8sYy3tE9PHCVJVPrW5ELNJ6iBz8somRVkB4wTSpTaZ5eQ4OEqRtwDPgYmAGanNvV1Q0IBrtoec7l/sTxeueoWffOX/L5VMKUDdh5QYDBarC3Ok68LqHaVRMEjPvSzFGCz8bqpH3Lhj01ooCmfrUMROv+3REm5F22NZOo6ReQRAtJszfUDsUPIsCXdg/OJKihLg9F1bGFRUVyOxmxzOKceptOuODOjsotZRzMF7JifhDy0hHbvd+b2bUwgwmT3Jl6pjrppznLeNsAjJGpU890gg7DtvcKu0JEAz6xYXgBBRxZs1I5JzDHOv9ELY+6jRL0WZnPfiul/xJuVfW9kqS63KPOu+TeGNt6LJdWN9tAw7V/ps3VLFZa8KQNMRUd7aedLQiZL9GvDS+A1o3LHVlEIc7ly9RsdUMikucJMf9BmP/sV1EubjQdNRAwXFyA3IRNxr2SfKQytsn4WxKv76ySRe6rSrjLivIN5H3kCI6B3EtOtfaPtu0mthgc15J0yA58kHM6SZMti+0O22Vq11EEecdMhG4zWEYKv4kABFGa8dgTpPeZbPAHhXWW+/JzSLQ+ZM4Q0zWQPgwmQdy2yD2tnU7WWInb85Tf5Ip32iWnbSs7NMp7VaMaYuWNfFy7EmYdz3ra9EDnYQUuq6yo4I+Wl+O57EhuPmjNeeqj6oYqShKx4stJ3iOWy/bb+utVBp+yVF+JdlEsi3u1Ymcx0QJVPLiXTqzcACnPoLZHq/fzApuyMdjUv16qS5ExAeyOJrJccK4BAm+b2kqL9F/NkdiWGT0+os3kDOh12PJ+1CHSyCH0nHuNUTyyE9zt/cgp4lkSXJQSazJQwhWuXOeTvCsV++Nk+T7Arcg7z/MCLxkNweT4WG4cGJJHdvJDAFTZOXLtgp9/hwRUhl2rr+NklCjzoacDIgg073nyXcHiQW1ZWC0Ug0oTGD0k0/JOIzAsizDsPaBUX3FQ6PAId7VDmYjM0KZBwPUl2ocgch2xf/JSaLKuwWomFRZ/5eBJVsdODi9V1ZSg6VMH4b1Wyizs80f+pbcpFh7QGvGs+k/AYwt/SFn+iW63Mji2lKWXo39aWjQh38rtsOG2yWmpE9xEzP9Y3mmXwC0CzKwq X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62d79abf-71ee-4b81-aabc-08dd773bd272 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8567.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2025 07:54:57.6900 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7todKG7Pwukawpy+O1pXzk8m6wyii/hlyw6+EKyB3tM+QM9fDOk3uso2OEz3EFQpWfcCu35UjRO2ZCypianh9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_005500_478222_B5C36DE0 X-CRM114-Status: GOOD ( 16.29 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Haibo Chen Expand the auto-tuning window width from 2 to 3 for standard tuning to account for sampling point shifts caused by temperature change. This change is based on hardware recommendation, providing 50% more margin for the auto-tuning logic to locate valid sampling points. Signed-off-by: Haibo Chen Signed-off-by: Luke Wang --- drivers/mmc/host/sdhci-esdhc-imx.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 8528aa6adf02..d91b65439544 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -108,6 +108,7 @@ #define ESDHC_TUNING_CTRL 0xcc #define ESDHC_STD_TUNING_EN (1 << 24) +#define ESDHC_TUNING_WINDOW_MASK GENMASK(22, 20) /* NOTE: the minimum valid tuning start tap for mx6sl is 1 */ #define ESDHC_TUNING_START_TAP_DEFAULT 0x1 #define ESDHC_TUNING_START_TAP_MASK 0x7f @@ -209,6 +210,8 @@ /* The IP does not have GPIO CD wake capabilities */ #define ESDHC_FLAG_SKIP_CD_WAKE BIT(18) +#define ESDHC_AUTO_TUNING_WINDOW 3 + enum wp_types { ESDHC_WP_NONE, /* no WP, neither controller nor gpio */ ESDHC_WP_CONTROLLER, /* mmc controller internal WP */ @@ -1560,6 +1563,16 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) << ESDHC_TUNING_STEP_SHIFT; } + /* + * Config the tuning window to the hardware suggested value 3. + * This tuning window is used for auto tuning logic. The default + * tuning window is 2, here change to 3 make the window a bit + * wider, give auto tuning enough space to handle the sample + * point shift cause by temperature change. + */ + tmp &= ~ESDHC_TUNING_WINDOW_MASK; + tmp |= FIELD_PREP(ESDHC_TUNING_WINDOW_MASK, ESDHC_AUTO_TUNING_WINDOW); + /* Disable the CMD CRC check for tuning, if not, need to * add some delay after every tuning command, because * hardware standard tuning logic will directly go to next From patchwork Wed Apr 9 07:55:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luke Wang X-Patchwork-Id: 14044282 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A7270C36002 for ; Wed, 9 Apr 2025 08:04:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=hC2Jf6/Ko9DZJiS3g24lc9ZEWl7IV9VGyorYPoiH4fc=; b=cDgqSX5rvM3asWkyntLOSieGio /fURp0r662VUWo3OvGKgmtqKGG/x8nKcd6ufWcrx+eEiXUjTwXzlkXvro7id6FE+/VqgZkYDTqlXT 32YBeyiLt7qvoq1nJf5VKgZhHG4jFrg6kZus6Vscdl/g6RZ2xxLfSRSTpSFYo4DshE06ugVyYDHbQ xMVzVJB2v0pPWQzro/I1wj4FAFZQ9vRaSeD1XK259SBMmQPq1rSd0Y1Ub1H/k55JteCAY+d1dwHyy Ittv2MMKMNCTwn2yKvxSWxNu2PyvG/yK9UmFZd3kfwLosVDZgMvp9zjY+j5epaJ096ksacWDx6WFl yGewlyGQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QPa-00000006VyU-3ijw; Wed, 09 Apr 2025 08:03:54 +0000 Received: from mail-dbaeur03on20602.outbound.protection.outlook.com ([2a01:111:f403:260d::602] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QH3-00000006Txc-0zXE for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 07:55:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kBoGFqi4VTkltgQAgFnBmJeM5jkHbWPF4QOqbZnxaBt0i3Q7Znw0+K8vtjnWLJyJIR4s/QjC18TT2S75uIjjo+SkMrgk6nirxs9HN8tCmVSccvhsfdrv6Pm+FuPOYh3q7dPj+BWXRHKi3DI2O5nJOADzuRbhijfXdLb699MzNMVulEknufnXuD5D1XnquuatGzKHTF93RUrTvI09hxET4OKK+s8AyUgtNuA8GYFmgE5vJi5Pz1pfHJsMM4o7Fhyobq4E/hz6nsTfO2EVkKKqC3UhfEF6a+Pp+qnvY+26mLaVhN5h3sxwp8Qw6VRlnSlUL9M18JOrun+VEyH4wS3rzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hC2Jf6/Ko9DZJiS3g24lc9ZEWl7IV9VGyorYPoiH4fc=; b=p4OabQdKD2C+gdLMYhhzP9eGk7qtgLq2V3jLaI+NFxFNtdO/bwpuojJKVymVO3LECbYQFKXRjAhSjLglK3f+SeTPE5TQQzo9O8t7q5YPK/TuCS9t578KW8lav2L2RNXb9/PSVbxR3f8/+BU+i0S7f8wMD796jk+maimTmCwmOAIzz83AnmojVZ15IJA/OSW5dnqswFtsUzmUbjrRtB5jjMZvoSlqflApRIvjEuGJ2EugT9gHKLzWHITwwEA3sEOqdEaiMXFPyM2GZSlRZ9IR2a101s67jGUbEZO6JXJA0yExSj4bhf9bdETD60GgzUfHB1x0/tB4J1vgml5Ahial4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hC2Jf6/Ko9DZJiS3g24lc9ZEWl7IV9VGyorYPoiH4fc=; b=U8c6Na/8y7jqwBlN9qlm70OLju0slwGFv1soEBcG9Ua0h42ktLKTALFWf7YJ9QrwIUoawlh6yUHxDH/QvJ6QIkIYEy7qLC8AiLhlvzGObLms5tyrUvQCbmz4WGNsQOc6GtMqZePKsLOYZz33MrBXtqkHgB0GiSX8WmgdQpiWrceZXVg7z4NIljvsg1GJ/ZJW2bSn/+RibvwB+QjxNMOX+748+vQqQaI5s6uysAFACPfyHsiVrfYRE8TIHUiV+3hvOEFuEnWS9v1WCz0Aha04fu1sAsBD+byHdHSeLM4XkfbJG7EELWjEYonWMcvwyzNh3EdSDg4QvSOiLjPxrJofSA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.31; Wed, 9 Apr 2025 07:55:01 +0000 Received: from DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a]) by DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a%5]) with mapi id 15.20.8606.033; Wed, 9 Apr 2025 07:55:01 +0000 From: ziniu.wang_1@nxp.com To: adrian.hunter@intel.com, ulf.hansson@linaro.org, haibo.chen@nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-mmc@vger.kernel.org, s32@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/6] mmc: sdhci-esdhc-imx: widen auto-tuning window for manual tuning Date: Wed, 9 Apr 2025 15:55:48 +0800 Message-Id: <20250409075550.3413032-5-ziniu.wang_1@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> References: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::11) To DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8567:EE_|AM9PR04MB8196:EE_ X-MS-Office365-Filtering-Correlation-Id: 928410b3-eacc-431e-43f4-08dd773bd4eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: P3Z66H3ce2FmzAjF3QDroH89vj+P1nGB9kWtJchARjPJHTZQCtHUCikm8fyo0g609diS/Eel30eQ03ZUVBqNatUS0EDAdD3kp4dKeIhMxn2IbiqlmbSW5sXpcWGKPvzkQuHN0c2s695TKJ1YmJAf/wWd7llAF1LtgAhjsL4ygWcFmJgf6BZpnMeClSXDPnAIZTt1HKfCawG0bjl0EFrFS+KPKtP/psBeTIq3Y3A/ihHB4sMffigf95nSqnlXinaE7DWzAaIPEzr5Km5NUC5hybF7RWrcgTltxWtz1Zhk1mfgusG4pe7iGOMLtZEaG3d+q/6udZcHBJzW4KFiSoLO+Zpmpu899v6pIi1TcfersQWv9N2RNxGBzz5WcOrIP32gf7lDwRz933xl7pBEB8MxY2IOPWoFn8lOGPpQR8kuAi91kxTncqikRsxAtA7c0bMLRw4LrxFGo9wPLc1/X9/RU0h0Xz8YTfTlohY/yh/TG2RPRBB+OVZtSiUtKdLZxzubqtTJ4Dg8hxw9AmTYCaS2JLP7vcaVcj4AiiT2KID5uFuAxUOTzJWlz7LcKk0ksvydI/YWc80TCnHGqKmkxvtBqqw5eCOdoz44I61ZYvXRPBbzLIpAvFxncjeV2nVMgvzPch71NHz52E98QGwTRvPdjcCtXY6Tb1X4RRh+MIJ9DWYgrEOjQYLteLixwtyFb/P0QNrsXF3VMygMg10mUbxG6HxMM8lRstPJlXgKPNsMIOrjI6H9msH/NISoAJUReg2wIlr40hFXu6sBrMWqWk9aMB2i3CzglfWe1Q8aJ4XYXHmC3EmNWWkShwpkghKiGH/J7PKWf5om8hRQv6CjbmIunbmYuA2OUStCwbxi+6CZ6hDq2I33w/5r4H4Anf0zRbpT/lSeQiPG5d2A7sKJsCw8aYV93s9NpgUkWUdWAPPIxlnGq+enEC9GzDHUF3Y7keKTBkz04O9Z/RGG2ap6veryoZ09x7GOOXTRhQVtjgK2bsmyahn4U2x39r35Alb3sqBt/rzFIMxUhaoFYTOU+2/H9oXZizy7UVprKMw/9wm5us3cRDo5GS63sIHI8xPXce68TxxO8N/a5puuHwOebo98B1UemmMfiQuPH7BgchR1DWzy0iUCr1eDSTI8TMsvaWi5fDHsstUoETpI9g5YMGhNRFHC5OpLr69n35taD8a5yfNVdfwK4C4fUb1Ird/Srd5H2T2OsoIAGgnhapG4TOsDB1Utgb4KGhybDQz71fELrkecoBf2BuBItvzP7QEDMzHdLYrm5+NFCSSN2vTaxL+Z9jFLkPq/Bmw5SCm9knxPW+3uzFAFqaU8+FAGu3pEIs7SZlcr/nYkwv6r6lSNEnBsvtT/mkW2TnoaAcFWwzzV+0CyhxWl0MF9iHHHGqotf4IbcxPh8UrgSXSU2N3blgp1UOWtR46+y2r7L9UCHbcoMAhZIOsulk54pLamGiuispBEu/r2uZltrQy6NCESan9VsQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8567.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5oPndS0BCRlP7xbzFDqXW4t4iSYfg8QxU5O1buCbCQn5WoGbQZFos4I8Wq/KWIGPiyO8AwopO0fCN40A46ZQINduxoqTGp6bIcYhkaOAGuvIZDac6ZC7TW3SJv0JoDPwCTkW/JI2iYMlloQCZ4BZQx6UPua3veoAUiIakU64iYnOSb7yvvTsr7iFA6yq0OEURkK61bfAewAutqnSH1mEAnoznOHfwBs0tV5OnOgZTmNm/0vwpd0XHxA14nb6zamSLjzQ2VToQTRVl8sYEpmveZL8LKDVx2e3oCATl+hRyIenuzDunbBQ/zzCSf2r+9mpCpvHf7Un1qTvjhpH1gTKmqt7iZnOpQ6UdWmCEpz8NP0qnNgsznBwkss5fuhMT6K2zyc7aPtDa8mgakiNQSwXk5iD6bzzveM457beZCfZalk0AnnC6vvLPgBU8LzuRAt0OLK0I9Ag+RRokp4BX8T5W9E9mYOMJBXZ/DI2k4gZxWbDm73PkVUXRTV8GA9F+Chk4tjgAQDFsf2qShByHmvcA0zTpJbWlDo5iRAOoxy9RvHtWsILRCkYnkW/UBYbXNoSHLKOwJoIvY9S7NzkGjwpnwz4waQgm/meIjwOJqoOU871pUFEkhGzkuB1QbX78qCU1br+peoKCOJrsw2KKHOpOWHW7LYJlgWHlb+1UAZkopPfkT+b57hiOWabRJmO1dHXN9oA7aHLobBiRmZ/mXAnLz5WpdhA9+TNMqP4C2k6uT30fg4dfr/hxgMWsc36Rq1DbhhkOTImGBf23NbgmjcV51IHo4a9mUq2uO2WWRoSw2XdCYD4oOjiHr9idqXd+8FV/9dQxKzGz6d1Ls8O8sBZsGELhoXJkm2/9vj8JinuP1u11ycpK5kPWXwfrOn7Vl7PYKfJtgjOjnxVVmexvAv3TZOimTTkqjgiiDBgqlAaDolcP5vbyTbrXa9EU8jAmqY+Mvk5cGTIgc1Hm7In6+VxBw7Moj4lbtMEainsiBQTbKguamDRlKEvXMm21WDiBdnklBG2jLSFFteKuA8FV1UhBIHJ4c+Ey1E8kP7Hmt9/4j6FJhHMud5zxjDlyXPfvYxzrsaBN+WJoMPef/dav/a/DNHyanAh3aayHMnMYKu+MLfjRaBvqLcx8ZmmZrDN1Y2G5+Q3L68NvWaT/ae9zcZr+T1ZWnbKK94sM2UYfp41RbQU8EXZj4yzWnZ56q7NZw8CNOjtNq5+W2nms/qGrkg73o44ODq1OQaWUMgnavEFsYn7+iSEm76qU+mfuyAxDSLOOm+lfmyY6wtsFAD6QplIN9/IEN3ceiTX38T2v82F4i7Q761I2af6GrMvC+DjDFuZoRHcWs8/Z89i30U8JEvJUBO+zsgK22iPLo4bUW7QwSoHh1HgzHMMaW+3wtrvZX13OZsnQriLjj5bNjcyWQ9UpmG0VVkOX00KPIduvZ403RzTz9xRQYBdE56D21i/cIGBnWCdHwGP3RdesqZtAiWdL9br77IAJCBTfv1grO6DHYnMdH3oamMrBq7xh1lAKRutVDyT3U6lZ9ijwy77zW1S5v+LCKnkWovKsB22VmeMOCYSvQ0N2mndPnsJoM6A19T2 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 928410b3-eacc-431e-43f4-08dd773bd4eb X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8567.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2025 07:55:01.7647 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WUVUuXIeMupgyZxs1llU32arbwNoJAi0jFYgP51zoPqN1UeXVeNdRpv4YSD2TiQQoc6o4uMeDvzOJWXu7tL+gQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_005505_278307_EABE8928 X-CRM114-Status: GOOD ( 18.11 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Haibo Chen Expand the auto-tuning window width from 0 to 3 for manual tuning to account for sampling point shifts caused by temperature change. This change is based on hardware recommendation, providing enough margin for the auto-tuning logic to locate valid sampling points. When config the manual tuning final sample delay, need deduct the auto tuning window width according to the IP logic. Signed-off-by: Haibo Chen Signed-off-by: Luke Wang --- drivers/mmc/host/sdhci-esdhc-imx.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index d91b65439544..46da155fe582 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -85,7 +85,8 @@ #define ESDHC_TUNE_CTRL_MAX ((1 << 7) - 1) #define ESDHC_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK GENMASK(30, 24) #define ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK GENMASK(14, 8) - +#define ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK GENMASK(7, 4) +#define ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK GENMASK(3, 0) /* strobe dll register */ #define ESDHC_STROBE_DLL_CTRL 0x70 #define ESDHC_STROBE_DLL_CTRL_ENABLE (1 << 0) @@ -243,6 +244,7 @@ struct esdhc_platform_data { unsigned int tuning_start_tap; /* The start delay cell point in tuning procedure */ unsigned int strobe_dll_delay_target; /* The delay cell for strobe pad (read clock) */ unsigned int saved_tuning_delay_cell; /* save the value of tuning delay cell */ + unsigned int saved_auto_tuning_window; /* save the auto tuning window width */ }; struct esdhc_soc_data { @@ -1206,6 +1208,7 @@ static int esdhc_executing_tuning(struct sdhci_host *host, u32 opcode) { int min, max, avg, ret; int win_length, target_min, target_max, target_win_length; + u32 clk_tune_ctrl_status; min = ESDHC_TUNE_CTRL_MIN; max = ESDHC_TUNE_CTRL_MIN; @@ -1245,6 +1248,23 @@ static int esdhc_executing_tuning(struct sdhci_host *host, u32 opcode) /* use average delay to get the best timing */ avg = (target_min + target_max) / 2; esdhc_prepare_tuning(host, avg); + + /* + * adjust the delay according to tuning window, make preparation + * for the auto-tuning logic. According to hardware suggest, need + * to config the auto tuning window width to 3, to make the auto + * tuning logic have enough space to handle the sample point shift + * caused by temperature change. + */ + clk_tune_ctrl_status = FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK, + avg - ESDHC_AUTO_TUNING_WINDOW) | + FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK, + ESDHC_AUTO_TUNING_WINDOW) | + FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK, + ESDHC_AUTO_TUNING_WINDOW); + + writel(clk_tune_ctrl_status, host->ioaddr + ESDHC_TUNE_CTRL_STATUS); + ret = mmc_send_tuning(host->mmc, opcode, NULL); esdhc_post_tuning(host); @@ -1659,7 +1679,11 @@ static void sdhc_esdhc_tuning_restore(struct sdhci_host *host) writel(reg, host->ioaddr + ESDHC_MIX_CTRL); writel(FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK, - imx_data->boarddata.saved_tuning_delay_cell), + imx_data->boarddata.saved_tuning_delay_cell) | + FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK, + ESDHC_AUTO_TUNING_WINDOW) | + FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK, + ESDHC_AUTO_TUNING_WINDOW), host->ioaddr + ESDHC_TUNE_CTRL_STATUS); } } From patchwork Wed Apr 9 07:55:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luke Wang X-Patchwork-Id: 14044289 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BF572C36002 for ; Wed, 9 Apr 2025 08:06:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Egcqn3YDcBoWLwMh59+444cmY20yYat5sZ8U4upwg4A=; b=ACRmuD+K+vWywqQhq7qp5MTI3N zQGNB35E/WUBopY7R5ttFv3tyDDUHlKVk+E+ZFeZGa38eE5C5Qv2ithhvy1FAKnjlEgRmHSM6T60q OlLCeN7Pp3rZXNHf7XTTheNVgDuWQq8WDJKPo+sfmYbQPjgjT6gAHPF6dAcK874cvaBwau7B7ZFab DAtCW0b97rwFqFp5yinZkwBf+j3e16+rlePq7Asug2DB8rS7ITj6Bj+LZaOjKfSWnTDff41K01vbt l5H07wLkRYVNKJrVCHO5pLUTez4P92m2auC4H8FFJNOaBekDffVkVhuSWnhkdhjTL/GrhpRZbnFBl Pg6axygw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QRL-00000006WE1-1QDD; Wed, 09 Apr 2025 08:05:43 +0000 Received: from mail-vi1eur03on20600.outbound.protection.outlook.com ([2a01:111:f403:260c::600] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QHB-00000006TzP-2JgX for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 07:55:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fNU5+R0TiD4cNIKwu665p39PKsWRAmoW2uQ0qXH1REhi6JYA3zi0tBEf+/rF6BIm8whhthfn8nUd+RvW+PqyoW1R4ST3YozfPTHegcFAp1FVfv3v2EJ628e6SwF+VJMaZRE7FmTabjhSfTyuPvMduxIWUQD7Ank2axsTCiiGK73EQE83TX4mJjF9LC8/8PMvrh+lM7jr/iHvkgG2SotLxPI/JLyCummhwbSwupf/2L+cbeoibxwgOkGMG1JdvchReFZ4Tnj4yCNxpqoCh+GJNo8HCufhWglQ6X0NQYGstQHhM3Lh6lz6HJzQmfirM97Qt4jVd0Ri2hST8LEkvwOz9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Egcqn3YDcBoWLwMh59+444cmY20yYat5sZ8U4upwg4A=; b=CzFBmViMRDk4MDO10xaCJ7N1pvLFkUO7+9k7HU4xQ0R0fWmUAPxBqkYJRmwcH4W8cxFJ0qeChVziZ8NbDkfaeJtqBzZMSQMKhseVCYRPnvvN9EZjQ16A4SUpPQc1hBOGoFHpn5pAolnUxbwOST4hJaIlWGRBZW6zXQ40UMjcXm0vsugqs5vt3moe18Y6VVpMJvDvG1c3Q0f9LMUiBSCsHpwZmoFrHPmVEFmiQRRS1a07HPAXC1A1C6BSY+wJth1GP95fMfMBHouc4Y+YsHxb4Sg1+WFTDBQ7t3GpjxFCQhN56V+RcBH3DZjVV9NhxO4ZQ5FLQqanD1HFem7FP0Cvnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Egcqn3YDcBoWLwMh59+444cmY20yYat5sZ8U4upwg4A=; b=gDegZdMugzbDC1ZjBc/PVSI91e+XHy/+EtV8Ai744KHPxqa6fd9/Z496ulo09jk8d6u2vb2ERbnYp5QLQVBc4hN7WhIxFQNmakVDO7MWL4RRb90SO5VxjMaNMsqVkRVM7Kr6YwMQF7VuzvCo8BThMTPpHrmkDM5DN+UFNlelH+f+4lu8GAeBoUCnpWFmGMVlOURfnosA41FZoshSmbysgRehhCs5ZJAFoRZRoU9DG4H5M/0as5UsELdyRBaylIv1QC7XI0Vu1mhp8tHubKcHrixykSe8azngNob+ZnQO8JQDdbixMBg48O+zFpm3pLB6pKI2riZvzf904+1DinVSEw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.31; Wed, 9 Apr 2025 07:55:05 +0000 Received: from DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a]) by DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a%5]) with mapi id 15.20.8606.033; Wed, 9 Apr 2025 07:55:05 +0000 From: ziniu.wang_1@nxp.com To: adrian.hunter@intel.com, ulf.hansson@linaro.org, haibo.chen@nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-mmc@vger.kernel.org, s32@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/6] mmc: sdhci-esdhc-imx: verify tuning control status after configuration Date: Wed, 9 Apr 2025 15:55:49 +0800 Message-Id: <20250409075550.3413032-6-ziniu.wang_1@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> References: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::11) To DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8567:EE_|AM9PR04MB8196:EE_ X-MS-Office365-Filtering-Correlation-Id: adafa683-638b-47a0-80ff-08dd773bd751 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: Cq3d7c6LHD6wNcd7WJYHUiWfhtzZv6WlRbfSBQvuE4ipe5VuRyCy13ArqbWorIX4944x4v/zbqCdEiG9OdWP2ZBfFUoI2MI8dNAO7BenVuzD34dHvMDTMdn29sdnxiBBQSmBOlkWApAp4jvMmXC8NDcgoPM4oiLVWgPGXrGvhkPwVcAiE40OQXuDFwyMXDulSLe0gk5ulGWL26JwV8wz5cDbDc2a2GnVRyDJuoao78tVLGyxfSGzBuT4yeP3UcHIev1OKlwKF2RwhPb6w0OmahsUo/FharryV7DnbfRJrUXuapwBnDaEEygcQMgDrC8iY88SsUvVsBtq1d7PHvZEk1gNZ7+278NVLLnA7L5Spa/D9oPPa5CAvoJ310MSHen67xZzQHHY6yTzlkiVYb95amnYArdAOfZ8UVFnh63A/9GJuvsqXWjlrKaLIpciasyCoq7DV7FvXTFj7XUErm52QGW2zMogpkWzpUNDoHFeNqSW0RzQs9o/jXhJ2QrNfEBJ7mV/UCyWmZAXtMtrpJjPS167UfMf8rWoXaKR53ZqcQDFdYaNRmIBdFPf/TFxJTWs64qly7x99HOfQahiIAyxgJyW11HDJhHv23+b7A6LH5LQHSl+AH5n5VhVG6hCX5IyyAbGZUtQv5Ncl5zPn4jASvL+OenIPfF2rkI+qaTaROtxUh0kDVIw5baV+rHYj5aYCme562LF91u7Y/8jbDkF8Hd2Qnz+HFsN4aQp+Fop+InGrbuWWYPesLSgf7u0lSKum/EAF1QL4fTqFhdjd91k6iWQ0s+Y8j42efCBofN5djygc9HmX6+XOlLKPEDxIixXQswgox1pz0wsYAfkLXIM22Grp1OeFEPtNrq3VBePlFfP88uk5J6CEpHdhcutRrIb+Ybx1fJAJ6LqNmVMocTvdrygg3vGteqH6FYHcuWgr+xvB1zMX+HnQm0DFZTPrgF7/MRODpOti/1PGpAf71+2mb67fGmQwF+wt1/y4KHJ7G+LOTx5FtGbWAssepy6ZGmghRfmoJDxYRunGmVoL2cUHh6dMSuSHFP5++mdpt1aCtXMIOU3/mZV9Xep2TjYx3/wAD6ZZDzFTpl2JOPKFsRzHll7uanPazcCjwTdwwsaUMSON/x/qlDFLjVjEja1awXD6VFEzVzJ31HbnYfh32wH5Fik75tKu0jrzVD1M7mHRA5zpmSwDxhOjyRM/t8ik18qf9sNJR2UK7kSxpMAFE4dq2EaTBrhKjJ1tx6xb4ES+jSj9I1lmuVEmAzbCkrGImxi5vrR5nqd7bZ5Pl91Dl9BUP4KxPGKQcZm5KCjGL7XsSmNMwD86Vy+BAuEzBRlIVF0d0lPPAniWE3SBwGikvrI//LmL7/48wZr1g10CZ9y/Pc5NO84tUUYFa7zhuEfzpxE8BTVfMnfsoX58GE+Og6diDuEEbJOKzSqdMm7fXmW/meisR3pkGNeuzfMqe/XBgOj9LKJPKBiBe9zFtCu8N/pfw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8567.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: S+BQV5g/lSz8kDs3kHfXk97DlJIYNqcGMTj1qN6sg77tXvJMmOllBBDWQKwaSy0nZ09RTU3hM1v3BlSUFMdnMEnbGMByJS1WZpgMtevGh4xsMA/oqSySzafkdKBioRAveOAGtan4uuQ5fsgQ2RpceXV1/6tNWgzh+VVEoGucAPIBzcc23jgK2FbOApANO17qkKeg3wnB8c3it/ZpMuXqk5UN1rR75wJzk0hTdeiomAsQHzovcFXbY+zaNvjCcbNVMImK3cj8D8+e1y34BWINba4A0iiNlCJXv0E8a9h4RTou2FUeQI/AnybmPsLUrWPFdmu00QdE7XgserLMI511JmoAVY6qScHbn/o+rcsKzuxLRT52VWe6u4Sf17e/1PWV+PG4DQ6oJDXYuHFwHOciTqnZoP4bwyV8jUhj0OT+6IWvuemkgQSqo3lbo6g3bponewRg8tkOHs7udWIErPtnAmGmSbREuWPYejA4EzE5ie/uk2JxnTmJLlp+VwnYnSEEoDdRDSWy7g5Z4tDLeC4c/ZFMaiSbc5RRoVf5gcP8H5jn6XAFl78xupx34lbHCQpKD5SExhVwM1UZ47gzH3YdfXdWgKHVL5eKe1z4MQrLPAV7xhMKSQAbMYdkD1zpvnje6Bw3tFWX6UY1kX8aTfVEHVNFx4W/3Zjs2kTe57id6a6GpeXQXeJ2OLjrIJbm+RR68g/lZQCWsvvx96r7RLIyC5U9swWCLB7ZN30sOugD/vs1nufUvZ5pPRBhj9iMcEwrBA946BtoUtSEjTadiu9Rs8AXWrkxHY4rDeUmLV/jQQysUc/QDmf2spSlRFvMaUZsxYB/izB8G2pA+uV/hImmhKD1l9dof0Mh3B1jJwaOmCcm1WcaCPlpQYxCbBsyufbL7oEPIgOoMVgRi3P+pVShFuEzbm25OQCMi8yJjLSSP/sq1RI1T5HTKkpdbA2MXsvDzOuPpb4mAVZpZy1LXUn00sImxPh0Mez4dpv790c3RCJDtORQlQYe030YawTtRlAwBerjuGDOcDLztKfihr6iTqvRMCYrRJMEhRXEe0sqrq03dsj8MTeLIl3HDv3GEOalRPuOWxzYLxfivzPKG4qmL0bj/5kTdm/bln+oSYRZ8ET/u43rxhxkmvPmwSPZf5DQnkrMILAIGkJAmoKy6adg0Z3n2F6T/kG266nGmEZS5/Pd5u6T6az6WmGic/W9TzziqdoITlqMIIRNGu0+Ga6FN9c/pVSXShczk5zvJxnh9vw+KaXdbOXu4cYsWNLrw59BAvSKZFeXc6LQ/YsAcm3BjB39iT8xKurD2Y5AoUhW2ZaDS1MgSc8AGW/3lGHIsAF7i1DkeZaJ8QJ45cwfyMEZkA9y42jzVBPH5Dc7QsDXvbNCnnQX4RWIDjC7rQ2zwI6yE92vjWNDmnBNeV2Eh4VM9XKf1Gj+DZ9DVP1CpRPJsfcpF53OwHFpLNmA6SdekJD7LYstmcWBG0LoVRb+IYA6CjRucyDh1zioaB5J9ItyPESmbDsd7d/KCPdeHV2Efl9IA28eqOfdR9pM4UYHymJ69zEI0Hav4dwH/SXDzrFx3klJaf/jKYjdgseAWkgSzEwf X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: adafa683-638b-47a0-80ff-08dd773bd751 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8567.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2025 07:55:05.7561 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cR3svbwyw6IJjz408GQIEvPZHKHiw+Kxz8GiPF7OL9Q6cN5MlUBQVapgDbrDBrEsz9lCAU0Ng/gwl8UNs5Ayvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_005513_609203_C0F92CE9 X-CRM114-Status: GOOD ( 12.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Luke Wang Enhance manual tuning configuration reliability by adding tuning control status checks per the i.MX Reference Manual recommendations. Signed-off-by: Luke Wang --- drivers/mmc/host/sdhci-esdhc-imx.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 46da155fe582..fd0ad0ad1519 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -83,6 +83,7 @@ #define ESDHC_TUNE_CTRL_STEP 1 #define ESDHC_TUNE_CTRL_MIN 0 #define ESDHC_TUNE_CTRL_MAX ((1 << 7) - 1) +#define ESDHC_TUNE_CTRL_STATUS_TAP_SEL_MASK GENMASK(30, 16) #define ESDHC_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK GENMASK(30, 24) #define ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK GENMASK(14, 8) #define ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK GENMASK(7, 4) @@ -1208,7 +1209,7 @@ static int esdhc_executing_tuning(struct sdhci_host *host, u32 opcode) { int min, max, avg, ret; int win_length, target_min, target_max, target_win_length; - u32 clk_tune_ctrl_status; + u32 clk_tune_ctrl_status, temp; min = ESDHC_TUNE_CTRL_MIN; max = ESDHC_TUNE_CTRL_MIN; @@ -1264,6 +1265,13 @@ static int esdhc_executing_tuning(struct sdhci_host *host, u32 opcode) ESDHC_AUTO_TUNING_WINDOW); writel(clk_tune_ctrl_status, host->ioaddr + ESDHC_TUNE_CTRL_STATUS); + ret = readl_poll_timeout(host->ioaddr + ESDHC_TUNE_CTRL_STATUS, temp, + clk_tune_ctrl_status == + FIELD_GET(ESDHC_TUNE_CTRL_STATUS_TAP_SEL_MASK, temp), + 1, 10); + if (ret == -ETIMEDOUT) + dev_warn(mmc_dev(host->mmc), + "clock tuning control status not set in 10us\n"); ret = mmc_send_tuning(host->mmc, opcode, NULL); esdhc_post_tuning(host); From patchwork Wed Apr 9 07:55:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luke Wang X-Patchwork-Id: 14044290 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 710CDC369A1 for ; Wed, 9 Apr 2025 08:07:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=VtTbZdax7gKgfxsZ0IXnSYW7YdGHtlHjCqcFH94yt4s=; b=bULQAxhE/rcIOkCVXAdAZkw1em OOI5QNDHCOKBsUFm6UVDV9+LU/upOc+DOn1stZo4FX01dnwET6qnq5HK+sT7ClRLaQIVvM2L+ie24 ES1wFMhKXXGkGIyvG+Yd+ktLuRI3N0z4Zr/Jdd0djWjuEsdp59VcdhXSxKccMTIWOHia/a9dIffSL OaCCUy8pAZftQ1SITJZWySEBJ5iZ9WQP7RLQKPGYEwMengr/F8w/w4hxJRZfAoiUKhVYnJo3N1ciW 7N0C5UECPeuiOznguakaOdIVlrRmvb5GwSCk8/17SQbbDoFX5J8lHaIHtobQYps5RfaeNAR/549sU tKoqv9kA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QT5-00000006WUS-2yhs; Wed, 09 Apr 2025 08:07:31 +0000 Received: from mail-vi1eur03on20600.outbound.protection.outlook.com ([2a01:111:f403:260c::600] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2QHD-00000006TzP-1XLg for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 07:55:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GS/rsxqdMyCKrARbb7fit2zRUeKCCVPugUS4nuHubji3HWOLYWHvB1wHFnHh034IG16z9yaWJgxkVYK+S1PUKEA8Sbdv0pdWoeD7yI64A+9dkGeuVjWxTawdeejMjZsQ/XkJhZNuW6b5MNR9u2WWjEn+5rfmcv+UZjyyaXJNAOUr+2K/9rgJxnQ4e5U4mfbhTbDBaTyEBDuTa1q7hbDe53iT1JVoDkLjgrONs1OuJ/9jCp8QEAzgcSH9J1tEZwruJI25nIFX55lps2cstCHYgQlWkhRt+LT8ML28OA/SEJE9weRTlziL5nDA0J+R2ZMU5F/+w08PLQwxj3epnx3ymQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VtTbZdax7gKgfxsZ0IXnSYW7YdGHtlHjCqcFH94yt4s=; b=cncvOHLyNqYbNEAvegx+FgkDpf3QeH+GFS7aDgaXXuf/Psl1nDu4AEuzHDDc0dQP/JqK9Kzv2Cav2WwENvPhLcGME84rWmI75b1IQA13fsiPWxBFcctUyIkL3Gc/XXHH4fNaPXNfWqyK5fATRjUpnZZYeugeDQRLBOZzAOXfkkM/SxYW/Prn6cknbAsJ/RBvV2YU6QrBZ0zpifH7Rrtcgq16UpNN/yO/xx2PXLRLsN3dDeWboXFVw2MknPAEv5s8rPecyxyPj5sMUQA8LV7MBchuGqA+Aa+DSCfjX6b/TjVsweJq/rvM0mjY9/ChPbbxh2zmTIhejAKM03w+TBE2Hg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VtTbZdax7gKgfxsZ0IXnSYW7YdGHtlHjCqcFH94yt4s=; b=jXWhqqZNLJsq1EiwrLSW6hBoW5QIxxpgSOq0nxdIpUuofJS9MzY4XczL7PNun2TnpBSTK3oH1MIGNnGIl9V+8/v4h5IubkSnCBvBBqlvPnqomFdLPfHck9m6KvAlTtmFFKL+Yf0Sv8SZdAmvE6GJ4cqtXpIaalI6ZK/MwEsXywWspoFXMsKge1ETwvUJgUKl6s8UB1UsVRHCn0yovMID4DChWmTUO4tNyB0MEyhbXFS9hTeR8PJsa2LaAjXGOKiPaBPClLl+/fuzrCA6Z5hxjwqxcBmpy0PJSYsDxgVJhEUGePojQAmOpXIUNnPe9qOubOcq7XdZecF1vxjzoFE3FQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.31; Wed, 9 Apr 2025 07:55:10 +0000 Received: from DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a]) by DU2PR04MB8567.eurprd04.prod.outlook.com ([fe80::4db:3dc0:c292:493a%5]) with mapi id 15.20.8606.033; Wed, 9 Apr 2025 07:55:09 +0000 From: ziniu.wang_1@nxp.com To: adrian.hunter@intel.com, ulf.hansson@linaro.org, haibo.chen@nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-mmc@vger.kernel.org, s32@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/6] mmc: sdhci-esdhc-imx: switch standard tuning to manual tuning Date: Wed, 9 Apr 2025 15:55:50 +0800 Message-Id: <20250409075550.3413032-7-ziniu.wang_1@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> References: <20250409075550.3413032-1-ziniu.wang_1@nxp.com> X-ClientProxiedBy: SI1PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:1f4::11) To DU2PR04MB8567.eurprd04.prod.outlook.com (2603:10a6:10:2d6::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8567:EE_|AM9PR04MB8196:EE_ X-MS-Office365-Filtering-Correlation-Id: 30df3b85-0d72-4a3b-32c5-08dd773bd9b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: Qx/5e8akIL8xwIM9Gi1oaz8zawSZCYAQLpvT0vyZQE4HEFOBJgoMhhgH+XOfJfakfrTQKIFQ4Q9nmZAXILuBWZATlqlPKWnvUNm8UchvkPIR5kY8Z0Fg82ehJEKK9RPxajzq1i+e61fqaQIzKxGm5+NkUWspdVMAjSDXr/4O+3M0aJWOZh3AjqfzCoVlBpvrp1ilKQijQkmDGNyZhE3p+aUlX8Tly1on9sD71oDIxBBFAZJ7FjFnSpleUa0O65TDOawM52JVo68RbDLMDaA7I3tbnwmoihpIFuJkhxVswkHrl57AbEkVuP2CHPScvaX8JHmEgs8pjfZbfvlTGvxJk2H8/tAMHXP8BGTnU7cdYrnMHb3xTr09NIYevge+KxVS/82c8Vdb/15OMjKpGiV0OsOm/N5cFSlH/zu2W70G2QnvJGvQU5eRTGfaI2Xum5BVVsQWSqf1lsJZy7TP2L8aE3B5RRhg2VwHJW/Ab3UOZLipMdzaQFjsrunVAuwXWnm2Hw8bdg9iP9ZXGGeKW+rDiV6yTdUuvPRj4a52eeq9Gd8wHJ75soDCQoyY4Id5aqNYC65j4nfdwkMzF4LoQITFuN67UuN6JsslcOEnkwksY07lElc1Ors4h9enF4e/faC7bc578SQD6U8R2NBDHt3WU3M/lbGgAcJILIhQYYkUEx8PENWd2dOwlLwokzZ1No50eUP/Aqs6lnxN1BNf7NY2ltJnP8t3BfuBap9UosvzV/4aEB/ZHy+JGTxyYADtI8AQ8MnywKd7/nX/GnTNw9s4QG/LOYdTmh01Xz0/v3OvJPrtZ1KEjPRK/z0Vk1sryudLUQkb/spEssNInXQWXpk5bme6vILwPJkofDc9jq/Fsd5aDfDs8qPJyWl5n8b9EwOMgQYF26sczSmjBfXLEg6qKDEA5xNg3Vj0dtgagyFcN74ANFUJ/LvhTw2zU8L9zHS9yYmQl4SwAgJaoqhUhhUvteSua1wZ3UUk8v5hSifjRhV7H3X7ZF5P5KSC/5pkDK21rzGqEluUN7rIm7YTwsjAzNrxVUCPwXFmtD10Yymlas9NRowO2GWP8G9AG1/OrqyDIGkEtq2nv9U+pLOTT17h0tlre0WRp8hlqZxjfLolGdlnJEhjm0KPkG2n5g+g4B38kw+YFBiPUr74R1VmGRJ2gT1oJ0DywO67XGdgfB7uaF8Q4zcamhKWwQw6xb490uFwwKhkX6ZlXUa/GHR6C0tOfZsPy8o5hPRZuEDn3dITj1fSipnN/zfwF7Uyp4aln/3A+CZjTgVyTkp301BYT8l80vqtn+HeA6SXKjC33nB1fQVJs7g8+G7lPe+dznnGrEuGgBRG8BgZytOk7TnQvZPRM0gwVt5AJZPLDTCXNZt6eslHwF5qNBn6sf6N1MDgQHgb3RrDOlctdE+hYpxepm8DUbHbVKbCHCuJ4vMH1WNMlUTa0SABUTUJiW76S7UwkMQr+NjGK6ytJIH3TeXDkWDWgA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8567.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NgVhQhojrTaReJQ23WFFcd3Us8M6BT+ozOuoIWKPV1LVNIiqXTqnI7FjAGeW19CkSG5jZaIpsVWlb5b2NGd2d8pNheLumOOfcGMTbLC7nrdc8KAxXGo+fwJDkLJK5UP5gDRD2EcqUPl38yselQAcLtZ3/MLquziov3SH6WhfqcgI3LRsO8V+1CDtK5Twy7SA2QmGTIjg/dCbT2z56YJBA1lpUnlEdJ39FB2ejjeneyfd8hrZxXjlNSEJaGFPa/ejZ+DKuBJ2HawLxSRZt5pjuc/vbGc4yV68nzlLqanIF5Zt0mwpj7k/MTZS5pyIMlrvwjnVGGrKnNmQEW9CKP5bInsIYQbyd93Wlyix8Yh4kCfxRr3GEj37/fLwsTktQJyEXijSGaio0RDQbvfYFB2vYTJYuWbC8tzBjqDTtKUC49vhc6PTkPRb1Kmaan9Cv4Kc5mQBGt98MFjYw945AGlPgEhkwgtQ6zip0acOYnRyT5dt/BLTtqaHBykarsAitkTLrc81es5doYWUSOud2lrUCmI5AAAC7HT0nl2DfdxWpgBBePYlHvbUfxm/Nb43N9MrWAwDzGJUiVi/19j1/EUefpuHXf4QuYnbD/unh0DsA3n22vAWs8Hh4SUnIhQ/SiGMJhQyslGK4CTaAH8MSyPlgGsULBUuEYrkC/td23qUOeAEClesc7WpuwaoKwApTaYbHP7f+DfF/LsHMMp27apUx92JX0ZGmcOnucRPMxbNclorP6x6zAo4H3tFMTz3VCeEIppOFTo4+T29FvfNixTq+knHA6BytYjELz1T4vsG5jsepZ63W1Ykvjlv/OH69ln0ukFwsppikDKlbVKdIyczA231TXuvorwDxdNltyOh1IdA8H8ieIjs4JN/8gC+c157++rOYT8L43fDHVfeTpp58mSRZFLyTiKY6Cuh2N06SsNc8yIsW+9bc8z7Ea0aYfsRub+9IpQZdkq65xhO2nwrFKgLtaN2QNvwlZWOh84rTHfG9RMjGYPkQr5AsyVk3TnkASu2X9rWa0lbsAMVM9x2WMLt8ko+Z3NyKn5LxHLVx8L3EWON4oJMvmCRNHz0lnZEKFNJOS3W81PKWvUReSruIsGqRh+KVgsj9uKSWUer24CmDvrfNmXdxvmrMTqiqBmm9UAB8+QRQ79jre3Y7rYav/ek6exAogShJipx/rPQHVlrkm0WP4vlODBKdEbMTWx4bePZYqINv2mMDK8buBZn8ayzqoGsN2KfuYJskH54WzPE2n1KGG3pkRegmbQGxk4QzkKVdfldCBj3EJUNVO8Gb+R4VPzPHEsSVfnTS8x4PvSeNGX1Z+TiWvR3l22LA8euUhYJ3v1+4xwbNM0AhCOFbWr6kbc1xAiC+NmbYshEttUIe6YfGXiiLKMRr6fGJdjHDhUNKq5SAD6yOHdQPC9/YT2ncMxiX5jFoJHH4wDyph8hkk1kpw9RHI6Tii9haOgTkmnIB0vWr4dl3BA7dEagVQgBVdpjOAb6aQFdQJ5C6nrL6PbXCexzZFjAJW4Ui8Ob0LWh27LA5GUzcAuUyTk1A5rQ3HznlIHb339qkaG2l8BO+xUAD+1yJpZw4G1VBepw X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30df3b85-0d72-4a3b-32c5-08dd773bd9b1 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8567.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2025 07:55:09.7374 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wqT/92Bxrghx0S1cHp6Zws+qW5516IxUIMmwPkW+6wR8LFu8K8lK7DbzHNJogUJpBB0+dWJ5EXQVXori8AHT2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_005516_850499_8A193264 X-CRM114-Status: GOOD ( 16.42 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Luke Wang Current standard tuning has some limitations: 1. Standard tuning only try 40 times to find first pass window, but this pass window maybe not the best pass window. 2. Sometimes there are two tuning pass windows and the gap between those two windows may only have one cell. If tuning step > 1, the gap may just be skipped and host assumes those two windows as a continuous windows. This will cause a bad delay cell near the gap to be selected. 3. Standard tuning logic need to detect at least one success and failure to pass the tuning. If all cells in the tuning window pass, the hardware will not set the SDHCI_CTRL_TUNED_CLK bit, causing tuning failed. 4. Standard tuning logic only check the CRC, do not really compare the data pattern. If data pins are connected incorrectly, standard will not detect this kind of issue. Switch to manual tuning to avoid those limitations Signed-off-by: Luke Wang --- drivers/mmc/host/sdhci-esdhc-imx.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index fd0ad0ad1519..9b66e07ed8e7 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -275,35 +275,35 @@ static const struct esdhc_soc_data usdhc_imx6q_data = { }; static const struct esdhc_soc_data usdhc_imx6sl_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_ERR004536 | ESDHC_FLAG_HS200 | ESDHC_FLAG_BROKEN_AUTO_CMD23, }; static const struct esdhc_soc_data usdhc_imx6sll_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_HS400 | ESDHC_FLAG_STATE_LOST_IN_LPMODE, }; static const struct esdhc_soc_data usdhc_imx6sx_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_STATE_LOST_IN_LPMODE | ESDHC_FLAG_BROKEN_AUTO_CMD23, }; static const struct esdhc_soc_data usdhc_imx6ull_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_ERR010450 | ESDHC_FLAG_STATE_LOST_IN_LPMODE, }; static const struct esdhc_soc_data usdhc_imx7d_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_HS400 | ESDHC_FLAG_STATE_LOST_IN_LPMODE @@ -319,7 +319,7 @@ static struct esdhc_soc_data usdhc_s32g2_data = { }; static struct esdhc_soc_data usdhc_imx7ulp_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_PMQOS | ESDHC_FLAG_HS400 | ESDHC_FLAG_STATE_LOST_IN_LPMODE, @@ -332,7 +332,7 @@ static struct esdhc_soc_data usdhc_imxrt1050_data = { }; static struct esdhc_soc_data usdhc_imx8qxp_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_HS400 | ESDHC_FLAG_HS400_ES | ESDHC_FLAG_STATE_LOST_IN_LPMODE @@ -341,7 +341,7 @@ static struct esdhc_soc_data usdhc_imx8qxp_data = { }; static struct esdhc_soc_data usdhc_imx8mm_data = { - .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 | ESDHC_FLAG_HS400 | ESDHC_FLAG_HS400_ES | ESDHC_FLAG_STATE_LOST_IN_LPMODE,