[PATCH] mmc: tmio: sdhi: Configure internal DMA bus width

Marek Vasut marek.vasut at gmail.com
Tue Jan 12 02:45:20 CET 2021


On 1/11/21 11:29 PM, Jaehoon Chung wrote:

[...]

>> @@ -324,6 +324,8 @@ static int tmio_sd_dma_xfer(struct udevice *dev, struct mmc_data *data)
>>   
>>   	tmp = tmio_sd_readl(priv, TMIO_SD_DMA_MODE);
>>   
>> +	tmp |= priv->idma_bus_width;
>> +
>>   	if (data->flags & MMC_DATA_READ) {
>>   		buf = data->dest;
>>   		dir = DMA_FROM_DEVICE;
>> @@ -702,6 +704,7 @@ static void tmio_sd_host_init(struct tmio_sd_priv *priv)
>>   	if (priv->caps & TMIO_SD_CAP_DMA_INTERNAL) {
>>   		tmp = tmio_sd_readl(priv, TMIO_SD_DMA_MODE);
>>   		tmp |= TMIO_SD_DMA_MODE_ADDR_INC;
>> +		tmp |= priv->idma_bus_width;
>>   		tmio_sd_writel(priv, tmp, TMIO_SD_DMA_MODE);
>>   	}
>>   }
>> diff --git a/drivers/mmc/tmio-common.h b/drivers/mmc/tmio-common.h
>> index 9062300c64..59d5a0e22e 100644
>> --- a/drivers/mmc/tmio-common.h
>> +++ b/drivers/mmc/tmio-common.h
>> @@ -90,6 +90,7 @@
>>   #define   TMIO_SD_VOLT_180		(2 << 0)/* 1.8V signal */
>>   #define TMIO_SD_DMA_MODE		0x410
>>   #define   TMIO_SD_DMA_MODE_DIR_RD	BIT(16)	/* 1: from device, 0: to dev */
>> +#define   TMIO_SD_DMA_MODE_BUS_WIDTH	(BIT(5) | BIT(4)) /* RCar, 64bit */
> 
> Do those bit always set when machine is 64bit? or Can it be changed to other bus-width?
> I don't have any knowledge on tmio side. Just wondering.

On R-Car3 they are always 2'b11 , i.e. 64bit, all other options are 
reserved.


More information about the U-Boot mailing list