summaryrefslogtreecommitdiff
path: root/package/boot/kobs-ng/patches/002-add-init-size-param.patch
blob: e0e89b2aec989729b0682a44a611d851150499a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--- a/src/main.c
+++ b/src/main.c
@@ -94,6 +94,7 @@ void usage(void)
 	"  [KOBS] boot structures config options\n"
 	"    --chip_0_device_path=<path> .......... Device of boot (default /dev/mtd0)\n"
 	"    --chip_1_device_path=<path> .......... The second chip in case of multichip NAND\n"
+	"    --chip_0_size=<size> ................. Override size of chip_0 device\n"
 	"    --search_exponent=<value> ............ NCB field (default 2)\n"
 	"    --data_setup_time=<value> ............ NCB field (default 80)\n"
 	"    --data_hold_time=<value> ............. NCB field (default 60)\n"
--- a/src/mtd.c
+++ b/src/mtd.c
@@ -716,6 +716,11 @@ struct mtd_data *mtd_open(const struct m
 			goto out;
 		}
 
+		/* override MTD size */
+		if (md->cfg.chip_0_size) {
+			miu->size = md->cfg.chip_0_size;
+		}
+
 		/* verify it's a nand */
 		if (miu->type != MTD_NANDFLASH) {
 			fprintf(stderr, "mtd: device %s not NAND\n", mp->name);
@@ -2914,7 +2919,7 @@ static const struct {
 } mtd_int_args[] = {
 	ARG_IGNORE(chip_count),
 	ARG_IGNORE(chip_0_offset),
-	ARG_IGNORE(chip_0_size),
+	ARG(chip_0_size),
 	ARG_IGNORE(chip_1_offset),
 	ARG_IGNORE(chip_1_size),
 	ARG(search_exponent),
@@ -3107,7 +3112,7 @@ void mtd_cfg_dump(struct mtd_config *cfg
 //	Pd(chip_count);
 	Ps(chip_0_device_path);
 //	Pd(chip_0_offset);
-//	Pd(chip_0_size);
+	Pd(chip_0_size);
 	Ps(chip_1_device_path);
 //	Pd(chip_1_offset);
 //	Pd(chip_1_size);