2021-09-18 13:41:00

by Daniel Palmer

[permalink] [raw]
Subject: [PATCH] mtd: spi-nor: Add support for ZB25VQ128

Add support for the ZBIT ZB25VQ128 128MBit SPI NOR
flash.

Link: http://www.cipatelje.eu/pdf/ZB25VQ128.pdf
Signed-off-by: Daniel Palmer <[email protected]>
---
drivers/mtd/spi-nor/Makefile | 1 +
drivers/mtd/spi-nor/core.c | 1 +
drivers/mtd/spi-nor/core.h | 1 +
drivers/mtd/spi-nor/zbit.c | 21 +++++++++++++++++++++
4 files changed, 24 insertions(+)
create mode 100644 drivers/mtd/spi-nor/zbit.c

diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile
index 6b904e439372..a6f3646824cb 100644
--- a/drivers/mtd/spi-nor/Makefile
+++ b/drivers/mtd/spi-nor/Makefile
@@ -17,6 +17,7 @@ spi-nor-objs += sst.o
spi-nor-objs += winbond.o
spi-nor-objs += xilinx.o
spi-nor-objs += xmc.o
+spi-nor-objs += zbit.o
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o

obj-$(CONFIG_MTD_SPI_NOR) += controllers/
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index cc08bd707378..75f6ac9485b9 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -1846,6 +1846,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = {
&spi_nor_winbond,
&spi_nor_xilinx,
&spi_nor_xmc,
+ &spi_nor_zbit,
};

static const struct flash_info *
diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
index 3348e1dd1445..ad3b34a3b80f 100644
--- a/drivers/mtd/spi-nor/core.h
+++ b/drivers/mtd/spi-nor/core.h
@@ -489,6 +489,7 @@ extern const struct spi_nor_manufacturer spi_nor_sst;
extern const struct spi_nor_manufacturer spi_nor_winbond;
extern const struct spi_nor_manufacturer spi_nor_xilinx;
extern const struct spi_nor_manufacturer spi_nor_xmc;
+extern const struct spi_nor_manufacturer spi_nor_zbit;

extern const struct attribute_group *spi_nor_sysfs_groups[];

diff --git a/drivers/mtd/spi-nor/zbit.c b/drivers/mtd/spi-nor/zbit.c
new file mode 100644
index 000000000000..d240dd65d249
--- /dev/null
+++ b/drivers/mtd/spi-nor/zbit.c
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2021, Daniel Palmer<[email protected]>
+ */
+
+#include <linux/mtd/spi-nor.h>
+
+#include "core.h"
+
+static const struct flash_info zbit_parts[] = {
+ /* zbit */
+ { "zb25vq128", INFO(0x5e4018, 0, 64 * 1024, 256,
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) },
+};
+
+const struct spi_nor_manufacturer spi_nor_zbit = {
+ .name = "zbit",
+ .parts = zbit_parts,
+ .nparts = ARRAY_SIZE(zbit_parts),
+};
--
2.33.0


2021-09-20 15:26:26

by Pratyush Yadav

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for ZB25VQ128

On 18/09/21 04:22PM, Daniel Palmer wrote:
> Add support for the ZBIT ZB25VQ128 128MBit SPI NOR
> flash.
>
> Link: http://www.cipatelje.eu/pdf/ZB25VQ128.pdf
> Signed-off-by: Daniel Palmer <[email protected]>
> ---
> drivers/mtd/spi-nor/Makefile | 1 +
> drivers/mtd/spi-nor/core.c | 1 +
> drivers/mtd/spi-nor/core.h | 1 +
> drivers/mtd/spi-nor/zbit.c | 21 +++++++++++++++++++++
> 4 files changed, 24 insertions(+)
> create mode 100644 drivers/mtd/spi-nor/zbit.c
>
> diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile
> index 6b904e439372..a6f3646824cb 100644
> --- a/drivers/mtd/spi-nor/Makefile
> +++ b/drivers/mtd/spi-nor/Makefile
> @@ -17,6 +17,7 @@ spi-nor-objs += sst.o
> spi-nor-objs += winbond.o
> spi-nor-objs += xilinx.o
> spi-nor-objs += xmc.o
> +spi-nor-objs += zbit.o
> obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o
>
> obj-$(CONFIG_MTD_SPI_NOR) += controllers/
> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
> index cc08bd707378..75f6ac9485b9 100644
> --- a/drivers/mtd/spi-nor/core.c
> +++ b/drivers/mtd/spi-nor/core.c
> @@ -1846,6 +1846,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = {
> &spi_nor_winbond,
> &spi_nor_xilinx,
> &spi_nor_xmc,
> + &spi_nor_zbit,
> };
>
> static const struct flash_info *
> diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
> index 3348e1dd1445..ad3b34a3b80f 100644
> --- a/drivers/mtd/spi-nor/core.h
> +++ b/drivers/mtd/spi-nor/core.h
> @@ -489,6 +489,7 @@ extern const struct spi_nor_manufacturer spi_nor_sst;
> extern const struct spi_nor_manufacturer spi_nor_winbond;
> extern const struct spi_nor_manufacturer spi_nor_xilinx;
> extern const struct spi_nor_manufacturer spi_nor_xmc;
> +extern const struct spi_nor_manufacturer spi_nor_zbit;
>
> extern const struct attribute_group *spi_nor_sysfs_groups[];
>
> diff --git a/drivers/mtd/spi-nor/zbit.c b/drivers/mtd/spi-nor/zbit.c
> new file mode 100644
> index 000000000000..d240dd65d249
> --- /dev/null
> +++ b/drivers/mtd/spi-nor/zbit.c
> @@ -0,0 +1,21 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2021, Daniel Palmer<[email protected]>
> + */
> +
> +#include <linux/mtd/spi-nor.h>
> +
> +#include "core.h"
> +
> +static const struct flash_info zbit_parts[] = {
> + /* zbit */
> + { "zb25vq128", INFO(0x5e4018, 0, 64 * 1024, 256,

Zbit should be in bank 10, so it should be preceeded by 9 0x7f bytes,
correct? I don't see any logic to handle that in SPI NOR currently so I
assume this manufacturer does not implement the continuation codes.

In that case, it should go to the manufacturer collisions driver
proposed here [0].

[0] https://patchwork.ozlabs.org/project/linux-mtd/patch/[email protected]/

> + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
> + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) },
> +};
> +
> +const struct spi_nor_manufacturer spi_nor_zbit = {
> + .name = "zbit",
> + .parts = zbit_parts,
> + .nparts = ARRAY_SIZE(zbit_parts),
> +};
> --
> 2.33.0
>

--
Regards,
Pratyush Yadav
Texas Instruments Inc.

2021-09-28 13:18:55

by Daniel Palmer

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for ZB25VQ128

Hi Pratyush,

On Mon, 20 Sept 2021 at 20:26, Pratyush Yadav <[email protected]> wrote:
>
> Zbit should be in bank 10, so it should be preceeded by 9 0x7f bytes,
> correct? I don't see any logic to handle that in SPI NOR currently so I
> assume this manufacturer does not implement the continuation codes.
>
> In that case, it should go to the manufacturer collisions driver
> proposed here [0].
>
> [0] https://patchwork.ozlabs.org/project/linux-mtd/patch/[email protected]/

Sorry, I'm not sure what I should do with this information. I didn't
even know about the continuation codes thing until now.
Is there something I need to do here or do I just need to wait for the
collision handling code to get merged?

Thanks,

Daniel

2021-09-28 16:42:39

by Pratyush Yadav

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for ZB25VQ128

On 28/09/21 10:15PM, Daniel Palmer wrote:
> Hi Pratyush,
>
> On Mon, 20 Sept 2021 at 20:26, Pratyush Yadav <[email protected]> wrote:
> >
> > Zbit should be in bank 10, so it should be preceeded by 9 0x7f bytes,
> > correct? I don't see any logic to handle that in SPI NOR currently so I
> > assume this manufacturer does not implement the continuation codes.
> >
> > In that case, it should go to the manufacturer collisions driver
> > proposed here [0].
> >
> > [0] https://patchwork.ozlabs.org/project/linux-mtd/patch/[email protected]/
>
> Sorry, I'm not sure what I should do with this information. I didn't
> even know about the continuation codes thing until now.
> Is there something I need to do here or do I just need to wait for the
> collision handling code to get merged?

I think that should be what you need to do. Tudor, any plans on
re-rolling that patch series in the near future?

>
> Thanks,
>
> Daniel

--
Regards,
Pratyush Yadav
Texas Instruments Inc.

2021-09-29 06:04:53

by Tudor Ambarus

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: Add support for ZB25VQ128

On 9/28/21 7:34 PM, Pratyush Yadav wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 28/09/21 10:15PM, Daniel Palmer wrote:
>> Hi Pratyush,
>>
>> On Mon, 20 Sept 2021 at 20:26, Pratyush Yadav <[email protected]> wrote:
>>>
>>> Zbit should be in bank 10, so it should be preceeded by 9 0x7f bytes,
>>> correct? I don't see any logic to handle that in SPI NOR currently so I
>>> assume this manufacturer does not implement the continuation codes.
>>>
>>> In that case, it should go to the manufacturer collisions driver
>>> proposed here [0].
>>>
>>> [0] https://patchwork.ozlabs.org/project/linux-mtd/patch/[email protected]/
>>
>> Sorry, I'm not sure what I should do with this information. I didn't
>> even know about the continuation codes thing until now.
>> Is there something I need to do here or do I just need to wait for the
>> collision handling code to get merged?
>
> I think that should be what you need to do. Tudor, any plans on
> re-rolling that patch series in the near future?
>
Hi, all,

Yes, I was out of office for a month, today I got back. I'll handle it.

Cheers,
ta