|
@@ -190,6 +190,23 @@ static struct variant_data variant_ux500v2 = {
|
|
|
.pwrreg_nopower = true,
|
|
|
};
|
|
|
|
|
|
+static struct variant_data variant_qcom = {
|
|
|
+ .fifosize = 16 * 4,
|
|
|
+ .fifohalfsize = 8 * 4,
|
|
|
+ .clkreg = MCI_CLK_ENABLE,
|
|
|
+ .clkreg_enable = MCI_QCOM_CLK_FLOWENA |
|
|
|
+ MCI_QCOM_CLK_SELECT_IN_FBCLK,
|
|
|
+ .clkreg_8bit_bus_enable = MCI_QCOM_CLK_WIDEBUS_8,
|
|
|
+ .datactrl_mask_ddrmode = MCI_QCOM_CLK_SELECT_IN_DDR_MODE,
|
|
|
+ .data_cmd_enable = MCI_QCOM_CSPM_DATCMD,
|
|
|
+ .blksz_datactrl4 = true,
|
|
|
+ .datalength_bits = 24,
|
|
|
+ .pwrreg_powerup = MCI_PWR_UP,
|
|
|
+ .f_max = 208000000,
|
|
|
+ .explicit_mclk_control = true,
|
|
|
+ .qcom_fifo = true,
|
|
|
+};
|
|
|
+
|
|
|
static int mmci_card_busy(struct mmc_host *mmc)
|
|
|
{
|
|
|
struct mmci_host *host = mmc_priv(mmc);
|
|
@@ -1832,6 +1849,12 @@ static struct amba_id mmci_ids[] = {
|
|
|
.mask = 0xf0ffffff,
|
|
|
.data = &variant_ux500v2,
|
|
|
},
|
|
|
+ /* Qualcomm variants */
|
|
|
+ {
|
|
|
+ .id = 0x00051180,
|
|
|
+ .mask = 0x000fffff,
|
|
|
+ .data = &variant_qcom,
|
|
|
+ },
|
|
|
{ 0, 0 },
|
|
|
};
|
|
|
|