]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: dts: freescale: imx93-tqma9352: set SION for cmd and data pad of USDHC
authorMarkus Niebel <Markus.Niebel@ew.tq-group.com>
Mon, 19 Aug 2024 12:03:28 +0000 (14:03 +0200)
committerShawn Guo <shawnguo@kernel.org>
Wed, 4 Sep 2024 09:36:20 +0000 (17:36 +0800)
commit0b5fdfaa8e458874e89dda082434373e75fecbfd
tree5afe60b5825f35f0d235b478e2ea0e2acf11cfe3
parent167445e13b58ef265986c0d9577996c74a028e2e
arm64: dts: freescale: imx93-tqma9352: set SION for cmd and data pad of USDHC

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 <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dts
arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dts
arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi