linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add Renesas AT25QL128A serial nor flash
@ 2022-07-15 10:57 Biju Das
  2022-07-15 10:57 ` [PATCH v2 2/2] mtd: spi-nor: " Biju Das
  0 siblings, 1 reply; 11+ messages in thread
From: Biju Das @ 2022-07-15 10:57 UTC (permalink / raw)
  To: Tudor Ambarus, Pratyush Yadav, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra
  Cc: Alexandre Belloni, Chris Paterson, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc, Michael Walle,
	linux-mtd, Biju Das, Claudiu Beznea, linux-arm-kernel

This patch series aims to add support for Renesas AT25QL128A serial nor flash

Details of flash chip can be found here [1]

[1] https://www.dialog-semiconductor.com/sites/default/files/2022-04/DS-AT25QL128A-129F-022022.pdf

v1->v2:
 * Add support for SNOR_ID3 macro
 * Added flash definitions into Atmel table.

RFC->v1:
 * Moved the flash definitions to atmel.c
 * Remove macro related to locking as it is untested.
 * Replaced INFO macro with SNOR_ID3
 
RFC:
 * https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220501185512.51158-1-biju.das.jz@bp.renesas.com/

Biju Das (2):
  mtd: spi-nor: add support for SNOR_ID3 macro
  mtd: spi-nor: Add Renesas AT25QL128A serial nor flash

 drivers/mtd/spi-nor/atmel.c | 1 +
 drivers/mtd/spi-nor/core.h  | 9 +++++++++
 2 files changed, 10 insertions(+)

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-15 10:57 [PATCH v2 0/2] Add Renesas AT25QL128A serial nor flash Biju Das
@ 2022-07-15 10:57 ` Biju Das
  2022-07-15 11:55   ` Michael Walle
  2022-07-21  8:28   ` Tudor.Ambarus
  0 siblings, 2 replies; 11+ messages in thread
From: Biju Das @ 2022-07-15 10:57 UTC (permalink / raw)
  To: Tudor Ambarus, Pratyush Yadav, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra
  Cc: Alexandre Belloni, Chris Paterson, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc, Michael Walle,
	linux-mtd, Biju Das, Claudiu Beznea, linux-arm-kernel

Add support for Renesas AT25QL128A serial nor flash.
Details of flash chip can be found here [1]

[1] https://www.dialog-semiconductor.com/sites/default/files/2022-04/DS-AT25QL128A-129F-022022.pdf

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
$ xxd -p sfdp 
53464450060101ff00060110300000ff1f00010280000001ffffffffffff
ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
ffffffffffffffff501650190000ffff

$ md5sum /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/sfdp
23e3ec56b5b8f986d0488ba4727239dd  /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/sfdp
$ cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/jedec_id
1f4218
$ cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/partname
at25ql128a
$ cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer
atmel
v2->v1:
 * Added flash definitions into Atmel table.
RFC->v1:
 * Moved the flash definitions to atmel.c
 * Remove macro related to locking as it is untested.
 * Replaced INFO macro with SNOR_ID3
 
RFC:
 * https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220501185512.51158-1-biju.das.jz@bp.renesas.com/
---
 drivers/mtd/spi-nor/atmel.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mtd/spi-nor/atmel.c b/drivers/mtd/spi-nor/atmel.c
index 656dd80a0be7..80c24d138b27 100644
--- a/drivers/mtd/spi-nor/atmel.c
+++ b/drivers/mtd/spi-nor/atmel.c
@@ -186,6 +186,7 @@ static const struct flash_info atmel_nor_parts[] = {
 		.fixups = &atmel_nor_global_protection_fixups },
 	{ "at25sl321",	INFO(0x1f4216, 0, 64 * 1024, 64)
 		NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+	{ "at25ql128a", SNOR_ID3(0x1f4218) },
 	{ "at26f004",   INFO(0x1f0400, 0, 64 * 1024,  8)
 		NO_SFDP_FLAGS(SECT_4K) },
 	{ "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16)
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-15 10:57 ` [PATCH v2 2/2] mtd: spi-nor: " Biju Das
@ 2022-07-15 11:55   ` Michael Walle
  2022-07-19  8:53     ` Pratyush Yadav
  2022-07-21  8:28   ` Tudor.Ambarus
  1 sibling, 1 reply; 11+ messages in thread
From: Michael Walle @ 2022-07-15 11:55 UTC (permalink / raw)
  To: Biju Das
  Cc: Alexandre Belloni, Chris Paterson, Vignesh Raghavendra,
	Geert Uytterhoeven, Tudor Ambarus, Richard Weinberger,
	Prabhakar Mahadev Lad, Claudiu Beznea, linux-renesas-soc,
	linux-mtd, Miquel Raynal, Biju Das, Pratyush Yadav,
	linux-arm-kernel

Am 2022-07-15 12:57, schrieb Biju Das:
> Add support for Renesas AT25QL128A serial nor flash.
> Details of flash chip can be found here [1]
> 
> [1] 
> https://www.dialog-semiconductor.com/sites/default/files/2022-04/DS-AT25QL128A-129F-022022.pdf
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

Thanks!

Reviewed-by: Michael Walle <michael@walle.cc>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-15 11:55   ` Michael Walle
@ 2022-07-19  8:53     ` Pratyush Yadav
  0 siblings, 0 replies; 11+ messages in thread
From: Pratyush Yadav @ 2022-07-19  8:53 UTC (permalink / raw)
  To: Michael Walle
  Cc: Alexandre Belloni, Chris Paterson, Vignesh Raghavendra,
	Geert Uytterhoeven, Tudor Ambarus, Richard Weinberger,
	Prabhakar Mahadev Lad, Biju Das, linux-renesas-soc, linux-mtd,
	Miquel Raynal, Biju Das, Claudiu Beznea, linux-arm-kernel

On 15/07/22 01:55PM, Michael Walle wrote:
> Am 2022-07-15 12:57, schrieb Biju Das:
> > Add support for Renesas AT25QL128A serial nor flash.
> > Details of flash chip can be found here [1]
> > 
> > [1] https://www.dialog-semiconductor.com/sites/default/files/2022-04/DS-AT25QL128A-129F-022022.pdf
> > 
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> Thanks!
> 
> Reviewed-by: Michael Walle <michael@walle.cc>

Our purely SFDP based parser seems to be working well.

Acked-by: Pratyush Yadav <p.yadav@ti.com>

-- 
Regards,
Pratyush Yadav
Texas Instruments Inc.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-15 10:57 ` [PATCH v2 2/2] mtd: spi-nor: " Biju Das
  2022-07-15 11:55   ` Michael Walle
@ 2022-07-21  8:28   ` Tudor.Ambarus
  2022-07-21  8:48     ` Biju Das
  2022-07-21  9:23     ` Biju Das
  1 sibling, 2 replies; 11+ messages in thread
From: Tudor.Ambarus @ 2022-07-21  8:28 UTC (permalink / raw)
  To: biju.das.jz, p.yadav, miquel.raynal, richard, vigneshr
  Cc: alexandre.belloni, Chris.Paterson2, geert+renesas,
	prabhakar.mahadev-lad.rj, biju.das, linux-renesas-soc, michael,
	linux-mtd, Claudiu.Beznea, linux-arm-kernel

On 7/15/22 13:57, Biju Das wrote:

Hi, Biju!

> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Add support for Renesas AT25QL128A serial nor flash.
> Details of flash chip can be found here [1]
> 
> [1] https://www.dialog-semiconductor.com/sites/default/files/2022-04/DS-AT25QL128A-129F-022022.pdf
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> $ xxd -p sfdp
> 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
> ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
> 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
> 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
> ffffffffffffffff501650190000ffff
> 
> $ md5sum /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/sfdp
> 23e3ec56b5b8f986d0488ba4727239dd  /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/sfdp
> $ cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/jedec_id
> 1f4218
> $ cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/partname
> at25ql128a
> $ cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer
> atmel
> v2->v1:
>  * Added flash definitions into Atmel table.
> RFC->v1:
>  * Moved the flash definitions to atmel.c
>  * Remove macro related to locking as it is untested.
>  * Replaced INFO macro with SNOR_ID3
> 
> RFC:
>  * https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220501185512.51158-1-biju.das.jz@bp.renesas.com/
> ---
>  drivers/mtd/spi-nor/atmel.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mtd/spi-nor/atmel.c b/drivers/mtd/spi-nor/atmel.c
> index 656dd80a0be7..80c24d138b27 100644
> --- a/drivers/mtd/spi-nor/atmel.c
> +++ b/drivers/mtd/spi-nor/atmel.c
> @@ -186,6 +186,7 @@ static const struct flash_info atmel_nor_parts[] = {
>                 .fixups = &atmel_nor_global_protection_fixups },
>         { "at25sl321",  INFO(0x1f4216, 0, 64 * 1024, 64)
>                 NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> +       { "at25ql128a", SNOR_ID3(0x1f4218) },

As the flash is defined now, all its characteristics can be discovered by
parsing SFDP. So instead of adding a new flash_info entry in the already
big array that we have, I would like us to focus more on a generic flash
driver which acts as a backup when the flash is not found in the flash_info
array. We can discover the flash particularities by parsing SFDP and we can
probe the flash based on that. Michael has already suggested this, would you
please help review it?

https://lore.kernel.org/lkml/20220513133520.3945820-1-michael@walle.cc/
 
>         { "at26f004",   INFO(0x1f0400, 0, 64 * 1024,  8)
>                 NO_SFDP_FLAGS(SECT_4K) },
>         { "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16)
> --
> 2.25.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-21  8:28   ` Tudor.Ambarus
@ 2022-07-21  8:48     ` Biju Das
  2022-07-21  9:23     ` Biju Das
  1 sibling, 0 replies; 11+ messages in thread
From: Biju Das @ 2022-07-21  8:48 UTC (permalink / raw)
  To: Tudor.Ambarus@microchip.com, p.yadav@ti.com,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com
  Cc: alexandre.belloni@bootlin.com, Chris Paterson,
	geert+renesas@glider.be, Prabhakar Mahadev Lad,
	biju.das@bp.renesas.com, linux-renesas-soc@vger.kernel.org,
	michael@walle.cc, linux-mtd@lists.infradead.org,
	Claudiu.Beznea@microchip.com,
	linux-arm-kernel@lists.infradead.org

Hi Tudor.Ambarus,

> Subject: Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor
> flash
> 
> On 7/15/22 13:57, Biju Das wrote:
> 
> Hi, Biju!
> 
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know
> > the content is safe
> >
> > Add support for Renesas AT25QL128A serial nor flash.
> > Details of flash chip can be found here [1]
> >
> > [1]
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > $ xxd -p sfdp
> > 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
> > ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
> > 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
> > 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
> > ffffffffffffffff501650190000ffff
> >
> > $ md5sum
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/sfdp 23e3ec56b5b8f986d0488ba4727239dd
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/sfdp $ cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/jedec_id
> > 1f4218
> > $ cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/partname
> > at25ql128a
> > $ cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/manufacturer
> > atmel
> > v2->v1:
> >  * Added flash definitions into Atmel table.
> > RFC->v1:
> >  * Moved the flash definitions to atmel.c
> >  * Remove macro related to locking as it is untested.
> >  * Replaced INFO macro with SNOR_ID3
> >
> > RFC:
> >  *
> > ---
> >  drivers/mtd/spi-nor/atmel.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/mtd/spi-nor/atmel.c b/drivers/mtd/spi-nor/atmel.c
> > index 656dd80a0be7..80c24d138b27 100644
> > --- a/drivers/mtd/spi-nor/atmel.c
> > +++ b/drivers/mtd/spi-nor/atmel.c
> > @@ -186,6 +186,7 @@ static const struct flash_info atmel_nor_parts[] = {
> >                 .fixups = &atmel_nor_global_protection_fixups },
> >         { "at25sl321",  INFO(0x1f4216, 0, 64 * 1024, 64)
> >                 NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
> > SPI_NOR_QUAD_READ) },
> > +       { "at25ql128a", SNOR_ID3(0x1f4218) },
> 
> As the flash is defined now, all its characteristics can be discovered by
> parsing SFDP. So instead of adding a new flash_info entry in the already big
> array that we have, I would like us to focus more on a generic flash driver
> which acts as a backup when the flash is not found in the flash_info array.
> We can discover the flash particularities by parsing SFDP and we can probe
> the flash based on that. Michael has already suggested this, would you
> please help review it?
> 

Sure, will review and test this patch series.

Cheers,
Biju

> 
> >         { "at26f004",   INFO(0x1f0400, 0, 64 * 1024,  8)
> >                 NO_SFDP_FLAGS(SECT_4K) },
> >         { "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16)
> > --
> > 2.25.1
> >


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-21  8:28   ` Tudor.Ambarus
  2022-07-21  8:48     ` Biju Das
@ 2022-07-21  9:23     ` Biju Das
  2022-07-21  9:39       ` Tudor.Ambarus
  1 sibling, 1 reply; 11+ messages in thread
From: Biju Das @ 2022-07-21  9:23 UTC (permalink / raw)
  To: Tudor.Ambarus@microchip.com, p.yadav@ti.com,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com
  Cc: alexandre.belloni@bootlin.com, Chris Paterson,
	geert+renesas@glider.be, Prabhakar Mahadev Lad,
	biju.das@bp.renesas.com, linux-renesas-soc@vger.kernel.org,
	michael@walle.cc, linux-mtd@lists.infradead.org,
	Claudiu.Beznea@microchip.com,
	linux-arm-kernel@lists.infradead.org

Hi Tudor Ambarus,

I have done quick test with these generic patches. Please find my observation
below.

> Subject: Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor
> flash
> 
> On 7/15/22 13:57, Biju Das wrote:
> 
> Hi, Biju!
> 
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know
> > the content is safe
> >
> > Add support for Renesas AT25QL128A serial nor flash.
> > Details of flash chip can be found here [1]
> >
> > [1]
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > $ xxd -p sfdp
> > 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
> > ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
> > 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
> > 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
> > ffffffffffffffff501650190000ffff
> >
> > $ md5sum
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/sfdp 23e3ec56b5b8f986d0488ba4727239dd
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/sfdp $ cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/jedec_id
> > 1f4218
> > $ cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/partname
> > at25ql128a
> > $ cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/manufacturer
> > atmel

With generic flash driver patches I get below results
----------------------------------------------------

xxd -p sfdp
53464450060101ff00060110300000ff1f00010280000001ffffffffffff
ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
ffffffffffffffff501650190000ffff

This result is same as above.

cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/jedec_id
1f42181f4218

This result is not matching 1f4218->1f42181f4218

root@smarc-rzg2ul:~# cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/partname
spi-nor-generic

This result is not matching at25ql128a-> spi-nor-generic

root@smarc-rzg2ul:~# cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer
cat: /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer: No such file or directory

This result is not matching atmel-> cat: /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer: No such file or directory

How do we get proper partname/manufacturer details with generic flash driver?

Cheers,
Biju


> > v2->v1:
> >  * Added flash definitions into Atmel table.
> > RFC->v1:
> >  * Moved the flash definitions to atmel.c
> >  * Remove macro related to locking as it is untested.
> >  * Replaced INFO macro with SNOR_ID3
> >
> > RFC:
> >  *
> > ---
> >  drivers/mtd/spi-nor/atmel.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/mtd/spi-nor/atmel.c b/drivers/mtd/spi-nor/atmel.c
> > index 656dd80a0be7..80c24d138b27 100644
> > --- a/drivers/mtd/spi-nor/atmel.c
> > +++ b/drivers/mtd/spi-nor/atmel.c
> > @@ -186,6 +186,7 @@ static const struct flash_info atmel_nor_parts[] = {
> >                 .fixups = &atmel_nor_global_protection_fixups },
> >         { "at25sl321",  INFO(0x1f4216, 0, 64 * 1024, 64)
> >                 NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
> > SPI_NOR_QUAD_READ) },
> > +       { "at25ql128a", SNOR_ID3(0x1f4218) },
> 
> As the flash is defined now, all its characteristics can be discovered by
> parsing SFDP. So instead of adding a new flash_info entry in the already big
> array that we have, I would like us to focus more on a generic flash driver
> which acts as a backup when the flash is not found in the flash_info array.
> We can discover the flash particularities by parsing SFDP and we can probe
> the flash based on that. Michael has already suggested this, would you
> please help review it?
> 
> 
> >         { "at26f004",   INFO(0x1f0400, 0, 64 * 1024,  8)
> >                 NO_SFDP_FLAGS(SECT_4K) },
> >         { "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16)
> > --
> > 2.25.1
> >


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-21  9:23     ` Biju Das
@ 2022-07-21  9:39       ` Tudor.Ambarus
  2022-07-21  9:43         ` Michael Walle
  2022-07-21  9:46         ` Biju Das
  0 siblings, 2 replies; 11+ messages in thread
From: Tudor.Ambarus @ 2022-07-21  9:39 UTC (permalink / raw)
  To: biju.das.jz, p.yadav, miquel.raynal, richard, vigneshr
  Cc: alexandre.belloni, Chris.Paterson2, geert+renesas,
	prabhakar.mahadev-lad.rj, biju.das, linux-renesas-soc, michael,
	linux-mtd, Claudiu.Beznea, linux-arm-kernel

On 7/21/22 12:23, Biju Das wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hi Tudor Ambarus,
> 
> I have done quick test with these generic patches. Please find my observation
> below.

Thanks!

> 
>> Subject: Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor
>> flash
>>
>> On 7/15/22 13:57, Biju Das wrote:
>>
>> Hi, Biju!
>>
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know
>>> the content is safe
>>>
>>> Add support for Renesas AT25QL128A serial nor flash.
>>> Details of flash chip can be found here [1]
>>>
>>> [1]
>>>
>>> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
>>> ---
>>> $ xxd -p sfdp
>>> 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
>>> ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
>>> 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
>>> 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
>>> ffffffffffffffff501650190000ffff
>>>
>>> $ md5sum
>>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>>> .0/spi-nor/sfdp 23e3ec56b5b8f986d0488ba4727239dd
>>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>>> .0/spi-nor/sfdp $ cat
>>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>>> .0/spi-nor/jedec_id
>>> 1f4218
>>> $ cat
>>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>>> .0/spi-nor/partname
>>> at25ql128a
>>> $ cat
>>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>>> .0/spi-nor/manufacturer
>>> atmel
> 
> With generic flash driver patches I get below results
> ----------------------------------------------------
> 
> xxd -p sfdp
> 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
> ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
> 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
> 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
> ffffffffffffffff501650190000ffff
> 
> This result is same as above.

ok, as expected.

> 
> cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/jedec_id
> 1f42181f4218
> 
> This result is not matching 1f4218->1f42181f4218

here it looks like the ID is sent twice.

> 
> root@smarc-rzg2ul:~# cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/partname
> spi-nor-generic
> 
> This result is not matching at25ql128a-> spi-nor-generic

right, as expected

> 
> root@smarc-rzg2ul:~# cat /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer
> cat: /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer: No such file or directory
> 
> This result is not matching atmel-> cat: /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/manufacturer: No such file or directory

here we could introduce a generic name as well.

> 
> How do we get proper partname/manufacturer details with generic flash driver?

You don't, as it is you get just generic names like generic-spi-nor
and generic-manufacturer. Why do you find the flash/manufacturer
names important?

ta
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-21  9:39       ` Tudor.Ambarus
@ 2022-07-21  9:43         ` Michael Walle
  2022-07-21  9:46         ` Biju Das
  1 sibling, 0 replies; 11+ messages in thread
From: Michael Walle @ 2022-07-21  9:43 UTC (permalink / raw)
  To: Tudor.Ambarus
  Cc: alexandre.belloni, Chris.Paterson2, vigneshr, geert+renesas,
	richard, prabhakar.mahadev-lad.rj, Claudiu.Beznea,
	linux-renesas-soc, linux-mtd, miquel.raynal, biju.das.jz,
	biju.das, p.yadav, linux-arm-kernel

Am 2022-07-21 11:39, schrieb Tudor.Ambarus@microchip.com:
>> cat 
>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1.0/spi-nor/jedec_id
>> 1f42181f4218
>> 
>> This result is not matching 1f4218->1f42181f4218
> 
> here it looks like the ID is sent twice.

That is expected. We don't know how long the id is so
SPI_NOR_MAX_ID_LEN bytes are read for now.
Some flashes will send additional information, some don't and
just repeat the pattern.

It's up to the userspace to interpret that.

-michael

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-21  9:39       ` Tudor.Ambarus
  2022-07-21  9:43         ` Michael Walle
@ 2022-07-21  9:46         ` Biju Das
  2022-07-21 10:00           ` Michael Walle
  1 sibling, 1 reply; 11+ messages in thread
From: Biju Das @ 2022-07-21  9:46 UTC (permalink / raw)
  To: Tudor.Ambarus@microchip.com, p.yadav@ti.com,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com
  Cc: alexandre.belloni@bootlin.com, Chris Paterson,
	geert+renesas@glider.be, Prabhakar Mahadev Lad,
	biju.das@bp.renesas.com, linux-renesas-soc@vger.kernel.org,
	michael@walle.cc, linux-mtd@lists.infradead.org,
	Claudiu.Beznea@microchip.com,
	linux-arm-kernel@lists.infradead.org

Hi Tudor Ambarus,

Thanks for the feedback.

> Subject: Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor
> flash
> 
> On 7/21/22 12:23, Biju Das wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know
> > the content is safe
> >
> > Hi Tudor Ambarus,
> >
> > I have done quick test with these generic patches. Please find my
> > observation below.
> 
> Thanks!
> 
> >
> >> Subject: Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A
> >> serial nor flash
> >>
> >> On 7/15/22 13:57, Biju Das wrote:
> >>
> >> Hi, Biju!
> >>
> >>> EXTERNAL EMAIL: Do not click links or open attachments unless you
> >>> know the content is safe
> >>>
> >>> Add support for Renesas AT25QL128A serial nor flash.
> >>> Details of flash chip can be found here [1]
> >>>
> >>> [1]
> >>>
> >>> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> >>> ---
> >>> $ xxd -p sfdp
> >>> 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
> >>> ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
> >>> 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
> >>> 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
> >>> ffffffffffffffff501650190000ffff
> >>>
> >>> $ md5sum
> >>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/sp
> >>> i1 .0/spi-nor/sfdp 23e3ec56b5b8f986d0488ba4727239dd
> >>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/sp
> >>> i1
> >>> .0/spi-nor/sfdp $ cat
> >>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/sp
> >>> i1
> >>> .0/spi-nor/jedec_id
> >>> 1f4218
> >>> $ cat
> >>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/sp
> >>> i1
> >>> .0/spi-nor/partname
> >>> at25ql128a
> >>> $ cat
> >>> /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/sp
> >>> i1
> >>> .0/spi-nor/manufacturer
> >>> atmel
> >
> > With generic flash driver patches I get below results
> > ----------------------------------------------------
> >
> > xxd -p sfdp
> > 53464450060101ff00060110300000ff1f00010280000001ffffffffffff
> > ffffffffffffffffffffffffffffffffffffe520f1ffffffff0744eb086b
> > 083b80bbfeffffffffff00ffffff42eb0c200f5210d800ff3362d5008429
> > 01ceeca1073d7a757a75f7a2d55c19f61cffe810c080ffffffffffffffff
> > ffffffffffffffff501650190000ffff
> >
> > This result is same as above.
> 
> ok, as expected.
> 
> >
> > cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/jedec_id
> > 1f42181f4218
> >
> > This result is not matching 1f4218->1f42181f4218
> 
> here it looks like the ID is sent twice.

OK.

> 
> >
> > root@smarc-rzg2ul:~# cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/partname
> > spi-nor-generic
> >
> > This result is not matching at25ql128a-> spi-nor-generic
> 
> right, as expected
> 
> >
> > root@smarc-rzg2ul:~# cat
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/manufacturer
> > cat:
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/manufacturer: No such file or directory
> >
> > This result is not matching atmel-> cat:
> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
> > .0/spi-nor/manufacturer: No such file or directory
> 
> here we could introduce a generic name as well.

OK.

Michael: Do you have any plan to add generic name for manufacturer
as completeness?

> 
> >
> > How do we get proper partname/manufacturer details with generic flash
> driver?
> 
> You don't, as it is you get just generic names like generic-spi-nor and
> generic-manufacturer. Why do you find the flash/manufacturer names
> important?

Ok, currently my test script expects proper partname/manufacturer.
Will change it to generic one.

Cheers,
Biju
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/2] mtd: spi-nor: Add Renesas AT25QL128A serial nor flash
  2022-07-21  9:46         ` Biju Das
@ 2022-07-21 10:00           ` Michael Walle
  0 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2022-07-21 10:00 UTC (permalink / raw)
  To: Biju Das
  Cc: alexandre.belloni, Chris Paterson, vigneshr, geert+renesas,
	Tudor.Ambarus, richard, Prabhakar Mahadev Lad, Claudiu.Beznea,
	linux-renesas-soc, linux-mtd, miquel.raynal, biju.das, p.yadav,
	linux-arm-kernel

Am 2022-07-21 11:46, schrieb Biju Das:

>> > root@smarc-rzg2ul:~#

nice a smarc board :)


>> >
>> > root@smarc-rzg2ul:~# cat
>> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>> > .0/spi-nor/manufacturer
>> > cat:
>> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>> > .0/spi-nor/manufacturer: No such file or directory
>> >
>> > This result is not matching atmel-> cat:
>> > /sys/devices/platform/soc/10060000.spi/rpc-if-spi/spi_master/spi1/spi1
>> > .0/spi-nor/manufacturer: No such file or directory
>> 
>> here we could introduce a generic name as well.
> 
> OK.
> 
> Michael: Do you have any plan to add generic name for manufacturer
> as completeness?

Why would we need that one? There is no manufacturer. So I don't
see why we should add a fake one. The partname is debatable, too.
IMHO if we really want to get rid of the "dummy" tables in the kernel,
the userspace (mtdutils for example) could parse the jedec id and
sfdp and find the manufacturer and partnumer. But TBH, I don't know
if that is really an important information.

Implementation wise, right now, it's quite a hack how the
manufacturer is set. It gets already set early in
spi_nor_match_name(), while the actual flash info will get set
later in the call chain.

-michael

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-07-21 10:07 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-15 10:57 [PATCH v2 0/2] Add Renesas AT25QL128A serial nor flash Biju Das
2022-07-15 10:57 ` [PATCH v2 2/2] mtd: spi-nor: " Biju Das
2022-07-15 11:55   ` Michael Walle
2022-07-19  8:53     ` Pratyush Yadav
2022-07-21  8:28   ` Tudor.Ambarus
2022-07-21  8:48     ` Biju Das
2022-07-21  9:23     ` Biju Das
2022-07-21  9:39       ` Tudor.Ambarus
2022-07-21  9:43         ` Michael Walle
2022-07-21  9:46         ` Biju Das
2022-07-21 10:00           ` Michael Walle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).