fix bifferboard flash map, thanks bifferos (#7622)

SVN-Revision: 22258
v19.07.3_mercusys_ac12_duma
Florian Fainelli 14 years ago
parent 5571c233e9
commit 3184a71056

@ -384,7 +384,7 @@
+arch_initcall(ar525w_setup); +arch_initcall(ar525w_setup);
--- /dev/null --- /dev/null
+++ b/arch/x86/mach-rdc321x/boards/bifferboard.c +++ b/arch/x86/mach-rdc321x/boards/bifferboard.c
@@ -0,0 +1,81 @@ @@ -0,0 +1,69 @@
+/* +/*
+ * Bifferboard RDC321x platform devices + * Bifferboard RDC321x platform devices
+ * + *
@ -421,38 +421,26 @@
+ u32 kernel_len; + u32 kernel_len;
+ u16 tmp; + u16 tmp;
+ +
+ if (master->size == 0x100000) + res = master->read(master, 0x4000 + 1036, 2, &len, (char *) &tmp);
+ kernel_len = master->size - 0x10000; + if (res)
+ else { + return res;
+ res = master->read(master, 0x4000 + 1036, 2, &len, (char *) &tmp); + kernel_len = tmp * master->erasesize;
+ if (res)
+ return res;
+ kernel_len = tmp * master->erasesize;
+ }
+ +
+ rdc_flash_parts = kzalloc(sizeof(struct mtd_partition) * 4, GFP_KERNEL); + rdc_flash_parts = kzalloc(sizeof(struct mtd_partition) * 3, GFP_KERNEL);
+ +
+ *pparts = rdc_flash_parts; + *pparts = rdc_flash_parts;
+ +
+ rdc_flash_parts[0].name = "biffboot"; + rdc_flash_parts[0].name = "kernel";
+ rdc_flash_parts[0].offset = master->size - 0x10000; + rdc_flash_parts[0].offset = 0;
+ rdc_flash_parts[0].size = 0x10000; + rdc_flash_parts[0].size = kernel_len;
+ rdc_flash_parts[0].mask_flags = MTD_WRITEABLE; + rdc_flash_parts[1].name = "rootfs";
+ rdc_flash_parts[1].name = "firmware"; + rdc_flash_parts[1].offset = kernel_len;
+ rdc_flash_parts[1].offset = 0; + rdc_flash_parts[1].size = master->size - kernel_len - 0x10000;
+ rdc_flash_parts[1].size = rdc_flash_parts[0].offset; + rdc_flash_parts[2].name = "biffboot";
+ rdc_flash_parts[2].name = "kernel"; + rdc_flash_parts[2].offset = master->size - 0x10000;
+ rdc_flash_parts[2].offset = 0x00000000; + rdc_flash_parts[2].size = 0x10000;
+ rdc_flash_parts[2].size = kernel_len;
+
+ if (master->size == 0x100000)
+ return 2;
+
+ rdc_flash_parts[3].name = "rootfs";
+ rdc_flash_parts[3].offset = MTDPART_OFS_APPEND;
+ rdc_flash_parts[3].size = rdc_flash_parts[1].size - rdc_flash_parts[2].size;
+ +
+ return 4; + return 3;
+} +}
+ +
+struct mtd_part_parser __initdata bifferboard_parser = { +struct mtd_part_parser __initdata bifferboard_parser = {

Loading…
Cancel
Save