Lines Matching refs:map

27 static int cfi_probe_chip(struct map_info *map, __u32 base,
29 static int cfi_chip_setup(struct map_info *map, struct cfi_private *cfi);
31 struct mtd_info *cfi_probe(struct map_info *map);
38 #define xip_allowed(base, map) \ argument
40 (void) map_read(map, base); \
45 #define xip_enable(base, map, cfi) \ argument
47 cfi_qry_mode_off(base, map, cfi); \
48 xip_allowed(base, map); \
51 #define xip_disable_qry(base, map, cfi) \ argument
54 cfi_qry_mode_on(base, map, cfi); \
60 #define xip_allowed(base, map) do { } while (0) argument
61 #define xip_enable(base, map, cfi) do { } while (0) argument
62 #define xip_disable_qry(base, map, cfi) do { } while (0) argument
71 static int __xipram cfi_probe_chip(struct map_info *map, __u32 base, in cfi_probe_chip() argument
76 if ((base + 0) >= map->size) { in cfi_probe_chip()
79 (unsigned long)base, map->size -1); in cfi_probe_chip()
82 if ((base + 0xff) >= map->size) { in cfi_probe_chip()
85 (unsigned long)base + 0x55, map->size -1); in cfi_probe_chip()
90 if (!cfi_qry_mode_on(base, map, cfi)) { in cfi_probe_chip()
91 xip_enable(base, map, cfi); in cfi_probe_chip()
98 return cfi_chip_setup(map, cfi); in cfi_probe_chip()
111 if (cfi_qry_present(map, start, cfi)) { in cfi_probe_chip()
114 cfi_qry_mode_off(start, map, cfi); in cfi_probe_chip()
117 if (!cfi_qry_present(map, start, cfi)) { in cfi_probe_chip()
118 xip_allowed(base, map); in cfi_probe_chip()
120 map->name, base, start); in cfi_probe_chip()
127 cfi_qry_mode_off(base, map, cfi); in cfi_probe_chip()
129 if (cfi_qry_present(map, base, cfi)) { in cfi_probe_chip()
130 xip_allowed(base, map); in cfi_probe_chip()
132 map->name, base, start); in cfi_probe_chip()
144 cfi_qry_mode_off(base, map, cfi); in cfi_probe_chip()
145 xip_allowed(base, map); in cfi_probe_chip()
148 map->name, cfi->interleave, cfi->device_type*8, base, in cfi_probe_chip()
149 map->bankwidth*8); in cfi_probe_chip()
154 static int __xipram cfi_chip_setup(struct map_info *map, in cfi_chip_setup() argument
159 int num_erase_regions = cfi_read_query(map, base + (0x10 + 28)*ofs_factor); in cfi_chip_setup()
163 xip_enable(base, map, cfi); in cfi_chip_setup()
181 xip_disable_qry(base, map, cfi); in cfi_chip_setup()
183 ((unsigned char *)cfi->cfiq)[i] = cfi_read_query(map,base + (0x10 + i)*ofs_factor); in cfi_chip_setup()
222 cfi_send_gen_cmd(0xf0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_chip_setup()
223 cfi_send_gen_cmd(0xaa, addr_unlock1, base, map, cfi, cfi->device_type, NULL); in cfi_chip_setup()
224 cfi_send_gen_cmd(0x55, addr_unlock2, base, map, cfi, cfi->device_type, NULL); in cfi_chip_setup()
225 cfi_send_gen_cmd(0x90, addr_unlock1, base, map, cfi, cfi->device_type, NULL); in cfi_chip_setup()
226 cfi->mfr = cfi_read_query16(map, base); in cfi_chip_setup()
227 cfi->id = cfi_read_query16(map, base + ofs_factor); in cfi_chip_setup()
231 cfi->id = cfi_read_query(map, base + 0xe * ofs_factor) << 8 | in cfi_chip_setup()
232 cfi_read_query(map, base + 0xf * ofs_factor); in cfi_chip_setup()
235 cfi_qry_mode_off(base, map, cfi); in cfi_chip_setup()
236 xip_allowed(base, map); in cfi_chip_setup()
239 map->name, cfi->interleave, cfi->device_type*8, base, in cfi_chip_setup()
240 map->bankwidth*8, cfi->mfr, cfi->id); in cfi_chip_setup()
389 struct mtd_info *cfi_probe(struct map_info *map) in cfi_probe() argument
395 return mtd_do_chip_probe(map, &cfi_chip_probe); in cfi_probe()