ad93220de7
Without proper pinctrl state, the card may not be able to work on high speed stablely. e.g. SDR104. This patch add pinctrl state switch code according to different uhs mode include 100mhz sate, 200mhz sate and normal state (50Mhz and below). Signed-off-by: Dong Aisheng <b29396@freescale.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org>
49 lines
1.4 KiB
C
49 lines
1.4 KiB
C
/*
|
|
* Copyright 2010 Wolfram Sang <w.sang@pengutronix.de>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; version 2
|
|
* of the License.
|
|
*/
|
|
|
|
#ifndef __ASM_ARCH_IMX_ESDHC_H
|
|
#define __ASM_ARCH_IMX_ESDHC_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
enum wp_types {
|
|
ESDHC_WP_NONE, /* no WP, neither controller nor gpio */
|
|
ESDHC_WP_CONTROLLER, /* mmc controller internal WP */
|
|
ESDHC_WP_GPIO, /* external gpio pin for WP */
|
|
};
|
|
|
|
enum cd_types {
|
|
ESDHC_CD_NONE, /* no CD, neither controller nor gpio */
|
|
ESDHC_CD_CONTROLLER, /* mmc controller internal CD */
|
|
ESDHC_CD_GPIO, /* external gpio pin for CD */
|
|
ESDHC_CD_PERMANENT, /* no CD, card permanently wired to host */
|
|
};
|
|
|
|
/**
|
|
* struct esdhc_platform_data - platform data for esdhc on i.MX
|
|
*
|
|
* ESDHC_WP(CD)_CONTROLLER type is not available on i.MX25/35.
|
|
*
|
|
* @wp_gpio: gpio for write_protect
|
|
* @cd_gpio: gpio for card_detect interrupt
|
|
* @wp_type: type of write_protect method (see wp_types enum above)
|
|
* @cd_type: type of card_detect method (see cd_types enum above)
|
|
* @support_vsel: indicate it supports 1.8v switching
|
|
*/
|
|
|
|
struct esdhc_platform_data {
|
|
unsigned int wp_gpio;
|
|
unsigned int cd_gpio;
|
|
enum wp_types wp_type;
|
|
enum cd_types cd_type;
|
|
int max_bus_width;
|
|
unsigned int f_max;
|
|
bool support_vsel;
|
|
};
|
|
#endif /* __ASM_ARCH_IMX_ESDHC_H */
|