Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 171af7dc authored by Linus Walleij's avatar Linus Walleij
Browse files

ARM: nomadik: register the MMC/SD device



This registers the MMC device for the Nomadik so we can access
MMC/SD cards, which is pretty nice.

Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent d088f671
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/amba/bus.h>
#include <linux/amba/mmci.h>
#include <linux/interrupt.h>
#include <linux/gpio.h>
#include <linux/mtd/mtd.h>
@@ -186,6 +187,29 @@ static void __init nhk8815_onenand_init(void)
#endif
}

static struct mmci_platform_data mmcsd_plat_data = {
	.ocr_mask = MMC_VDD_29_30,
	.f_max = 48000000,
	.gpio_wp = -1,
	.gpio_cd = 111,
	.cd_invert = true,
	.capabilities = MMC_CAP_MMC_HIGHSPEED |
	MMC_CAP_SD_HIGHSPEED | MMC_CAP_4_BIT_DATA,
};

static int __init nhk8815_mmcsd_init(void)
{
	int ret;

	ret = gpio_request(112, "card detect bias");
	if (ret)
		return ret;
	gpio_direction_output(112, 0);
	amba_apb_device_add(NULL, "mmci", NOMADIK_SDI_BASE, SZ_4K, IRQ_SDMMC, 0, &mmcsd_plat_data, 0x10180180);
	return 0;
}
module_init(nhk8815_mmcsd_init);

static struct resource nhk8815_eth_resources[] = {
	{
		.name = "smc91x-regs",