]>
Commit | Line | Data |
---|---|---|
203a0734 WS |
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 | ||
ad93220d DA |
13 | #include <linux/types.h> |
14 | ||
913413c3 SG |
15 | enum wp_types { |
16 | ESDHC_WP_NONE, /* no WP, neither controller nor gpio */ | |
17 | ESDHC_WP_CONTROLLER, /* mmc controller internal WP */ | |
18 | ESDHC_WP_GPIO, /* external gpio pin for WP */ | |
19 | }; | |
20 | ||
21 | enum cd_types { | |
22 | ESDHC_CD_NONE, /* no CD, neither controller nor gpio */ | |
23 | ESDHC_CD_CONTROLLER, /* mmc controller internal CD */ | |
24 | ESDHC_CD_GPIO, /* external gpio pin for CD */ | |
25 | ESDHC_CD_PERMANENT, /* no CD, card permanently wired to host */ | |
26 | }; | |
27 | ||
0c6d49ce | 28 | /** |
913413c3 | 29 | * struct esdhc_platform_data - platform data for esdhc on i.MX |
0c6d49ce | 30 | * |
913413c3 | 31 | * ESDHC_WP(CD)_CONTROLLER type is not available on i.MX25/35. |
0c6d49ce | 32 | * |
913413c3 SG |
33 | * @wp_gpio: gpio for write_protect |
34 | * @cd_gpio: gpio for card_detect interrupt | |
35 | * @wp_type: type of write_protect method (see wp_types enum above) | |
36 | * @cd_type: type of card_detect method (see cd_types enum above) | |
ad93220d | 37 | * @support_vsel: indicate it supports 1.8v switching |
0c6d49ce WS |
38 | */ |
39 | ||
203a0734 | 40 | struct esdhc_platform_data { |
0c6d49ce | 41 | unsigned int wp_gpio; |
7e29c306 | 42 | unsigned int cd_gpio; |
913413c3 SG |
43 | enum wp_types wp_type; |
44 | enum cd_types cd_type; | |
af51079e | 45 | int max_bus_width; |
ad93220d | 46 | bool support_vsel; |
602519b2 | 47 | unsigned int delay_line; |
d407e30b | 48 | unsigned int tuning_step; /* The delay cell steps in tuning procedure */ |
d87fc966 | 49 | unsigned int tuning_start_tap; /* The start delay cell point in tuning procedure */ |
203a0734 WS |
50 | }; |
51 | #endif /* __ASM_ARCH_IMX_ESDHC_H */ |