Hi Ulf, On 2016/11/28 19:13, Ulf Hansson wrote: >> >> As you suggest, I replace mmc_wait_for_cmd() with mmc_send_tuning(), to >> send commands for testing current sampling point set in our host PHY. >> >> According to my test result, it shows that mmc_send_tuning() can only support >> tuning command (CMD21/CMD19). >> As a result, we cannot use mmc_send_tuning() when card is in the speed modes >> which doesn't support tuning, such as eMMC HS SDR, eMMC HS DRR and >> SD SDR 12/SDR25/DDR50. Card will not response to tuning commands in those >> speed modes. >> >> Could you please provide suggestions for the speed mode in which tuning is >> not available? >> > > Normally the mmc host driver shouldn't have to care about what the > card supports, as that is the responsibility of the mmc core to > manage. > > The host should only need to implement the ->execute_tuning() ops, > which gets called when the card supports tuning (CMD19/21). Does it > make sense? > I think it is irrelevant to tuning procedure. Our host requires to adjust PHY setting after each time ios setting (SDCLK/bus width/speed mode) is changed. The simplified sequence is: mmc change ios --> mmc_set_ios() --> ->set_ios() --> after sdhci_set_ios(), adjust PHY setting. During PHY setting adjustment, out host driver has to send commands to test current sampling point. Tuning is another independent step. Thus our host needs a valid command in PHY setting adjustment. Tuning command can be borrowed to complete this task in SD SDR50. But for other speed mode, we have to find out a valid command. Any suggestion please? Thank you. Best regards, Hu Ziji > Kind regards > Uffe > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html