[PATCH v9 0/9] mtd: spi-nor: Add support for Cypress s25hl-t/s25hs-t
tkuw584924 at gmail.com
tkuw584924 at gmail.com
Tue Jun 29 08:00:55 CEST 2021
From: Takahiro Kuwano <Takahiro.Kuwano at infineon.com>
The S25HL-T/S25HS-T family is the Cypress Semper Flash with Quad SPI.
The summary datasheets can be found in the following links.
https://www.cypress.com/file/424146/download (256Mb/512Mb/1Gb, single die)
https://www.cypress.com/file/499246/download (2Gb/4Gb, dual/quad die)
The full version can be found in the following links (registration
required).
https://community.cypress.com/t5/Semper-Flash-Access-Program/Datasheet-Semper-Flash-with-Quad-SPI/ta-p/260789?attachment-id=19522
https://community.cypress.com/t5/Semper-Flash-Access-Program/Datasheet-2Gb-MCP-Semper-Flash-with-Quad-SPI/ta-p/260823?attachment-id=29503
Tested on Xilinx Zynq-7000 FPGA board.
Changes since v9:
- Rebased on top of u-boot-spi/next
Changes since v8:
- Took another patch from Pratyush's series
- Define spansion_quad_enable_volatile() under CONFIG_SPI_FLASH_SPANSION
Changes since v7:
- Fixed return type of s25hx_t_erase_non_uniform() to 'int'
Changes since v6:
- Took some patches from Pratyush's series
- Removed USE_CLSR flag from S25HL02GT and S25HS02GT
- Defined SPINOR_OP_EX4B_CYPRESS and use it
- Removed mtd.writesize fixup
- Added uniform sector check for multi-die package parts
- Remove spansion_quad_enable_volatile() from tiny
- Fixed some other minor issues
Changes since v5:
- Removed 256Mb and 4Gb parts support
- Fixed register offset issue in spansion_quad_enable_volatile()
- Added spi_nor_default_ready() and moved existing code into it
- Separated spansion_sr_read() to new patch
- Renamed spansion_overlaid_erase() to spansion_non_uniform_erase() and
changed the implementation to issue the proper erase command based on
the address
- Added s25hx_t_erase_non_uniform()
- Changed mtd.writesize and mtd.flags in s25hx_t_setup()
- Fixed page size and erase size issues in s25hx_t_post_bfpt_fixup()
Changes since v4:
- Added Read/Write Any Register support
- Added the ->ready() hook to support multi-die package parts
- Added S25HL02GT/S25HL04GT/S25HS02GT/S25HS04GT support
Changes since v3:
- Split into multiple patches
Changes since v2:
- Fixed typo in comment for spansion_overlaid_erase()
- Fixed expressions for addr and len check in spansion_overlaid_erase()
- Added device ID check to make the changes effective for S25 only
- Added nor->setup() and fixup hooks based on the following patches
https://patchwork.ozlabs.org/project/uboot/patch/20200904153500.3569-7-p.yadav@ti.com/
https://patchwork.ozlabs.org/project/uboot/patch/20200904153500.3569-8-p.yadav@ti.com/
https://patchwork.ozlabs.org/project/uboot/patch/20200904153500.3569-9-p.yadav@ti.com/
Takahiro Kuwano (9):
mtd: spi-nor: Add Cypress manufacturer ID
mtd: spi-nor-ids: Add Cypress s25hl-t/s25hs-t
mtd: spi-nor-core: Add support for Read/Write Any Register
mtd: spi-nor-core: Add support for volatile QE bit
mtd: spi-nor-core: Add the ->ready() hook
mtd: spi-nor-core: Read status by Read Any Register
mtd: spi-nor-core: Add Cypress manufacturer ID in set_4byte
mtd: spi-nor-core: Add fixups for Cypress s25hl-t/s25hs-t
mtd: spi-nor-tiny: Add fixups for Cypress s25hl-t/s25hs-t
drivers/mtd/spi/spi-nor-core.c | 266 ++++++++++++++++++++++++++++++++-
drivers/mtd/spi/spi-nor-ids.c | 16 ++
drivers/mtd/spi/spi-nor-tiny.c | 6 +
include/linux/mtd/spi-nor.h | 11 ++
4 files changed, 297 insertions(+), 2 deletions(-)
--
2.25.1
More information about the U-Boot
mailing list