|
@@ -60,6 +60,8 @@ static unsigned int fmax = 515633;
|
|
|
* @sdio: variant supports SDIO
|
|
|
* @st_clkdiv: true if using a ST-specific clock divider algorithm
|
|
|
* @blksz_datactrl16: true if Block size is at b16..b30 position in datactrl register
|
|
|
+ * @blksz_datactrl4: true if Block size is at b4..b16 position in datactrl
|
|
|
+ * register
|
|
|
* @pwrreg_powerup: power up value for MMCIPOWER register
|
|
|
* @signal_direction: input/out direction of bus signals can be indicated
|
|
|
* @pwrreg_clkgate: MMCIPOWER register must be used to gate the clock
|
|
@@ -75,6 +77,7 @@ struct variant_data {
|
|
|
bool sdio;
|
|
|
bool st_clkdiv;
|
|
|
bool blksz_datactrl16;
|
|
|
+ bool blksz_datactrl4;
|
|
|
u32 pwrreg_powerup;
|
|
|
bool signal_direction;
|
|
|
bool pwrreg_clkgate;
|
|
@@ -732,6 +735,8 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data)
|
|
|
|
|
|
if (variant->blksz_datactrl16)
|
|
|
datactrl = MCI_DPSM_ENABLE | (data->blksz << 16);
|
|
|
+ else if (variant->blksz_datactrl4)
|
|
|
+ datactrl = MCI_DPSM_ENABLE | (data->blksz << 4);
|
|
|
else
|
|
|
datactrl = MCI_DPSM_ENABLE | blksz_bits << 4;
|
|
|
|