* refs/heads/tmp-2fea039 Linux 4.4.106 usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one Revert "x86/mm/pat: Ensure cpa->pfn only contains page frame numbers" Revert "x86/efi: Hoist page table switching code into efi_call_virt()" Revert "x86/efi: Build our own page table structures" net/packet: fix a race in packet_bind() and packet_notifier() packet: fix crash in fanout_demux_rollover() sit: update frag_off info rds: Fix NULL pointer dereference in __rds_rdma_map tipc: fix memory leak in tipc_accept_from_sock() more bio_map_user_iov() leak fixes s390: always save and restore all registers on context switch ipmi: Stop timers before cleaning up the module audit: ensure that 'audit=1' actually enables audit for PID 1 ipvlan: fix ipv6 outbound device afs: Connect up the CB.ProbeUuid IB/mlx5: Assign send CQ and recv CQ of UMR QP IB/mlx4: Increase maximal message size under UD QP xfrm: Copy policy family in clone_policy jump_label: Invoke jump_label_test() via early_initcall() atm: horizon: Fix irq release error sctp: use the right sk after waking up from wait_buf sleep sctp: do not free asoc when it is already dead in sctp_sendmsg sparc64/mm: set fields in deferred pages block: wake up all tasks blocked in get_request() sunrpc: Fix rpc_task_begin trace point NFS: Fix a typo in nfs_rename() dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0 lib/genalloc.c: make the avail variable an atomic_long_t route: update fnhe_expires for redirect when the fnhe exists route: also update fnhe_genid when updating a route cache mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl() kbuild: pkg: use --transform option to prefix paths in tar EDAC, i5000, i5400: Fix definition of NRECMEMB register EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested drm/amd/amdgpu: fix console deadlock if late init failed axonram: Fix gendisk handling netfilter: don't track fragmented packets zram: set physical queue limits to avoid array out of bounds accesses i2c: riic: fix restart condition crypto: s5p-sss - Fix completing crypto request in IRQ handler ipv6: reorder icmpv6_init() and ip6_mr_init() bnx2x: do not rollback VF MAC/VLAN filters we did not configure bnx2x: fix possible overrun of VFPF multicast addresses array bnx2x: prevent crash when accessing PTP with interface down spi_ks8995: fix "BUG: key accdaa28 not in .data!" arm64: KVM: Survive unknown traps from guests arm: KVM: Survive unknown traps from guests KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset irqchip/crossbar: Fix incorrect type of register size scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq libata: drop WARN from protocol error in ata_sff_qc_issue() kvm: nVMX: VMCLEAR should not cause the vCPU to shut down USB: gadgetfs: Fix a potential memory leak in 'dev_config()' usb: gadget: configs: plug memory leak HID: chicony: Add support for another ASUS Zen AiO keyboard gpio: altera: Use handle_level_irq when configured as a level_high ARM: OMAP2+: Release device node after it is no longer needed. ARM: OMAP2+: Fix device node reference counts module: set __jump_table alignment to 8 selftest/powerpc: Fix false failures for skipped tests x86/hpet: Prevent might sleep splat on resume ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure vti6: Don't report path MTU below IPV6_MIN_MTU. Revert "s390/kbuild: enable modversions for symbols exported from asm" Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA" Revert "drm/armada: Fix compile fail" mm: drop unused pmdp_huge_get_and_clear_notify() thp: fix MADV_DONTNEED vs. numa balancing race thp: reduce indentation level in change_huge_pmd() scsi: storvsc: Workaround for virtual DVD SCSI version ARM: avoid faulting on qemu ARM: BUG if jumping to usermode address in kernel mode arm64: fpsimd: Prevent registers leaking from dead tasks KVM: VMX: remove I/O port 0x80 bypass on Intel hosts arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one media: dvb: i2c transfers over usb cannot be done from stack drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU drm: extra printk() wrapper macros kdb: Fix handling of kallsyms_symbol_next() return value s390: fix compat system call table iommu/vt-d: Fix scatterlist offset handling ALSA: usb-audio: Add check return value for usb_string() ALSA: usb-audio: Fix out-of-bound error ALSA: seq: Remove spurious WARN_ON() at timer check ALSA: pcm: prevent UAF in snd_pcm_info x86/PCI: Make broadcom_postcore_init() check acpi_disabled X.509: reject invalid BIT STRING for subjectPublicKey ASN.1: check for error from ASN1_OP_END__ACT actions ASN.1: fix out-of-bounds read when parsing indefinite length item efi: Move some sysfs files to be read-only by root scsi: libsas: align sata_device's rps_resp on a cacheline isa: Prevent NULL dereference in isa_bus driver callbacks hv: kvp: Avoid reading past allocated blocks from KVP file virtio: release virtio index when fail to device_register can: usb_8dev: cancel urb on -EPIPE and -EPROTO can: esd_usb2: cancel urb on -EPIPE and -EPROTO can: ems_usb: cancel urb on -EPIPE and -EPROTO can: kvaser_usb: cancel urb on -EPIPE and -EPROTO can: kvaser_usb: ratelimit errors if incomplete messages are received can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback() can: kvaser_usb: free buf in error paths can: ti_hecc: Fix napi poll return value for repoll BACKPORT: irq: Make the irqentry text section unconditional UPSTREAM: arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections UPSTREAM: x86, kasan, ftrace: Put APIC interrupt handlers into .irqentry.text UPSTREAM: kasan: make get_wild_bug_type() static UPSTREAM: kasan: separate report parts by empty lines UPSTREAM: kasan: improve double-free report format UPSTREAM: kasan: print page description after stacks UPSTREAM: kasan: improve slab object description UPSTREAM: kasan: change report header UPSTREAM: kasan: simplify address description logic UPSTREAM: kasan: change allocation and freeing stack traces headers UPSTREAM: kasan: unify report headers UPSTREAM: kasan: introduce helper functions for determining bug type BACKPORT: kasan: report only the first error by default UPSTREAM: kasan: fix races in quarantine_remove_cache() UPSTREAM: kasan: resched in quarantine_remove_cache() BACKPORT: kasan, sched/headers: Uninline kasan_enable/disable_current() BACKPORT: kasan: drain quarantine of memcg slab objects UPSTREAM: kasan: eliminate long stalls during quarantine reduction UPSTREAM: kasan: support panic_on_warn UPSTREAM: x86/suspend: fix false positive KASAN warning on suspend/resume UPSTREAM: kasan: support use-after-scope detection UPSTREAM: kasan/tests: add tests for user memory access functions UPSTREAM: mm, kasan: add a ksize() test UPSTREAM: kasan: test fix: warn if the UAF could not be detected in kmalloc_uaf2 UPSTREAM: kasan: modify kmalloc_large_oob_right(), add kmalloc_pagealloc_oob_right() UPSTREAM: lib/stackdepot: export save/fetch stack for drivers UPSTREAM: lib/stackdepot.c: bump stackdepot capacity from 16MB to 128MB BACKPORT: kprobes: Unpoison stack in jprobe_return() for KASAN UPSTREAM: kasan: remove the unnecessary WARN_ONCE from quarantine.c UPSTREAM: kasan: avoid overflowing quarantine size on low memory systems UPSTREAM: kasan: improve double-free reports BACKPORT: mm: coalesce split strings BACKPORT: mm/kasan: get rid of ->state in struct kasan_alloc_meta UPSTREAM: mm/kasan: get rid of ->alloc_size in struct kasan_alloc_meta UPSTREAM: mm: kasan: remove unused 'reserved' field from struct kasan_alloc_meta UPSTREAM: mm/kasan, slub: don't disable interrupts when object leaves quarantine UPSTREAM: mm/kasan: don't reduce quarantine in atomic contexts UPSTREAM: mm/kasan: fix corruptions and false positive reports UPSTREAM: lib/stackdepot.c: use __GFP_NOWARN for stack allocations BACKPORT: mm, kasan: switch SLUB to stackdepot, enable memory quarantine for SLUB UPSTREAM: kasan/quarantine: fix bugs on qlist_move_cache() UPSTREAM: mm: mempool: kasan: don't poot mempool objects in quarantine UPSTREAM: kasan: change memory hot-add error messages to info messages BACKPORT: mm/kasan: add API to check memory regions UPSTREAM: mm/kasan: print name of mem[set,cpy,move]() caller in report UPSTREAM: mm: kasan: initial memory quarantine implementation UPSTREAM: lib/stackdepot: avoid to return 0 handle UPSTREAM: lib/stackdepot.c: allow the stack trace hash to be zero UPSTREAM: mm, kasan: fix compilation for CONFIG_SLAB BACKPORT: mm, kasan: stackdepot implementation. Enable stackdepot for SLAB BACKPORT: mm, kasan: add GFP flags to KASAN API UPSTREAM: mm, kasan: SLAB support UPSTREAM: mm/slab: align cache size first before determination of OFF_SLAB candidate UPSTREAM: mm/slab: use more appropriate condition check for debug_pagealloc UPSTREAM: mm/slab: factor out debugging initialization in cache_init_objs() UPSTREAM: mm/slab: remove object status buffer for DEBUG_SLAB_LEAK UPSTREAM: mm/slab: alternative implementation for DEBUG_SLAB_LEAK UPSTREAM: mm/slab: clean up DEBUG_PAGEALLOC processing code UPSTREAM: mm/slab: activate debug_pagealloc in SLAB when it is actually enabled sched: EAS/WALT: Don't take into account of running task's util BACKPORT: schedutil: Reset cached freq if it is not in sync with next_freq UPSTREAM: kasan: add functions to clear stack poison Conflicts: arch/arm/include/asm/kvm_arm.h arch/arm64/kernel/vmlinux.lds.S include/linux/kasan.h kernel/softirq.c lib/Kconfig lib/Kconfig.kasan lib/Makefile lib/stackdepot.c mm/kasan/kasan.c sound/usb/mixer.c Change-Id: If70ced6da5f19be3dd92d10a8d8cd4d5841e5870 Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
721 lines
22 KiB
Text
721 lines
22 KiB
Text
#
|
|
# SPI driver configuration
|
|
#
|
|
# NOTE: the reason this doesn't show SPI slave support is mostly that
|
|
# nobody's needed a slave side API yet. The master-role API is not
|
|
# fully appropriate there, so it'd need some thought to do well.
|
|
#
|
|
menuconfig SPI
|
|
bool "SPI support"
|
|
depends on HAS_IOMEM
|
|
help
|
|
The "Serial Peripheral Interface" is a low level synchronous
|
|
protocol. Chips that support SPI can have data transfer rates
|
|
up to several tens of Mbit/sec. Chips are addressed with a
|
|
controller and a chipselect. Most SPI slaves don't support
|
|
dynamic device discovery; some are even write-only or read-only.
|
|
|
|
SPI is widely used by microcontrollers to talk with sensors,
|
|
eeprom and flash memory, codecs and various other controller
|
|
chips, analog to digital (and d-to-a) converters, and more.
|
|
MMC and SD cards can be accessed using SPI protocol; and for
|
|
DataFlash cards used in MMC sockets, SPI must always be used.
|
|
|
|
SPI is one of a family of similar protocols using a four wire
|
|
interface (select, clock, data in, data out) including Microwire
|
|
(half duplex), SSP, SSI, and PSP. This driver framework should
|
|
work with most such devices and controllers.
|
|
|
|
if SPI
|
|
|
|
config SPI_DEBUG
|
|
bool "Debug support for SPI drivers"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Say "yes" to enable debug messaging (like dev_dbg and pr_debug),
|
|
sysfs, and debugfs support in SPI controller and protocol drivers.
|
|
|
|
#
|
|
# MASTER side ... talking to discrete SPI slave chips including microcontrollers
|
|
#
|
|
|
|
config SPI_MASTER
|
|
# bool "SPI Master Support"
|
|
bool
|
|
default SPI
|
|
help
|
|
If your system has an master-capable SPI controller (which
|
|
provides the clock and chipselect), you can enable that
|
|
controller and the protocol drivers for the SPI slave chips
|
|
that are connected.
|
|
|
|
if SPI_MASTER
|
|
|
|
comment "SPI Master Controller Drivers"
|
|
|
|
config SPI_ALTERA
|
|
tristate "Altera SPI Controller"
|
|
select SPI_BITBANG
|
|
help
|
|
This is the driver for the Altera SPI Controller.
|
|
|
|
config SPI_ATH79
|
|
tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver"
|
|
depends on ATH79 && GPIOLIB
|
|
select SPI_BITBANG
|
|
help
|
|
This enables support for the SPI controller present on the
|
|
Atheros AR71XX/AR724X/AR913X SoCs.
|
|
|
|
config SPI_ATMEL
|
|
tristate "Atmel SPI Controller"
|
|
depends on HAS_DMA
|
|
depends on (ARCH_AT91 || AVR32 || COMPILE_TEST)
|
|
help
|
|
This selects a driver for the Atmel SPI Controller, present on
|
|
many AT32 (AVR32) and AT91 (ARM) chips.
|
|
|
|
config SPI_BCM2835
|
|
tristate "BCM2835 SPI controller"
|
|
depends on GPIOLIB
|
|
depends on ARCH_BCM2835 || COMPILE_TEST
|
|
depends on GPIOLIB
|
|
help
|
|
This selects a driver for the Broadcom BCM2835 SPI master.
|
|
|
|
The BCM2835 contains two types of SPI master controller; the
|
|
"universal SPI master", and the regular SPI controller. This driver
|
|
is for the regular SPI controller. Slave mode operation is not also
|
|
not supported.
|
|
|
|
config SPI_BCM2835AUX
|
|
tristate "BCM2835 SPI auxiliary controller"
|
|
depends on ARCH_BCM2835 || COMPILE_TEST
|
|
depends on GPIOLIB
|
|
help
|
|
This selects a driver for the Broadcom BCM2835 SPI aux master.
|
|
|
|
The BCM2835 contains two types of SPI master controller; the
|
|
"universal SPI master", and the regular SPI controller.
|
|
This driver is for the universal/auxiliary SPI controller.
|
|
|
|
config SPI_BFIN5XX
|
|
tristate "SPI controller driver for ADI Blackfin5xx"
|
|
depends on BLACKFIN && !BF60x
|
|
help
|
|
This is the SPI controller master driver for Blackfin 5xx processor.
|
|
|
|
config SPI_ADI_V3
|
|
tristate "SPI controller v3 for ADI"
|
|
depends on BF60x
|
|
help
|
|
This is the SPI controller v3 master driver
|
|
found on Blackfin 60x processor.
|
|
|
|
config SPI_BFIN_SPORT
|
|
tristate "SPI bus via Blackfin SPORT"
|
|
depends on BLACKFIN
|
|
help
|
|
Enable support for a SPI bus via the Blackfin SPORT peripheral.
|
|
|
|
config SPI_AU1550
|
|
tristate "Au1550/Au1200/Au1300 SPI Controller"
|
|
depends on MIPS_ALCHEMY
|
|
select SPI_BITBANG
|
|
help
|
|
If you say yes to this option, support will be included for the
|
|
PSC SPI controller found on Au1550, Au1200 and Au1300 series.
|
|
|
|
config SPI_BCM53XX
|
|
tristate "Broadcom BCM53xx SPI controller"
|
|
depends on ARCH_BCM_5301X
|
|
depends on BCMA_POSSIBLE
|
|
select BCMA
|
|
help
|
|
Enable support for the SPI controller on Broadcom BCM53xx ARM SoCs.
|
|
|
|
config SPI_BCM63XX
|
|
tristate "Broadcom BCM63xx SPI controller"
|
|
depends on BCM63XX || COMPILE_TEST
|
|
help
|
|
Enable support for the SPI controller on the Broadcom BCM63xx SoCs.
|
|
|
|
config SPI_BCM63XX_HSSPI
|
|
tristate "Broadcom BCM63XX HS SPI controller driver"
|
|
depends on BCM63XX || COMPILE_TEST
|
|
help
|
|
This enables support for the High Speed SPI controller present on
|
|
newer Broadcom BCM63XX SoCs.
|
|
|
|
config SPI_BITBANG
|
|
tristate "Utilities for Bitbanging SPI masters"
|
|
help
|
|
With a few GPIO pins, your system can bitbang the SPI protocol.
|
|
Select this to get SPI support through I/O pins (GPIO, parallel
|
|
port, etc). Or, some systems' SPI master controller drivers use
|
|
this code to manage the per-word or per-transfer accesses to the
|
|
hardware shift registers.
|
|
|
|
This is library code, and is automatically selected by drivers that
|
|
need it. You only need to select this explicitly to support driver
|
|
modules that aren't part of this kernel tree.
|
|
|
|
config SPI_BUTTERFLY
|
|
tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)"
|
|
depends on PARPORT
|
|
select SPI_BITBANG
|
|
help
|
|
This uses a custom parallel port cable to connect to an AVR
|
|
Butterfly <http://www.atmel.com/products/avr/butterfly>, an
|
|
inexpensive battery powered microcontroller evaluation board.
|
|
This same cable can be used to flash new firmware.
|
|
|
|
config SPI_CADENCE
|
|
tristate "Cadence SPI controller"
|
|
help
|
|
This selects the Cadence SPI controller master driver
|
|
used by Xilinx Zynq and ZynqMP.
|
|
|
|
config SPI_CLPS711X
|
|
tristate "CLPS711X host SPI controller"
|
|
depends on ARCH_CLPS711X || COMPILE_TEST
|
|
help
|
|
This enables dedicated general purpose SPI/Microwire1-compatible
|
|
master mode interface (SSI1) for CLPS711X-based CPUs.
|
|
|
|
config SPI_COLDFIRE_QSPI
|
|
tristate "Freescale Coldfire QSPI controller"
|
|
depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x)
|
|
help
|
|
This enables support for the Coldfire QSPI controller in master
|
|
mode.
|
|
|
|
config SPI_DAVINCI
|
|
tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller"
|
|
depends on ARCH_DAVINCI || ARCH_KEYSTONE
|
|
select SPI_BITBANG
|
|
help
|
|
SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules.
|
|
|
|
config SPI_DLN2
|
|
tristate "Diolan DLN-2 USB SPI adapter"
|
|
depends on MFD_DLN2
|
|
help
|
|
If you say yes to this option, support will be included for Diolan
|
|
DLN2, a USB to SPI interface.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called spi-dln2.
|
|
|
|
config SPI_EFM32
|
|
tristate "EFM32 SPI controller"
|
|
depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
|
|
select SPI_BITBANG
|
|
help
|
|
Driver for the spi controller found on Energy Micro's EFM32 SoCs.
|
|
|
|
config SPI_EP93XX
|
|
tristate "Cirrus Logic EP93xx SPI controller"
|
|
depends on HAS_DMA
|
|
depends on ARCH_EP93XX || COMPILE_TEST
|
|
help
|
|
This enables using the Cirrus EP93xx SPI controller in master
|
|
mode.
|
|
|
|
config SPI_FALCON
|
|
tristate "Falcon SPI controller support"
|
|
depends on SOC_FALCON
|
|
help
|
|
The external bus unit (EBU) found on the FALC-ON SoC has SPI
|
|
emulation that is designed for serial flash access. This driver
|
|
has only been tested with m25p80 type chips. The hardware has no
|
|
support for other types of SPI peripherals.
|
|
|
|
config SPI_GPIO
|
|
tristate "GPIO-based bitbanging SPI Master"
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
select SPI_BITBANG
|
|
help
|
|
This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
|
|
interface to manage MOSI, MISO, SCK, and chipselect signals. SPI
|
|
slaves connected to a bus using this driver are configured as usual,
|
|
except that the spi_board_info.controller_data holds the GPIO number
|
|
for the chipselect used by this controller driver.
|
|
|
|
Note that this driver often won't achieve even 1 Mbit/sec speeds,
|
|
making it unusually slow for SPI. If your platform can inline
|
|
GPIO operations, you should be able to leverage that for better
|
|
speed with a custom version of this driver; see the source code.
|
|
|
|
config SPI_IMG_SPFI
|
|
tristate "IMG SPFI controller"
|
|
depends on MIPS || COMPILE_TEST
|
|
help
|
|
This enables support for the SPFI master controller found on
|
|
IMG SoCs.
|
|
|
|
config SPI_IMX
|
|
tristate "Freescale i.MX SPI controllers"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
select SPI_BITBANG
|
|
help
|
|
This enables using the Freescale i.MX SPI controllers in master
|
|
mode.
|
|
|
|
config SPI_LM70_LLP
|
|
tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
|
|
depends on PARPORT
|
|
select SPI_BITBANG
|
|
help
|
|
This driver supports the NS LM70 LLP Evaluation Board,
|
|
which interfaces to an LM70 temperature sensor using
|
|
a parallel port.
|
|
|
|
config SPI_MPC52xx
|
|
tristate "Freescale MPC52xx SPI (non-PSC) controller support"
|
|
depends on PPC_MPC52xx
|
|
help
|
|
This drivers supports the MPC52xx SPI controller in master SPI
|
|
mode.
|
|
|
|
config SPI_MPC52xx_PSC
|
|
tristate "Freescale MPC52xx PSC SPI controller"
|
|
depends on PPC_MPC52xx
|
|
help
|
|
This enables using the Freescale MPC52xx Programmable Serial
|
|
Controller in master SPI mode.
|
|
|
|
config SPI_MPC512x_PSC
|
|
tristate "Freescale MPC512x PSC SPI controller"
|
|
depends on PPC_MPC512x
|
|
help
|
|
This enables using the Freescale MPC5121 Programmable Serial
|
|
Controller in SPI master mode.
|
|
|
|
config SPI_FSL_LIB
|
|
tristate
|
|
depends on OF
|
|
|
|
config SPI_FSL_CPM
|
|
tristate
|
|
depends on FSL_SOC
|
|
|
|
config SPI_FSL_SPI
|
|
tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller"
|
|
depends on OF
|
|
select SPI_FSL_LIB
|
|
select SPI_FSL_CPM if FSL_SOC
|
|
help
|
|
This enables using the Freescale SPI controllers in master mode.
|
|
MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
|
|
MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
|
|
This also enables using the Aeroflex Gaisler GRLIB SPI controller in
|
|
master mode.
|
|
|
|
config SPI_FSL_DSPI
|
|
tristate "Freescale DSPI controller"
|
|
select REGMAP_MMIO
|
|
depends on SOC_VF610 || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
|
|
help
|
|
This enables support for the Freescale DSPI controller in master
|
|
mode. VF610 platform uses the controller.
|
|
|
|
config SPI_FSL_ESPI
|
|
tristate "Freescale eSPI controller"
|
|
depends on FSL_SOC
|
|
select SPI_FSL_LIB
|
|
help
|
|
This enables using the Freescale eSPI controllers in master mode.
|
|
From MPC8536, 85xx platform uses the controller, and all P10xx,
|
|
P20xx, P30xx,P40xx, P50xx uses this controller.
|
|
|
|
config SPI_MESON_SPIFC
|
|
tristate "Amlogic Meson SPIFC controller"
|
|
depends on ARCH_MESON || COMPILE_TEST
|
|
select REGMAP_MMIO
|
|
help
|
|
This enables master mode support for the SPIFC (SPI flash
|
|
controller) available in Amlogic Meson SoCs.
|
|
|
|
config SPI_MT65XX
|
|
tristate "MediaTek SPI controller"
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
help
|
|
This selects the MediaTek(R) SPI bus driver.
|
|
If you want to use MediaTek(R) SPI interface,
|
|
say Y or M here.If you are not sure, say N.
|
|
SPI drivers for Mediatek MT65XX and MT81XX series ARM SoCs.
|
|
|
|
config SPI_OC_TINY
|
|
tristate "OpenCores tiny SPI"
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
select SPI_BITBANG
|
|
help
|
|
This is the driver for OpenCores tiny SPI master controller.
|
|
|
|
config SPI_OCTEON
|
|
tristate "Cavium OCTEON SPI controller"
|
|
depends on CAVIUM_OCTEON_SOC
|
|
help
|
|
SPI host driver for the hardware found on some Cavium OCTEON
|
|
SOCs.
|
|
|
|
config SPI_OMAP_UWIRE
|
|
tristate "OMAP1 MicroWire"
|
|
depends on ARCH_OMAP1
|
|
select SPI_BITBANG
|
|
help
|
|
This hooks up to the MicroWire controller on OMAP1 chips.
|
|
|
|
config SPI_OMAP24XX
|
|
tristate "McSPI driver for OMAP"
|
|
depends on HAS_DMA
|
|
depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
|
|
depends on ARCH_OMAP2PLUS || COMPILE_TEST
|
|
help
|
|
SPI master controller for OMAP24XX and later Multichannel SPI
|
|
(McSPI) modules.
|
|
|
|
config SPI_TI_QSPI
|
|
tristate "DRA7xxx QSPI controller support"
|
|
depends on ARCH_OMAP2PLUS || COMPILE_TEST
|
|
help
|
|
QSPI master controller for DRA7xxx used for flash devices.
|
|
This device supports single, dual and quad read support, while
|
|
it only supports single write mode.
|
|
|
|
config SPI_OMAP_100K
|
|
tristate "OMAP SPI 100K"
|
|
depends on ARCH_OMAP850 || ARCH_OMAP730 || COMPILE_TEST
|
|
help
|
|
OMAP SPI 100K master controller for omap7xx boards.
|
|
|
|
config SPI_ORION
|
|
tristate "Orion SPI master"
|
|
depends on PLAT_ORION || COMPILE_TEST
|
|
help
|
|
This enables using the SPI master controller on the Orion chips.
|
|
|
|
config SPI_PL022
|
|
tristate "ARM AMBA PL022 SSP controller"
|
|
depends on ARM_AMBA
|
|
default y if MACH_U300
|
|
default y if ARCH_REALVIEW
|
|
default y if INTEGRATOR_IMPD1
|
|
default y if ARCH_VERSATILE
|
|
help
|
|
This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP
|
|
controller. If you have an embedded system with an AMBA(R)
|
|
bus and a PL022 controller, say Y or M here.
|
|
|
|
config SPI_PPC4xx
|
|
tristate "PPC4xx SPI Controller"
|
|
depends on PPC32 && 4xx
|
|
select SPI_BITBANG
|
|
help
|
|
This selects a driver for the PPC4xx SPI Controller.
|
|
|
|
config SPI_PXA2XX_DMA
|
|
def_bool y
|
|
depends on SPI_PXA2XX
|
|
|
|
config SPI_PXA2XX
|
|
tristate "PXA2xx SSP SPI master"
|
|
depends on (ARCH_PXA || PCI || ACPI)
|
|
select PXA_SSP if ARCH_PXA
|
|
help
|
|
This enables using a PXA2xx or Sodaville SSP port as a SPI master
|
|
controller. The driver can be configured to use any SSP port and
|
|
additional documentation can be found a Documentation/spi/pxa2xx.
|
|
|
|
config SPI_PXA2XX_PCI
|
|
def_tristate SPI_PXA2XX && PCI && COMMON_CLK
|
|
|
|
config SPI_ROCKCHIP
|
|
tristate "Rockchip SPI controller driver"
|
|
depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
|
|
help
|
|
This selects a driver for Rockchip SPI controller.
|
|
|
|
If you say yes to this option, support will be included for
|
|
RK3066, RK3188 and RK3288 families of SPI controller.
|
|
Rockchip SPI controller support DMA transport and PIO mode.
|
|
The main usecase of this controller is to use spi flash as boot
|
|
device.
|
|
|
|
config SPI_RB4XX
|
|
tristate "Mikrotik RB4XX SPI master"
|
|
depends on SPI_MASTER && ATH79
|
|
help
|
|
SPI controller driver for the Mikrotik RB4xx series boards.
|
|
|
|
config SPI_RSPI
|
|
tristate "Renesas RSPI/QSPI controller"
|
|
depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
|
|
help
|
|
SPI driver for Renesas RSPI and QSPI blocks.
|
|
|
|
config SPI_QUP
|
|
tristate "Qualcomm SPI controller with QUP interface"
|
|
depends on ARCH_QCOM || (ARM && COMPILE_TEST)
|
|
help
|
|
Qualcomm Universal Peripheral (QUP) core is an AHB slave that
|
|
provides a common data path (an output FIFO and an input FIFO)
|
|
for serial peripheral interface (SPI) mini-core. SPI in master
|
|
mode supports up to 50MHz, up to four chip selects, programmable
|
|
data path from 4 bits to 32 bits and numerous protocol variants.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called spi_qup.
|
|
|
|
config SPI_S3C24XX
|
|
tristate "Samsung S3C24XX series SPI"
|
|
depends on ARCH_S3C24XX
|
|
select SPI_BITBANG
|
|
help
|
|
SPI driver for Samsung S3C24XX series ARM SoCs
|
|
|
|
config SPI_S3C24XX_FIQ
|
|
bool "S3C24XX driver with FIQ pseudo-DMA"
|
|
depends on SPI_S3C24XX
|
|
select FIQ
|
|
help
|
|
Enable FIQ support for the S3C24XX SPI driver to provide pseudo
|
|
DMA by using the fast-interrupt request framework, This allows
|
|
the driver to get DMA-like performance when there are either
|
|
no free DMA channels, or when doing transfers that required both
|
|
TX and RX data paths.
|
|
|
|
config SPI_S3C64XX
|
|
tristate "Samsung S3C64XX series type SPI"
|
|
depends on (PLAT_SAMSUNG || ARCH_EXYNOS)
|
|
help
|
|
SPI driver for Samsung S3C64XX and newer SoCs.
|
|
|
|
config SPI_SC18IS602
|
|
tristate "NXP SC18IS602/602B/603 I2C to SPI bridge"
|
|
depends on I2C
|
|
help
|
|
SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge.
|
|
|
|
config SPI_SH_MSIOF
|
|
tristate "SuperH MSIOF SPI controller"
|
|
depends on HAVE_CLK && HAS_DMA
|
|
depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
|
|
help
|
|
SPI driver for SuperH and SH Mobile MSIOF blocks.
|
|
|
|
config SPI_SH
|
|
tristate "SuperH SPI controller"
|
|
depends on SUPERH || COMPILE_TEST
|
|
help
|
|
SPI driver for SuperH SPI blocks.
|
|
|
|
config SPI_SH_SCI
|
|
tristate "SuperH SCI SPI controller"
|
|
depends on SUPERH
|
|
select SPI_BITBANG
|
|
help
|
|
SPI driver for SuperH SCI blocks.
|
|
|
|
config SPI_SH_HSPI
|
|
tristate "SuperH HSPI controller"
|
|
depends on ARCH_SHMOBILE || COMPILE_TEST
|
|
help
|
|
SPI driver for SuperH HSPI blocks.
|
|
|
|
config SPI_SIRF
|
|
tristate "CSR SiRFprimaII SPI controller"
|
|
depends on SIRF_DMA
|
|
select SPI_BITBANG
|
|
help
|
|
SPI driver for CSR SiRFprimaII SoCs
|
|
|
|
config SPI_ST_SSC4
|
|
tristate "STMicroelectronics SPI SSC-based driver"
|
|
depends on ARCH_STI
|
|
help
|
|
STMicroelectronics SoCs support for SPI. If you say yes to
|
|
this option, support will be included for the SSC driven SPI.
|
|
|
|
config SPI_SUN4I
|
|
tristate "Allwinner A10 SoCs SPI controller"
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
help
|
|
SPI driver for Allwinner sun4i, sun5i and sun7i SoCs
|
|
|
|
config SPI_SUN6I
|
|
tristate "Allwinner A31 SPI controller"
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
depends on RESET_CONTROLLER
|
|
help
|
|
This enables using the SPI controller on the Allwinner A31 SoCs.
|
|
|
|
config SPI_MXS
|
|
tristate "Freescale MXS SPI controller"
|
|
depends on ARCH_MXS
|
|
select STMP_DEVICE
|
|
help
|
|
SPI driver for Freescale MXS devices.
|
|
|
|
config SPI_TEGRA114
|
|
tristate "NVIDIA Tegra114 SPI Controller"
|
|
depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
|
|
depends on RESET_CONTROLLER && HAS_DMA
|
|
help
|
|
SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller
|
|
is different than the older SoCs SPI controller and also register interface
|
|
get changed with this controller.
|
|
|
|
config SPI_TEGRA20_SFLASH
|
|
tristate "Nvidia Tegra20 Serial flash Controller"
|
|
depends on ARCH_TEGRA || COMPILE_TEST
|
|
depends on RESET_CONTROLLER
|
|
help
|
|
SPI driver for Nvidia Tegra20 Serial flash Controller interface.
|
|
The main usecase of this controller is to use spi flash as boot
|
|
device.
|
|
|
|
config SPI_TEGRA20_SLINK
|
|
tristate "Nvidia Tegra20/Tegra30 SLINK Controller"
|
|
depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
|
|
depends on RESET_CONTROLLER && HAS_DMA
|
|
help
|
|
SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface.
|
|
|
|
config SPI_TOPCLIFF_PCH
|
|
tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI"
|
|
depends on PCI && (X86_32 || COMPILE_TEST)
|
|
help
|
|
SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
|
|
used in some x86 embedded processors.
|
|
|
|
This driver also supports the ML7213/ML7223/ML7831, a companion chip
|
|
for the Atom E6xx series and compatible with the Intel EG20T PCH.
|
|
|
|
config SPI_TXX9
|
|
tristate "Toshiba TXx9 SPI controller"
|
|
depends on GPIOLIB && (CPU_TX49XX || COMPILE_TEST)
|
|
help
|
|
SPI driver for Toshiba TXx9 MIPS SoCs
|
|
|
|
config SPI_XCOMM
|
|
tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver"
|
|
depends on I2C
|
|
help
|
|
Support for the SPI-I2C bridge found on the Analog Devices
|
|
AD-FMCOMMS1-EBZ board.
|
|
|
|
config SPI_XILINX
|
|
tristate "Xilinx SPI controller common module"
|
|
depends on HAS_IOMEM
|
|
select SPI_BITBANG
|
|
help
|
|
This exposes the SPI controller IP from the Xilinx EDK.
|
|
|
|
See the "OPB Serial Peripheral Interface (SPI) (v1.00e)"
|
|
Product Specification document (DS464) for hardware details.
|
|
|
|
Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)"
|
|
|
|
config SPI_XLP
|
|
tristate "Netlogic XLP SPI controller driver"
|
|
depends on CPU_XLP || COMPILE_TEST
|
|
help
|
|
Enable support for the SPI controller on the Netlogic XLP SoCs.
|
|
Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, XLP9XX
|
|
and XLP5XX.
|
|
|
|
If you have a Netlogic XLP platform say Y here.
|
|
If unsure, say N.
|
|
|
|
config SPI_XTENSA_XTFPGA
|
|
tristate "Xtensa SPI controller for xtfpga"
|
|
depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST
|
|
select SPI_BITBANG
|
|
help
|
|
SPI driver for xtfpga SPI master controller.
|
|
|
|
This simple SPI master controller is built into xtfpga bitstreams
|
|
and is used to control daughterboard audio codec. It always transfers
|
|
16 bit words in SPI mode 0, automatically asserting CS on transfer
|
|
start and deasserting on end.
|
|
|
|
config SPI_ZYNQMP_GQSPI
|
|
tristate "Xilinx ZynqMP GQSPI controller"
|
|
depends on SPI_MASTER && HAS_DMA
|
|
help
|
|
Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC.
|
|
|
|
config SPI_NUC900
|
|
tristate "Nuvoton NUC900 series SPI"
|
|
depends on ARCH_W90X900
|
|
select SPI_BITBANG
|
|
help
|
|
SPI driver for Nuvoton NUC900 series ARM SoCs
|
|
|
|
#
|
|
# Add new SPI master controllers in alphabetical order above this line
|
|
#
|
|
|
|
config SPI_DESIGNWARE
|
|
tristate "DesignWare SPI controller core support"
|
|
help
|
|
general driver for SPI controller core from DesignWare
|
|
|
|
config SPI_DW_PCI
|
|
tristate "PCI interface driver for DW SPI core"
|
|
depends on SPI_DESIGNWARE && PCI
|
|
|
|
config SPI_DW_MID_DMA
|
|
bool "DMA support for DW SPI controller on Intel MID platform"
|
|
depends on SPI_DW_PCI && DW_DMAC_PCI
|
|
|
|
config SPI_DW_MMIO
|
|
tristate "Memory-mapped io interface driver for DW SPI core"
|
|
depends on SPI_DESIGNWARE
|
|
|
|
#
|
|
# There are lots of SPI device types, with sensors and memory
|
|
# being probably the most widely used ones.
|
|
#
|
|
comment "SPI Protocol Masters"
|
|
|
|
config SPI_SPIDEV
|
|
tristate "User mode SPI device driver support"
|
|
help
|
|
This supports user mode SPI protocol drivers.
|
|
|
|
Note that this application programming interface is EXPERIMENTAL
|
|
and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes.
|
|
|
|
config SPI_TLE62X0
|
|
tristate "Infineon TLE62X0 (for power switching)"
|
|
depends on SYSFS
|
|
help
|
|
SPI driver for Infineon TLE62X0 series line driver chips,
|
|
such as the TLE6220, TLE6230 and TLE6240. This provides a
|
|
sysfs interface, with each line presented as a kind of GPIO
|
|
exposing both switch control and diagnostic feedback.
|
|
|
|
#
|
|
# Add new SPI protocol masters in alphabetical order above this line
|
|
#
|
|
|
|
endif # SPI_MASTER
|
|
|
|
#
|
|
# SLAVE side ... listening to other SPI masters
|
|
#
|
|
|
|
config SPI_SLAVE
|
|
bool "SPI slave protocol handlers"
|
|
help
|
|
If your system has a slave-capable SPI controller, you can enable
|
|
slave protocol handlers.
|
|
|
|
if SPI_SLAVE
|
|
|
|
endif # SPI_SLAVE
|
|
|
|
endif # SPI
|