diff options
author | Thibaut VARENE <hacks@slashdirt.org> | 2017-02-15 11:40:06 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-02-22 22:52:20 +0100 |
commit | f6a52bf3374682475e92c1960c19df8e6c1ea9b2 (patch) | |
tree | fab3799d76c561a1c4ab490c8febb7a3e07574dd /target/linux/ar71xx/files/arch | |
parent | 53c862705dc04b6a499c2ed47158bcc20954184c (diff) | |
download | upstream-f6a52bf3374682475e92c1960c19df8e6c1ea9b2.tar.gz upstream-f6a52bf3374682475e92c1960c19df8e6c1ea9b2.tar.bz2 upstream-f6a52bf3374682475e92c1960c19df8e6c1ea9b2.zip |
ar71xx: Enable mtdsplit support for RB SPI NOR devices
This patch enables mtdsplit for the MikroTik subtarget.
It converts mach-rbspi.c to use a single "firmware" partition.
Finally, it converts the SPI NOR profile to metadata images:
the original combined-image format is gone, the images are now
"standard" sysupgrade images with metadata appended.
Note: kernel2minor apparently pads the kernel container to erase-block
boundary, but this is undocumented behaviour, so we do not rely on it
and call pad-to anyway.
Note: in platform.sh, the boards are tested last in platform_check_image()
as this should eventually become the "*)" default case when more devices
switch to metadata images.
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
Diffstat (limited to 'target/linux/ar71xx/files/arch')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c index b6b3338845..aeeeca6243 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c @@ -60,7 +60,6 @@ #define RB_ROUTERBOOT_OFFSET 0x0000 #define RB_BIOS_SIZE 0x1000 #define RB_SOFT_CFG_SIZE 0x1000 -#define RB_KERNEL_SIZE (2 * 1024 * 1024) /* 2MB kernel */ /* Flash partitions indexes */ enum { @@ -69,8 +68,7 @@ enum { RBSPI_PART_BIOS, RBSPI_PART_RBOOT2, RBSPI_PART_SCONF, - RBSPI_PART_KERN, - RBSPI_PART_ROOT, + RBSPI_PART_FIRMW, RBSPI_PARTS }; @@ -79,8 +77,6 @@ static struct mtd_partition rbspi_spi_partitions[RBSPI_PARTS]; /* * Setup the SPI flash partition table based on initial parsing. * The kernel can be at any aligned position and have any size. - * The size of the kernel partition is the desired RB_KERNEL_SIZE - * minus the size of the preceding partitions (128KB). */ static void __init rbspi_init_partitions(const struct rb_info *info) { @@ -114,16 +110,10 @@ static void __init rbspi_init_partitions(const struct rb_info *info) parts[RBSPI_PART_SCONF].offset = info->soft_cfg_offs; parts[RBSPI_PART_SCONF].size = RB_SOFT_CFG_SIZE; - parts[RBSPI_PART_KERN].name = "kernel"; - parts[RBSPI_PART_KERN].offset = parts[RBSPI_PART_SCONF].offset + parts[RBSPI_PART_FIRMW].name = "firmware"; + parts[RBSPI_PART_FIRMW].offset = parts[RBSPI_PART_SCONF].offset + parts[RBSPI_PART_SCONF].size; - parts[RBSPI_PART_KERN].size = RB_KERNEL_SIZE - - parts[RBSPI_PART_KERN].offset; - - parts[RBSPI_PART_ROOT].name = "rootfs"; - parts[RBSPI_PART_ROOT].offset = parts[RBSPI_PART_KERN].offset - + parts[RBSPI_PART_KERN].size; - parts[RBSPI_PART_ROOT].size = MTDPART_SIZ_FULL; + parts[RBSPI_PART_FIRMW].size = MTDPART_SIZ_FULL; } static struct flash_platform_data rbspi_spi_flash_data = { |