[U-Boot] [PATCH] mtd: spi: winbond: add W25PXX support

From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com --- drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { { + .id = 0x2014, + .nr_blocks = 16, + .name = "W25P80", + }, + { + .id = 0x2015, + .nr_blocks = 32, + .name = "W25P16", + }, + { + .id = 0x2016, + .nr_blocks = 64, + .name = "W25P32", + }, + { .id = 0x3013, .nr_blocks = 8, .name = "W25X40", @@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256; - flash->sector_size = 4096; + flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks;
return flash;

Hi,
I have a simple question like these parts are legacy flashes i guess. Could you please tell me on which boards these were used?
Thanks, Jagan.
On Fri, Apr 26, 2013 at 1:32 PM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
},
{
.id = 0x2015,
.nr_blocks = 32,
.name = "W25P16",
},
{
.id = 0x2016,
.nr_blocks = 64,
.name = "W25P32",
},
{ .id = 0x3013, .nr_blocks = 8, .name = "W25X40",
@@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256;
flash->sector_size = 4096;
flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks; return flash;
-- 1.7.9.5
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

2013/5/22 Jagan Teki jagannadh.teki@gmail.com:
Hi,
I have a simple question like these parts are legacy flashes i guess. Could you please tell me on which boards these were used?
It's used on Faraday A369 evaluation board. However the u-boot source codes for A369 is still waiting for approval. Here is the link to u-boot patchwork:
http://patchwork.ozlabs.org/patch/242006/
Thanks, Jagan.
On Fri, Apr 26, 2013 at 1:32 PM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
},
{
.id = 0x2015,
.nr_blocks = 32,
.name = "W25P16",
},
{
.id = 0x2016,
.nr_blocks = 64,
.name = "W25P32",
},
{ .id = 0x3013, .nr_blocks = 8, .name = "W25X40",
@@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256;
flash->sector_size = 4096;
flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks; return flash;
-- 1.7.9.5
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
-- Best wishes, Kuo-Jung Su

Hi,
On Wed, May 22, 2013 at 6:31 AM, Kuo-Jung Su dantesu@gmail.com wrote:
2013/5/22 Jagan Teki jagannadh.teki@gmail.com:
Hi,
I have a simple question like these parts are legacy flashes i guess. Could you please tell me on which boards these were used?
It's used on Faraday A369 evaluation board. However the u-boot source codes for A369 is still waiting for approval. Here is the link to u-boot patchwork:
Ok, Thanks for your information.
http://patchwork.ozlabs.org/patch/242006/
Thanks, Jagan.
On Fri, Apr 26, 2013 at 1:32 PM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
W25P80 is an 8Mbit flash right, is this name W25P80 or W25P08? ofcourse, I have seen the same on datasheet as well.
Thanks, Jagan.
},
{
.id = 0x2015,
.nr_blocks = 32,
.name = "W25P16",
},
{
.id = 0x2016,
.nr_blocks = 64,
.name = "W25P32",
},
{ .id = 0x3013, .nr_blocks = 8, .name = "W25X40",
@@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256;
flash->sector_size = 4096;
flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks; return flash;
-- 1.7.9.5
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
-- Best wishes, Kuo-Jung Su

2013/5/23 Jagan Teki jagannadh.teki@gmail.com:
Hi,
On Wed, May 22, 2013 at 6:31 AM, Kuo-Jung Su dantesu@gmail.com wrote:
2013/5/22 Jagan Teki jagannadh.teki@gmail.com:
Hi,
I have a simple question like these parts are legacy flashes i guess. Could you please tell me on which boards these were used?
It's used on Faraday A369 evaluation board. However the u-boot source codes for A369 is still waiting for approval. Here is the link to u-boot patchwork:
Ok, Thanks for your information.
http://patchwork.ozlabs.org/patch/242006/
Thanks, Jagan.
On Fri, Apr 26, 2013 at 1:32 PM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
W25P80 is an 8Mbit flash right, is this name W25P80 or W25P08? ofcourse, I have seen the same on datasheet as well.
It's W25P80. They are formally NexFlash NX25P80, NX25P16 and NX25P32.
I've google for the W25P08, it looks like that Windond did have some legacy small SPI flash: W25P01, W25P02 .. W25P16. I guess it's a different production line...
BTW I don't have these chips and corresponding datasheet, too.
Thanks, Jagan.
},
{
.id = 0x2015,
.nr_blocks = 32,
.name = "W25P16",
},
{
.id = 0x2016,
.nr_blocks = 64,
.name = "W25P32",
},
{ .id = 0x3013, .nr_blocks = 8, .name = "W25X40",
@@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256;
flash->sector_size = 4096;
flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks; return flash;
-- 1.7.9.5
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
-- Best wishes, Kuo-Jung Su
-- Best wishes, Kuo-Jung Su

On Thu, May 23, 2013 at 3:24 PM, Kuo-Jung Su dantesu@gmail.com wrote:
2013/5/23 Jagan Teki jagannadh.teki@gmail.com:
Hi,
On Wed, May 22, 2013 at 6:31 AM, Kuo-Jung Su dantesu@gmail.com wrote:
2013/5/22 Jagan Teki jagannadh.teki@gmail.com:
Hi,
I have a simple question like these parts are legacy flashes i guess. Could you please tell me on which boards these were used?
It's used on Faraday A369 evaluation board. However the u-boot source codes for A369 is still waiting for approval. Here is the link to u-boot patchwork:
Ok, Thanks for your information.
http://patchwork.ozlabs.org/patch/242006/
Thanks, Jagan.
On Fri, Apr 26, 2013 at 1:32 PM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
W25P80 is an 8Mbit flash right, is this name W25P80 or W25P08? ofcourse, I have seen the same on datasheet as well.
It's W25P80. They are formally NexFlash NX25P80, NX25P16 and NX25P32.
I've google for the W25P08, it looks like that Windond did have some legacy small SPI flash: W25P01, W25P02 .. W25P16. I guess it's a different production line...
BTW I don't have these chips and corresponding datasheet, too.
Ok.
Can you use the commit msg header as "sf: winbond: " Which is used for winbond mtd driver since from long, of-course not a big deal and also mentioned atleast single line message on body.
Simple recommendation here:. "Add support for Winbond's W25PXX SPI flash. These devices is used on Faraday A369 evaluation board"
Thanks, Jagan.

2013/5/23 Jagan Teki jagannadh.teki@gmail.com:
On Thu, May 23, 2013 at 3:24 PM, Kuo-Jung Su dantesu@gmail.com wrote:
2013/5/23 Jagan Teki jagannadh.teki@gmail.com:
Hi,
On Wed, May 22, 2013 at 6:31 AM, Kuo-Jung Su dantesu@gmail.com wrote:
2013/5/22 Jagan Teki jagannadh.teki@gmail.com:
Hi,
I have a simple question like these parts are legacy flashes i guess. Could you please tell me on which boards these were used?
It's used on Faraday A369 evaluation board. However the u-boot source codes for A369 is still waiting for approval. Here is the link to u-boot patchwork:
Ok, Thanks for your information.
http://patchwork.ozlabs.org/patch/242006/
Thanks, Jagan.
On Fri, Apr 26, 2013 at 1:32 PM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
W25P80 is an 8Mbit flash right, is this name W25P80 or W25P08? ofcourse, I have seen the same on datasheet as well.
It's W25P80. They are formally NexFlash NX25P80, NX25P16 and NX25P32.
I've google for the W25P08, it looks like that Windond did have some legacy small SPI flash: W25P01, W25P02 .. W25P16. I guess it's a different production line...
BTW I don't have these chips and corresponding datasheet, too.
Ok.
Can you use the commit msg header as "sf: winbond: " Which is used for winbond mtd driver since from long, of-course not a big deal and also mentioned atleast single line message on body.
Sure, I'll re-format the patch and re-post again.
Simple recommendation here:. "Add support for Winbond's W25PXX SPI flash. These devices is used on Faraday A369 evaluation board"
Thanks. It's pretty helpful to me, because my English is really terrible. :)
Thanks, Jagan.
-- Best wishes, Kuo-Jung Su

From: Kuo-Jung Su dantesu@faraday-tech.com
Add support for Winbond's W25PXX SPI flash. These devices is used on Faraday A369 evaluation board.
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com CC: Jagan Teki jagannadh.teki@gmail.com CC: Tom Rini trini@ti.com --- Changes for v2: - Update commit message header - Add commit message body
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { { + .id = 0x2014, + .nr_blocks = 16, + .name = "W25P80", + }, + { + .id = 0x2015, + .nr_blocks = 32, + .name = "W25P16", + }, + { + .id = 0x2016, + .nr_blocks = 64, + .name = "W25P32", + }, + { .id = 0x3013, .nr_blocks = 8, .name = "W25X40", @@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256; - flash->sector_size = 4096; + flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks;
return flash;

On Fri, May 24, 2013 at 6:39 AM, Kuo-Jung Su dantesu@gmail.com wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Add support for Winbond's W25PXX SPI flash. These devices is used on Faraday A369 evaluation board.
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com CC: Jagan Teki jagannadh.teki@gmail.com CC: Tom Rini trini@ti.com
Changes for v2:
- Update commit message header
- Add commit message body
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
},
{
.id = 0x2015,
.nr_blocks = 32,
.name = "W25P16",
},
{
.id = 0x2016,
.nr_blocks = 64,
.name = "W25P32",
},
{ .id = 0x3013, .nr_blocks = 8, .name = "W25X40",
@@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256;
flash->sector_size = 4096;
flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks; return flash;
-- 1.7.9.5
Reviewed-by: Jagannadha Sutradharudu Teki jagannadh.teki@gmail.com
-- Thanks, Jagan.

On 23-05-2013 20:39, Kuo-Jung Su wrote:
From: Kuo-Jung Su dantesu@faraday-tech.com
Add support for Winbond's W25PXX SPI flash. These devices is used on Faraday A369 evaluation board.
Signed-off-by: Kuo-Jung Su dantesu@faraday-tech.com CC: Jagan Teki jagannadh.teki@gmail.com CC: Tom Rini trini@ti.com
Changes for v2: - Update commit message header - Add commit message body
drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 2716209..2a27837 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -18,6 +18,21 @@ struct winbond_spi_flash_params {
static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { {
.id = 0x2014,
.nr_blocks = 16,
.name = "W25P80",
- },
- {
.id = 0x2015,
.nr_blocks = 32,
.name = "W25P16",
- },
- {
.id = 0x2016,
.nr_blocks = 64,
.name = "W25P32",
- },
- { .id = 0x3013, .nr_blocks = 8, .name = "W25X40",
@@ -104,7 +119,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) }
flash->page_size = 256;
- flash->sector_size = 4096;
flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks;
return flash;
Applied to u-boot-spi/master
-- Thanks, Jagan.
participants (2)
-
Jagan Teki
-
Kuo-Jung Su