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

Commit de8c43f2 authored by Mike Frysinger's avatar Mike Frysinger Committed by Bryan Wu
Browse files

[Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver

parent 96a5c6f9
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -268,11 +268,6 @@ config MEM_MT48LC32M16A2TG_75
	depends on (BFIN527_EZKIT)
	default y

config BFIN_SHARED_FLASH_ENET
	bool
	depends on (BFIN533_STAMP)
	default y

source "arch/blackfin/mach-bf527/Kconfig"
source "arch/blackfin/mach-bf533/Kconfig"
source "arch/blackfin/mach-bf561/Kconfig"
+47 −5
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/physmap.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
@@ -108,6 +109,50 @@ static struct platform_device net2272_bfin_device = {
};
#endif

static struct mtd_partition stamp_partitions[] = {
	{
		.name   = "Bootloader",
		.size   = 0x20000,
		.offset = 0,
	}, {
		.name   = "Kernel",
		.size   = 0xE0000,
		.offset = MTDPART_OFS_APPEND,
	}, {
		.name   = "RootFS",
		.size   = MTDPART_SIZ_FULL,
		.offset = MTDPART_OFS_APPEND,
	}
};

static struct physmap_flash_data stamp_flash_data = {
	.width    = 2,
	.parts    = stamp_partitions,
	.nr_parts = ARRAY_SIZE(stamp_partitions),
};

static struct resource stamp_flash_resource[] = {
	{
		.name  = "cfi_probe",
		.start = 0x20000000,
		.end   = 0x203fffff,
		.flags = IORESOURCE_MEM,
	}, {
		.start = CONFIG_ENET_FLASH_PIN,
		.flags = IORESOURCE_IRQ,
	}
};

static struct platform_device stamp_flash_device = {
	.name          = "BF5xx-Flash",
	.id            = 0,
	.dev = {
		.platform_data = &stamp_flash_data,
	},
	.num_resources = ARRAY_SIZE(stamp_flash_resource),
	.resource      = stamp_flash_resource,
};

#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
/* all SPI peripherals info goes here */

@@ -457,6 +502,7 @@ static struct platform_device *stamp_devices[] __initdata = {
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
	&i2c_gpio_device,
#endif
	&stamp_flash_device,
};

static int __init stamp_init(void)
@@ -469,13 +515,11 @@ static int __init stamp_init(void)
		return ret;

#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
# if defined(CONFIG_BFIN_SHARED_FLASH_ENET)
	/* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */
	bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN));
	bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN);
	SSYNC();
#endif
#endif

#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
	spi_register_board_info(bfin_spi_board_info,
@@ -491,10 +535,8 @@ arch_initcall(stamp_init);

void native_machine_restart(char *cmd)
{
#if defined(CONFIG_BFIN_SHARED_FLASH_ENET)
#define BIT_TO_SET (1 << CONFIG_ENET_FLASH_PIN)
	bfin_write_FIO_INEN(~BIT_TO_SET);
	bfin_write_FIO_DIR(BIT_TO_SET);
	bfin_write_FIO_FLAG_C(BIT_TO_SET);
#endif
}
+45 −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/physmap.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
@@ -339,6 +340,49 @@ static struct platform_device net2272_bfin_device = {
};
#endif

static struct mtd_partition stamp_partitions[] = {
	{
		.name       = "Bootloader",
		.size       = 0x20000,
		.offset     = 0,
	}, {
		.name       = "Kernel",
		.size       = 0xE0000,
		.offset     = MTDPART_OFS_APPEND,
	}, {
		.name       = "RootFS",
		.size       = 0x400000 - 0x20000 - 0xE0000 - 0x10000,
		.offset     = MTDPART_OFS_APPEND,
	}, {
		.name       = "MAC Address",
		.size       = MTDPART_SIZ_FULL,
		.offset     = 0x3F0000,
		.mask_flags = MTD_WRITEABLE,
	}
};

static struct physmap_flash_data stamp_flash_data = {
	.width      = 2,
	.parts      = stamp_partitions,
	.nr_parts   = ARRAY_SIZE(stamp_partitions),
};

static struct resource stamp_flash_resource = {
	.start = 0x20000000,
	.end   = 0x203fffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device stamp_flash_device = {
	.name          = "physmap-flash",
	.id            = 0,
	.dev = {
		.platform_data = &stamp_flash_data,
	},
	.num_resources = 1,
	.resource      = &stamp_flash_resource,
};

#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
/* all SPI peripherals info goes here */

@@ -761,6 +805,7 @@ static struct platform_device *stamp_devices[] __initdata = {
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
	&bfin_device_gpiokeys,
#endif
	&stamp_flash_device,
};

static int __init stamp_init(void)
+40 −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/physmap.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/irq.h>
@@ -327,6 +328,44 @@ static struct platform_device bf54x_sdh_device = {
};
#endif

static struct mtd_partition ezkit_partitions[] = {
	{
		.name       = "Bootloader",
		.size       = 0x20000,
		.offset     = 0,
	}, {
		.name       = "Kernel",
		.size       = 0xE0000,
		.offset     = MTDPART_OFS_APPEND,
	}, {
		.name       = "RootFS",
		.size       = MTDPART_SIZ_FULL,
		.offset     = MTDPART_OFS_APPEND,
	}
};

static struct physmap_flash_data ezkit_flash_data = {
	.width      = 2,
	.parts      = ezkit_partitions,
	.nr_parts   = ARRAY_SIZE(ezkit_partitions),
};

static struct resource ezkit_flash_resource = {
	.start = 0x20000000,
	.end   = 0x20ffffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device ezkit_flash_device = {
	.name          = "physmap-flash",
	.id            = 0,
	.dev = {
		.platform_data = &ezkit_flash_data,
	},
	.num_resources = 1,
	.resource      = &ezkit_flash_resource,
};

#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE)
/* all SPI peripherals info goes here */
#if defined(CONFIG_MTD_M25P80) \
@@ -589,6 +628,7 @@ static struct platform_device *ezkit_devices[] __initdata = {
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
	&bfin_device_gpiokeys,
#endif
	&ezkit_flash_device,
};

static int __init stamp_init(void)
+42 −0
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@

#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h>
#include <linux/spi/spi.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
@@ -155,6 +158,44 @@ static struct platform_device bfin_uart_device = {
};
#endif

static struct mtd_partition ezkit_partitions[] = {
	{
		.name       = "Bootloader",
		.size       = 0x20000,
		.offset     = 0,
	}, {
		.name       = "Kernel",
		.size       = 0xE0000,
		.offset     = MTDPART_OFS_APPEND,
	}, {
		.name       = "RootFS",
		.size       = MTDPART_SIZ_FULL,
		.offset     = MTDPART_OFS_APPEND,
	}
};

static struct physmap_flash_data ezkit_flash_data = {
	.width      = 2,
	.parts      = ezkit_partitions,
	.nr_parts   = ARRAY_SIZE(ezkit_partitions),
};

static struct resource ezkit_flash_resource = {
	.start = 0x20000000,
	.end   = 0x207fffff,
	.flags = IORESOURCE_MEM,
};

static struct platform_device ezkit_flash_device = {
	.name          = "physmap-flash",
	.id            = 0,
	.dev = {
		.platform_data = &ezkit_flash_data,
	},
	.num_resources = 1,
	.resource      = &ezkit_flash_resource,
};

#ifdef CONFIG_SPI_BFIN
#if defined(CONFIG_SND_BLACKFIN_AD1836) \
	|| defined(CONFIG_SND_BLACKFIN_AD1836_MODULE)
@@ -318,6 +359,7 @@ static struct platform_device *ezkit_devices[] __initdata = {
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
	&i2c_gpio_device,
#endif
	&ezkit_flash_device,
};

static int __init ezkit_init(void)