
On Wed, Jan 3, 2018 at 2:19 PM, Vignesh R vigneshr@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!