Lines Matching refs:nor
7 #include <linux/mtd/spi-nor.h>
28 w25q128_post_bfpt_fixups(struct spi_nor *nor,
39 nor->params->size == SZ_2M &&
40 nor->params->erase_map.regions[0].size == SZ_2M) {
41 nor->params->size = SZ_16M;
42 nor->params->erase_map.regions[0].size = SZ_16M;
53 w25q256_post_bfpt_fixups(struct spi_nor *nor,
67 nor->flags |= SNOR_F_4B_OPCODES;
78 * @nor: pointer to 'struct spi_nor'.
89 static int winbond_nor_select_die(struct spi_nor *nor, u8 die)
93 nor->bouncebuf[0] = die;
95 if (nor->spimem) {
96 struct spi_mem_op op = WINBOND_NOR_SELDIE_OP(nor->bouncebuf);
98 spi_nor_spimem_setup_op(nor, &op, nor->reg_proto);
100 ret = spi_mem_exec_op(nor->spimem, &op);
102 ret = spi_nor_controller_ops_write_reg(nor,
104 nor->bouncebuf, 1);
108 dev_dbg(nor->dev, "error %d selecting die %d\n", ret, die);
113 static int winbond_nor_multi_die_ready(struct spi_nor *nor)
117 for (i = 0; i < nor->params->n_dice; i++) {
118 ret = winbond_nor_select_die(nor, i);
122 ret = spi_nor_sr_ready(nor);
131 winbond_nor_multi_die_post_sfdp_fixups(struct spi_nor *nor)
139 nor->params->n_dice = nor->params->size / SZ_64M;
140 nor->params->ready = winbond_nor_multi_die_ready;
351 * @nor: pointer to 'struct spi_nor'.
356 static int winbond_nor_write_ear(struct spi_nor *nor, u8 ear)
360 nor->bouncebuf[0] = ear;
362 if (nor->spimem) {
363 struct spi_mem_op op = WINBOND_NOR_WREAR_OP(nor->bouncebuf);
365 spi_nor_spimem_setup_op(nor, &op, nor->reg_proto);
367 ret = spi_mem_exec_op(nor->spimem, &op);
369 ret = spi_nor_controller_ops_write_reg(nor,
371 nor->bouncebuf, 1);
375 dev_dbg(nor->dev, "error %d writing EAR\n", ret);
383 * @nor: pointer to 'struct spi_nor'.
389 static int winbond_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
393 ret = spi_nor_set_4byte_addr_mode_en4b_ex4b(nor, enable);
402 ret = spi_nor_write_enable(nor);
406 ret = winbond_nor_write_ear(nor, 0);
410 return spi_nor_write_disable(nor);
421 static int winbond_nor_late_init(struct spi_nor *nor)
423 struct spi_nor_flash_parameter *params = nor->params;