Re: [PATCH v3 00/12] mtd: spi-nor: add xSPI Octal DTR support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+Cc Boris. Forgot to add you when sending.

On 13/03/20 09:16PM, Pratyush Yadav wrote:
> Hi,
> 
> This series adds support for octal DTR flashes in the spi-nor framework,
> and then adds hooks for the Cypress Semper flash which is an xSPI
> compliant Octal DTR flash.
> 
> This series assumes that the flash is handed to the kernel in Legacy SPI
> mode. That is why there is no tracking of the state the flash is in.
> Ability to detect the flash mode and then run the SFDP procedure in that
> mode will be added as a follow up series.
> 
> Tested on TI J721e EVM with 1-bit ECC on the Cypress flash.
> 
> v1 can be found at [0]. v2 can be found at [1].
> 
> [0] https://lore.kernel.org/linux-mtd/20200211133348.15558-1-p.yadav@xxxxxx/
> [1] https://lore.kernel.org/linux-mtd/20200226093703.19765-1-p.yadav@xxxxxx/
> 
> Changes in v3:
> - Drop the DT properties "spi-rx-dtr" and "spi-tx-dtr". Instead, if
>   later a need is felt to disable DTR in case someone has a board with
>   Octal DTR capable flash but does not support DTR transactions for some
>   reason, a property like "spi-no-dtr" can be added.
> 
> - Remove mode bits SPI_RX_DTR and SPI_TX_DTR.
> 
> - Remove the Cadence Quadspi controller patch to un-block this series. I
>   will submit it as a separate patch.
> 
> - Rebase on latest 'master' and fix merge conflicts.
> 
> - Update read and write dirmap templates to use DTR.
> 
> - Rename 'is_dtr' to 'dtr'.
> 
> - Make 'dtr' a bitfield.
> 
> - Reject DTR ops in spi_mem_default_supports_op().
> 
> - Update atmel-quadspi to reject DTR ops. All other controller drivers
>   call spi_mem_default_supports_op() so they will automatically reject
>   DTR ops.
> 
> - Add support for both enabling and disabling DTR modes.
> 
> - Perform a Software Reset on flashes that support it when shutting
>   down.
> 
> - Disable Octal DTR mode on suspend, and re-enable it on resume.
> 
> - Drop enum 'spi_mem_cmd_ext' and make command opcode u16 instead.
>   Update spi-nor to use the 2-byte command instead of the command
>   extension. Since we still need a "extension type", mode that enum to
>   spi-nor and name it 'spi_nor_cmd_ext'.
> 
> - Default variable address width to 3 to fix SMPT parsing.
> 
> - Drop non-volatile change to uniform sector mode and rely on parsing
>   SMPT.
> 
> Pratyush Yadav (12):
>   spi: spi-mem: allow specifying whether an op is DTR or not
>   spi: atmel-quadspi: reject DTR ops
>   spi: spi-mem: allow specifying a command's extension
>   mtd: spi-nor: add support for DTR protocol
>   mtd: spi-nor: default to address width of 3 for configurable widths
>   mtd: spi-nor: get command opcode extension type from BFPT
>   mtd: spi-nor: parse xSPI Profile 1.0 table
>   mtd: spi-nor: use dummy cycle and address width info from SFDP
>   mtd: spi-nor: enable octal DTR mode when possible
>   mtd: spi-nor: perform a Soft Reset on shutdown
>   mtd: spi-nor: Disable Octal DTR mode on suspend.
>   mtd: spi-nor: add support for Cypress Semper flash
> 
>  drivers/mtd/spi-nor/spi-nor.c | 692 ++++++++++++++++++++++++++++++----
>  drivers/spi/atmel-quadspi.c   |   4 +
>  drivers/spi/spi-mem.c         |   3 +
>  include/linux/mtd/spi-nor.h   |  73 +++-
>  include/linux/spi/spi-mem.h   |  13 +-
>  5 files changed, 702 insertions(+), 83 deletions(-)
> 
> --
> 2.25.0
> 

-- 
Regards,
Pratyush Yadav
Texas Instruments India



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux