[PATCH v2 00/11] Add support for StarFive JHB100 SFC

Changhuang Liang posted 11 patches 1 month, 4 weeks ago
.../bindings/spi/snps,dw-apb-ssi.yaml         |  22 +
drivers/spi/spi-dw-core.c                     | 386 +++++++++++++++++-
drivers/spi/spi-dw-mmio.c                     |  72 ++++
drivers/spi/spi-dw.h                          |  52 ++-
4 files changed, 521 insertions(+), 11 deletions(-)
[PATCH v2 00/11] Add support for StarFive JHB100 SFC
Posted by Changhuang Liang 1 month, 4 weeks ago
This serial add support for the StarFive JHB100 SoC SPI Flash
Controller (SFC), which is based on the Synopsys DesignWare SSI
version 2.00a but with some customizations and it also add
enhanced SPI for DesignWare SPI controllers.

I picked up some patches from series [1].
This series depends on the series [2]:

[1] https://lore.kernel.org/all/20221212180732.79167-1-sudip.mukherjee@sifive.com/
[2] https://lore.kernel.org/all/20260521012932.24163-1-changhuang.liang@starfivetech.com/

Change since v1:
- Reordered the series so that every symbol is introduced before its
  first user and each patch is independently reviewable.
- adjust_op_size(): clamp DATA_IN to DW_SPI_NDF_MASK + 1 and DATA_OUT to
  DW_SPI_NDF_MASK, matching the two NDF programming conventions (receive
  writes ndf - 1, transmit writes ndf).
- exec_enh_mem_op(): use op->max_freq rather than mem->spi->max_speed_hz
- detect_enh_mode(): clear the accumulated mode bits when clock
  stretching turns out to be unavailable.
- dw_spi_jhb100_set_addr_nbyte() returns an error code, rejects anything
  other than 3 or 4 address bytes with a message.
- platform_suspend() and platform_resume() callbacks are introduced to
  handle platform-private suspend/resume procedures. JHB100 SFC used it
  to re-mask the SFC filter interrupts after a system resume.
- Limit address bytes supported by JHB100 SFC.
- Remove underflow/overflow interrupts in enhanced SPI mode, as clock
  stretching ensures these will not occur.

v1: https://lore.kernel.org/all/20260709055204.138168-1-changhuang.liang@starfivetech.com/

Changhuang Liang (2):
  spi: dt-bindings: snps,dw-apb-ssi: Add starfive,jhb100-sfc
  spi: dw: Add support for StarFive JHB100 SoC SFC

Sudip Mukherjee (9):
  spi: dw: Introduce spi_frf and STD_SPI
  spi: dw: update SPI_CTRLR0 register
  spi: dw: add check for support of enhanced spi
  spi: dw: adjust size of mem_op
  spi: dw: update NDF while using enhanced spi mode
  spi: dw: Introduce enhanced single/dual/quad/octal spi
  spi: dw: send cmd and addr to start the spi transfer
  spi: dw: use irq handler for enhanced spi
  spi: dw: detect enhanced spi mode

 .../bindings/spi/snps,dw-apb-ssi.yaml         |  22 +
 drivers/spi/spi-dw-core.c                     | 386 +++++++++++++++++-
 drivers/spi/spi-dw-mmio.c                     |  72 ++++
 drivers/spi/spi-dw.h                          |  52 ++-
 4 files changed, 521 insertions(+), 11 deletions(-)

--
2.25.1
Re: [PATCH v2 00/11] Add support for StarFive JHB100 SFC
Posted by Mark Brown 1 month, 4 weeks ago
On Mon, 03 Aug 2026 05:40:33 -0700, Changhuang Liang wrote:
> Add support for StarFive JHB100 SFC
> 
> This serial add support for the StarFive JHB100 SoC SPI Flash
> Controller (SFC), which is based on the Synopsys DesignWare SSI
> version 2.00a but with some customizations and it also add
> enhanced SPI for DesignWare SPI controllers.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-7.3

Thanks!

[01/11] spi: dw: Introduce spi_frf and STD_SPI
        https://git.kernel.org/broonie/spi/c/c87b4ba09702
[02/11] spi: dw: update SPI_CTRLR0 register
        https://git.kernel.org/broonie/spi/c/607687a869e6
[03/11] spi: dw: add check for support of enhanced spi
        https://git.kernel.org/broonie/spi/c/f6b36efcbe01
[04/11] spi: dw: adjust size of mem_op
        https://git.kernel.org/broonie/spi/c/3d7fd27c970e
[05/11] spi: dw: update NDF while using enhanced spi mode
        https://git.kernel.org/broonie/spi/c/8678095362cc
[06/11] spi: dw: Introduce enhanced single/dual/quad/octal spi
        https://git.kernel.org/broonie/spi/c/4cd882e1da79
[07/11] spi: dw: send cmd and addr to start the spi transfer
        https://git.kernel.org/broonie/spi/c/51119176c252
[08/11] spi: dw: use irq handler for enhanced spi
        https://git.kernel.org/broonie/spi/c/e017fae89e6d
[09/11] spi: dw: detect enhanced spi mode
        https://git.kernel.org/broonie/spi/c/defdd0f3d09a
[10/11] spi: dt-bindings: snps,dw-apb-ssi: Add starfive,jhb100-sfc
        https://git.kernel.org/broonie/spi/c/8edce30fc953
[11/11] spi: dw: Add support for StarFive JHB100 SoC SFC
        https://git.kernel.org/broonie/spi/c/012c1b04f528

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark