mbox series

[v3,00/15] spi: bcm63xx-hsspi: driver and doc updates

Message ID 20230207065826.285013-1-william.zhang@broadcom.com
Headers show
Series spi: bcm63xx-hsspi: driver and doc updates | expand

Message

William Zhang Feb. 7, 2023, 6:58 a.m. UTC
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 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

Comments

Mark Brown Feb. 9, 2023, 5:18 p.m. UTC | #1
On Mon, 06 Feb 2023 22:58:11 -0800, William Zhang wrote:
> 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 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
> 
> [...]

Applied to

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

Thanks!

[01/15] dt-bindings: spi: Convert bcm63xx-hsspi bindings to json-schema
        commit: fff948a44b44a628c81294af5498226cb66a2594
[02/15] dt-bindings: spi: Add bcmbca-hsspi controller support
        commit: 0ba979f995324417fd773881bc5a39910a9f2362
[03/15] ARM: dts: broadcom: bcmbca: Add spi controller node
        (no commit info)
[04/15] arm64: dts: broadcom: bcmbca: Add spi controller node
        (no commit info)
[05/15] spi: bcm63xx-hsspi: Add new compatible string support
        commit: 99d7428ac94bf67d6e9df81dd3b4bf3046196ad6
[06/15] spi: bcm63xx-hsspi: Endianness fix for ARM based SoC
        commit: 85a84a61699990db6a025b5073f337f49933a875
[07/15] spi: bcm63xx-hsspi: Add polling mode support
        commit: 50a6620dd1fbc810476422a965b041f1839f8eac
[08/15] spi: export spi_transfer_cs_change_delay_exec function
        (no commit info)
[09/15] spi: bcm63xx-hsspi: Handle cs_change correctly
        (no commit info)
[10/15] spi: bcm63xx-hsspi: Fix multi-bit mode setting
        (no commit info)
[11/15] spi: bcm63xx-hsspi: Add prepend mode support
        (no commit info)
[12/15] spi: spi-mem: Allow controller supporting mem_ops without exec_op
        (no commit info)
[13/15] spi: bcm63xx-hsspi: Disable spi mem dual io read op support
        (no commit info)
[14/15] spi: bcmbca-hsspi: Add driver for newer HSSPI controller
        (no commit info)
[15/15] MAINTAINERS: Add entry for Broadcom Broadband SoC HS SPI drivers
        (no commit info)

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
Florian Fainelli Feb. 9, 2023, 6:34 p.m. UTC | #2
On 2/9/23 09:18, Mark Brown wrote:
> On Mon, 06 Feb 2023 22:58:11 -0800, William Zhang wrote:
>> 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 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
>>
>> [...]
> 
> Applied to
> 
>     https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
> 
> Thanks!
> 
> [01/15] dt-bindings: spi: Convert bcm63xx-hsspi bindings to json-schema
>          commit: fff948a44b44a628c81294af5498226cb66a2594
> [02/15] dt-bindings: spi: Add bcmbca-hsspi controller support
>          commit: 0ba979f995324417fd773881bc5a39910a9f2362
> [03/15] ARM: dts: broadcom: bcmbca: Add spi controller node
>          (no commit info)
> [04/15] arm64: dts: broadcom: bcmbca: Add spi controller node
>          (no commit info)

Usually we have SoC maintainers pick up the DTS patches affecting the 
platforms they cover to avoid conflicts... I suppose that is fine.
Mark Brown Feb. 9, 2023, 6:36 p.m. UTC | #3
On Thu, Feb 09, 2023 at 10:34:34AM -0800, Florian Fainelli wrote:
> On 2/9/23 09:18, Mark Brown wrote:

> > [03/15] ARM: dts: broadcom: bcmbca: Add spi controller node
> >          (no commit info)
> > [04/15] arm64: dts: broadcom: bcmbca: Add spi controller node
> >          (no commit info)

> Usually we have SoC maintainers pick up the DTS patches affecting the
> platforms they cover to avoid conflicts... I suppose that is fine.

Hence the "no commit info" - there's no commit for those changes.
Florian Fainelli Feb. 9, 2023, 6:38 p.m. UTC | #4
On 2/9/23 10:36, Mark Brown wrote:
> On Thu, Feb 09, 2023 at 10:34:34AM -0800, Florian Fainelli wrote:
>> On 2/9/23 09:18, Mark Brown wrote:
> 
>>> [03/15] ARM: dts: broadcom: bcmbca: Add spi controller node
>>>           (no commit info)
>>> [04/15] arm64: dts: broadcom: bcmbca: Add spi controller node
>>>           (no commit info)
> 
>> Usually we have SoC maintainers pick up the DTS patches affecting the
>> platforms they cover to avoid conflicts... I suppose that is fine.
> 
> Hence the "no commit info" - there's no commit for those changes.

Did not I get tripped over this before, yes I did! OK, I will go hide in 
that corner other there. Thanks!