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: 879972 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2076.outbound.protection.outlook.com [40.107.104.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6106F25A358; Wed, 9 Apr 2025 07:54:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.104.76 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185294; cv=fail; b=Wp2va7M00Tf7Kv9/LQ+u2exDvV+rTkRG6Q9st95/DakK1/kohGKP6erWQ4AeaiqUkaYObk+rsRugZdcRov9OCZSOvjwqiFEsmQuekw7LCOMXWONrYuTyTSwer4IkDKm06Q40xDIWWt5qmZlvhAQZmcAgqD3bW78+eNlFNMxzLN0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185294; c=relaxed/simple; bh=Rnj8umttkvraD3/lMYBNuYOrTaJdecaQspzACvcceS4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=qGO8UX+bUeUFJU6gGlVp/ahBZN+k9q1USdT/RRI31EJGybDv+dqVv/YlnmlYpBGeO4n4yJI2ajsUKJFPmS5SonIkE0foJL2L2tC9FTf5Ih1gsvJv/VEalXzTWv/8jh8srXDtdfXcRIaMDjQqtEtvqJsrqnlyizNnGXbNrrzGMoQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=Pjn1rMjV; arc=fail smtp.client-ip=40.107.104.76 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="Pjn1rMjV" 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) Precedence: bulk X-Mailing-List: linux-mmc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 879614 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2065.outbound.protection.outlook.com [40.107.21.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 542BD25A652; Wed, 9 Apr 2025 07:54:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185298; cv=fail; b=aiB4+BTtQO9cp251CS+BIvC6NBuwXgzO4e9sgSJ7AdCnwYMp2d8JtlHbP2G5GwMylueQGvs9ejPDXaAWq/HXzQAUosfkv131TTYZN2K/ehWCrPoAWqGJnQy8Yd67Yb0eRQkMF2M35JScT7TKCVTINzxHXSf/z7r4xnwBaKEZA24= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185298; c=relaxed/simple; bh=UwLfrmWoiSOAOP6sEDEiRuZLaBpHCSWHVOQmOGz0yho=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=fbQhuSufjesi1BX83KcHk3gy2zHWSRaBiV8JQKsZR6n5ItB0VP1NuohXIY56SD+EHtP14KsCCC5+7XhY/LTZrdK3CZK7aOXgLa+J4x/Op8djcBMTSqD1cwcDBwbj/1I9giqX3Kb1ZODufHIec/gsh7obCsqKLxPrjy1IXIcwMG4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=F4gdkJPR; arc=fail smtp.client-ip=40.107.21.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="F4gdkJPR" 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) Precedence: bulk X-Mailing-List: linux-mmc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 879971 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2073.outbound.protection.outlook.com [40.107.20.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23F4A25B66E; Wed, 9 Apr 2025 07:54:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.73 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185302; cv=fail; b=Cq7B8xtA8wzOi6rAwZFkRcC3wqnk+oO0B7Dv1blTCRXt23vo9xU2blfUMVIy/xr2xlT5o2wUvyRGaOoHxNMwIL5YYVYmZ+5D7cOKxk29KC3z5bKJpW76PWGhs4Y+AfBjGAix2Q7tMHorgskpp62W2Njy/eIPZ3fp3tD+tDZAYaY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185302; c=relaxed/simple; bh=AzI8sP89lOJyn29k9Cfl9kOJrRIGwzxy1UPsMh2XUNs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=F1UIPA5MqVx6I0iK22A0+TPCq2XNpG2F8lF7e5A+C/T7ThKAY6x8LlAghboeflPRv7MrMklHCM4yI85UEx5RvNu5JDcZEPJ36XHnc4ftnIF1ZR9he2wEzgf0IM13XTs+XMlM/tuFizEF88PqxcxIP1WVbm6yzC+Sn/KwGWl2guA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=BspbQV2v; arc=fail smtp.client-ip=40.107.20.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="BspbQV2v" 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) Precedence: bulk X-Mailing-List: linux-mmc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 879613 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2058.outbound.protection.outlook.com [40.107.103.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7E4B25A627; Wed, 9 Apr 2025 07:55:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.103.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185306; cv=fail; b=ZNTou1O+Ch4QgcoCl3gWnilwc9i8AgrtY40sK7utQhyJCYOFXeORSIoOMnLi7o6biRP+64DhiZVESlYc0xYLdgAzTkaOKTuOVKEInCWHz8eND+RHBKwG8Brnnz7Tt2pc+oxoS9JDE89puQG6xk3HS1ip6BWZFK0k2LPTtEqRUYw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185306; c=relaxed/simple; bh=/SMEICLu2VT05IR8wlHZC+nXxZEHTIUufQhi6GNqGYo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=uo8HSajCOerzV3a/rfS411a4hJvpl0VOl+ns4tdcZRy6PEMRjzvXIOoCLGbG8jWz8tBIbNrXzjyIVOmontsNiuiwqcerO3WHTSp9QMtvpMQo+WYWvXAHk92My5JQMvrHtFpYz2V5r4qKo/kTwQCfEXMiQe71F+0NB0xWVZvJp64= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=U8c6Na/8; arc=fail smtp.client-ip=40.107.103.58 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="U8c6Na/8" 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) Precedence: bulk X-Mailing-List: linux-mmc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 879970 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2066.outbound.protection.outlook.com [40.107.104.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E42F25A63D; Wed, 9 Apr 2025 07:55:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.104.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185311; cv=fail; b=QkEzooIFqa1lJahyWpo251tvFKl1OpLRIlc/akFzljn/sbFfIaPXMUm3fHUTu+/9Z1w5rWJg1V+ATr73a/CF3hiVrWIp5BB7yMRu2NpWUv0jdbIrSsL95z01tardp9u5ff0rjbZ+mfvWqXnfaiUIMlt9xG7I4nhKa6vWpxjCvJY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185311; c=relaxed/simple; bh=cAfd8JBNzmKld7OUER2yu5Mxji7k/E+tLK2kyL4e5Y0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=J97sp+w1cLBTURj28pcBaCUM63WN9vH2aFFFAGHlwCrQ+Do5jBSOfm5kpCeZUOthHE/YafnxCbixtQt/+H7yCTnYXDcrXqZf6l0Hl/hpGOb9OAfsms2r9cC7JyHjRLwNlz7PupE3qbfgMeMoiUu+947xRIDxUWqQJnA+fF8HvoY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=gDegZdMu; arc=fail smtp.client-ip=40.107.104.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="gDegZdMu" 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) Precedence: bulk X-Mailing-List: linux-mmc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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: 879612 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2066.outbound.protection.outlook.com [40.107.104.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF1B325C6F6; Wed, 9 Apr 2025 07:55:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.104.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185314; cv=fail; b=eiLCKJDy7Zo48FtjIond30HLXDpSuFBzFNRhXkXOawQGc/745M446oO1y51LhpmToWZLV0mSDGbyWwgKgt6xQ04EcGVbO+0Cfc+qesdrLH2A3VuMm6rpFYUwZATB18Mj7XU5TVYXSbRAUFoxdwFs8Wow4Rb4z2RGSFZvv2BllIA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744185314; c=relaxed/simple; bh=QZGnkPuf6SvZ2KfGAGFfbIz+fT3Ju4EZouR+LkcBpQc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=nV02F4Gst9M5phAt3RM8obQoYrCo3m3yLltyZrU8aod4WlEouyAssvwRPYRwhcLl+SDHKVPAKSM4Tcvzs1dbtHMxWFPWu58UQDNOMSiyZ0EUprzQSlI4UechOtpDsWxKd3zugFuWactf5KYI3Eyi48ZEyhZyTJElcbhCzzFbCCE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=jXWhqqZN; arc=fail smtp.client-ip=40.107.104.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="jXWhqqZN" 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) Precedence: bulk X-Mailing-List: linux-mmc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 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,