Control drive strength in software

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm working on a SDHCI driver for linux kernel 3.4.

The IP that I have to control does not control the Driver Strength. Driver Type B is always selected. On the other hand, I can control the drive strength of the pads in software.

I would like to use the interface select_drive_strength of the mmc_host_ops. Is it a good idea?

If so, I have an other issue.

This function doesn't have an mmc_host as parameter. It is an issue for me since the drive strength parameters can be board specific.
A solution would be to add this parameter:

diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 5674504..cb6d117 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -134,7 +134,7 @@ struct mmc_host_ops {
/* The tuning command opcode value is different for SD and eMMC cards */
        int     (*execute_tuning)(struct mmc_host *host, u32 opcode);
        void    (*enable_preset_value)(struct mmc_host *host, bool enable);
- int (*select_drive_strength)(unsigned int max_dtr, int host_drv, int card_drv); + int (*select_drive_strength)(struct mmc_host *host, unsigned int max_dtr, int host_drv, int card_drv);
        void    (*hw_reset)(struct mmc_host *host);
 };

Is this solution a good idea?

Also, the drive strength configuration might be different according to the mode (not only UHS). So, I would like to control the drive strength for the default speed and the high speed. Would it be relevant to add this a call to this function in mmc_sd_switch_hs or in mmc_sd_init_card?

Thanks,

Jeremie Samuel
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux