On Wed, Jan 3, 2018 at 2:19 PM, Vignesh R <vigne...@ti.com> wrote: > > > On Thursday 28 December 2017 11:42 AM, Jagan Teki wrote: > [...] >> +static const struct mtd_ops spi_nor_mtd_ops = { >> + .read = spi_nor_mread, >> + .erase = spi_nor_merase, >> +}; >> + > > Wondering why spi_nor_mwrite is not hooked up here?
yes, because of sst we need to assign the write hook during scan, see spi-nor.c > >> +U_BOOT_DRIVER(spinor_mtd) = { >> + .name = "spinor_mtd", >> + .id = UCLASS_MTD, >> + .ops = &spi_nor_mtd_ops, >> + .probe = spi_nor_mtd_probe, >> +}; >> + >> +U_BOOT_DRIVER(spinor) = { >> + .name = "spinor", >> + .id = UCLASS_SPI_NOR, >> +}; >> + >> +UCLASS_DRIVER(spinor) = { >> + .id = UCLASS_SPI_NOR, >> + .name = "spinor", >> + .flags = DM_UC_FLAG_SEQ_ALIAS, >> + .per_device_auto_alloc_size = sizeof(struct spi_nor_uclass_priv), >> +}; > > [...] > >> diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h >> new file mode 100644 >> index 0000000..e1688e2 >> --- /dev/null >> +++ b/include/linux/mtd/spi-nor.h >> @@ -0,0 +1,217 @@ > [...] >> +struct spi_nor { >> + struct udevice *dev; >> + const char *name; >> + u8 init_done; >> + u32 page_size; >> + u8 addr_width; >> + u8 erase_opcode; >> + u8 read_opcode; >> + u8 read_dummy; >> + u8 program_opcode; >> + u32 max_write_size; >> + u32 flags; >> + u8 mode; > >> + u8 read_mode; > > Where is this field used? Shouldn't this field carry single/dual/quad > mode information? I think it came up from previous versions, no real use as of now will check and update in next version thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot