summaryrefslogtreecommitdiffstats
path: root/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c')
-rw-r--r--target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c62
1 files changed, 11 insertions, 51 deletions
diff --git a/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c b/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c
index 664492a7e1..5df69f3c4a 100644
--- a/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c
+++ b/target/linux/cns3xxx/files/arch/arm/mach-cns3xxx/laguna.c
@@ -122,13 +122,8 @@ static struct mtd_partition laguna_nor_partitions[] = {
.size = SZ_128K,
.offset = SZ_256K,
}, {
- .name = "kernel",
- .size = SZ_2M,
+ .name = "firmware",
.offset = SZ_256K + SZ_128K,
- }, {
- .name = "rootfs",
- .size = SZ_16M - SZ_256K - SZ_128K - SZ_2M,
- .offset = SZ_256K + SZ_128K + SZ_2M,
},
};
@@ -168,13 +163,8 @@ static struct mtd_partition laguna_spi_partitions[] = {
.size = SZ_256K,
.offset = SZ_256K,
}, {
- .name = "kernel",
- .size = SZ_1M + SZ_512K,
+ .name = "firmware",
.offset = SZ_512K,
- }, {
- .name = "rootfs",
- .size = SZ_16M - SZ_2M,
- .offset = SZ_2M,
},
};
@@ -1017,49 +1007,19 @@ static int __init laguna_model_setup(void)
platform_device_register(&laguna_uart);
if (laguna_info.config2_bitmap & (NOR_FLASH_LOAD)) {
- switch (laguna_info.nor_flash_size) {
- case 1:
- laguna_nor_partitions[3].size = SZ_8M - SZ_256K - SZ_128K - SZ_2M;
- laguna_nor_res.end = CNS3XXX_FLASH_BASE + SZ_8M - 1;
- break;
- case 2:
- laguna_nor_partitions[3].size = SZ_16M - SZ_256K - SZ_128K - SZ_2M;
- laguna_nor_res.end = CNS3XXX_FLASH_BASE + SZ_16M - 1;
- break;
- case 3:
- laguna_nor_partitions[3].size = SZ_32M - SZ_256K - SZ_128K - SZ_2M;
- laguna_nor_res.end = CNS3XXX_FLASH_BASE + SZ_32M - 1;
- break;
- case 4:
- laguna_nor_partitions[3].size = SZ_64M - SZ_256K - SZ_128K - SZ_2M;
- laguna_nor_res.end = CNS3XXX_FLASH_BASE + SZ_64M - 1;
- break;
- case 5:
- laguna_nor_partitions[3].size = SZ_128M - SZ_256K - SZ_128K - SZ_2M;
- laguna_nor_res.end = CNS3XXX_FLASH_BASE + SZ_128M - 1;
- break;
- }
+ laguna_nor_partitions[2].size =
+ (SZ_4M << laguna_info.nor_flash_size) -
+ laguna_nor_partitions[2].offset;
+ laguna_nor_res.end = CNS3XXX_FLASH_BASE +
+ laguna_nor_partitions[2].offset +
+ laguna_nor_partitions[2].size - 1;
platform_device_register(&laguna_nor_pdev);
}
if (laguna_info.config2_bitmap & (SPI_FLASH_LOAD)) {
- switch (laguna_info.spi_flash_size) {
- case 1:
- laguna_spi_partitions[3].size = SZ_4M - SZ_2M;
- break;
- case 2:
- laguna_spi_partitions[3].size = SZ_8M - SZ_2M;
- break;
- case 3:
- laguna_spi_partitions[3].size = SZ_16M - SZ_2M;
- break;
- case 4:
- laguna_spi_partitions[3].size = SZ_32M - SZ_2M;
- break;
- case 5:
- laguna_spi_partitions[3].size = SZ_64M - SZ_2M;
- break;
- }
+ laguna_spi_partitions[2].size =
+ (SZ_2M << laguna_info.spi_flash_size) -
+ laguna_spi_partitions[2].offset;
spi_register_board_info(ARRAY_AND_SIZE(laguna_spi_devices));
}