Lines Matching full:nor
7 #include <linux/mtd/spi-nor.h>
29 mx25l25635_post_bfpt_fixups(struct spi_nor *nor, in mx25l25635_post_bfpt_fixups() argument
43 nor->flags |= SNOR_F_4B_OPCODES; in mx25l25635_post_bfpt_fixups()
206 static int macronix_nor_octal_dtr_en(struct spi_nor *nor) in macronix_nor_octal_dtr_en() argument
209 u8 *buf = nor->bouncebuf, i; in macronix_nor_octal_dtr_en()
213 buf[0] = MXIC_NOR_REG_DC(nor->params->reads[SNOR_CMD_READ_8_8_8_DTR].num_wait_states); in macronix_nor_octal_dtr_en()
215 ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto); in macronix_nor_octal_dtr_en()
222 ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto); in macronix_nor_octal_dtr_en()
227 ret = spi_nor_read_id(nor, nor->addr_nbytes, 4, buf, in macronix_nor_octal_dtr_en()
230 dev_dbg(nor->dev, "error %d reading JEDEC ID after enabling 8D-8D-8D mode\n", ret); in macronix_nor_octal_dtr_en()
234 /* Macronix SPI-NOR flash 8D-8D-8D read ID would get 6 bytes data A-A-B-B-C-C */ in macronix_nor_octal_dtr_en()
235 for (i = 0; i < nor->info->id->len; i++) in macronix_nor_octal_dtr_en()
236 if (buf[i * 2] != buf[(i * 2) + 1] || buf[i * 2] != nor->info->id->bytes[i]) in macronix_nor_octal_dtr_en()
242 static int macronix_nor_octal_dtr_dis(struct spi_nor *nor) in macronix_nor_octal_dtr_dis() argument
245 u8 *buf = nor->bouncebuf; in macronix_nor_octal_dtr_dis()
257 ret = spi_nor_write_any_volatile_reg(nor, &op, SNOR_PROTO_8_8_8_DTR); in macronix_nor_octal_dtr_dis()
262 ret = spi_nor_read_id(nor, 0, 0, buf, SNOR_PROTO_1_1_1); in macronix_nor_octal_dtr_dis()
264 dev_dbg(nor->dev, "error %d reading JEDEC ID after disabling 8D-8D-8D mode\n", ret); in macronix_nor_octal_dtr_dis()
268 if (memcmp(buf, nor->info->id->bytes, nor->info->id->len)) in macronix_nor_octal_dtr_dis()
274 static int macronix_nor_set_octal_dtr(struct spi_nor *nor, bool enable) in macronix_nor_set_octal_dtr() argument
276 return enable ? macronix_nor_octal_dtr_en(nor) : macronix_nor_octal_dtr_dis(nor); in macronix_nor_set_octal_dtr()
279 static void macronix_nor_default_init(struct spi_nor *nor) in macronix_nor_default_init() argument
281 nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; in macronix_nor_default_init()
284 static int macronix_nor_late_init(struct spi_nor *nor) in macronix_nor_late_init() argument
286 if (!nor->params->set_4byte_addr_mode) in macronix_nor_late_init()
287 nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b; in macronix_nor_late_init()
288 nor->params->set_octal_dtr = macronix_nor_set_octal_dtr; in macronix_nor_late_init()