zephyr/arch
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
..
arc arc: remove CONFIG_SW_ISR_TABLE_BSP 2016-03-08 09:58:20 -08:00
arm arm: K64 SPI module driver 2016-03-09 15:50:16 +00:00
x86 Kconfig: CPU_MIGHT_SUPPORT_CLFLUSH removal. 2016-03-07 20:25:22 +00:00
Kconfig adv_power:Advanced Power Management APIs 2016-02-12 11:20:32 -08:00
Makefile arc: add missing Kconfig/Makefiles to architecture 2016-02-05 20:14:26 -05:00