aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h6
-rw-r--r--include/linux/mmc/host.h5
-rw-r--r--include/linux/mmc/mmc.h6
3 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 2fcd24ccd38c..711c3f8bfabd 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -55,6 +55,7 @@ struct mmc_ext_csd {
55 unsigned int part_time; /* Units: ms */ 55 unsigned int part_time; /* Units: ms */
56 unsigned int sa_timeout; /* Units: 100ns */ 56 unsigned int sa_timeout; /* Units: 100ns */
57 unsigned int generic_cmd6_time; /* Units: 10ms */ 57 unsigned int generic_cmd6_time; /* Units: 10ms */
58 unsigned int power_off_longtime; /* Units: ms */
58 unsigned int hs_max_dtr; 59 unsigned int hs_max_dtr;
59 unsigned int sectors; 60 unsigned int sectors;
60 unsigned int card_type; 61 unsigned int card_type;
@@ -209,6 +210,11 @@ struct mmc_card {
209#define MMC_QUIRK_BLK_NO_CMD23 (1<<7) /* Avoid CMD23 for regular multiblock */ 210#define MMC_QUIRK_BLK_NO_CMD23 (1<<7) /* Avoid CMD23 for regular multiblock */
210#define MMC_QUIRK_BROKEN_BYTE_MODE_512 (1<<8) /* Avoid sending 512 bytes in */ 211#define MMC_QUIRK_BROKEN_BYTE_MODE_512 (1<<8) /* Avoid sending 512 bytes in */
211 /* byte mode */ 212 /* byte mode */
213 unsigned int poweroff_notify_state; /* eMMC4.5 notify feature */
214#define MMC_NO_POWER_NOTIFICATION 0
215#define MMC_POWERED_ON 1
216#define MMC_POWEROFF_SHORT 2
217#define MMC_POWEROFF_LONG 3
212 218
213 unsigned int erase_size; /* erase size in sectors */ 219 unsigned int erase_size; /* erase size in sectors */
214 unsigned int erase_shift; /* if erase unit is power 2 */ 220 unsigned int erase_shift; /* if erase unit is power 2 */
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index aed5bc7245f7..cd10208d9a06 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -239,8 +239,13 @@ struct mmc_host {
239 unsigned int caps2; /* More host capabilities */ 239 unsigned int caps2; /* More host capabilities */
240 240
241#define MMC_CAP2_BOOTPART_NOACC (1 << 0) /* Boot partition no access */ 241#define MMC_CAP2_BOOTPART_NOACC (1 << 0) /* Boot partition no access */
242#define MMC_CAP2_POWEROFF_NOTIFY (1 << 2) /* Notify poweroff supported */
242 243
243 mmc_pm_flag_t pm_caps; /* supported pm features */ 244 mmc_pm_flag_t pm_caps; /* supported pm features */
245 unsigned int power_notify_type;
246#define MMC_HOST_PW_NOTIFY_NONE 0
247#define MMC_HOST_PW_NOTIFY_SHORT 1
248#define MMC_HOST_PW_NOTIFY_LONG 2
244 249
245#ifdef CONFIG_MMC_CLKGATE 250#ifdef CONFIG_MMC_CLKGATE
246 int clk_requests; /* internal reference counter */ 251 int clk_requests; /* internal reference counter */
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h
index cd63c2dc95cc..02e9e3de9609 100644
--- a/include/linux/mmc/mmc.h
+++ b/include/linux/mmc/mmc.h
@@ -270,6 +270,7 @@ struct _mmc_csd {
270 * EXT_CSD fields 270 * EXT_CSD fields
271 */ 271 */
272 272
273#define EXT_CSD_POWER_OFF_NOTIFICATION 34 /* R/W */
273#define EXT_CSD_GP_SIZE_MULT 143 /* R/W */ 274#define EXT_CSD_GP_SIZE_MULT 143 /* R/W */
274#define EXT_CSD_PARTITION_ATTRIBUTE 156 /* R/W */ 275#define EXT_CSD_PARTITION_ATTRIBUTE 156 /* R/W */
275#define EXT_CSD_PARTITION_SUPPORT 160 /* RO */ 276#define EXT_CSD_PARTITION_SUPPORT 160 /* RO */
@@ -346,6 +347,11 @@ struct _mmc_csd {
346#define EXT_CSD_RST_N_EN_MASK 0x3 347#define EXT_CSD_RST_N_EN_MASK 0x3
347#define EXT_CSD_RST_N_ENABLED 1 /* RST_n is enabled on card */ 348#define EXT_CSD_RST_N_ENABLED 1 /* RST_n is enabled on card */
348 349
350#define EXT_CSD_NO_POWER_NOTIFICATION 0
351#define EXT_CSD_POWER_ON 1
352#define EXT_CSD_POWER_OFF_SHORT 2
353#define EXT_CSD_POWER_OFF_LONG 3
354
349#define EXT_CSD_PWR_CL_8BIT_MASK 0xF0 /* 8 bit PWR CLS */ 355#define EXT_CSD_PWR_CL_8BIT_MASK 0xF0 /* 8 bit PWR CLS */
350#define EXT_CSD_PWR_CL_4BIT_MASK 0x0F /* 8 bit PWR CLS */ 356#define EXT_CSD_PWR_CL_4BIT_MASK 0x0F /* 8 bit PWR CLS */
351#define EXT_CSD_PWR_CL_8BIT_SHIFT 4 357#define EXT_CSD_PWR_CL_8BIT_SHIFT 4