diff options
Diffstat (limited to 'include/linux/mmc')
-rw-r--r-- | include/linux/mmc/card.h | 4 | ||||
-rw-r--r-- | include/linux/mmc/dw_mmc.h | 1 | ||||
-rw-r--r-- | include/linux/mmc/host.h | 2 | ||||
-rw-r--r-- | include/linux/mmc/mmc.h | 60 | ||||
-rw-r--r-- | include/linux/mmc/mxs-mmc.h | 19 |
5 files changed, 26 insertions, 60 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 629b823f8836..d76513b5b263 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h | |||
@@ -58,6 +58,10 @@ struct mmc_ext_csd { | |||
58 | unsigned int generic_cmd6_time; /* Units: 10ms */ | 58 | unsigned int generic_cmd6_time; /* Units: 10ms */ |
59 | unsigned int power_off_longtime; /* Units: ms */ | 59 | unsigned int power_off_longtime; /* Units: ms */ |
60 | unsigned int hs_max_dtr; | 60 | unsigned int hs_max_dtr; |
61 | #define MMC_HIGH_26_MAX_DTR 26000000 | ||
62 | #define MMC_HIGH_52_MAX_DTR 52000000 | ||
63 | #define MMC_HIGH_DDR_MAX_DTR 52000000 | ||
64 | #define MMC_HS200_MAX_DTR 200000000 | ||
61 | unsigned int sectors; | 65 | unsigned int sectors; |
62 | unsigned int card_type; | 66 | unsigned int card_type; |
63 | unsigned int hc_erase_size; /* In sectors */ | 67 | unsigned int hc_erase_size; /* In sectors */ |
diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h index 8f66e28f5a0f..7a7ebd367cfd 100644 --- a/include/linux/mmc/dw_mmc.h +++ b/include/linux/mmc/dw_mmc.h | |||
@@ -125,6 +125,7 @@ struct dw_mci { | |||
125 | struct mmc_request *mrq; | 125 | struct mmc_request *mrq; |
126 | struct mmc_command *cmd; | 126 | struct mmc_command *cmd; |
127 | struct mmc_data *data; | 127 | struct mmc_data *data; |
128 | struct workqueue_struct *card_workqueue; | ||
128 | 129 | ||
129 | /* DMA interface members*/ | 130 | /* DMA interface members*/ |
130 | int use_dma; | 131 | int use_dma; |
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index cbde4b7e675e..0707d228d7f1 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -297,6 +297,7 @@ struct mmc_host { | |||
297 | 297 | ||
298 | unsigned int sdio_irqs; | 298 | unsigned int sdio_irqs; |
299 | struct task_struct *sdio_irq_thread; | 299 | struct task_struct *sdio_irq_thread; |
300 | bool sdio_irq_pending; | ||
300 | atomic_t sdio_irq_thread_abort; | 301 | atomic_t sdio_irq_thread_abort; |
301 | 302 | ||
302 | mmc_pm_flag_t pm_flags; /* requested pm features */ | 303 | mmc_pm_flag_t pm_flags; /* requested pm features */ |
@@ -352,6 +353,7 @@ extern int mmc_cache_ctrl(struct mmc_host *, u8); | |||
352 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) | 353 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) |
353 | { | 354 | { |
354 | host->ops->enable_sdio_irq(host, 0); | 355 | host->ops->enable_sdio_irq(host, 0); |
356 | host->sdio_irq_pending = true; | ||
355 | wake_up_process(host->sdio_irq_thread); | 357 | wake_up_process(host->sdio_irq_thread); |
356 | } | 358 | } |
357 | 359 | ||
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index b822a2cb6008..d425cab144d9 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h | |||
@@ -354,66 +354,6 @@ struct _mmc_csd { | |||
354 | #define EXT_CSD_CARD_TYPE_SDR_1_2V (1<<5) /* Card can run at 200MHz */ | 354 | #define EXT_CSD_CARD_TYPE_SDR_1_2V (1<<5) /* Card can run at 200MHz */ |
355 | /* SDR mode @1.2V I/O */ | 355 | /* SDR mode @1.2V I/O */ |
356 | 356 | ||
357 | #define EXT_CSD_CARD_TYPE_SDR_200 (EXT_CSD_CARD_TYPE_SDR_1_8V | \ | ||
358 | EXT_CSD_CARD_TYPE_SDR_1_2V) | ||
359 | |||
360 | #define EXT_CSD_CARD_TYPE_SDR_ALL (EXT_CSD_CARD_TYPE_SDR_200 | \ | ||
361 | EXT_CSD_CARD_TYPE_52 | \ | ||
362 | EXT_CSD_CARD_TYPE_26) | ||
363 | |||
364 | #define EXT_CSD_CARD_TYPE_SDR_1_2V_ALL (EXT_CSD_CARD_TYPE_SDR_1_2V | \ | ||
365 | EXT_CSD_CARD_TYPE_52 | \ | ||
366 | EXT_CSD_CARD_TYPE_26) | ||
367 | |||
368 | #define EXT_CSD_CARD_TYPE_SDR_1_8V_ALL (EXT_CSD_CARD_TYPE_SDR_1_8V | \ | ||
369 | EXT_CSD_CARD_TYPE_52 | \ | ||
370 | EXT_CSD_CARD_TYPE_26) | ||
371 | |||
372 | #define EXT_CSD_CARD_TYPE_SDR_1_2V_DDR_1_8V (EXT_CSD_CARD_TYPE_SDR_1_2V | \ | ||
373 | EXT_CSD_CARD_TYPE_DDR_1_8V | \ | ||
374 | EXT_CSD_CARD_TYPE_52 | \ | ||
375 | EXT_CSD_CARD_TYPE_26) | ||
376 | |||
377 | #define EXT_CSD_CARD_TYPE_SDR_1_8V_DDR_1_8V (EXT_CSD_CARD_TYPE_SDR_1_8V | \ | ||
378 | EXT_CSD_CARD_TYPE_DDR_1_8V | \ | ||
379 | EXT_CSD_CARD_TYPE_52 | \ | ||
380 | EXT_CSD_CARD_TYPE_26) | ||
381 | |||
382 | #define EXT_CSD_CARD_TYPE_SDR_1_2V_DDR_1_2V (EXT_CSD_CARD_TYPE_SDR_1_2V | \ | ||
383 | EXT_CSD_CARD_TYPE_DDR_1_2V | \ | ||
384 | EXT_CSD_CARD_TYPE_52 | \ | ||
385 | EXT_CSD_CARD_TYPE_26) | ||
386 | |||
387 | #define EXT_CSD_CARD_TYPE_SDR_1_8V_DDR_1_2V (EXT_CSD_CARD_TYPE_SDR_1_8V | \ | ||
388 | EXT_CSD_CARD_TYPE_DDR_1_2V | \ | ||
389 | EXT_CSD_CARD_TYPE_52 | \ | ||
390 | EXT_CSD_CARD_TYPE_26) | ||
391 | |||
392 | #define EXT_CSD_CARD_TYPE_SDR_1_2V_DDR_52 (EXT_CSD_CARD_TYPE_SDR_1_2V | \ | ||
393 | EXT_CSD_CARD_TYPE_DDR_52 | \ | ||
394 | EXT_CSD_CARD_TYPE_52 | \ | ||
395 | EXT_CSD_CARD_TYPE_26) | ||
396 | |||
397 | #define EXT_CSD_CARD_TYPE_SDR_1_8V_DDR_52 (EXT_CSD_CARD_TYPE_SDR_1_8V | \ | ||
398 | EXT_CSD_CARD_TYPE_DDR_52 | \ | ||
399 | EXT_CSD_CARD_TYPE_52 | \ | ||
400 | EXT_CSD_CARD_TYPE_26) | ||
401 | |||
402 | #define EXT_CSD_CARD_TYPE_SDR_ALL_DDR_1_8V (EXT_CSD_CARD_TYPE_SDR_200 | \ | ||
403 | EXT_CSD_CARD_TYPE_DDR_1_8V | \ | ||
404 | EXT_CSD_CARD_TYPE_52 | \ | ||
405 | EXT_CSD_CARD_TYPE_26) | ||
406 | |||
407 | #define EXT_CSD_CARD_TYPE_SDR_ALL_DDR_1_2V (EXT_CSD_CARD_TYPE_SDR_200 | \ | ||
408 | EXT_CSD_CARD_TYPE_DDR_1_2V | \ | ||
409 | EXT_CSD_CARD_TYPE_52 | \ | ||
410 | EXT_CSD_CARD_TYPE_26) | ||
411 | |||
412 | #define EXT_CSD_CARD_TYPE_SDR_ALL_DDR_52 (EXT_CSD_CARD_TYPE_SDR_200 | \ | ||
413 | EXT_CSD_CARD_TYPE_DDR_52 | \ | ||
414 | EXT_CSD_CARD_TYPE_52 | \ | ||
415 | EXT_CSD_CARD_TYPE_26) | ||
416 | |||
417 | #define EXT_CSD_BUS_WIDTH_1 0 /* Card is in 1 bit mode */ | 357 | #define EXT_CSD_BUS_WIDTH_1 0 /* Card is in 1 bit mode */ |
418 | #define EXT_CSD_BUS_WIDTH_4 1 /* Card is in 4 bit mode */ | 358 | #define EXT_CSD_BUS_WIDTH_4 1 /* Card is in 4 bit mode */ |
419 | #define EXT_CSD_BUS_WIDTH_8 2 /* Card is in 8 bit mode */ | 359 | #define EXT_CSD_BUS_WIDTH_8 2 /* Card is in 8 bit mode */ |
diff --git a/include/linux/mmc/mxs-mmc.h b/include/linux/mmc/mxs-mmc.h new file mode 100644 index 000000000000..7c2ad3a7f2f3 --- /dev/null +++ b/include/linux/mmc/mxs-mmc.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | #ifndef __LINUX_MMC_MXS_MMC_H__ | ||
10 | #define __LINUX_MMC_MXS_MMC_H__ | ||
11 | |||
12 | struct mxs_mmc_platform_data { | ||
13 | int wp_gpio; /* write protect pin */ | ||
14 | unsigned int flags; | ||
15 | #define SLOTF_4_BIT_CAPABLE (1 << 0) | ||
16 | #define SLOTF_8_BIT_CAPABLE (1 << 1) | ||
17 | }; | ||
18 | |||
19 | #endif /* __LINUX_MMC_MXS_MMC_H__ */ | ||