|
@@ -17,6 +17,7 @@
|
|
#include <linux/platform_device.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/ata_platform.h>
|
|
#include <linux/ata_platform.h>
|
|
#include <linux/types.h>
|
|
#include <linux/types.h>
|
|
|
|
+#include <linux/mtd/physmap.h>
|
|
#include <linux/i2c.h>
|
|
#include <linux/i2c.h>
|
|
#include <linux/irq.h>
|
|
#include <linux/irq.h>
|
|
#include <net/ax88796.h>
|
|
#include <net/ax88796.h>
|
|
@@ -178,6 +179,53 @@ static struct platform_device ax88796_device = {
|
|
.resource = ax88796_resources,
|
|
.resource = ax88796_resources,
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static struct mtd_partition nor_flash_partitions[] = {
|
|
|
|
+ {
|
|
|
|
+ .name = "loader",
|
|
|
|
+ .offset = 0x00000000,
|
|
|
|
+ .size = 512 * 1024,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "bootenv",
|
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
|
+ .size = 512 * 1024,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "kernel",
|
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
|
+ .size = 4 * 1024 * 1024,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .name = "data",
|
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
|
+ .size = MTDPART_SIZ_FULL,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct physmap_flash_data nor_flash_data = {
|
|
|
|
+ .width = 4,
|
|
|
|
+ .parts = nor_flash_partitions,
|
|
|
|
+ .nr_parts = ARRAY_SIZE(nor_flash_partitions),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* This config is flash board for mass production. */
|
|
|
|
+static struct resource nor_flash_resources[] = {
|
|
|
|
+ [0] = {
|
|
|
|
+ .start = PA_NORFLASH_ADDR,
|
|
|
|
+ .end = PA_NORFLASH_ADDR + PA_NORFLASH_SIZE - 1,
|
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct platform_device nor_flash_device = {
|
|
|
|
+ .name = "physmap-flash",
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = &nor_flash_data,
|
|
|
|
+ },
|
|
|
|
+ .num_resources = ARRAY_SIZE(nor_flash_resources),
|
|
|
|
+ .resource = nor_flash_resources,
|
|
|
|
+};
|
|
|
|
+
|
|
static struct resource smbus_resources[] = {
|
|
static struct resource smbus_resources[] = {
|
|
[0] = {
|
|
[0] = {
|
|
.start = PA_SMCR,
|
|
.start = PA_SMCR,
|
|
@@ -209,6 +257,7 @@ static struct platform_device *r7780rp_devices[] __initdata = {
|
|
&m66592_usb_peripheral_device,
|
|
&m66592_usb_peripheral_device,
|
|
&heartbeat_device,
|
|
&heartbeat_device,
|
|
&smbus_device,
|
|
&smbus_device,
|
|
|
|
+ &nor_flash_device,
|
|
#ifndef CONFIG_SH_R7780RP
|
|
#ifndef CONFIG_SH_R7780RP
|
|
&ax88796_device,
|
|
&ax88796_device,
|
|
#endif
|
|
#endif
|