FreeCalypso > hg > freecalypso-tools
annotate loadtools/flashid.c @ 921:74d284add54d
fc-fsio: guard against bogus readdir results from the target
If the FFS being operated on contains SE K2x0 extended filenames,
readdir will return strings that are bad for printing. We need to
guard against this possibility, and also against possible other
bogosity that could be sent by other alien firmwares.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 31 Dec 2022 22:55:23 +0000 |
parents | 54a0bc149d9c |
children | 7c18eac91457 |
rev | line source |
---|---|
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * Flash device detection code lives here |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 #include <sys/types.h> |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <stdio.h> |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdint.h> |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <stdlib.h> |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include "flash.h" |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 extern struct flash_device flashdev_28F160C3T; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 extern struct flash_device flashdev_28F320C3T; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 extern struct flash_device flashdev_28F640C3T; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 extern struct flash_device flashdev_28F640C3B; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 extern struct flash_device flashdev_28F640W30T; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 extern struct flash_device flashdev_28F640W30B; |
553
3886a8a40809
fc-loadtool: added support for old Am29DL640G flash chip
Mychaela Falconia <falcon@freecalypso.org>
parents:
523
diff
changeset
|
17 extern struct flash_device flashdev_Am29DL640G; |
559
f229efbfd581
fc-loadtool: added support for S29PL032J/S71PL032J flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
553
diff
changeset
|
18 extern struct flash_device flashdev_PL032J; |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 extern struct flash_device flashdev_PL129J; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 extern struct flash_device flashdev_PL129N; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 extern struct flash_device flashdev_K5A32xx_T; |
523
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
22 extern struct flash_device flashdev_K5L33xx_A; |
916
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
23 extern struct flash_device flashdev_K5L29xx_A; |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 extern int flash_global_config; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 extern struct flash_bank_info flash_bank_info[2]; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 static |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 run_cfi_check(bi, table) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 struct flash_bank_info *bi; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 struct cfi_check *table; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 struct cfi_check *tp; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 uint16_t rdword; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 for (tp = table; tp->offset >= 0; tp++) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 if (do_r16(bi->base_addr + (tp->offset << 1), &rdword) < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 if (rdword != tp->expect_val) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 return(0); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 return(1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 static |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 try_device(bi, dev) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 struct flash_bank_info *bi; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 struct flash_device *dev; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 int rc; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 printf("Appears to be %s or compatible, checking CFI\n", dev->name); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 if (do_w16(bi->base_addr + 0xAA, 0x98)) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 fprintf(stderr, "unexpected response to w16 - aborting\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 rc = run_cfi_check(bi, dev->cfi_table); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 if (rc < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 return(rc); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 if (!rc) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 fprintf(stderr, "Error: CFI mismatch, unsafe to continue\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 printf("Confirmed %s or compatible\n", dev->name); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 bi->device = dev; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 return(0); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 static |
916
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
70 try_device_amdreset(bi, dev) |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
71 struct flash_bank_info *bi; |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
72 struct flash_device *dev; |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
73 { |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
74 int rc; |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
75 |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
76 printf("Appears to be %s or compatible, checking CFI\n", dev->name); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
77 /* need to go back to read array first, CFI cmd ignored otherwise */ |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
78 if (do_w16(bi->base_addr + 0xAAA, 0xF0)) { |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
79 bad_w16: fprintf(stderr, "unexpected response to w16 - aborting\n"); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
80 return(-1); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
81 } |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
82 if (do_w16(bi->base_addr + 0xAA, 0x98)) |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
83 goto bad_w16; |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
84 rc = run_cfi_check(bi, dev->cfi_table); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
85 if (rc < 0) |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
86 return(rc); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
87 if (!rc) { |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
88 fprintf(stderr, "Error: CFI mismatch, unsafe to continue\n"); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
89 return(-1); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
90 } |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
91 printf("Confirmed %s or compatible\n", dev->name); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
92 bi->device = dev; |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
93 return(0); |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
94 } |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
95 |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
96 static |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 spansion_pl129j_or_n(bi) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 struct flash_bank_info *bi; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 int rc; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 printf("Spansion PL129J or PL129N, looking at CFI\n"); |
507
c942be3c7997
new flash support works for PL129N on the Pirelli
Mychaela Falconia <falcon@freecalypso.org>
parents:
506
diff
changeset
|
103 /* need to go back to read array first, CFI cmd ignored otherwise */ |
c942be3c7997
new flash support works for PL129N on the Pirelli
Mychaela Falconia <falcon@freecalypso.org>
parents:
506
diff
changeset
|
104 if (do_w16(bi->base_addr + 0xAAA, 0xF0)) { |
c942be3c7997
new flash support works for PL129N on the Pirelli
Mychaela Falconia <falcon@freecalypso.org>
parents:
506
diff
changeset
|
105 bad_w16: fprintf(stderr, "unexpected response to w16 - aborting\n"); |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 } |
507
c942be3c7997
new flash support works for PL129N on the Pirelli
Mychaela Falconia <falcon@freecalypso.org>
parents:
506
diff
changeset
|
108 if (do_w16(bi->base_addr + 0xAAA, 0x98)) |
c942be3c7997
new flash support works for PL129N on the Pirelli
Mychaela Falconia <falcon@freecalypso.org>
parents:
506
diff
changeset
|
109 goto bad_w16; |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 rc = run_cfi_check(bi, flashdev_PL129N.cfi_table); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 if (rc < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 return(rc); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 if (rc) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 printf("Found PL129N\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 bi->device = &flashdev_PL129N; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 return(0); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 rc = run_cfi_check(bi, flashdev_PL129J.cfi_table); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 if (rc < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 return(rc); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 if (rc) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 printf("Found PL129J\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 bi->device = &flashdev_PL129J; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 return(0); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 fprintf(stderr, "Error: no matching CFI found\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 static |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 amd_extended_id(bi) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 struct flash_bank_info *bi; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 uint16_t ext1, ext2; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 |
507
c942be3c7997
new flash support works for PL129N on the Pirelli
Mychaela Falconia <falcon@freecalypso.org>
parents:
506
diff
changeset
|
136 printf("AMD-style extended ID device, reading extended ID\n"); |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 if (do_r16(bi->base_addr + 0x1C, &ext1) < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 if (do_r16(bi->base_addr + 0x1E, &ext2) < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 printf("Extended ID: %04X %04X\n", ext1, ext2); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 if (ext1 == 0x2221 && ext2 == 0x2200) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 return spansion_pl129j_or_n(bi); |
553
3886a8a40809
fc-loadtool: added support for old Am29DL640G flash chip
Mychaela Falconia <falcon@freecalypso.org>
parents:
523
diff
changeset
|
144 if (ext1 == 0x2202 && ext2 == 0x2201) |
3886a8a40809
fc-loadtool: added support for old Am29DL640G flash chip
Mychaela Falconia <falcon@freecalypso.org>
parents:
523
diff
changeset
|
145 return try_device(bi, &flashdev_Am29DL640G); |
559
f229efbfd581
fc-loadtool: added support for S29PL032J/S71PL032J flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
553
diff
changeset
|
146 if (ext1 == 0x220A && ext2 == 0x2201) |
f229efbfd581
fc-loadtool: added support for S29PL032J/S71PL032J flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
553
diff
changeset
|
147 return try_device(bi, &flashdev_PL032J); |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 fprintf(stderr, "Error: unknown device ID\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 |
523
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
152 static |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
153 samsung_extended_id(bi) |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
154 struct flash_bank_info *bi; |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
155 { |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
156 uint16_t ext1, ext2; |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
157 |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
158 printf("Samsung extended ID device, reading extended ID\n"); |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
159 if (do_r16(bi->base_addr + 0x1C, &ext1) < 0) |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
160 return(-1); |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
161 if (do_r16(bi->base_addr + 0x1E, &ext2) < 0) |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
162 return(-1); |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
163 printf("Extended ID: %04X %04X\n", ext1, ext2); |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
164 if (ext1 == 0x2503 && ext2 == 0x2501) |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
165 return try_device(bi, &flashdev_K5L33xx_A); |
916
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
166 if (ext1 == 0x2508 && ext2 == 0x2501) |
54a0bc149d9c
fc-loadtool: add support for Samsung K5L29xx_A flash
Mychaela Falconia <falcon@freecalypso.org>
parents:
559
diff
changeset
|
167 return try_device_amdreset(bi, &flashdev_K5L29xx_A); |
523
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
168 fprintf(stderr, "Error: unknown device ID\n"); |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
169 return(-1); |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
170 } |
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
171 |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 static struct idmap { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 uint16_t manuf_id; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 uint16_t dev_id; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 int (*handler)(); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 void *extra_arg; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 } device_id_table[] = { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 /* AMD/Spansion devices */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 {0x0001, 0x227E, amd_extended_id, 0}, |
511
0212edcec4d2
loadtools/flashid.c: added alt ID for 28F320C3T equiv in Mot C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
507
diff
changeset
|
180 /* 28F160C3T and 28F320C3T equivalents found in some Mot C1xx phones */ |
0212edcec4d2
loadtools/flashid.c: added alt ID for 28F320C3T equiv in Mot C139
Mychaela Falconia <falcon@freecalypso.org>
parents:
507
diff
changeset
|
181 {0x0020, 0x88BA, try_device, &flashdev_28F320C3T}, |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 {0x0020, 0x88CE, try_device, &flashdev_28F160C3T}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 /* Intel flash chips */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 {0x0089, 0x8854, try_device, &flashdev_28F640W30T}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 {0x0089, 0x8855, try_device, &flashdev_28F640W30B}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 {0x0089, 0x8864, try_device, &flashdev_28F640W30T}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 {0x0089, 0x88C2, try_device, &flashdev_28F160C3T}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 {0x0089, 0x88C4, try_device, &flashdev_28F320C3T}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 {0x0089, 0x88CC, try_device, &flashdev_28F640C3T}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 {0x0089, 0x88CD, try_device, &flashdev_28F640C3B}, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 /* Samsung flash */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 {0x00EC, 0x22A0, try_device, &flashdev_K5A32xx_T}, |
523
9a478d33b3ca
fc-loadtool: added Samsung K5L33xx_A flash support for GTM900
Mychaela Falconia <falcon@freecalypso.org>
parents:
511
diff
changeset
|
193 {0x00EC, 0x257E, samsung_extended_id, 0}, |
506
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 /* table search terminator */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 {0, 0, 0, 0} |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 }; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 flash_detect(bank, repeat) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 struct flash_bank_info *bi; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 uint16_t manuf_id, dev_id; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 struct idmap *tp; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 int rc; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 bi = flash_bank_info + bank; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 if (bi->detect_done && !repeat) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 return(0); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 printf("Autodetecting flash chip type\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 if (do_w16(bi->base_addr + 0xAAA, 0xAA)) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 bad_w16: fprintf(stderr, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 "unexpected response to w16 in read ID cmd sequence - aborting\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 if (do_w16(bi->base_addr + 0x554, 0x55)) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 goto bad_w16; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 if (do_w16(bi->base_addr + 0xAAA, 0x90)) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 goto bad_w16; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 if (do_r16(bi->base_addr, &manuf_id) < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 if (do_r16(bi->base_addr + 2, &dev_id) < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 printf("Basic device ID: %04X %04X\n", manuf_id, dev_id); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 for (tp = device_id_table; tp->handler; tp++) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 if (tp->manuf_id == manuf_id && tp->dev_id == dev_id) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 break; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 if (!tp->handler) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 fprintf(stderr, "Error: unknown device ID\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 rc = tp->handler(bi, tp->extra_arg); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 if (rc < 0) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 return(rc); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 /* got the device, see if it is compatible with global config */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 if (bi->device->required_global_config > flash_global_config) { |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 fprintf(stderr, |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 "Error: detected flash device is not compatible with the configured mapping\n"); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 return(-1); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 } |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 /* good to go */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 if (bi->device->bank_geom[1] && bank) |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 bi->geom = bi->device->bank_geom[1]; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 else |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 bi->geom = bi->device->bank_geom[0]; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 bi->ops = bi->device->cmdset; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 bi->detect_done = 1; |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 /* return device to read array mode */ |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 return bi->ops->reset_cmd(bi); |
0dd2c87c1b63
fc-loadtool flash support overhaul
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 } |