[U-Boot] [PATCH v10 00/12] mips: bmips: add SPI support

Álvaro Fernández Rojas
2018-01-23T16:14:53Z

BCM63xx SPI controller is a bit tricky since it doesn't allow keeping CS
active between transfers, so I had to modify the spi_flash driver in order
to allow limiting reads.

v10: Introduce changes reported by Tom Rini & Daniel Schwierzeck:
- Fix undefined BE read functions
v9: Introduce changes suggested by Simon Glass:
- Fix defconfig order.
v8: Introduce changes suggested by Jagan Teki & Daniel Schwierzeck:
- Squash wait_bit commits.
- Remove register param castings.
v7: Introduce changes suggested by Jagan Teki & Daniel Schwierzeck:
- Use const void* reg for compatibility with 64 bit systems.
- Remove prefix and use __func__ instead.
- Remove wait_for_bit and update callers to wait_for_bit_le32.
v6: Introduce changes suggested by Jagan Teki:
- Use cmd instead of val to avoid confusions.
- Switch to wait_for_bit instead of infinite loop.
v5: Introduce changes suggested by Jagan Teki:
- Use long structs for registers
v4: Introduce changes suggested by Jagan Teki:
- Add data for each HW controller instead of having two separate configs.
v3: Fix bug introduced in v2: sizeof(cmd) vs len.
Also rename BCM6338 SPI driver to BCM6348 SPI since BCM6338 is a stripped
down version of the BCM6348.
Switch to devfdt_get_addr_size_index().
v2: Introduce changes requested by Simon Glass:
- Always include command bytes when determining max write size.
Also move SPI aliases from .dts to .dtsi files.

Álvaro Fernández Rojas (12):
wait_bit: add 8/16/32 BE/LE versions of wait_for_bit
wait_bit: use wait_for_bit_le32 and remove wait_for_bit
drivers: spi: allow limiting reads
drivers: spi: consider command bytes when sending transfers
dm: spi: add BCM63xx SPI driver
mips: bmips: add bcm63xx-spi driver support for BCM6338
mips: bmips: add bcm63xx-spi driver support for BCM6348
mips: bmips: add bcm63xx-spi driver support for BCM6358
mips: bmips: add bcm63xx-spi driver support for BCM3380
mips: bmips: add bcm63xx-spi driver support for BCM63268
mips: bmips: enable the SPI flash on the Sagem F at ST1704
mips: bmips: enable the SPI flash on the Netgear CG3100D

arch/arm/mach-imx/mx6/ddr.c | 22 +-
arch/arm/mach-socfpga/clock_manager.c | 4 +-
arch/arm/mach-socfpga/clock_manager_gen5.c | 6 +-
arch/arm/mach-socfpga/reset_manager_arria10.c | 36 +--
arch/mips/dts/brcm,bcm3380.dtsi | 17 +
arch/mips/dts/brcm,bcm63268.dtsi | 17 +
arch/mips/dts/brcm,bcm6338.dtsi | 17 +
arch/mips/dts/brcm,bcm6348.dtsi | 17 +
arch/mips/dts/brcm,bcm6358.dtsi | 17 +
arch/mips/dts/netgear,cg3100d.dts | 12 +
arch/mips/dts/sagem,f at st1704.dts | 12 +
arch/mips/mach-ath79/ar934x/clk.c | 2 +-
board/samtec/vining_2000/vining_2000.c | 4 +-
configs/netgear_cg3100d_ram_defconfig | 8 +
configs/sagem_f at st1704_ram_defconfig | 8 +
drivers/clk/clk_pic32.c | 12 +-
drivers/clk/renesas/clk-rcar-gen3.c | 4 +-
drivers/ddr/microchip/ddr2.c | 8 +-
drivers/fpga/socfpga_arria10.c | 17 +-
drivers/mmc/msm_sdhci.c | 8 +-
drivers/mtd/pic32_flash.c | 4 +-
drivers/mtd/spi/spi_flash.c | 5 +-
drivers/net/ag7xxx.c | 16 +-
drivers/net/dwc_eth_qos.c | 17 +-
drivers/net/ethoc.c | 8 +-
drivers/net/pic32_eth.c | 12 +-
drivers/net/pic32_mdio.c | 28 +-
drivers/net/ravb.c | 4 +-
drivers/net/xilinx_axi_emac.c | 4 +-
drivers/net/zynq_gem.c | 12 +-
drivers/reset/sti-reset.c | 4 +-
drivers/serial/serial_pic32.c | 4 +-
drivers/spi/Kconfig | 8 +
drivers/spi/Makefile | 1 +
drivers/spi/atmel_spi.c | 4 +-
drivers/spi/bcm63xx_spi.c | 433 ++++++++++++++++++++++++++
drivers/spi/cadence_qspi_apb.c | 14 +-
drivers/spi/fsl_qspi.c | 20 +-
drivers/spi/mvebu_a3700_spi.c | 20 +-
drivers/usb/host/dwc2.c | 24 +-
drivers/usb/host/ehci-msm.c | 3 +-
drivers/usb/host/ehci-mx6.c | 5 +-
drivers/usb/host/ohci-lpc32xx.c | 12 +-
drivers/usb/host/xhci-rcar.c | 12 +-
drivers/video/atmel_hlcdfb.c | 64 ++--
include/spi.h | 5 +-
include/wait_bit.h | 85 ++---
47 files changed, 828 insertions(+), 248 deletions(-)
create mode 100644 drivers/spi/bcm63xx_spi.c

--
2.11.0