diff options
| author | Tom Rini <trini@konsulko.com> | 2019-10-14 07:28:32 -0400 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2019-10-14 07:28:32 -0400 |
| commit | fae79480111be47944cf66a9c052ff3934a09ce5 (patch) | |
| tree | 7f7e53795d9520b2a731ac4ca8b5b94223bf3aa4 /include | |
| parent | 7a779ed1755c2d5011bd9598da90291f759ae760 (diff) | |
| parent | a8ef8b22896331d0be1bb4c5bef787b3f72e793e (diff) | |
Merge tag 'mmc-10-10-2019' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
- Add sdhci driver for Broadcom iProc platform
- Add a driver callback for power-cycle for mmc
- Implement host_power_cycle callback for stm32_sdmmc2
- spl: dm_mmc: Initialize only the required mmc device
Diffstat (limited to 'include')
| -rw-r--r-- | include/mmc.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/mmc.h b/include/mmc.h index 686ba00656..1a9efe4c38 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -466,6 +466,16 @@ struct dm_mmc_ops { /* set_enhanced_strobe() - set HS400 enhanced strobe */ int (*set_enhanced_strobe)(struct udevice *dev); #endif + + /** + * host_power_cycle - host specific tasks in power cycle sequence + * Called between mmc_power_off() and + * mmc_power_on() + * + * @dev: Device to check + * @return 0 if not present, 1 if present, -ve on error + */ + int (*host_power_cycle)(struct udevice *dev); }; #define mmc_get_ops(dev) ((struct dm_mmc_ops *)(dev)->driver->ops) @@ -477,6 +487,7 @@ int dm_mmc_get_cd(struct udevice *dev); int dm_mmc_get_wp(struct udevice *dev); int dm_mmc_execute_tuning(struct udevice *dev, uint opcode); int dm_mmc_wait_dat0(struct udevice *dev, int state, int timeout_us); +int dm_mmc_host_power_cycle(struct udevice *dev); /* Transition functions for compatibility */ int mmc_set_ios(struct mmc *mmc); @@ -485,6 +496,7 @@ int mmc_getwp(struct mmc *mmc); int mmc_execute_tuning(struct mmc *mmc, uint opcode); int mmc_wait_dat0(struct mmc *mmc, int state, int timeout_us); int mmc_set_enhanced_strobe(struct mmc *mmc); +int mmc_host_power_cycle(struct mmc *mmc); #else struct mmc_ops { @@ -494,6 +506,7 @@ struct mmc_ops { int (*init)(struct mmc *mmc); int (*getcd)(struct mmc *mmc); int (*getwp)(struct mmc *mmc); + int (*host_power_cycle)(struct mmc *mmc); }; #endif @@ -698,6 +711,7 @@ void mmc_destroy(struct mmc *mmc); */ int mmc_unbind(struct udevice *dev); int mmc_initialize(bd_t *bis); +int mmc_init_device(int num); int mmc_init(struct mmc *mmc); int mmc_send_tuning(struct mmc *mmc, u32 opcode, int *cmd_error); |
