dw_mmc.h (e5451c8f8330e03ad3cfa16048b4daf961af434f) | dw_mmc.h (aaaaeb7a933471f6413ca44dd36efd57f2fa9429) |
---|---|
1/* 2 * Synopsys DesignWare Multimedia Card Interface driver 3 * (Based on NXP driver for lpc 31xx) 4 * 5 * Copyright (C) 2009 NXP Semiconductors 6 * Copyright (C) 2009, 2010 Imagination Technologies Ltd. 7 * 8 * This program is free software; you can redistribute it and/or modify --- 251 unchanged lines hidden (view full) --- 260 261 unsigned int clock; 262 unsigned int __clk_old; 263 264 unsigned long flags; 265#define DW_MMC_CARD_PRESENT 0 266#define DW_MMC_CARD_NEED_INIT 1 267#define DW_MMC_CARD_NO_LOW_PWR 2 | 1/* 2 * Synopsys DesignWare Multimedia Card Interface driver 3 * (Based on NXP driver for lpc 31xx) 4 * 5 * Copyright (C) 2009 NXP Semiconductors 6 * Copyright (C) 2009, 2010 Imagination Technologies Ltd. 7 * 8 * This program is free software; you can redistribute it and/or modify --- 251 unchanged lines hidden (view full) --- 260 261 unsigned int clock; 262 unsigned int __clk_old; 263 264 unsigned long flags; 265#define DW_MMC_CARD_PRESENT 0 266#define DW_MMC_CARD_NEED_INIT 1 267#define DW_MMC_CARD_NO_LOW_PWR 2 |
268#define DW_MMC_CARD_NO_USE_HOLD 3 |
|
268 int id; 269 int sdio_id; 270}; 271 272/** 273 * dw_mci driver data - dw-mshc implementation specific driver data. 274 * @caps: mmc subsystem specified capabilities of the controller(s). 275 * @init: early implementation specific initialization. 276 * @setup_clock: implementation specific clock configuration. | 269 int id; 270 int sdio_id; 271}; 272 273/** 274 * dw_mci driver data - dw-mshc implementation specific driver data. 275 * @caps: mmc subsystem specified capabilities of the controller(s). 276 * @init: early implementation specific initialization. 277 * @setup_clock: implementation specific clock configuration. |
277 * @prepare_command: handle CMD register extensions. | |
278 * @set_ios: handle bus specific extensions. 279 * @parse_dt: parse implementation specific device tree properties. 280 * @execute_tuning: implementation specific tuning procedure. 281 * 282 * Provide controller implementation specific extensions. The usage of this 283 * data structure is fully optional and usage of each member in this structure 284 * is optional as well. 285 */ 286struct dw_mci_drv_data { 287 unsigned long *caps; 288 int (*init)(struct dw_mci *host); 289 int (*setup_clock)(struct dw_mci *host); | 278 * @set_ios: handle bus specific extensions. 279 * @parse_dt: parse implementation specific device tree properties. 280 * @execute_tuning: implementation specific tuning procedure. 281 * 282 * Provide controller implementation specific extensions. The usage of this 283 * data structure is fully optional and usage of each member in this structure 284 * is optional as well. 285 */ 286struct dw_mci_drv_data { 287 unsigned long *caps; 288 int (*init)(struct dw_mci *host); 289 int (*setup_clock)(struct dw_mci *host); |
290 void (*prepare_command)(struct dw_mci *host, u32 *cmdr); | |
291 void (*set_ios)(struct dw_mci *host, struct mmc_ios *ios); 292 int (*parse_dt)(struct dw_mci *host); 293 int (*execute_tuning)(struct dw_mci_slot *slot, u32 opcode); 294 int (*prepare_hs400_tuning)(struct dw_mci *host, 295 struct mmc_ios *ios); 296 int (*switch_voltage)(struct mmc_host *mmc, 297 struct mmc_ios *ios); 298}; 299#endif /* _DW_MMC_H_ */ | 290 void (*set_ios)(struct dw_mci *host, struct mmc_ios *ios); 291 int (*parse_dt)(struct dw_mci *host); 292 int (*execute_tuning)(struct dw_mci_slot *slot, u32 opcode); 293 int (*prepare_hs400_tuning)(struct dw_mci *host, 294 struct mmc_ios *ios); 295 int (*switch_voltage)(struct mmc_host *mmc, 296 struct mmc_ios *ios); 297}; 298#endif /* _DW_MMC_H_ */ |