Message ID | 1461898103-29026-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 29/04/16 05:48, Shawn Lin wrote: > Enhanced strobe stuff currently is beyond the scope > of Secure Digital Host Controller Interface. So we can't > find a register here to enable/disable it. We experct > variant drivers to finish the details according to their > vendor settings. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > Changes in v2: None > > drivers/mmc/host/sdhci.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index 94cffa7..a04e4c4 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -2049,6 +2049,16 @@ out_unlock: > return err; > } > > +static int sdhci_prepare_enhanced_strobe(struct mmc_host *mmc, bool enable) > +{ > + /* > + * Currently we can't find a register to enable enhanced strobe > + * function for standard sdhci, so we expect variant drivers to > + * overwrite it. > + */ > + return -EINVAL; > +} Since we don't need it at the moment, let's not have it at all for now. > + > static int sdhci_select_drive_strength(struct mmc_card *card, > unsigned int max_dtr, int host_drv, > int card_drv, int *drv_type) > @@ -2158,6 +2168,7 @@ static const struct mmc_host_ops sdhci_ops = { > .enable_sdio_irq = sdhci_enable_sdio_irq, > .start_signal_voltage_switch = sdhci_start_signal_voltage_switch, > .prepare_hs400_tuning = sdhci_prepare_hs400_tuning, > + .prepare_enhanced_strobe = sdhci_prepare_enhanced_strobe, > .execute_tuning = sdhci_execute_tuning, > .select_drive_strength = sdhci_select_drive_strength, > .card_event = sdhci_card_event, >
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 94cffa7..a04e4c4 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2049,6 +2049,16 @@ out_unlock: return err; } +static int sdhci_prepare_enhanced_strobe(struct mmc_host *mmc, bool enable) +{ + /* + * Currently we can't find a register to enable enhanced strobe + * function for standard sdhci, so we expect variant drivers to + * overwrite it. + */ + return -EINVAL; +} + static int sdhci_select_drive_strength(struct mmc_card *card, unsigned int max_dtr, int host_drv, int card_drv, int *drv_type) @@ -2158,6 +2168,7 @@ static const struct mmc_host_ops sdhci_ops = { .enable_sdio_irq = sdhci_enable_sdio_irq, .start_signal_voltage_switch = sdhci_start_signal_voltage_switch, .prepare_hs400_tuning = sdhci_prepare_hs400_tuning, + .prepare_enhanced_strobe = sdhci_prepare_enhanced_strobe, .execute_tuning = sdhci_execute_tuning, .select_drive_strength = sdhci_select_drive_strength, .card_event = sdhci_card_event,
Enhanced strobe stuff currently is beyond the scope of Secure Digital Host Controller Interface. So we can't find a register here to enable/disable it. We experct variant drivers to finish the details according to their vendor settings. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- Changes in v2: None drivers/mmc/host/sdhci.c | 11 +++++++++++ 1 file changed, 11 insertions(+)