Add support to execute platform/board specific tuning needed
for SDR104 and SDR50 UHS modes.This patch adds hook routine
to support specific tuning requirements.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
struct mmc_cmd cmd;
struct mmc_data data;
u32 ctrl;
+ int err;
u8 tuning_loop_counter = 40;
struct sdhci_host *host = mmc->priv;
debug("%s\n", __func__);
+ if (host->platform_execute_tuning) {
+ err = host->platform_execute_tuning(mmc, opcode);
+ if (err)
+ return err;
+ return 0;
+ }
+
ctrl = sdhci_readw(host, SDHCI_HOST_CTRL2);
ctrl |= SDHCI_CTRL_EXEC_TUNING;
sdhci_writew(host, ctrl, SDHCI_HOST_CTRL2);
void (*set_control_reg)(struct sdhci_host *host);
void (*set_clock)(int dev_index, unsigned int div);
+ int (*platform_execute_tuning)(struct mmc *host, u8 opcode);
uint voltages;
struct mmc_config cfg;