• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/mtd/chips/

Lines Matching defs:cfi

22 #include <linux/mtd/cfi.h>
1878 struct cfi_private *cfi)
1889 uint32_t ofs = cfi_build_cmd_addr(0 + (bank << 8), map, cfi);
1890 mask = (1 << (cfi->device_type * 8)) - 1;
1899 struct cfi_private *cfi)
1903 u32 ofs = cfi_build_cmd_addr(1, map, cfi);
1904 mask = (1 << (cfi->device_type * 8)) -1;
1909 static void jedec_reset(u32 base, struct map_info *map, struct cfi_private *cfi)
1919 if (cfi->addr_unlock1) {
1922 cfi->addr_unlock1,cfi->addr_unlock2);
1923 cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi, cfi->device_type, NULL);
1924 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi, cfi->device_type, NULL);
1927 cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, base, map, cfi, cfi->device_type, NULL);
1933 cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL);
1996 struct cfi_private *cfi,
2012 switch (cfi->device_type) {
2038 __func__, cfi->device_type);
2041 if ( cfi->mfr != mfr || cfi->id != id ) {
2049 if ( base + cfi_interleave(cfi) * ( 1 << finfo->dev_size ) > map->size ) {
2057 if (! (finfo->devtypes & cfi->device_type))
2063 __func__, cfi->addr_unlock1, cfi->addr_unlock2 );
2065 && ( unlock_addrs[uaddr].addr1 / cfi->device_type != cfi->addr_unlock1 ||
2066 unlock_addrs[uaddr].addr2 / cfi->device_type != cfi->addr_unlock2 ) ) {
2078 jedec_reset( base, map, cfi );
2079 mfr = jedec_read_mfr( map, base, cfi );
2080 id = jedec_read_id( map, base, cfi );
2081 if ( mfr == cfi->mfr && id == cfi->id ) {
2085 __func__, cfi->mfr, cfi->id );
2097 if (cfi->addr_unlock1) {
2098 cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi, cfi->device_type, NULL);
2099 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi, cfi->device_type, NULL);
2101 cfi_send_gen_cmd(0x90, cfi->addr_unlock1, base, map, cfi, cfi->device_type, NULL);
2109 unsigned long *chip_map, struct cfi_private *cfi)
2116 if (!cfi->numchips) {
2122 cfi->addr_unlock1 = unlock_addrs[uaddr_idx].addr1 / cfi->device_type;
2123 cfi->addr_unlock2 = unlock_addrs[uaddr_idx].addr2 / cfi->device_type;
2135 probe_offset1 = cfi_build_cmd_addr(cfi->addr_unlock1, map, cfi);
2136 probe_offset2 = cfi_build_cmd_addr(cfi->addr_unlock2, map, cfi);
2142 jedec_reset(base, map, cfi);
2145 if(cfi->addr_unlock1) {
2146 cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi, cfi->device_type, NULL);
2147 cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi, cfi->device_type, NULL);
2149 cfi_send_gen_cmd(0x90, cfi->addr_unlock1, base, map, cfi, cfi->device_type, NULL);
2151 if (!cfi->numchips) {
2155 cfi->mfr = jedec_read_mfr(map, base, cfi);
2156 cfi->id = jedec_read_id(map, base, cfi);
2159 cfi->mfr, cfi->id, cfi_interleave(cfi), cfi->device_type);
2161 if ( jedec_match( base, map, cfi, &jedec_table[i] ) ) {
2164 __func__, cfi->mfr, cfi->id,
2165 cfi->addr_unlock1, cfi->addr_unlock2 );
2166 if (!cfi_jedec_setup(cfi, i))
2177 mfr = jedec_read_mfr(map, base, cfi);
2178 id = jedec_read_id(map, base, cfi);
2180 if ((mfr != cfi->mfr) || (id != cfi->id)) {
2183 jedec_reset(base, map, cfi);
2189 for (i=0; i < (base >> cfi->chipshift); i++) {
2194 start = i << cfi->chipshift;
2195 if (jedec_read_mfr(map, start, cfi) == cfi->mfr &&
2196 jedec_read_id(map, start, cfi) == cfi->id) {
2199 jedec_reset(start, map, cfi);
2202 if (jedec_read_mfr(map, base, cfi) != cfi->mfr ||
2203 jedec_read_id(map, base, cfi) != cfi->id) {
2212 jedec_reset(base, map, cfi);
2213 if (jedec_read_mfr(map, base, cfi) == cfi->mfr &&
2214 jedec_read_id(map, base, cfi) == cfi->id) {
2224 set_bit((base >> cfi->chipshift), chip_map); /* Update chip map */
2225 cfi->numchips++;
2229 jedec_reset(base, map, cfi);
2232 map->name, cfi_interleave(cfi), cfi->device_type*8, base,