diff options
| -rw-r--r-- | arch/sh/boards/mach-highlander/setup.c | 49 | ||||
| -rw-r--r-- | arch/sh/include/mach-common/mach/highlander.h | 3 |
2 files changed, 52 insertions, 0 deletions
diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c index 20fe72c515d5..df054e54bab3 100644 --- a/arch/sh/boards/mach-highlander/setup.c +++ b/arch/sh/boards/mach-highlander/setup.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
| 18 | #include <linux/ata_platform.h> | 18 | #include <linux/ata_platform.h> |
| 19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
| 20 | #include <linux/mtd/physmap.h> | ||
| 20 | #include <linux/i2c.h> | 21 | #include <linux/i2c.h> |
| 21 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
| 22 | #include <net/ax88796.h> | 23 | #include <net/ax88796.h> |
| @@ -178,6 +179,53 @@ static struct platform_device ax88796_device = { | |||
| 178 | .resource = ax88796_resources, | 179 | .resource = ax88796_resources, |
| 179 | }; | 180 | }; |
| 180 | 181 | ||
| 182 | static struct mtd_partition nor_flash_partitions[] = { | ||
| 183 | { | ||
| 184 | .name = "loader", | ||
| 185 | .offset = 0x00000000, | ||
| 186 | .size = 512 * 1024, | ||
| 187 | }, | ||
| 188 | { | ||
| 189 | .name = "bootenv", | ||
| 190 | .offset = MTDPART_OFS_APPEND, | ||
| 191 | .size = 512 * 1024, | ||
| 192 | }, | ||
| 193 | { | ||
| 194 | .name = "kernel", | ||
| 195 | .offset = MTDPART_OFS_APPEND, | ||
| 196 | .size = 4 * 1024 * 1024, | ||
| 197 | }, | ||
| 198 | { | ||
| 199 | .name = "data", | ||
| 200 | .offset = MTDPART_OFS_APPEND, | ||
| 201 | .size = MTDPART_SIZ_FULL, | ||
| 202 | }, | ||
| 203 | }; | ||
| 204 | |||
| 205 | static struct physmap_flash_data nor_flash_data = { | ||
| 206 | .width = 4, | ||
| 207 | .parts = nor_flash_partitions, | ||
| 208 | .nr_parts = ARRAY_SIZE(nor_flash_partitions), | ||
| 209 | }; | ||
| 210 | |||
| 211 | /* This config is flash board for mass production. */ | ||
| 212 | static struct resource nor_flash_resources[] = { | ||
| 213 | [0] = { | ||
| 214 | .start = PA_NORFLASH_ADDR, | ||
| 215 | .end = PA_NORFLASH_ADDR + PA_NORFLASH_SIZE - 1, | ||
| 216 | .flags = IORESOURCE_MEM, | ||
| 217 | } | ||
| 218 | }; | ||
| 219 | |||
| 220 | static struct platform_device nor_flash_device = { | ||
| 221 | .name = "physmap-flash", | ||
| 222 | .dev = { | ||
| 223 | .platform_data = &nor_flash_data, | ||
| 224 | }, | ||
| 225 | .num_resources = ARRAY_SIZE(nor_flash_resources), | ||
| 226 | .resource = nor_flash_resources, | ||
| 227 | }; | ||
| 228 | |||
| 181 | static struct resource smbus_resources[] = { | 229 | static struct resource smbus_resources[] = { |
| 182 | [0] = { | 230 | [0] = { |
| 183 | .start = PA_SMCR, | 231 | .start = PA_SMCR, |
| @@ -209,6 +257,7 @@ static struct platform_device *r7780rp_devices[] __initdata = { | |||
| 209 | &m66592_usb_peripheral_device, | 257 | &m66592_usb_peripheral_device, |
| 210 | &heartbeat_device, | 258 | &heartbeat_device, |
| 211 | &smbus_device, | 259 | &smbus_device, |
| 260 | &nor_flash_device, | ||
| 212 | #ifndef CONFIG_SH_R7780RP | 261 | #ifndef CONFIG_SH_R7780RP |
| 213 | &ax88796_device, | 262 | &ax88796_device, |
| 214 | #endif | 263 | #endif |
diff --git a/arch/sh/include/mach-common/mach/highlander.h b/arch/sh/include/mach-common/mach/highlander.h index bd26a848cb0b..5d9d4d5154be 100644 --- a/arch/sh/include/mach-common/mach/highlander.h +++ b/arch/sh/include/mach-common/mach/highlander.h | |||
| @@ -2,6 +2,9 @@ | |||
| 2 | #define __ASM_SH_RENESAS_R7780RP_H | 2 | #define __ASM_SH_RENESAS_R7780RP_H |
| 3 | 3 | ||
| 4 | /* Box specific addresses. */ | 4 | /* Box specific addresses. */ |
| 5 | #define PA_NORFLASH_ADDR 0x00000000 | ||
| 6 | #define PA_NORFLASH_SIZE 0x04000000 | ||
| 7 | |||
| 5 | #if defined(CONFIG_SH_R7780MP) | 8 | #if defined(CONFIG_SH_R7780MP) |
| 6 | #define PA_BCR 0xa4000000 /* FPGA */ | 9 | #define PA_BCR 0xa4000000 /* FPGA */ |
| 7 | #define PA_SDPOW (-1) | 10 | #define PA_SDPOW (-1) |
