|
@@ -25,6 +25,7 @@
|
|
|
#include <asm/mach-types.h>
|
|
|
|
|
|
#include <asm/mach/arch.h>
|
|
|
+#include <asm/arch/mmc.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include "generic.h"
|
|
|
|
|
@@ -51,11 +52,28 @@ static struct platform_device *devices[] __initdata = {
|
|
|
&cs89x0_device,
|
|
|
};
|
|
|
|
|
|
+#ifdef CONFIG_MMC_IMX
|
|
|
+static int mx1ads_mmc_card_present(void)
|
|
|
+{
|
|
|
+ /* MMC/SD Card Detect is PB 20 on MX1ADS V1.0.7 */
|
|
|
+ return (SSR(1) & (1 << 20) ? 0 : 1);
|
|
|
+}
|
|
|
+
|
|
|
+static struct imxmmc_platform_data mx1ads_mmc_info = {
|
|
|
+ .card_present = mx1ads_mmc_card_present,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
static void __init
|
|
|
mx1ads_init(void)
|
|
|
{
|
|
|
#ifdef CONFIG_LEDS
|
|
|
imx_gpio_mode(GPIO_PORTA | GPIO_OUT | 2);
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_MMC_IMX
|
|
|
+ /* SD/MMC card detect */
|
|
|
+ imx_gpio_mode(GPIO_PORTB | GPIO_GIUS | GPIO_IN | 20);
|
|
|
+ imx_set_mmc_info(&mx1ads_mmc_info);
|
|
|
#endif
|
|
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|
|
|
}
|