Update the comment for spi frequency. The QMSI shim driver
only accepts clock divider.
Jira: ZEP-461
Change-Id: I4d89a3810b002d594b0c10bf6d33544b7549191f
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
Drivers that implement power management should use the preferred
device_pm_ops method instead.
Change-Id: I337722b1e06afe8508b5c84c00c3542571232e07
Signed-off-by: Iván Briano <ivan.briano@intel.com>
Some function *typedefs* confuse the *Sphynx* / *breathe* parser [see
the patch for full details]. Implement a workaround (defining the name
with @typedef), add workaround documentation and file a bug with the
sphinx/breathe developers.
Change-Id: I7f3dba4a53d0cc73e12f02511a5f85526f357b5f
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
This patch fixes the remaining APIs documentation which have reference
to DEV_* codes.
Change-Id: I26dd971a4b5e492ce026892f6262b84f7bde6296
Signed-off-by: Andre Guedes <andre.guedes@intel.com>
This patch replaces all occurences of the macro DEV_OK by the actual
value 0 at the driver level. So this patch touch the files under
drivers/, include/ and samples/drivers/.
This patch is part of the effort to transition from DEV_* codes to
errno.h codes.
Change-Id: I69980ecb9755f2fb026de5668ae9c21a4ae62d1e
Signed-off-by: Andre Guedes <andre.guedes@intel.com>
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>
There's no reason to require callers to cast their data to uint8_t *
when the data might e.g. originate in a packed struct or some other
data type. Instead, be nice to callers and let them use any pointer
they want. Additionally, declare the TX buffer as a const pointer so
unnecessary typecasts aren't needed for that either (if the data
originates in a const location).
Change-Id: I1482ca4e350b5a7fbda6871ed9f54f255af3aa9e
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Edit public API details for clarity, grammar, punctuation found
on file spi.h
Made consistent use of @retval to document return values.
Used imperative verbs for all @brief descriptions.
Change-Id: Ie53eeeb79d399e8474fe7341a396f5437c2999dc
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Reported by Ramesh Thomas, the loop mode is included in the mode
configuration and not as a standalone bit. Also rewording word_size
parameter documentation.
Change-Id: I1e3337087316f56d58e843278b9c65e9f4f5476f
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
The driver has to implement the logic in an interrupt based manner.
Applying the changes to the existing drivers.
Changing ADC's API and implementation as well to follow those changes.
Change-Id: Ie0c3e3e318f619ade6be935adb064a25446cc29c
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Adding the 'static' keyword to the inline routine spi_save_select() fixes
the build error when CONFIG_COMPILER_OPT="-O0 -g"
Change-Id: I5234d3d6690ccda3dbd419e13f06c2651d125167
Work-by: Mike Hirst <michael.hirst@windriver.com>
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I2276676142deea21cf8079449ce153f2fb887a8e
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
SPH and SPO flags are not mutual exclusive, this way
they need to occupy different bit fields.
Added missing () around _in_ parameters of macros as well.
Change-Id: I6175231dddaca84a2a3190a5d0a388496a549baf
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
Change all the Intel and Wind River code license from BSD-3 to Apache 2.
Change-Id: Id8be2c1c161a06ea8a0b9f38e17660e11dbb384b
Signed-off-by: Javier B Perez Hernandez <javier.b.perez.hernandez@linux.intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
It might be needed sometime to get some private data forwarded to the
callback, thus such user_data pointer is the easiest way to proceed.
Adding a macro to set the word size as well.
Change-Id: I68cbe2d480120253ccb13f13c656a38c27e21604
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Such type will be used in case of unrecoverable error on driver side
while transceiving.
Taking the opportunity to fix spi_transceive declaration as it should be
static.
Change-Id: I7392f93b34cf6d74900c844607cf03e741837876
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
When compiling with optimization level 0 (-O0), the linker complains
about missing references to uart functions. This is due to compiler
treating this functions as extern, since -O0 disables function inlining,
as described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49653
So change the declaration to static inline.
Change-Id: I2b75e686961878f299bb951b5a420f9738594795
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
- Add a spi_slave_select function for controllers supporting per-slave
addressing
- Adding one full-duplex r/w function
- All r/w function go through one unique driver call
- Only one callback for all
Change-Id: Ie97e6a6119b2b34093598a8eb5dbfe0665bf08f3
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
- Lack of some includes
- And bogus function signature
Change-Id: I4d504de83efeaa223c99da3e6fbe69b6e85823ee
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This defines the generic driver API that SPI controller drivers need to
follow.
Change-Id: Ibd14500fb7f0ca353b89b213914066276339940c
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>