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

Commit 2ee2948e authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Sekhar Nori
Browse files

ARM: davinci: dm644x-evm: use aemif platform driver



We now support board files in the aemif driver. Register a platform
device instead of using the handcrafted API in dm644x-evm.

Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
parent 8c03a888
Loading
Loading
Loading
Loading
+42 −13
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@
#include <linux/platform_data/mmc-davinci.h>
#include <linux/platform_data/usb-davinci.h>
#include <linux/platform_data/mtd-davinci-aemif.h>
#include <linux/platform_data/ti-aemif.h>

#include "davinci.h"

@@ -174,7 +175,22 @@ static struct resource davinci_evm_nandflash_resource[] = {
	},
};

static struct platform_device davinci_evm_nandflash_device = {
static struct resource davinci_evm_aemif_resource[] = {
	{
		.start		= DM644X_ASYNC_EMIF_CONTROL_BASE,
		.end		= DM644X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
		.flags		= IORESOURCE_MEM,
	},
};

static struct aemif_abus_data davinci_evm_aemif_abus_data[] = {
	{
		.cs		= 1,
	},
};

static struct platform_device davinci_evm_nandflash_devices[] = {
	{
		.name		= "davinci_nand",
		.id		= 0,
		.dev		= {
@@ -182,6 +198,24 @@ static struct platform_device davinci_evm_nandflash_device = {
		},
		.num_resources	= ARRAY_SIZE(davinci_evm_nandflash_resource),
		.resource	= davinci_evm_nandflash_resource,
	},
};

static struct aemif_platform_data davinci_evm_aemif_pdata = {
	.abus_data = davinci_evm_aemif_abus_data,
	.num_abus_data = ARRAY_SIZE(davinci_evm_aemif_abus_data),
	.sub_devices = davinci_evm_nandflash_devices,
	.num_sub_devices = ARRAY_SIZE(davinci_evm_nandflash_devices),
};

static struct platform_device davinci_evm_aemif_device = {
	.name			= "ti-aemif",
	.id			= -1,
	.dev = {
		.platform_data	= &davinci_evm_aemif_pdata,
	},
	.resource		= davinci_evm_aemif_resource,
	.num_resources		= ARRAY_SIZE(davinci_evm_aemif_resource),
};

static u64 davinci_fb_dma_mask = DMA_BIT_MASK(32);
@@ -795,12 +829,7 @@ static __init void davinci_evm_init(void)

		/* only one device will be jumpered and detected */
		if (HAS_NAND) {
			platform_device_register(&davinci_evm_nandflash_device);

			if (davinci_aemif_setup(&davinci_evm_nandflash_device))
				pr_warn("%s: Cannot configure AEMIF\n",
					__func__);

			platform_device_register(&davinci_evm_aemif_device);
#ifdef CONFIG_I2C
			evm_leds[7].default_trigger = "nand-disk";
#endif