[PATCH v4 00/15] spi: bcm63xx-hsspi: driver and doc updates

From: William Zhang
Date: Thu Feb 09 2023 - 15:03:49 EST


This patch series include the accumulative updates and fixes for the
driver from Broadcom. It also added a new driver for the updated SPI
controller found in the new BCMBCA SoC. The device tree document is
converted to yaml format and updated accordingly.

Changes in v4:
- Add Reviewed-by tag in patch 2
- Update patch 8 based on latest linux spi git for-next branch code

Changes in v3:
- Clean up spi-controller.yaml and update the example
- Drop the generic compatible string brcm,bcmbca-hsspi from the document
and dts files
- Port the cs_change and cs_off logic from SPI core
spi_transfer_one_message function to both controller drivers.
- Factor dummy cs workaround into a function, adjust the logic for
different xfer modes and fine tune message level in bcm63xx-hsspi
controller driver
- Replace hard-coded opcode with SPINOR_OP definition
- Add a new patch to export export spi_transfer_cs_change_delay_exec
function in the spi core
- Add a new patch to include compatible string brcm,bcmbca-hsspi-v1.0 in
bcm63xx-hsspi controller driver
- Minor coding style fix in bcmbca-hsspi controller driver
- Add Acked-by and Reviewed-by tag

Changes in v2:
- Update the dts yaml document and all the related dtsi/dts accordingly
- Fix build error for Alpha platform
- Add a new patch for bcm63xx-hsspi driver to support the new compatible
string
- Make interrupt mode required but keep polling mode as default. Also
add a sysfs option wait_mode for run-time mode change
- Remove use_cs_workaround option and change the transfer logic to try
prepend mode first and if not prependable, switch to dummy cs mode with
clock limit at the 25MHz. Add driver sysfs node xfer_mode for run-time
configuration to dummy cs or prepend mode.
- Withdraw SPI device specific clock gate option patch for now

William Zhang (15):
dt-bindings: spi: Convert bcm63xx-hsspi bindings to json-schema
dt-bindings: spi: Add bcmbca-hsspi controller support
ARM: dts: broadcom: bcmbca: Add spi controller node
arm64: dts: broadcom: bcmbca: Add spi controller node
spi: bcm63xx-hsspi: Add new compatible string support
spi: bcm63xx-hsspi: Endianness fix for ARM based SoC
spi: bcm63xx-hsspi: Add polling mode support
spi: export spi_transfer_cs_change_delay_exec function
spi: bcm63xx-hsspi: Handle cs_change correctly
spi: bcm63xx-hsspi: Fix multi-bit mode setting
spi: bcm63xx-hsspi: Add prepend mode support
spi: spi-mem: Allow controller supporting mem_ops without exec_op
spi: bcm63xx-hsspi: Disable spi mem dual io read op support
spi: bcmbca-hsspi: Add driver for newer HSSPI controller
MAINTAINERS: Add entry for Broadcom Broadband SoC HS SPI drivers

.../bindings/spi/brcm,bcm63xx-hsspi.yaml | 134 ++++
.../bindings/spi/spi-bcm63xx-hsspi.txt | 33 -
MAINTAINERS | 12 +
arch/arm/boot/dts/bcm47622.dtsi | 18 +
arch/arm/boot/dts/bcm63138.dtsi | 18 +
arch/arm/boot/dts/bcm63148.dtsi | 18 +
arch/arm/boot/dts/bcm63178.dtsi | 19 +
arch/arm/boot/dts/bcm6756.dtsi | 19 +
arch/arm/boot/dts/bcm6846.dtsi | 18 +
arch/arm/boot/dts/bcm6855.dtsi | 19 +
arch/arm/boot/dts/bcm6878.dtsi | 19 +
arch/arm/boot/dts/bcm947622.dts | 4 +
arch/arm/boot/dts/bcm963138.dts | 4 +
arch/arm/boot/dts/bcm963138dvt.dts | 4 +
arch/arm/boot/dts/bcm963148.dts | 4 +
arch/arm/boot/dts/bcm963178.dts | 4 +
arch/arm/boot/dts/bcm96756.dts | 4 +
arch/arm/boot/dts/bcm96846.dts | 4 +
arch/arm/boot/dts/bcm96855.dts | 4 +
arch/arm/boot/dts/bcm96878.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm4908.dtsi | 18 +
.../boot/dts/broadcom/bcmbca/bcm4912.dtsi | 20 +
.../boot/dts/broadcom/bcmbca/bcm63146.dtsi | 19 +
.../boot/dts/broadcom/bcmbca/bcm63158.dtsi | 19 +
.../boot/dts/broadcom/bcmbca/bcm6813.dtsi | 20 +
.../boot/dts/broadcom/bcmbca/bcm6856.dtsi | 18 +
.../boot/dts/broadcom/bcmbca/bcm6858.dtsi | 18 +
.../boot/dts/broadcom/bcmbca/bcm94908.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm94912.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm963146.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm963158.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm96813.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm96856.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm96858.dts | 4 +
drivers/spi/Kconfig | 9 +
drivers/spi/Makefile | 1 +
drivers/spi/spi-bcm63xx-hsspi.c | 488 ++++++++++++-
drivers/spi/spi-bcmbca-hsspi.c | 651 ++++++++++++++++++
drivers/spi/spi-mem.c | 2 +-
drivers/spi/spi.c | 20 +-
include/linux/spi/spi.h | 5 +-
41 files changed, 1620 insertions(+), 79 deletions(-)
create mode 100644 Documentation/devicetree/bindings/spi/brcm,bcm63xx-hsspi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/spi-bcm63xx-hsspi.txt
create mode 100644 drivers/spi/spi-bcmbca-hsspi.c

--
2.37.3