Re: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series

From: Jesse Taube
Date: Mon Nov 22 2021 - 22:13:45 EST




On 11/2/21 22:19, Bough Chen wrote:
-----Original Message-----
From: Jesse Taube [mailto:mr.bossman075@xxxxxxxxx]
Sent: 2021年11月3日 6:57
To: dl-linux-imx <linux-imx@xxxxxxx>
Cc: mturquette@xxxxxxxxxxxx; sboyd@xxxxxxxxxx; robh+dt@xxxxxxxxxx;
shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx;
festevam@xxxxxxxxx; ulf.hansson@xxxxxxxxxx; Aisheng Dong
<aisheng.dong@xxxxxxx>; stefan@xxxxxxxx; linus.walleij@xxxxxxxxxx;
gregkh@xxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx; olof@xxxxxxxxx;
soc@xxxxxxxxxx; linux@xxxxxxxxxxxxxxx; Abel Vesa <abel.vesa@xxxxxxx>;
adrian.hunter@xxxxxxxxx; jirislaby@xxxxxxxxxx;
giulio.benetti@xxxxxxxxxxxxxxxxxxxxxx; nobuhiro1.iwamatsu@xxxxxxxxxxxxx;
Mr.Bossman075@xxxxxxxxx; linux-clk@xxxxxxxxxxxxxxx;
devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
linux-kernel@xxxxxxxxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx;
linux-gpio@xxxxxxxxxxxxxxx; linux-serial@xxxxxxxxxxxxxxx; Jesse Taube
<mr.bossman075@xxxxxxxxx>
Subject: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for
i.MXRT
series

From: Jesse Taube <mr.bossman075@xxxxxxxxx>

Add support for i.MXRT1050's sdhc.

Cc: Giulio Benetti <giulio.benetti@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Jesse Taube <Mr.Bossman075@xxxxxxxxx>---
V1->V2:
* Nothing done
---
drivers/mmc/host/sdhci-esdhc-imx.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c
b/drivers/mmc/host/sdhci-esdhc-imx.c
index afaf33707d46..c852a6df5611 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -305,6 +305,12 @@ static struct esdhc_soc_data usdhc_imx7ulp_data = {
| ESDHC_FLAG_PMQOS | ESDHC_FLAG_HS400
| ESDHC_FLAG_STATE_LOST_IN_LPMODE,
};
+static struct esdhc_soc_data usdhc_imxrt_data = {
+ .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING
+ | ESDHC_FLAG_HS200 | ESDHC_FLAG_ERR004536
+ | ESDHC_FLAG_BROKEN_AUTO_CMD23,
+};
+

Hi Jesse,
I have few question here.
Why only use manual tuning here? Does this usdhc don't support
standard tuning? or meet any issue when use standard tuning?
No std tuning works, so does cmd23, i changed it to use them.
Please also double check why not use ADMA in default? Any issue
found?
Yes this is the output with ADMA:
[0.00] mmc0: Unable to allocate ADMA buffers - falling back to standard DMA
NOTE: I did not look into why this occurs.


Best Regards
Haibo Chen

static struct esdhc_soc_data usdhc_imx8qxp_data = {
.flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING @@ -357,6
+363,7 @@ static const struct of_device_id imx_esdhc_dt_ids[] = {
{ .compatible = "fsl,imx7ulp-usdhc", .data = &usdhc_imx7ulp_data, },
{ .compatible = "fsl,imx8qxp-usdhc", .data = &usdhc_imx8qxp_data, },
{ .compatible = "fsl,imx8mm-usdhc", .data = &usdhc_imx8mm_data, },
+ { .compatible = "fsl,imxrt-usdhc", .data = &usdhc_imxrt_data, },
{ .compatible = "nxp,s32g2-usdhc", .data = &usdhc_s32g2_data, },
{ /* sentinel */ }
};
--
2.33.1