freebsd-nq/sys
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
..
amd64 sysent: regenerate 2021-12-16 20:56:28 -06:00
arm qcom_qup: add initial v1/v2 QUP SPI driver 2021-12-27 15:27:29 -08:00
arm64 arm64: Fix "set-but-not-used" warnings in the pmap 2021-12-27 11:48:15 -06:00
bsm
cam adaspindown: check disk power mode before sending IDLE command 2021-12-24 11:02:22 +02:00
cddl dtrace: Disable getf() as it is broken on FreeBSD 2021-12-17 13:10:22 -05:00
compat LinuxKPI: add 802.11 compat code 2021-12-27 18:47:25 +00:00
conf LinuxKPI: add 802.11 compat code 2021-12-27 18:47:25 +00:00
contrib iwlwifi: plug memory modified after free 2021-12-27 18:47:26 +00:00
crypto aesni: Fix an out-of-bounds read in AES_GCM_decrypt() 2021-12-16 09:17:06 -05:00
ddb
dev qcom_qup: add initial v1/v2 QUP SPI driver 2021-12-27 15:27:29 -08:00
dts add rk3328 overlay for enabling analog sound 2021-11-13 11:09:23 +02:00
fs nfscommon: Return NFSERR_ATTRNOTSUPP for AUDIT/ALARM ACEs 2021-12-27 08:03:41 -08:00
gdb
geom geom(4): Fix some of the "set but not used" warnings 2021-12-18 11:42:34 +00:00
gnu
i386 sysent: regenerate 2021-12-16 20:56:28 -06:00
isa
kern kern: Remove CTLFLAG_NEEDGIANT from some more sysctls. 2021-12-26 23:07:33 -05:00
kgssapi
libkern
mips mips: Implement suword16 2021-12-19 12:48:49 +00:00
modules iwlwifi: attach to the build 2021-12-27 18:47:26 +00:00
net pf: make if_pfsync.h self-contained 2021-12-17 12:38:35 +01:00
net80211 net80211: adjust a printf to toeee80211_note 2021-12-26 17:26:58 +00:00
netgraph netgraph: Remove CTLFLAG_NEEDGIANT from sysctl. 2021-12-26 19:42:53 -05:00
netinet sctp: cleanup the SCTP_MAXSEG socket option. 2021-12-27 23:40:31 +01:00
netinet6 in_pcb: use jenkins hash over the entire IPv6 (or IPv4) address 2021-12-26 10:47:28 -08:00
netipsec crypto: Consistently use AES instead of Rijndael128 for the AES-CBC cipher. 2021-12-16 13:47:27 -08:00
netpfil ipfilter: Move kernel bits to netpfil 2021-12-20 06:16:33 -08:00
netsmb
nfs nfs: don't truncate directory cookies to 32-bits in the NFS server 2021-12-15 20:54:57 -07:00
nfsclient
nfsserver
nlm
ofed
opencrypto cryptodev.h: Drop 'extern' from function prototypes. 2021-12-21 12:33:49 -08:00
powerpc [PowerPC] PowerMac timebase sync for G4 2021-12-23 16:06:07 -06:00
riscv riscv: Fix PLIC -Wunused-but-set-variable warnings 2021-12-10 04:51:32 +00:00
rpc rpc: Delete AUTH_NEEDS_TLS(_MUTUAL_HOST) auth_stat values 2021-12-23 14:31:53 -08:00
security Thread creation privilege for realtime group 2021-12-15 00:01:58 +02:00
sys jail: network epoch protection for IP address lists 2021-12-26 10:45:50 -08:00
teken
tests
tools arm64: Don't rely on host readelf for u-boot booti image generation 2021-12-24 19:25:20 +00:00
ufs Change VOP_READDIR's cookies argument to a **uint64_t 2021-12-15 20:54:57 -07:00
vm vm_reserv: fix zero-boundary error 2021-12-26 11:40:27 -06:00
x86 x86: Remove CTLFLAG_NEEDGIANT from sysctls. 2021-12-25 22:24:20 -05:00
xdr
xen Create wrapper for Giant taken for newbus 2021-12-09 17:04:45 -07:00
Makefile