diff options
Diffstat (limited to 'target/linux/gemini/patches/003-wbd111-static-flash-map.patch')
| -rw-r--r-- | target/linux/gemini/patches/003-wbd111-static-flash-map.patch | 62 | 
1 files changed, 62 insertions, 0 deletions
diff --git a/target/linux/gemini/patches/003-wbd111-static-flash-map.patch b/target/linux/gemini/patches/003-wbd111-static-flash-map.patch new file mode 100644 index 000000000..9a2b2bd29 --- /dev/null +++ b/target/linux/gemini/patches/003-wbd111-static-flash-map.patch @@ -0,0 +1,62 @@ +--- a/arch/arm/mach-gemini/board-wbd111.c ++++ b/arch/arm/mach-gemini/board-wbd111.c +@@ -15,6 +15,7 @@ + #include <linux/input.h> + #include <linux/gpio_keys.h> + #include <linux/mdio-gpio.h> ++#include <linux/mtd/partitions.h> + #include <asm/mach-types.h> + #include <asm/mach/arch.h> + #include <asm/mach/time.h> +@@ -101,11 +102,50 @@ static struct sys_timer wbd111_timer = { + 	.init	= gemini_timer_init, + }; +  ++#ifdef CONFIG_MTD_PARTITIONS ++static struct mtd_partition wbd111_partitions[] = { ++	{ ++		.name		= "RedBoot", ++		.offset		= 0, ++		.size		= 0x020000, ++		.mask_flags	= MTD_WRITEABLE, ++	} , { ++		.name		= "kernel", ++		.offset		= 0x020000, ++		.size		= 0x100000, ++	} , { ++		.name		= "rootfs", ++		.offset		= 0x120000, ++		.size		= 0x6a0000, ++	} , { ++		.name		= "VCTL", ++		.offset		= 0x7c0000, ++		.size		= 0x010000, ++		.mask_flags	= MTD_WRITEABLE, ++	} , { ++		.name		= "cfg", ++		.offset		= 0x7d0000, ++		.size		= 0x010000, ++		.mask_flags	= MTD_WRITEABLE, ++	} , { ++		.name		= "FIS", ++		.offset		= 0x7e0000, ++		.size		= 0x010000, ++		.mask_flags	= MTD_WRITEABLE, ++	} ++}; ++#define wbd111_num_partitions	ARRAY_SIZE(wbd111_partitions) ++#else ++#define wbd111_partitions	NULL ++#define wbd111_num_partitions	0 ++#endif /* CONFIG_MTD_PARTITIONS */ ++ + static void __init wbd111_init(void) + { + 	gemini_gpio_init(); + 	platform_register_uart(); +-	platform_register_pflash(SZ_8M, NULL, 0); ++	platform_register_pflash(SZ_8M, wbd111_partitions, ++				 wbd111_num_partitions); + 	platform_device_register(&wbd111_leds_device); + 	platform_device_register(&wbd111_keys_device); + 	platform_device_register(&wbd111_phy_device);  | 
