From patchwork Wed Jul 24 12:59:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Stein X-Patchwork-Id: 13740949 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 8E1BCC3DA63 for ; Wed, 24 Jul 2024 13:05:14 +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:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=VoRAr118RELuLU4PNp2N2Pwvgnpo2+h/bxpuDi77974=; b=g+XzdPg6mDpzPHyu8fkRpFPMUH SwYADA9AZaT5RyMFe6613ldY4dkTfzyXRWvW09vKo1yTtdAGfLE438LFn4iGS9/wuqjlGZiQ6m4zZ rw1BNA5sMX7A2qsFA4Zi76dMZfdGOEwJaM9Zg2xMwEnpew9b6DsxvN0ybCSiDrgm95GSJUfnlT/PB STuffZeKEyYrgUNGB2Uf/Qd6NeKa7P0co7kUlqVp+1NiXicidkXPz1v6naTBmL4u9vtC8IG7H0r88 T3spxO2fYT6yWhLTiAFLz9jaSlUjQwznfZtlKk3r9nTjbEMKSYXTpHS4f618U2ss3+ZmW2hMOO6YR MNJIejXg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sWbfv-0000000FOe3-1zGJ; Wed, 24 Jul 2024 13:04:59 +0000 Received: from mx1.tq-group.com ([93.104.207.81]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sWbaj-0000000FMaL-3YKU for linux-arm-kernel@lists.infradead.org; Wed, 24 Jul 2024 12:59:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1721825977; x=1753361977; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VoRAr118RELuLU4PNp2N2Pwvgnpo2+h/bxpuDi77974=; b=ftjkru99Lc5VmMy7Pzy1zdr4ziXSDzJfI2QMKpchGlCIz59GK33HzXg7 +UzmKeOvHW+Hs9gjdHGVFF/6BuZk4TIargcdqBdeGrl1XB5Kq728e9bQS YWQQLR7nuP+Q5bzS7ltfb3GP01596s7qGbM5e0nyq85+T9N/YzNiBpQzW wQO+oJrhPfilgNN5ST8Mt7iWr2aT0a7mpXTBq+1MmGooYbTqaTS8WCwie KCGqu2YrBHZdb/9vbUlrJTK2G8iq95XITvU5R0xXZbn7aTnfJ+vCNypoP pKh7YPy1IcjGMW4bGnkNCSLAXT4XgOyYkg0uKsieIbsPQ+2zt0LEvlzXh g==; X-CSE-ConnectionGUID: ZC39gJLQRJiRB450Ypyp3Q== X-CSE-MsgGUID: cqkZCC8QS8KM18wsbEqiCw== X-IronPort-AV: E=Sophos;i="6.09,232,1716242400"; d="scan'208";a="38058836" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 24 Jul 2024 14:59:35 +0200 X-CheckPoint: {66A0FAB7-1D-E8EE7C4B-C1098986} X-MAIL-CPID: 4CAE6E05A5E9BB3A4A3FF4AF72142B5A_5 X-Control-Analysis: str=0001.0A782F26.66A0FAB8.006C,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 59B1F1634BB; Wed, 24 Jul 2024 14:59:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1721825975; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=VoRAr118RELuLU4PNp2N2Pwvgnpo2+h/bxpuDi77974=; b=BPnXI/xB0ti2L7NtMgVrwVCwhv+MoJsqSBW/m2FtOGRQbO0Lw3oGc5TDMZa5tteyJJmshx TLIJB+jc9Ts58ZHeudqPyzitxLgr+uvJcSRxGDHX80LQIwflw/MNZUH6HktL817CdvRkMk ZVXlbXFpyUPIu/TqPpNvOWiPb6hiayYActAVELyO9PQ2O8Oe6QkeOyC9vwRrMDoF5widsA JtDWzEMC/6IlUI3Y2SUEk0w8aM4TPe71eKwpC+isN1iP7+g36mq/Ev/gdtvTGtoOWZvcb2 TFSJcfnbRwb0H7SGZPpDwG23KdpzbYDM9kNPOY73oYQEklegfmTTDzomIkSAEg== From: Alexander Stein To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Alexander Stein Cc: Markus Niebel , linux@ew.tq-group.com, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 14/14] arm64: dts: freescale: imx93-tqma9352: set SION for cmd and data pad of USDHC Date: Wed, 24 Jul 2024 14:59:01 +0200 Message-Id: <20240724125901.1391698-15-alexander.stein@ew.tq-group.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240724125901.1391698-1-alexander.stein@ew.tq-group.com> References: <20240724125901.1391698-1-alexander.stein@ew.tq-group.com> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240724_055938_433569_80D2BBA9 X-CRM114-Status: GOOD ( 12.81 ) 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: Markus Niebel imx93 pad integrate has one issue, refer to ERR052021: ERR052021 uSDHC: Sometimes uSDHC does not work under VDD_SOC low drive mode and nominal mode Description: uSDHC PADs have one integration issue. When CMD/DATA lines direction change from output to input, uSDHC controller begin sampling, the integration issue will make input enable signal from uSDHC propagated to the PAD with a long delay, thus the new input value on the pad comes to uSDHC lately. The uSDHC sampled the old input value and the sampling result is wrong. Workaround: Set uSDHC CMD/DATA PADs iomux register SION bit to 1, then PADs will propagate input to uSDHC with no delay, so correct value is sampled. This issue will wrongly trigger the start bit when sample the USDHC command response, cause the USDHC trigger command CRC/index/endbit error, which will finally impact the tuning pass window, espically will impact the standard tuning logic, and can't find a correct delay cell to get the best timing. This follows changes made for i.MX93 EVK with commit bb89601282fc ("arm64: dts: imx93-11x11-evk: set SION for cmd and data pad of USDHC") Signed-off-by: Markus Niebel Signed-off-by: Alexander Stein --- .../freescale/imx93-tqma9352-mba93xxca.dts | 22 ++++++++++--------- .../freescale/imx93-tqma9352-mba93xxla.dts | 22 ++++++++++--------- .../boot/dts/freescale/imx93-tqma9352.dtsi | 19 ++++++++-------- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dts b/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dts index 9a21fbf986fe..d7c067450503 100644 --- a/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dts +++ b/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dts @@ -870,32 +870,34 @@ MX93_PAD_SD2_CD_B__GPIO3_IO00 0x1000 >; }; + /* enable SION for data and cmd pad due to ERR052021 */ pinctrl_usdhc2_hs: usdhc2hsgrp { fsl,pins = < /* PD | FSEL_3 | DSE X5 */ MX93_PAD_SD2_CLK__USDHC2_CLK 0x05be /* HYS | PU | FSEL_3 | DSE X4 */ - MX93_PAD_SD2_CMD__USDHC2_CMD 0x139e + MX93_PAD_SD2_CMD__USDHC2_CMD 0x4000139e /* HYS | PU | FSEL_3 | DSE X3 */ - MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x138e - MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x138e - MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x138e - MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x138e + MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x4000138e + MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x4000138e + MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x4000138e + MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x4000138e /* FSEL_2 | DSE X3 */ MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x010e >; }; + /* enable SION for data and cmd pad due to ERR052021 */ pinctrl_usdhc2_uhs: usdhc2uhsgrp { fsl,pins = < /* PD | FSEL_3 | DSE X6 */ MX93_PAD_SD2_CLK__USDHC2_CLK 0x05fe /* HYS | PU | FSEL_3 | DSE X4 */ - MX93_PAD_SD2_CMD__USDHC2_CMD 0x139e - MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x139e - MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x139e - MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x139e - MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x139e + MX93_PAD_SD2_CMD__USDHC2_CMD 0x4000139e + MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x4000139e + MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x4000139e + MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x4000139e + MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x4000139e /* FSEL_2 | DSE X3 */ MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x010e >; diff --git a/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dts b/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dts index b9a22d6c1de2..0409dffe844c 100644 --- a/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dts +++ b/arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dts @@ -820,32 +820,34 @@ MX93_PAD_SD2_CD_B__GPIO3_IO00 0x1000 >; }; + /* enable SION for data and cmd pad due to ERR052021 */ pinctrl_usdhc2_hs: usdhc2hsgrp { fsl,pins = < /* PD | FSEL_3 | DSE X5 */ MX93_PAD_SD2_CLK__USDHC2_CLK 0x05be /* HYS | PU | FSEL_3 | DSE X4 */ - MX93_PAD_SD2_CMD__USDHC2_CMD 0x139e + MX93_PAD_SD2_CMD__USDHC2_CMD 0x4000139e /* HYS | PU | FSEL_3 | DSE X3 */ - MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x138e - MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x138e - MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x138e - MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x138e + MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x4000138e + MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x4000138e + MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x4000138e + MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x4000138e /* FSEL_2 | DSE X3 */ MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x010e >; }; + /* enable SION for data and cmd pad due to ERR052021 */ pinctrl_usdhc2_uhs: usdhc2uhsgrp { fsl,pins = < /* PD | FSEL_3 | DSE X6 */ MX93_PAD_SD2_CLK__USDHC2_CLK 0x05fe /* HYS | PU | FSEL_3 | DSE X4 */ - MX93_PAD_SD2_CMD__USDHC2_CMD 0x139e - MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x139e - MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x139e - MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x139e - MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x139e + MX93_PAD_SD2_CMD__USDHC2_CMD 0x4000139e + MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x4000139e + MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x4000139e + MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x4000139e + MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x4000139e /* FSEL_2 | DSE X3 */ MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x010e >; diff --git a/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi b/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi index 63b02552c55d..ac9f94baf4cd 100644 --- a/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi +++ b/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi @@ -269,6 +269,7 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x106 >; }; + /* enable SION for data and cmd pad due to ERR052021 */ pinctrl_usdhc1: usdhc1grp { fsl,pins = < /* PD | FSEL 3 | DSE X5 */ @@ -276,16 +277,16 @@ MX93_PAD_SD1_CLK__USDHC1_CLK 0x5be /* HYS | FSEL 0 | no drive */ MX93_PAD_SD1_STROBE__USDHC1_STROBE 0x1000 /* HYS | FSEL 3 | X5 */ - MX93_PAD_SD1_CMD__USDHC1_CMD 0x11be + MX93_PAD_SD1_CMD__USDHC1_CMD 0x400011be /* HYS | FSEL 3 | X4 */ - MX93_PAD_SD1_DATA0__USDHC1_DATA0 0x119e - MX93_PAD_SD1_DATA1__USDHC1_DATA1 0x119e - MX93_PAD_SD1_DATA2__USDHC1_DATA2 0x119e - MX93_PAD_SD1_DATA3__USDHC1_DATA3 0x119e - MX93_PAD_SD1_DATA4__USDHC1_DATA4 0x119e - MX93_PAD_SD1_DATA5__USDHC1_DATA5 0x119e - MX93_PAD_SD1_DATA6__USDHC1_DATA6 0x119e - MX93_PAD_SD1_DATA7__USDHC1_DATA7 0x119e + MX93_PAD_SD1_DATA0__USDHC1_DATA0 0x4000119e + MX93_PAD_SD1_DATA1__USDHC1_DATA1 0x4000119e + MX93_PAD_SD1_DATA2__USDHC1_DATA2 0x4000119e + MX93_PAD_SD1_DATA3__USDHC1_DATA3 0x4000119e + MX93_PAD_SD1_DATA4__USDHC1_DATA4 0x4000119e + MX93_PAD_SD1_DATA5__USDHC1_DATA5 0x4000119e + MX93_PAD_SD1_DATA6__USDHC1_DATA6 0x4000119e + MX93_PAD_SD1_DATA7__USDHC1_DATA7 0x4000119e >; };