diff options
Diffstat (limited to 'include/linux/mmc/host.h')
-rw-r--r-- | include/linux/mmc/host.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 9a0893f3249e..6014160d9c06 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -46,16 +46,28 @@ struct mmc_ios { | |||
46 | #define MMC_BUSMODE_OPENDRAIN 1 | 46 | #define MMC_BUSMODE_OPENDRAIN 1 |
47 | #define MMC_BUSMODE_PUSHPULL 2 | 47 | #define MMC_BUSMODE_PUSHPULL 2 |
48 | 48 | ||
49 | unsigned char chip_select; /* SPI chip select */ | ||
50 | |||
51 | #define MMC_CS_DONTCARE 0 | ||
52 | #define MMC_CS_HIGH 1 | ||
53 | #define MMC_CS_LOW 2 | ||
54 | |||
49 | unsigned char power_mode; /* power supply mode */ | 55 | unsigned char power_mode; /* power supply mode */ |
50 | 56 | ||
51 | #define MMC_POWER_OFF 0 | 57 | #define MMC_POWER_OFF 0 |
52 | #define MMC_POWER_UP 1 | 58 | #define MMC_POWER_UP 1 |
53 | #define MMC_POWER_ON 2 | 59 | #define MMC_POWER_ON 2 |
60 | |||
61 | unsigned char bus_width; /* data bus width */ | ||
62 | |||
63 | #define MMC_BUS_WIDTH_1 0 | ||
64 | #define MMC_BUS_WIDTH_4 2 | ||
54 | }; | 65 | }; |
55 | 66 | ||
56 | struct mmc_host_ops { | 67 | struct mmc_host_ops { |
57 | void (*request)(struct mmc_host *host, struct mmc_request *req); | 68 | void (*request)(struct mmc_host *host, struct mmc_request *req); |
58 | void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); | 69 | void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); |
70 | int (*get_ro)(struct mmc_host *host); | ||
59 | }; | 71 | }; |
60 | 72 | ||
61 | struct mmc_card; | 73 | struct mmc_card; |
@@ -70,6 +82,10 @@ struct mmc_host { | |||
70 | unsigned int f_max; | 82 | unsigned int f_max; |
71 | u32 ocr_avail; | 83 | u32 ocr_avail; |
72 | 84 | ||
85 | unsigned long caps; /* Host capabilities */ | ||
86 | |||
87 | #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */ | ||
88 | |||
73 | /* host specific block data */ | 89 | /* host specific block data */ |
74 | unsigned int max_seg_size; /* see blk_queue_max_segment_size */ | 90 | unsigned int max_seg_size; /* see blk_queue_max_segment_size */ |
75 | unsigned short max_hw_segs; /* see blk_queue_max_hw_segments */ | 91 | unsigned short max_hw_segs; /* see blk_queue_max_hw_segments */ |
@@ -81,6 +97,10 @@ struct mmc_host { | |||
81 | struct mmc_ios ios; /* current io bus settings */ | 97 | struct mmc_ios ios; /* current io bus settings */ |
82 | u32 ocr; /* the current OCR setting */ | 98 | u32 ocr; /* the current OCR setting */ |
83 | 99 | ||
100 | unsigned int mode; /* current card mode of host */ | ||
101 | #define MMC_MODE_MMC 0 | ||
102 | #define MMC_MODE_SD 1 | ||
103 | |||
84 | struct list_head cards; /* devices attached to this host */ | 104 | struct list_head cards; /* devices attached to this host */ |
85 | 105 | ||
86 | wait_queue_head_t wq; | 106 | wait_queue_head_t wq; |