lkml.org 
[lkml]   [2023]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v11 00/10] spi: Add support for stacked/parallel memories
    Date
    This patch series updated the spi-nor, spi core and the AMD-Xilinx GQSPI 
    driver to add stacked and parallel memories support.

    The first nine patches
    https://lore.kernel.org/all/20230119185342.2093323-1-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-2-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-3-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-4-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-5-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-6-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-7-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-8-amit.kumar-mahapatra@amd.com/
    https://lore.kernel.org/all/20230310173217.3429788-9-amit.kumar-mahapatra@amd.com/
    of the previous series got applied to
    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
    for-next But the rest of the patches in the series did not get applied as
    failure was reported for spi driver with GPIO CS, so send the remaining
    patches in the series after rebasing it on top of for-next branch and
    fixing the issue.

    CS GPIO is not tested on our hardware, but it has been tested by @Stefan
    https://lore.kernel.org/all/005001da1efc$619ad5a0$24d080e0$@opensource.cirrus.com/
    ---
    BRANCH: for-next

    Changes in v11:
    - Rebased patch series on top of latest for-next branch.
    - Added a new patch(1/10) to replace spi->chip_select with
    spi_get_chipselect() call in tps6594-spi.c.
    - Added a new patch(2/10) to replace spi->chip_select with
    spi_get_chipseletc() call in cs35l56_hda_spi.c.
    - In spi.c initialized unused CS[] to 0xff and spi->cs_index_mask
    to 0x01 in all flows.
    - Updated spi_dev_check() to compare the CS of old spi device with
    the new spi device CS.
    - Updated cover letter description to add information regarding GPIO CS
    testing and added Stefen's Tested-by tag in 3/10 patch.

    Changes in v10:
    - Rebased patch series on top of latest for-next branch and fixed
    merge conflicts.

    Changes in v9:
    - Updated 1/8 patch description to add an high-level overview of
    parallel(multi-cs) & stacked design.
    - Initialized all unused CS to 0xFF.
    - Moved CS check from spi_add_device() to __spi_add_device().
    - Updated __spi_add_device() to check to make sure that multiple logical CS
    don't map to the same physical CS and same physical CS doesn't map to
    different logical CS.
    - Updated 1/8, 5/8 & 7/8 to support arbitrary number of flash devices
    connected in parallel or stacked mode.
    - Updated documentation for chip_select.
    - Added a new spi-nor structure member nor->num_flash to keep track of the
    number of flashes connected.
    - Added a new patch in the series 4/8 to move write_enable call just before
    spi_mem ops call in SPI-NOR.
    - Added comments in SPI core & SPI-NOR.
    - Rebased the patch series on top of the latest for-next branch.

    Changes in v8:
    - Updated __spi_add_device() and spi_set_cs() to fix spi driver failure
    with GPIO CS.
    - Rebased the patch series on top of latest for-next branch and fixed
    merge conflicts.
    - Updated cover letter description to add information regarding GPIO CS
    testing and request Stefan to provide his Tested-by tag for 1/7 patch.
    - Updated 1/7 patch description.

    Changes in v7:
    - Updated spi_dev_check() to avoid failures for spi driver GPIO CS and
    moved the error message from __spi_add_device() to spi_dev_check().
    - Resolved code indentation issue in spi_set_cs().
    - In spi_set_cs() call spi_delay_exec( ) once if the controller supports
    multi cs with both the CS backed by GPIO.
    - Updated __spi_validate()to add checks for both the GPIO CS.
    - Replaced cs_index_mask bit mask with SPI_CS_CNT_MAX.
    - Updated struct spi_controller to represent multi CS capability of the
    spi controller through a flag bit SPI_CONTROLLER_MULTI_CS instead of
    a boolen structure member "multi_cs_cap".
    - Updated 1/7 patch description .

    Changes in v6:
    - Rebased on top of latest v6.3-rc1 and fixed merge conflicts in
    spi-mpc512x-psc.c, sfdp.c, spansion.c files and removed spi-omap-100k.c.
    - Updated spi_dev_check( ) to reject new devices if any one of the
    chipselect is used by another device.

    Changes in v5:
    - Rebased the patches on top of v6.3-rc1 and fixed the merge conflicts.
    - Fixed compilation warnings in spi-sh-msiof.c with shmobile_defconfig

    Changes in v4:
    - Fixed build error in spi-pl022.c file - reported by Mark.
    - Fixed build error in spi-sn-f-ospi.c file.
    - Added Reviewed-by: Serge Semin <fancer.lancer@gmail.com> tag.
    - Added two more patches to replace spi->chip_select with API calls in
    mpc832x_rdb.c & cs35l41_hda_spi.c files.

    Changes in v3:
    - Rebased the patches on top of
    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
    - Added a patch to convert spi_nor_otp_region_len(nor) &
    spi_nor_otp_n_regions(nor) macros into inline functions
    - Added Reviewed-by & Acked-by tags

    Changes in v2:
    - Rebased the patches on top of v6.2-rc1
    - Created separate patch to add get & set APIs for spi->chip_select &
    spi->cs_gpiod, and replaced all spi->chip_select and spi->cs_gpiod
    references with the API calls.
    - Created separate patch to add get & set APIs for nor->params.
    ---
    Amit Kumar Mahapatra (10):
    mfd: tps6594: Use set/get APIs to access spi->chip_select
    ALSA: hda/cs35l56: Use set/get APIs to access spi->chip_select
    spi: Add multi-cs memories support in SPI core
    mtd: spi-nor: Convert macros with inline functions
    mtd: spi-nor: Add APIs to set/get nor->params
    mtd: spi-nor: Move write enable inside specific write & erase APIs
    mtd: spi-nor: Add stacked memories support in spi-nor
    spi: spi-zynqmp-gqspi: Add stacked memories support in GQSPI driver
    mtd: spi-nor: Add parallel memories support in spi-nor
    spi: spi-zynqmp-gqspi: Add parallel memories support in GQSPI driver

    drivers/mfd/tps6594-spi.c | 2 +-
    drivers/mtd/spi-nor/atmel.c | 17 +-
    drivers/mtd/spi-nor/core.c | 683 +++++++++++++++++++++++++------
    drivers/mtd/spi-nor/core.h | 8 +
    drivers/mtd/spi-nor/debugfs.c | 4 +-
    drivers/mtd/spi-nor/gigadevice.c | 4 +-
    drivers/mtd/spi-nor/issi.c | 11 +-
    drivers/mtd/spi-nor/macronix.c | 10 +-
    drivers/mtd/spi-nor/micron-st.c | 35 +-
    drivers/mtd/spi-nor/otp.c | 48 ++-
    drivers/mtd/spi-nor/sfdp.c | 33 +-
    drivers/mtd/spi-nor/spansion.c | 57 +--
    drivers/mtd/spi-nor/sst.c | 7 +-
    drivers/mtd/spi-nor/swp.c | 25 +-
    drivers/mtd/spi-nor/winbond.c | 2 +-
    drivers/mtd/spi-nor/xilinx.c | 18 +-
    drivers/spi/spi-zynqmp-gqspi.c | 58 ++-
    drivers/spi/spi.c | 259 ++++++++++--
    include/linux/mtd/spi-nor.h | 21 +-
    include/linux/spi/spi.h | 51 ++-
    sound/pci/hda/cs35l56_hda_spi.c | 2 +-
    21 files changed, 1085 insertions(+), 270 deletions(-)

    --
    2.17.1

    \
     
     \ /
      Last update: 2023-11-25 10:23    [W:7.711 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site