Wolfram Sang | 203a073 | 2010-10-11 12:55:21 +0200 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2010 Wolfram Sang <w.sang@pengutronix.de> |
| 3 | * |
| 4 | * This program is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU General Public License |
| 6 | * as published by the Free Software Foundation; version 2 |
| 7 | * of the License. |
| 8 | */ |
| 9 | |
| 10 | #ifndef __ASM_ARCH_IMX_ESDHC_H |
| 11 | #define __ASM_ARCH_IMX_ESDHC_H |
| 12 | |
Shawn Guo | 913413c | 2011-06-21 22:41:51 +0800 | [diff] [blame] | 13 | enum wp_types { |
| 14 | ESDHC_WP_NONE, /* no WP, neither controller nor gpio */ |
| 15 | ESDHC_WP_CONTROLLER, /* mmc controller internal WP */ |
| 16 | ESDHC_WP_GPIO, /* external gpio pin for WP */ |
| 17 | }; |
| 18 | |
| 19 | enum cd_types { |
| 20 | ESDHC_CD_NONE, /* no CD, neither controller nor gpio */ |
| 21 | ESDHC_CD_CONTROLLER, /* mmc controller internal CD */ |
| 22 | ESDHC_CD_GPIO, /* external gpio pin for CD */ |
| 23 | ESDHC_CD_PERMANENT, /* no CD, card permanently wired to host */ |
| 24 | }; |
| 25 | |
Wolfram Sang | 0c6d49c | 2011-02-26 14:44:39 +0100 | [diff] [blame] | 26 | /** |
Shawn Guo | 913413c | 2011-06-21 22:41:51 +0800 | [diff] [blame] | 27 | * struct esdhc_platform_data - platform data for esdhc on i.MX |
Wolfram Sang | 0c6d49c | 2011-02-26 14:44:39 +0100 | [diff] [blame] | 28 | * |
Shawn Guo | 913413c | 2011-06-21 22:41:51 +0800 | [diff] [blame] | 29 | * ESDHC_WP(CD)_CONTROLLER type is not available on i.MX25/35. |
Wolfram Sang | 0c6d49c | 2011-02-26 14:44:39 +0100 | [diff] [blame] | 30 | * |
Shawn Guo | 913413c | 2011-06-21 22:41:51 +0800 | [diff] [blame] | 31 | * @wp_gpio: gpio for write_protect |
| 32 | * @cd_gpio: gpio for card_detect interrupt |
| 33 | * @wp_type: type of write_protect method (see wp_types enum above) |
| 34 | * @cd_type: type of card_detect method (see cd_types enum above) |
Wolfram Sang | 0c6d49c | 2011-02-26 14:44:39 +0100 | [diff] [blame] | 35 | */ |
| 36 | |
Wolfram Sang | 203a073 | 2010-10-11 12:55:21 +0200 | [diff] [blame] | 37 | struct esdhc_platform_data { |
Wolfram Sang | 0c6d49c | 2011-02-26 14:44:39 +0100 | [diff] [blame] | 38 | unsigned int wp_gpio; |
Wolfram Sang | 7e29c30 | 2011-02-26 14:44:41 +0100 | [diff] [blame] | 39 | unsigned int cd_gpio; |
Shawn Guo | 913413c | 2011-06-21 22:41:51 +0800 | [diff] [blame] | 40 | enum wp_types wp_type; |
| 41 | enum cd_types cd_type; |
Wolfram Sang | 203a073 | 2010-10-11 12:55:21 +0200 | [diff] [blame] | 42 | }; |
| 43 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ |