mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 17:35:07 +07:00
913413c307
The patch extends card_detect and write_protect support to get mx5 family and more scenarios supported. The changes include: * Turn platform_data from optional to mandatory * Add cd_types and wp_types into platform_data to cover more use cases * Remove the use of flag ESDHC_FLAG_GPIO_FOR_CD * Adjust some machine codes to adopt the platform_data changes * Work around the issue that software reset will get card detection circuit stop working With this patch, card_detect and write_protect gets supported on mx5 based platforms. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Chris Ball <cjb@laptop.org> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Tested-by: Arnaud Patard <arnaud.patard@rtp-net.org> Acked-by: Chris Ball <cjb@laptop.org>
44 lines
1.3 KiB
C
44 lines
1.3 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
|
|
|
|
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)
|
|
*/
|
|
|
|
struct esdhc_platform_data {
|
|
unsigned int wp_gpio;
|
|
unsigned int cd_gpio;
|
|
enum wp_types wp_type;
|
|
enum cd_types cd_type;
|
|
};
|
|
#endif /* __ASM_ARCH_IMX_ESDHC_H */
|