zephyr/include/drivers
Jeff Blais 995a9ba72a arm: K64 SPI module driver
Support for Freescale/NXP K64 SPI modules, limited to:

- Master mode
- A single active set of clock and transfer attributes (CTAR0), which
includes non-adjustable delay parameters
- Tx FIFO fill and Rx FIFO drain interrupt handling
- Standard, continuous select and continuous SCK SPI transfer formats

Also, divide-by-zero code generation in this driver is prevented.
The 'volatile' attribute is added to some of the variables in the baud
rate and delay calculation functions of the K64 SPI driver in order to
prevent bad code generation by gcc toolchains for ARM seen when an
optimization setting above -O0 is used.
Specifically, a register is loaded with the constant 0 and is used as
the divisor in a following divide instruction, resulting in a
divide-by-zero exception.
This issue has been seen with gcc versions 4.8.1 (the VxWorks toolchain)
and 5.2.0 (the Zephyr SDK toolchain).

Change-Id: Ib5b2b748aad8fdfd5e8d40544e6e1abef3713abe
Signed-off-by: Jeff Blais <jeff.blais@windriver.com>
2016-03-09 15:50:16 +00:00
..
802.15.4 cc2520: Reworking radio on and transmission logic 2016-02-05 20:25:23 -05:00
clock_control clock: add Quark SE clock control 2016-02-05 20:24:48 -05:00
console Fix uart_pipe_send documentation 2016-03-08 13:53:26 +00:00
pci c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
serial doc: Fix misuse of @file doxygen tag 2016-02-11 20:11:03 +00:00
spi arm: K64 SPI module driver 2016-03-09 15:50:16 +00:00
ioapic.h interrupts: new static IRQ API 2016-02-05 20:25:17 -05:00
k6x_mpu.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
k6x_pmc.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
k20_mcg.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
k20_pcr.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
k20_sim.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
k20_watchdog.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
loapic.h interrupts: new static IRQ API 2016-02-05 20:25:17 -05:00
mvic.h x86: add Quark D2000 Interrupt Controller (MVIC) 2016-02-05 20:24:48 -05:00
rand32.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
system_timer.h sys_clock/microkernel: do not announce ticks until microkernel is up 2016-02-11 17:10:49 -05:00