freebsd-nq/sys/arm
Adrian Chadd d27ba30884 qcom_qup: add initial v1/v2 QUP SPI driver
The Qualcomm Universal Peripherals Engine (QUP) is a unified SPI and I2C
peripheral that ships with a variety of Qualcomm SoCs.

It supports three transfer modes - single PIO, block PIO and DMA.

This driver only supports the single PIO mode, which is enough to
bootstrap the rest of the SPI NAND/NOR support and means I can do
things like read the Wifi calibration data from NOR.  It has some
hardware support code for the other transfer modes as well as
some support for split transfers (ie, transfers with no read or
write phase), but I haven't yet implemented those.

This driver is based on four sources - the linux driver, the u-boot
driver, some initial work done for APQ8064 by mmel@, and the APQ8064
Technical Reference Manual which is surprisingly free and open to
read.  The linux and u-boot drivers approach a variety of things
completely differently, from how PIO is done, the hardware support
for re-ordering bytes in a transfer word and how the CS lines
are used.

Tested:

* IPQ4018, SPI to NAND/NOR flash, PIO only
2021-12-27 15:27:29 -08:00
..
allwinner aw_spi: improve I/O stability 2021-12-20 12:40:17 +02:00
altera/socfpga arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
annapurna/alpine Remove versatile support 2021-04-12 06:16:31 +00:00
arm Try to fix syntax of "strht" instruction so that clang is happy. 2021-12-19 13:52:36 +01:00
broadcom/bcm2835 vt: export RGB offsets with FBIO_GETRGBOFFS 2021-11-25 16:39:25 -03:00
conf qcom_qup: add initial v1/v2 QUP SPI driver 2021-12-27 15:27:29 -08:00
freescale arm/freescale: remove FBIOSCURSOR 2021-12-09 17:00:43 +00:00
include Add <machine/tls.h> header to hold MD constants and helpers for TLS. 2021-12-09 13:17:13 -08:00
mv arm/mv: Don't rely on firmware MSI mapping in ICU 2021-07-20 23:24:42 +02:00
nvidia tegra/ahci: do not advertise enclosure management facility 2021-12-24 20:36:46 +01:00
qemu arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
qualcomm qcom_qup: add initial v1/v2 QUP SPI driver 2021-12-27 15:27:29 -08:00
rockchip Add support for RK3288 SoC. 2020-12-04 16:24:44 +00:00
ti omap4: Fix a few typos in source code comments 2021-12-04 12:13:27 +01:00
xilinx arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00