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

Jesse Taube mr.bossman075 at gmail.com
Mon Nov 22 19:13:37 PST 2021



On 11/2/21 22:19, Bough Chen wrote:
>> -----Original Message-----
>> From: Jesse Taube [mailto:mr.bossman075 at gmail.com]
>> Sent: 2021年11月3日 6:57
>> To: dl-linux-imx <linux-imx at nxp.com>
>> Cc: mturquette at baylibre.com; sboyd at kernel.org; robh+dt at kernel.org;
>> shawnguo at kernel.org; s.hauer at pengutronix.de; kernel at pengutronix.de;
>> festevam at gmail.com; ulf.hansson at linaro.org; Aisheng Dong
>> <aisheng.dong at nxp.com>; stefan at agner.ch; linus.walleij at linaro.org;
>> gregkh at linuxfoundation.org; arnd at arndb.de; olof at lixom.net;
>> soc at kernel.org; linux at armlinux.org.uk; Abel Vesa <abel.vesa at nxp.com>;
>> adrian.hunter at intel.com; jirislaby at kernel.org;
>> giulio.benetti at benettiengineering.com; nobuhiro1.iwamatsu at toshiba.co.jp;
>> Mr.Bossman075 at gmail.com; linux-clk at vger.kernel.org;
>> devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
>> linux-kernel at vger.kernel.org; linux-mmc at vger.kernel.org;
>> linux-gpio at vger.kernel.org; linux-serial at vger.kernel.org; Jesse Taube
>> <mr.bossman075 at gmail.com>
>> Subject: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for
> i.MXRT
>> series
>>
>> From: Jesse Taube <mr.bossman075 at gmail.com>
>>
>> Add support for i.MXRT1050's sdhc.
>>
>> Cc: Giulio Benetti <giulio.benetti at benettiengineering.com>
>> Signed-off-by: Jesse Taube <Mr.Bossman075 at gmail.com>---
>> 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
> 



More information about the linux-arm-kernel mailing list