[PATCH v2 3/3] mmc: hi6220_dw_mmc: add fifoth_val to private data and set it in .probe

Yang Xiwen forbidden405 at outlook.com
Wed Apr 3 03:22:07 CEST 2024


On 4/3/2024 8:43 AM, Jaehoon Chung wrote:
> Hi
>
> On 2/1/24 23:05, Yang Xiwen via B4 Relay wrote:
>> From: Yang Xiwen <forbidden405 at outlook.com>
>>
>> The value defaults to 0 and is ignored by dw_mmc code, so the other
>> users are not affected.
>>
>> Setting this explicitly fixes some weird reading error found on Hi3798MV200.
>>
>> Fixes: 8a5dc8140e62 ("mmc: hi6220_dw_mmc: add compatible for HC2910 support")
>>
>> Signed-off-by: Yang Xiwen <forbidden405 at outlook.com>
>> ---
>>   drivers/mmc/hi6220_dw_mmc.c | 11 ++++++++++-
>>   1 file changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/hi6220_dw_mmc.c b/drivers/mmc/hi6220_dw_mmc.c
>> index a4b8072976..dc0210402b 100644
>> --- a/drivers/mmc/hi6220_dw_mmc.c
>> +++ b/drivers/mmc/hi6220_dw_mmc.c
>> @@ -37,6 +37,7 @@ struct hi6220_dwmmc_priv_data {
>>   struct hisi_mmc_data {
>>   	unsigned int clock;
>>   	bool use_fifo;
>> +	u32 fifoth_val;
>>   };
>>   
>>   static int hi6220_dwmmc_of_to_plat(struct udevice *dev)
>> @@ -125,6 +126,7 @@ static int hi6220_dwmmc_probe(struct udevice *dev)
>>   	host->mmc = &plat->mmc;
>>   
>>   	host->fifo_mode = mmc_data->use_fifo;
>> +	host->fifoth_val = mmc_data->fifoth_val;
>>   	host->mmc->priv = &priv->host;
>>   	upriv->mmc = host->mmc;
>>   	host->mmc->dev = dev;
>> @@ -154,13 +156,20 @@ static const struct hisi_mmc_data hi6220_mmc_data = {
>>   	.use_fifo = false,
>>   };
>>   
>> +static const struct hisi_mmc_data hi3798mv2x_mmc_data = {
>> +	.clock = 50000000,
>> +	.use_fifo = false,
>> +	// FIFO depth is 256
> Removed unnecessary comment.


Will do. It seems that this should also apply to hi3798cv200-dw-mshc. 
tests are needed from cv200 users.


>
> Best Regards,
> Jaehoon Chung
>
>> +	.fifoth_val = MSIZE(4) | RX_WMARK(0x7f) | TX_WMARK(0x80),
>> +};
>> +
>>   static const struct udevice_id hi6220_dwmmc_ids[] = {
>>   	{ .compatible = "hisilicon,hi6220-dw-mshc",
>>   	  .data = (ulong)&hi6220_mmc_data },
>>   	{ .compatible = "hisilicon,hi3798cv200-dw-mshc",
>>   	  .data = (ulong)&hi6220_mmc_data },
>>   	{ .compatible = "hisilicon,hi3798mv200-dw-mshc",
>> -	  .data = (ulong)&hi6220_mmc_data },
>> +	  .data = (ulong)&hi3798mv2x_mmc_data },
>>   	{ .compatible = "hisilicon,hi3660-dw-mshc",
>>   	  .data = (ulong)&hi3660_mmc_data },
>>   	{ }


-- 
Regards,
Yang Xiwen



More information about the U-Boot mailing list