Commit 4d5e6fd4 authored by Mike Frysinger's avatar Mike Frysinger
Browse files

Blackfin: bf533-ezkit: add resources for FISP devices



The BF533-EZKIT has two Flash In-System Programming devices hooked up to
the async memory bus, so add resources for the primary flashes and the
SRAMs on the devices.

Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent 2780cd64
Loading
Loading
Loading
Loading
+106 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
#include <linux/platform_device.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/plat-ram.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
@@ -86,6 +87,101 @@ static struct platform_device smc91x_device = {
};
#endif

#if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE)
static const char *map_probes[] = {
	"stm_flash",
	NULL,
};

static struct platdata_mtd_ram stm_pri_data_a = {
	.mapname    = "Flash A Primary",
	.map_probes = map_probes,
	.bankwidth  = 2,
};

static struct resource stm_pri_resource_a = {
	.start = 0x20000000,
	.end   = 0x200fffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device stm_pri_device_a = {
	.name          = "mtd-ram",
	.id            = 0,
	.dev = {
		.platform_data = &stm_pri_data_a,
	},
	.num_resources = 1,
	.resource      = &stm_pri_resource_a,
};

static struct platdata_mtd_ram stm_pri_data_b = {
	.mapname    = "Flash B Primary",
	.map_probes = map_probes,
	.bankwidth  = 2,
};

static struct resource stm_pri_resource_b = {
	.start = 0x20100000,
	.end   = 0x201fffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device stm_pri_device_b = {
	.name          = "mtd-ram",
	.id            = 4,
	.dev = {
		.platform_data = &stm_pri_data_b,
	},
	.num_resources = 1,
	.resource      = &stm_pri_resource_b,
};
#endif

#if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE)
static struct platdata_mtd_ram sram_data_a = {
	.mapname   = "Flash A SRAM",
	.bankwidth = 2,
};

static struct resource sram_resource_a = {
	.start = 0x20240000,
	.end   = 0x2024ffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device sram_device_a = {
	.name          = "mtd-ram",
	.id            = 8,
	.dev = {
		.platform_data = &sram_data_a,
	},
	.num_resources = 1,
	.resource      = &sram_resource_a,
};

static struct platdata_mtd_ram sram_data_b = {
	.mapname   = "Flash B SRAM",
	.bankwidth = 2,
};

static struct resource sram_resource_b = {
	.start = 0x202c0000,
	.end   = 0x202cffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device sram_device_b = {
	.name          = "mtd-ram",
	.id            = 9,
	.dev = {
		.platform_data = &sram_data_b,
	},
	.num_resources = 1,
	.resource      = &sram_resource_b,
};
#endif

#if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE)
static struct mtd_partition bfin_spi_flash_partitions[] = {
	{
@@ -357,6 +453,16 @@ static struct platform_device *ezkit_devices[] __initdata = {

	&bfin_dpmc,

#if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE)
	&stm_pri_device_a,
	&stm_pri_device_b,
#endif

#if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE)
	&sram_device_a,
	&sram_device_b,
#endif

#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
	&smc91x_device,
#endif