Lines Matching refs:cfi
27 struct cfi_private *cfi) in cfi_qry_present() argument
29 int osf = cfi->interleave * cfi->device_type; /* scale factor */ in cfi_qry_present()
33 qry[0] = cfi_build_cmd('Q', map, cfi); in cfi_qry_present()
34 qry[1] = cfi_build_cmd('R', map, cfi); in cfi_qry_present()
35 qry[2] = cfi_build_cmd('Y', map, cfi); in cfi_qry_present()
55 struct cfi_private *cfi) in cfi_qry_mode_on() argument
57 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
58 cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
59 if (cfi_qry_present(map, base, cfi)) in cfi_qry_mode_on()
63 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
64 cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
65 cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
66 if (cfi_qry_present(map, base, cfi)) in cfi_qry_mode_on()
69 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
70 cfi_send_gen_cmd(0x98, 0x555, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
71 if (cfi_qry_present(map, base, cfi)) in cfi_qry_mode_on()
74 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
75 cfi_send_gen_cmd(0xAA, 0x5555, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
76 cfi_send_gen_cmd(0x55, 0x2AAA, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
77 cfi_send_gen_cmd(0x98, 0x5555, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
78 if (cfi_qry_present(map, base, cfi)) in cfi_qry_mode_on()
81 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
82 cfi_send_gen_cmd(0xAA, 0x555, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
83 cfi_send_gen_cmd(0x55, 0x2AA, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
84 cfi_send_gen_cmd(0x98, 0x555, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_on()
85 if (cfi_qry_present(map, base, cfi)) in cfi_qry_mode_on()
93 struct cfi_private *cfi) in cfi_qry_mode_off() argument
95 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_off()
96 cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_off()
99 if ((cfi->mfr == CFI_MFR_ST) && (cfi->id == 0x227E || cfi->id == 0x7E)) in cfi_qry_mode_off()
100 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); in cfi_qry_mode_off()
107 struct cfi_private *cfi = map->fldrv_priv; in cfi_read_pri() local
109 int ofs_factor = cfi->interleave * cfi->device_type; in cfi_read_pri()
127 cfi_qry_mode_on(base, map, cfi); in cfi_read_pri()
135 cfi_qry_mode_off(base, map, cfi); in cfi_read_pri()
151 struct cfi_private *cfi = map->fldrv_priv; in cfi_fixup() local
155 if (((f->mfr == CFI_MFR_ANY) || (f->mfr == cfi->mfr)) && in cfi_fixup()
156 ((f->id == CFI_ID_ANY) || (f->id == cfi->id))) { in cfi_fixup()
168 struct cfi_private *cfi = map->fldrv_priv; in cfi_varsize_frob() local
217 chipnum = ofs >> cfi->chipshift; in cfi_varsize_frob()
218 adr = ofs - (chipnum << cfi->chipshift); in cfi_varsize_frob()
225 ret = (*frob)(map, &cfi->chips[chipnum], adr, size, thunk); in cfi_varsize_frob()
237 if (adr >> cfi->chipshift) { in cfi_varsize_frob()
241 if (chipnum >= cfi->numchips) in cfi_varsize_frob()