mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 07:12:54 +08:00
Centralize definitions associated with CONFIG_DEBUG_SPI
This commit is contained in:
@@ -1091,14 +1091,40 @@ config DEBUG_SENSORS_INFO
|
|||||||
endif # DEBUG_SENSORS
|
endif # DEBUG_SENSORS
|
||||||
|
|
||||||
config DEBUG_SPI
|
config DEBUG_SPI
|
||||||
bool "SPI Debug Output"
|
bool "SPI Debug Features"
|
||||||
default n
|
default n
|
||||||
depends on SPI
|
depends on SPI
|
||||||
---help---
|
---help---
|
||||||
Enable I2C driver debug SYSLOG output (disabled by default).
|
Enable SPI debug features.
|
||||||
|
|
||||||
Support for this debug option is architecture-specific and may not
|
Support for this debug option is architecture-specific and may not
|
||||||
be available for some MCUs.
|
be available for some MCUs.
|
||||||
|
|
||||||
|
if DEBUG_SPI
|
||||||
|
|
||||||
|
config DEBUG_SPI_ERROR
|
||||||
|
bool "SPI Error Output"
|
||||||
|
default n
|
||||||
|
depends on DEBUG_ERROR
|
||||||
|
---help---
|
||||||
|
Enable SPI error output to SYSLOG.
|
||||||
|
|
||||||
|
config DEBUG_SPI_WARN
|
||||||
|
bool "SPI Warnings Output"
|
||||||
|
default n
|
||||||
|
depends on DEBUG_WARN
|
||||||
|
---help---
|
||||||
|
Enable SPI warning output to SYSLOG.
|
||||||
|
|
||||||
|
config DEBUG_SPI_INFO
|
||||||
|
bool "SPI Informational Output"
|
||||||
|
default n
|
||||||
|
depends on DEBUG_INFO
|
||||||
|
---help---
|
||||||
|
Enable SPI informational output to SYSLOG.
|
||||||
|
|
||||||
|
endif # DEBUG_SPI
|
||||||
|
|
||||||
config DEBUG_TIMER
|
config DEBUG_TIMER
|
||||||
bool "Timer Debug Output"
|
bool "Timer Debug Output"
|
||||||
default n
|
default n
|
||||||
|
|||||||
@@ -91,26 +91,6 @@
|
|||||||
#define SPI_DMA16_CONFIG (EFM32_DMA_XFERSIZE_HWORD | EFM32_DMA_MEMINCR)
|
#define SPI_DMA16_CONFIG (EFM32_DMA_XFERSIZE_HWORD | EFM32_DMA_MEMINCR)
|
||||||
#define SPI_DMA16NULL_CONFIG (EFM32_DMA_XFERSIZE_HWORD | EFM32_DMA_NOINCR)
|
#define SPI_DMA16NULL_CONFIG (EFM32_DMA_XFERSIZE_HWORD | EFM32_DMA_NOINCR)
|
||||||
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_INFO
|
|
||||||
# undef CONFIG_DEBUG_SPI
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -59,29 +59,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_KL_SPI0) || defined(CONFIG_KL_SPI1)
|
#if defined(CONFIG_KL_SPI0) || defined(CONFIG_KL_SPI1)
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* The following enable debug output from this file:
|
|
||||||
*
|
|
||||||
* CONFIG_DEBUG_FEATURES - Define to enable general debug features
|
|
||||||
* CONFIG_DEBUG_SPI - Define to enable basic SSP debug (needs CONFIG_DEBUG_FEATURES)
|
|
||||||
* CONFIG_DEBUG_INFO - Define to enable verbose SSP debug
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -71,26 +71,6 @@
|
|||||||
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* The following enable debug output from this file:
|
|
||||||
*
|
|
||||||
* CONFIG_DEBUG_FEATURES - Define to enable general debug features
|
|
||||||
* CONFIG_DEBUG_SPI - Define to enable basic SSP debug (needs CONFIG_DEBUG_FEATURES)
|
|
||||||
* CONFIG_DEBUG_INFO - Define to enable verbose SSP debug
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SSP Clocking *************************************************************/
|
/* SSP Clocking *************************************************************/
|
||||||
/* The CPU clock by 1, 2, 4, or 8 to get the SPI peripheral clock (SPI_CLOCK).
|
/* The CPU clock by 1, 2, 4, or 8 to get the SPI peripheral clock (SPI_CLOCK).
|
||||||
* SPI_CLOCK may be further divided by 8-254 to get the SPI clock. If we
|
* SPI_CLOCK may be further divided by 8-254 to get the SPI clock. If we
|
||||||
|
|||||||
@@ -72,26 +72,6 @@
|
|||||||
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* The following enable debug output from this file:
|
|
||||||
*
|
|
||||||
* CONFIG_DEBUG_FEATURES - Define to enable general debug features
|
|
||||||
* CONFIG_DEBUG_SPI - Define to enable basic SSP debug (needs CONFIG_DEBUG_FEATURES)
|
|
||||||
* CONFIG_DEBUG_INFO - Define to enable verbose SSP debug
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define ssperr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define ssperr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SSP Clocking *************************************************************/
|
/* SSP Clocking *************************************************************/
|
||||||
|
|
||||||
#if defined(LPC111x)
|
#if defined(LPC111x)
|
||||||
|
|||||||
@@ -71,26 +71,6 @@
|
|||||||
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* The following enable debug output from this file:
|
|
||||||
*
|
|
||||||
* CONFIG_DEBUG_FEATURES - Define to enable general debug features
|
|
||||||
* CONFIG_DEBUG_SPI - Define to enable basic SSP debug (needs CONFIG_DEBUG_FEATURES)
|
|
||||||
* CONFIG_DEBUG_INFO - Define to enable verbose SSP debug
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SSP Clocking *************************************************************/
|
/* SSP Clocking *************************************************************/
|
||||||
/* The CPU clock by 1, 2, 4, or 8 to get the SPI peripheral clock (SPI_CLOCK).
|
/* The CPU clock by 1, 2, 4, or 8 to get the SPI peripheral clock (SPI_CLOCK).
|
||||||
* SPI_CLOCK may be further divided by 8-254 to get the SPI clock. If we
|
* SPI_CLOCK may be further divided by 8-254 to get the SPI clock. If we
|
||||||
|
|||||||
@@ -72,26 +72,6 @@
|
|||||||
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
# error "CONFIG_SPI_EXCHANGE must not be defined in the configuration"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* The following enable debug output from this file:
|
|
||||||
*
|
|
||||||
* CONFIG_DEBUG_FEATURES - Define to enable general debug features
|
|
||||||
* CONFIG_DEBUG_SPI - Define to enable basic SSP debug (needs CONFIG_DEBUG_FEATURES)
|
|
||||||
* CONFIG_DEBUG_INFO - Define to enable verbose SSP debug
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define ssperr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define ssperr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SSP Clocking *************************************************************/
|
/* SSP Clocking *************************************************************/
|
||||||
|
|
||||||
#if defined(LPC176x)
|
#if defined(LPC176x)
|
||||||
|
|||||||
@@ -75,21 +75,6 @@
|
|||||||
# error CONFIG_SPI_EXCHANGE is not supported by this driver
|
# error CONFIG_SPI_EXCHANGE is not supported by this driver
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug ********************************************************************/
|
|
||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SPI Clocking.
|
/* SPI Clocking.
|
||||||
*
|
*
|
||||||
* The CPU clock is divided by by 1, 2, 4, or 8 to get the SPI peripheral
|
* The CPU clock is divided by by 1, 2, 4, or 8 to get the SPI peripheral
|
||||||
|
|||||||
@@ -57,48 +57,6 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_LPC43_GPDMA
|
#ifdef CONFIG_LPC43_GPDMA
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file (needs CONFIG_DEBUG_FEATURES too) */
|
|
||||||
|
|
||||||
#undef DMA_DEBUG /* Define to enable debug */
|
|
||||||
#undef DMA_VERBOSE /* Define to enable verbose debug */
|
|
||||||
|
|
||||||
#ifdef DMA_DEBUG
|
|
||||||
# define dmaerr llerr
|
|
||||||
# ifdef DMA_VERBOSE
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# undef DMA_VERBOSE
|
|
||||||
# define dmaerr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Types
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Function Prototypes
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Data
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Public Data
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -64,18 +64,6 @@
|
|||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* Enables debug output from this file (needs CONFIG_DEBUG_FEATURES too) */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SPI Clocking.
|
/* SPI Clocking.
|
||||||
*
|
*
|
||||||
* The CPU clock by 1, 2, 4, or 8 to get the SPI peripheral clock (SPI_CLOCK).
|
* The CPU clock by 1, 2, 4, or 8 to get the SPI peripheral clock (SPI_CLOCK).
|
||||||
|
|||||||
@@ -62,25 +62,8 @@
|
|||||||
#include "lpc43_ccu.h"
|
#include "lpc43_ccu.h"
|
||||||
#include "lpc43_pinconfig.h"
|
#include "lpc43_pinconfig.h"
|
||||||
|
|
||||||
|
|
||||||
#if defined(CONFIG_LPC43_SSP0) || defined(CONFIG_LPC43_SSP1)
|
#if defined(CONFIG_LPC43_SSP0) || defined(CONFIG_LPC43_SSP1)
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* The following enable debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define ssperr llerr
|
|
||||||
# define sspwarn llwarn
|
|
||||||
# define sspinfo llinfo
|
|
||||||
#else
|
|
||||||
# define ssperr(x...)
|
|
||||||
# define sspwarn(x...)
|
|
||||||
# define sspinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -369,7 +352,7 @@ static uint32_t ssp_setfrequency(FAR struct spi_dev_s *dev, uint32_t frequency)
|
|||||||
priv->frequency = frequency;
|
priv->frequency = frequency;
|
||||||
priv->actual = actual;
|
priv->actual = actual;
|
||||||
|
|
||||||
ssperr("Frequency %d->%d\n", frequency, actual);
|
spierr("Frequency %d->%d\n", frequency, actual);
|
||||||
return actual;
|
return actual;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,7 +403,7 @@ static void ssp_setmode(FAR struct spi_dev_s *dev, enum spi_mode_e mode)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ssperr("Bad mode: %d\n", mode);
|
spierr("Bad mode: %d\n", mode);
|
||||||
DEBUGASSERT(FALSE);
|
DEBUGASSERT(FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -508,7 +491,7 @@ static uint16_t ssp_send(FAR struct spi_dev_s *dev, uint16_t wd)
|
|||||||
/* Get the value from the RX FIFO and return it */
|
/* Get the value from the RX FIFO and return it */
|
||||||
|
|
||||||
regval = ssp_getreg(priv, LPC43_SSP_DR_OFFSET);
|
regval = ssp_getreg(priv, LPC43_SSP_DR_OFFSET);
|
||||||
ssperr("%04x->%04x\n", wd, regval);
|
spierr("%04x->%04x\n", wd, regval);
|
||||||
return (uint16_t)regval;
|
return (uint16_t)regval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -555,7 +538,7 @@ static void ssp_exchange(FAR struct spi_dev_s *dev, FAR const void *txbuffer,
|
|||||||
|
|
||||||
/* While there is remaining to be sent (and no synchronization error has occurred) */
|
/* While there is remaining to be sent (and no synchronization error has occurred) */
|
||||||
|
|
||||||
ssperr("nwords: %d\n", nwords);
|
spierr("nwords: %d\n", nwords);
|
||||||
|
|
||||||
tx.pv = txbuffer;
|
tx.pv = txbuffer;
|
||||||
rx.pv = rxbuffer;
|
rx.pv = rxbuffer;
|
||||||
@@ -567,7 +550,7 @@ static void ssp_exchange(FAR struct spi_dev_s *dev, FAR const void *txbuffer,
|
|||||||
* and (3) there are more bytes to be sent.
|
* and (3) there are more bytes to be sent.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sspinfo("TX: rxpending: %d nwords: %d\n", rxpending, nwords);
|
spiinfo("TX: rxpending: %d nwords: %d\n", rxpending, nwords);
|
||||||
while ((ssp_getreg(priv, LPC43_SSP_SR_OFFSET) & SSP_SR_TNF) &&
|
while ((ssp_getreg(priv, LPC43_SSP_SR_OFFSET) & SSP_SR_TNF) &&
|
||||||
(rxpending < LPC43_SSP_FIFOSZ) && nwords)
|
(rxpending < LPC43_SSP_FIFOSZ) && nwords)
|
||||||
{
|
{
|
||||||
@@ -590,7 +573,7 @@ static void ssp_exchange(FAR struct spi_dev_s *dev, FAR const void *txbuffer,
|
|||||||
|
|
||||||
/* Now, read the RX data from the RX FIFO while the RX FIFO is not empty */
|
/* Now, read the RX data from the RX FIFO while the RX FIFO is not empty */
|
||||||
|
|
||||||
sspinfo("RX: rxpending: %d\n", rxpending);
|
spiinfo("RX: rxpending: %d\n", rxpending);
|
||||||
while (ssp_getreg(priv, LPC43_SSP_SR_OFFSET) & SSP_SR_RNE)
|
while (ssp_getreg(priv, LPC43_SSP_SR_OFFSET) & SSP_SR_RNE)
|
||||||
{
|
{
|
||||||
data = ssp_getreg(priv, LPC43_SSP_DR_OFFSET);
|
data = ssp_getreg(priv, LPC43_SSP_DR_OFFSET);
|
||||||
|
|||||||
@@ -138,16 +138,6 @@
|
|||||||
# undef CONFIG_SAM34_SPI_DMADEBUG
|
# undef CONFIG_SAM34_SPI_DMADEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DMA_INITIAL 0
|
#define DMA_INITIAL 0
|
||||||
#define DMA_AFTER_SETUP 1
|
#define DMA_AFTER_SETUP 1
|
||||||
#define DMA_AFTER_START 2
|
#define DMA_AFTER_START 2
|
||||||
@@ -241,7 +231,7 @@ static inline void spi_putreg(struct sam_spidev_s *spi, uint32_t value,
|
|||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
static inline struct sam_spidev_s *spi_device(struct sam_spics_s *spics);
|
static inline struct sam_spidev_s *spi_device(struct sam_spics_s *spics);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg);
|
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define spi_dumpregs(spi,msg)
|
# define spi_dumpregs(spi,msg)
|
||||||
@@ -509,7 +499,7 @@ static inline void spi_putreg(struct sam_spidev_s *spi, uint32_t value,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg)
|
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg)
|
||||||
{
|
{
|
||||||
spiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|||||||
@@ -131,16 +131,6 @@
|
|||||||
# undef CONFIG_SAMA5_SPI_DMADEBUG
|
# undef CONFIG_SAMA5_SPI_DMADEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DMA_INITIAL 0
|
#define DMA_INITIAL 0
|
||||||
#define DMA_AFTER_SETUP 1
|
#define DMA_AFTER_SETUP 1
|
||||||
#define DMA_AFTER_START 2
|
#define DMA_AFTER_START 2
|
||||||
@@ -232,7 +222,7 @@ static inline void spi_putreg(struct sam_spidev_s *spi, uint32_t value,
|
|||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
static inline struct sam_spidev_s *spi_device(struct sam_spics_s *spics);
|
static inline struct sam_spidev_s *spi_device(struct sam_spics_s *spics);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg);
|
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define spi_dumpregs(spi,msg)
|
# define spi_dumpregs(spi,msg)
|
||||||
@@ -498,7 +488,7 @@ static inline void spi_putreg(struct sam_spidev_s *spi, uint32_t value,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg)
|
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg)
|
||||||
{
|
{
|
||||||
spiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|||||||
@@ -73,23 +73,6 @@
|
|||||||
|
|
||||||
#ifdef SAMDL_HAVE_SPI
|
#ifdef SAMDL_HAVE_SPI
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Debug *******************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -163,7 +146,7 @@ static uint32_t spi_getreg32(struct sam_spidev_s *priv,
|
|||||||
static void spi_putreg32(struct sam_spidev_s *priv, uint32_t regval,
|
static void spi_putreg32(struct sam_spidev_s *priv, uint32_t regval,
|
||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg);
|
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define spi_dumpregs(priv,msg)
|
# define spi_dumpregs(priv,msg)
|
||||||
@@ -727,7 +710,7 @@ static void spi_putreg32(struct sam_spidev_s *priv, uint32_t regval,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg)
|
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg)
|
||||||
{
|
{
|
||||||
spiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|||||||
@@ -144,16 +144,6 @@
|
|||||||
# undef CONFIG_SAMV7_QSPI_DMADEBUG
|
# undef CONFIG_SAMV7_QSPI_DMADEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DMA_INITIAL 0
|
#define DMA_INITIAL 0
|
||||||
#define DMA_AFTER_SETUP 1
|
#define DMA_AFTER_SETUP 1
|
||||||
#define DMA_AFTER_START 2
|
#define DMA_AFTER_START 2
|
||||||
@@ -232,7 +222,7 @@ static inline uint32_t qspi_getreg(struct sam_qspidev_s *priv,
|
|||||||
static inline void qspi_putreg(struct sam_qspidev_s *priv, uint32_t value,
|
static inline void qspi_putreg(struct sam_qspidev_s *priv, uint32_t value,
|
||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void qspi_dumpregs(struct sam_qspidev_s *priv, const char *msg);
|
static void qspi_dumpregs(struct sam_qspidev_s *priv, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define qspi_dumpregs(priv,msg)
|
# define qspi_dumpregs(priv,msg)
|
||||||
@@ -463,7 +453,7 @@ static inline void qspi_putreg(struct sam_qspidev_s *priv, uint32_t value,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void qspi_dumpregs(struct sam_qspidev_s *priv, const char *msg)
|
static void qspi_dumpregs(struct sam_qspidev_s *priv, const char *msg)
|
||||||
{
|
{
|
||||||
qspiinfo("%s:\n", msg);
|
qspiinfo("%s:\n", msg);
|
||||||
@@ -1352,7 +1342,7 @@ static int qspi_command(struct qspi_dev_s *dev,
|
|||||||
|
|
||||||
DEBUGASSERT(priv != NULL && cmdinfo != NULL);
|
DEBUGASSERT(priv != NULL && cmdinfo != NULL);
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
qspiinfo("Transfer:\n");
|
qspiinfo("Transfer:\n");
|
||||||
qspiinfo(" flags: %02x\n", cmdinfo->flags);
|
qspiinfo(" flags: %02x\n", cmdinfo->flags);
|
||||||
qspiinfo(" cmd: %04x\n", cmdinfo->cmd);
|
qspiinfo(" cmd: %04x\n", cmdinfo->cmd);
|
||||||
|
|||||||
@@ -126,16 +126,6 @@
|
|||||||
# undef CONFIG_SAMV7_SPI_DMADEBUG
|
# undef CONFIG_SAMV7_SPI_DMADEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DMA_INITIAL 0
|
#define DMA_INITIAL 0
|
||||||
#define DMA_AFTER_SETUP 1
|
#define DMA_AFTER_SETUP 1
|
||||||
#define DMA_AFTER_START 2
|
#define DMA_AFTER_START 2
|
||||||
@@ -228,7 +218,7 @@ static inline void spi_putreg(struct sam_spidev_s *spi, uint32_t value,
|
|||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
static inline struct sam_spidev_s *spi_device(struct sam_spics_s *spics);
|
static inline struct sam_spidev_s *spi_device(struct sam_spics_s *spics);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg);
|
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define spi_dumpregs(spi,msg)
|
# define spi_dumpregs(spi,msg)
|
||||||
@@ -517,7 +507,7 @@ static inline void spi_putreg(struct sam_spidev_s *spi, uint32_t value,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg)
|
static void spi_dumpregs(struct sam_spidev_s *spi, const char *msg)
|
||||||
{
|
{
|
||||||
spiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|||||||
@@ -74,19 +74,6 @@
|
|||||||
# define CONFIG_SAMV7_SPI_SLAVE_QSIZE 8
|
# define CONFIG_SAMV7_SPI_SLAVE_QSIZE 8
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug *******************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -144,7 +131,7 @@ static uint32_t spi_getreg(struct sam_spidev_s *priv,
|
|||||||
static void spi_putreg(struct sam_spidev_s *priv, uint32_t value,
|
static void spi_putreg(struct sam_spidev_s *priv, uint32_t value,
|
||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg);
|
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define spi_dumpregs(priv,msg)
|
# define spi_dumpregs(priv,msg)
|
||||||
@@ -339,7 +326,7 @@ static void spi_putreg(struct sam_spidev_s *priv, uint32_t value,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg)
|
static void spi_dumpregs(struct sam_spidev_s *priv, const char *msg)
|
||||||
{
|
{
|
||||||
spiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
@@ -448,7 +435,7 @@ static int spi_interrupt(struct sam_spidev_s *priv)
|
|||||||
* bit.
|
* bit.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_ERROR
|
||||||
/* Check the RX data overflow condition */
|
/* Check the RX data overflow condition */
|
||||||
|
|
||||||
if ((pending & SPI_INT_OVRES) != 0)
|
if ((pending & SPI_INT_OVRES) != 0)
|
||||||
@@ -515,7 +502,7 @@ static int spi_interrupt(struct sam_spidev_s *priv)
|
|||||||
* Underrun Error Status Flag (UNDES) is set in the SPI_SR.
|
* Underrun Error Status Flag (UNDES) is set in the SPI_SR.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_ERROR
|
||||||
/* Check the TX data underflow condition */
|
/* Check the TX data underflow condition */
|
||||||
|
|
||||||
if ((pending & SPI_INT_UNDES) != 0)
|
if ((pending & SPI_INT_UNDES) != 0)
|
||||||
@@ -882,7 +869,7 @@ static void spi_bind(struct spi_sctrlr_s *sctrlr,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
regval = (SPI_INT_RDRF | SPI_INT_NSSR);
|
regval = (SPI_INT_RDRF | SPI_INT_NSSR);
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_ERROR
|
||||||
regval |= SPI_INT_OVRES;
|
regval |= SPI_INT_OVRES;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -155,20 +155,6 @@
|
|||||||
# error "Unknown STM32 DMA"
|
# error "Unknown STM32 DMA"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Debug ****************************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -136,19 +136,6 @@
|
|||||||
# define SPI_TXDMA8NULL_CONFIG (SPI_DMA_PRIO|DMA_SCR_MSIZE_8BITS |DMA_SCR_PSIZE_8BITS |DMA_SCR_DIR_M2P)
|
# define SPI_TXDMA8NULL_CONFIG (SPI_DMA_PRIO|DMA_SCR_MSIZE_8BITS |DMA_SCR_PSIZE_8BITS |DMA_SCR_DIR_M2P)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug ****************************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -91,16 +91,6 @@
|
|||||||
# undef CONFIG_STM32L4_QSPI_DMADEBUG
|
# undef CONFIG_STM32L4_QSPI_DMADEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define qspierr llerr
|
|
||||||
# define qspiwarn llwarn
|
|
||||||
# define qspiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define qspierr(x...)
|
|
||||||
# define qspiwarn(x...)
|
|
||||||
# define qspiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DMA_INITIAL 0
|
#define DMA_INITIAL 0
|
||||||
#define DMA_AFTER_SETUP 1
|
#define DMA_AFTER_SETUP 1
|
||||||
#define DMA_AFTER_START 2
|
#define DMA_AFTER_START 2
|
||||||
@@ -275,13 +265,13 @@ static inline uint32_t qspi_getreg(struct stm32l4_qspidev_s *priv,
|
|||||||
static inline void qspi_putreg(struct stm32l4_qspidev_s *priv, uint32_t value,
|
static inline void qspi_putreg(struct stm32l4_qspidev_s *priv, uint32_t value,
|
||||||
unsigned int offset);
|
unsigned int offset);
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void qspi_dumpregs(struct stm32l4_qspidev_s *priv, const char *msg);
|
static void qspi_dumpregs(struct stm32l4_qspidev_s *priv, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define qspi_dumpregs(priv,msg)
|
# define qspi_dumpregs(priv,msg)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_GPIO)
|
#if defined(CONFIG_DEBUG_SPI_INFO) && defined(CONFIG_DEBUG_GPIO)
|
||||||
static void qspi_dumpgpioconfig(const char *msg);
|
static void qspi_dumpgpioconfig(const char *msg);
|
||||||
#else
|
#else
|
||||||
# define qspi_dumpgpioconfig(msg)
|
# define qspi_dumpgpioconfig(msg)
|
||||||
@@ -494,11 +484,11 @@ static inline void qspi_putreg(struct stm32l4_qspidev_s *priv, uint32_t value,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void qspi_dumpregs(struct stm32l4_qspidev_s *priv, const char *msg)
|
static void qspi_dumpregs(struct stm32l4_qspidev_s *priv, const char *msg)
|
||||||
{
|
{
|
||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
qspiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* this extra verbose output may be helpful in some cases; you'll need
|
/* this extra verbose output may be helpful in some cases; you'll need
|
||||||
@@ -506,77 +496,73 @@ static void qspi_dumpregs(struct stm32l4_qspidev_s *priv, const char *msg)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
regval = getreg32(priv->base + STM32L4_QUADSPI_CR_OFFSET); /* Control Register */
|
regval = getreg32(priv->base + STM32L4_QUADSPI_CR_OFFSET); /* Control Register */
|
||||||
qspiinfo("CR:%08x\n",regval);
|
spiinfo("CR:%08x\n",regval);
|
||||||
qspiinfo(" EN:%1d ABORT:%1d DMAEN:%1d TCEN:%1d SSHIFT:%1d\n"
|
spiinfo(" EN:%1d ABORT:%1d DMAEN:%1d TCEN:%1d SSHIFT:%1d\n"
|
||||||
" FTHRES: %d\n"
|
" FTHRES: %d\n"
|
||||||
" TEIE:%1d TCIE:%1d FTIE:%1d SMIE:%1d TOIE:%1d APMS:%1d PMM:%1d\n"
|
" TEIE:%1d TCIE:%1d FTIE:%1d SMIE:%1d TOIE:%1d APMS:%1d PMM:%1d\n"
|
||||||
" PRESCALER: %d\n",
|
" PRESCALER: %d\n",
|
||||||
(regval&QSPI_CR_EN)?1:0,
|
(regval & QSPI_CR_EN) ? 1 : 0,
|
||||||
(regval&QSPI_CR_ABORT)?1:0,
|
(regval & QSPI_CR_ABORT) ? 1 : 0,
|
||||||
(regval&QSPI_CR_DMAEN)?1:0,
|
(regval & QSPI_CR_DMAEN) ? 1 : 0,
|
||||||
(regval&QSPI_CR_TCEN)?1:0,
|
(regval & QSPI_CR_TCEN) ? 1 : 0,
|
||||||
(regval&QSPI_CR_SSHIFT)?1:0,
|
(regval & QSPI_CR_SSHIFT) ? 1 : 0,
|
||||||
(regval&QSPI_CR_FTHRES_MASK)>>QSPI_CR_FTHRES_SHIFT,
|
(regval & QSPI_CR_FTHRES_MASK) >> QSPI_CR_FTHRES_SHIFT,
|
||||||
(regval&QSPI_CR_TEIE)?1:0,
|
(regval & QSPI_CR_TEIE) ? 1 : 0,
|
||||||
(regval&QSPI_CR_TCIE)?1:0,
|
(regval & QSPI_CR_TCIE) ? 1 : 0,
|
||||||
(regval&QSPI_CR_FTIE)?1:0,
|
(regval & QSPI_CR_FTIE) ? 1 : 0,
|
||||||
(regval&QSPI_CR_SMIE)?1:0,
|
(regval & QSPI_CR_SMIE) ? 1 : 0,
|
||||||
(regval&QSPI_CR_TOIE)?1:0,
|
(regval & QSPI_CR_TOIE) ? 1 : 0,
|
||||||
(regval&QSPI_CR_APMS)?1:0,
|
(regval & QSPI_CR_APMS) ? 1 : 0,
|
||||||
(regval&QSPI_CR_PMM)?1:0,
|
(regval & QSPI_CR_PMM) ? 1 : 0,
|
||||||
(regval&QSPI_CR_PRESCALER_MASK)>>QSPI_CR_PRESCALER_SHIFT
|
(regval & QSPI_CR_PRESCALER_MASK) >> QSPI_CR_PRESCALER_SHIFT);
|
||||||
);
|
|
||||||
|
|
||||||
regval = getreg32(priv->base + STM32L4_QUADSPI_DCR_OFFSET); /* Device Configuration Register */
|
regval = getreg32(priv->base + STM32L4_QUADSPI_DCR_OFFSET); /* Device Configuration Register */
|
||||||
qspiinfo("DCR:%08x\n",regval);
|
spiinfo("DCR:%08x\n",regval);
|
||||||
qspiinfo(" CKMODE:%1d CSHT:%d FSIZE:%d\n",
|
spiinfo(" CKMODE:%1d CSHT:%d FSIZE:%d\n",
|
||||||
(regval&QSPI_DCR_CKMODE)?1:0,
|
(regval & QSPI_DCR_CKMODE) ? 1 : 0,
|
||||||
(regval&QSPI_DCR_CSHT_MASK)>>QSPI_DCR_CSHT_SHIFT,
|
(regval & QSPI_DCR_CSHT_MASK) >> QSPI_DCR_CSHT_SHIFT,
|
||||||
(regval&QSPI_DCR_FSIZE_MASK)>>QSPI_DCR_FSIZE_SHIFT
|
(regval & QSPI_DCR_FSIZE_MASK) >> QSPI_DCR_FSIZE_SHIFT);
|
||||||
);
|
|
||||||
|
|
||||||
regval = getreg32(priv->base + STM32L4_QUADSPI_CCR_OFFSET); /* Communication Configuration Register */
|
regval = getreg32(priv->base + STM32L4_QUADSPI_CCR_OFFSET); /* Communication Configuration Register */
|
||||||
qspiinfo("CCR:%08x\n",regval);
|
spiinfo("CCR:%08x\n",regval);
|
||||||
qspiinfo(" INST:%02x IMODE:%d ADMODE:%d ADSIZE:%d ABMODE:%d\n"
|
spiinfo(" INST:%02x IMODE:%d ADMODE:%d ADSIZE:%d ABMODE:%d\n"
|
||||||
" ABSIZE:%d DCYC:%d DMODE:%d FMODE:%d\n"
|
" ABSIZE:%d DCYC:%d DMODE:%d FMODE:%d\n"
|
||||||
" SIOO:%1d DDRM:%1d\n",
|
" SIOO:%1d DDRM:%1d\n",
|
||||||
(regval&QSPI_CCR_INSTRUCTION_MASK)>>QSPI_CCR_INSTRUCTION_SHIFT,
|
(regval & QSPI_CCR_INSTRUCTION_MASK) >> QSPI_CCR_INSTRUCTION_SHIFT,
|
||||||
(regval&QSPI_CCR_IMODE_MASK)>>QSPI_CCR_IMODE_SHIFT,
|
(regval & QSPI_CCR_IMODE_MASK) >> QSPI_CCR_IMODE_SHIFT,
|
||||||
(regval&QSPI_CCR_ADMODE_MASK)>>QSPI_CCR_ADMODE_SHIFT,
|
(regval & QSPI_CCR_ADMODE_MASK) >> QSPI_CCR_ADMODE_SHIFT,
|
||||||
(regval&QSPI_CCR_ADSIZE_MASK)>>QSPI_CCR_ABSIZE_SHIFT,
|
(regval & QSPI_CCR_ADSIZE_MASK) >> QSPI_CCR_ABSIZE_SHIFT,
|
||||||
(regval&QSPI_CCR_ABMODE_MASK)>>QSPI_CCR_ABMODE_SHIFT,
|
(regval & QSPI_CCR_ABMODE_MASK) >> QSPI_CCR_ABMODE_SHIFT,
|
||||||
(regval&QSPI_CCR_ABSIZE_MASK)>>QSPI_CCR_ABSIZE_SHIFT,
|
(regval & QSPI_CCR_ABSIZE_MASK) >> QSPI_CCR_ABSIZE_SHIFT,
|
||||||
(regval&QSPI_CCR_DCYC_MASK)>>QSPI_CCR_DCYC_SHIFT,
|
(regval & QSPI_CCR_DCYC_MASK) >> QSPI_CCR_DCYC_SHIFT,
|
||||||
(regval&QSPI_CCR_DMODE_MASK)>>QSPI_CCR_DMODE_SHIFT,
|
(regval & QSPI_CCR_DMODE_MASK) >> QSPI_CCR_DMODE_SHIFT,
|
||||||
(regval&QSPI_CCR_FMODE_MASK)>>QSPI_CCR_FMODE_SHIFT,
|
(regval & QSPI_CCR_FMODE_MASK) >> QSPI_CCR_FMODE_SHIFT,
|
||||||
(regval&QSPI_CCR_SIOO)?1:0,
|
(regval & QSPI_CCR_SIOO) ? 1 : 0,
|
||||||
(regval&QSPI_CCR_DDRM)?1:0
|
(regval & QSPI_CCR_DDRM) ? 1 : 0);
|
||||||
);
|
|
||||||
|
|
||||||
regval = getreg32(priv->base + STM32L4_QUADSPI_SR_OFFSET); /* Status Register */
|
regval = getreg32(priv->base + STM32L4_QUADSPI_SR_OFFSET); /* Status Register */
|
||||||
qspiinfo("SR:%08x\n",regval);
|
spiinfo("SR:%08x\n",regval);
|
||||||
qspiinfo(" TEF:%1d TCF:%1d FTF:%1d SMF:%1d TOF:%1d BUSY:%1d FLEVEL:%d\n",
|
spiinfo(" TEF:%1d TCF:%1d FTF:%1d SMF:%1d TOF:%1d BUSY:%1d FLEVEL:%d\n",
|
||||||
(regval&QSPI_SR_TEF)?1:0,
|
(regval & QSPI_SR_TEF) ? 1 : 0,
|
||||||
(regval&QSPI_SR_TCF)?1:0,
|
(regval & QSPI_SR_TCF) ? 1 : 0,
|
||||||
(regval&QSPI_SR_FTF)?1:0,
|
(regval & QSPI_SR_FTF) ? 1 : 0,
|
||||||
(regval&QSPI_SR_SMF)?1:0,
|
(regval & QSPI_SR_SMF) ? 1 : 0,
|
||||||
(regval&QSPI_SR_TOF)?1:0,
|
(regval & QSPI_SR_TOF) ? 1 : 0,
|
||||||
(regval&QSPI_SR_BUSY)?1:0,
|
(regval & QSPI_SR_BUSY) ? 1 : 0,
|
||||||
(regval&QSPI_SR_FLEVEL_MASK)>>QSPI_SR_FLEVEL_SHIFT
|
(regval & QSPI_SR_FLEVEL_MASK) >> QSPI_SR_FLEVEL_SHIFT);
|
||||||
);
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
qspiinfo(" CR:%08x DCR:%08x CCR:%08x SR:%08x\n",
|
spiinfo(" CR:%08x DCR:%08x CCR:%08x SR:%08x\n",
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_CR_OFFSET), /* Control Register */
|
getreg32(priv->base + STM32L4_QUADSPI_CR_OFFSET), /* Control Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_DCR_OFFSET), /* Device Configuration Register */
|
getreg32(priv->base + STM32L4_QUADSPI_DCR_OFFSET), /* Device Configuration Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_CCR_OFFSET), /* Communication Configuration Register */
|
getreg32(priv->base + STM32L4_QUADSPI_CCR_OFFSET), /* Communication Configuration Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_SR_OFFSET)); /* Status Register */
|
getreg32(priv->base + STM32L4_QUADSPI_SR_OFFSET)); /* Status Register */
|
||||||
qspiinfo(" DLR:%08x ABR:%08x PSMKR:%08x PSMAR:%08x\n",
|
spiinfo(" DLR:%08x ABR:%08x PSMKR:%08x PSMAR:%08x\n",
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_DLR_OFFSET), /* Data Length Register */
|
getreg32(priv->base + STM32L4_QUADSPI_DLR_OFFSET), /* Data Length Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_ABR_OFFSET), /* Alternate Bytes Register */
|
getreg32(priv->base + STM32L4_QUADSPI_ABR_OFFSET), /* Alternate Bytes Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_PSMKR_OFFSET), /* Polling Status mask Register */
|
getreg32(priv->base + STM32L4_QUADSPI_PSMKR_OFFSET), /* Polling Status mask Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_PSMAR_OFFSET)); /* Polling Status match Register */
|
getreg32(priv->base + STM32L4_QUADSPI_PSMAR_OFFSET)); /* Polling Status match Register */
|
||||||
qspiinfo(" PIR:%08x LPTR:%08x\n",
|
spiinfo(" PIR:%08x LPTR:%08x\n",
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_PIR_OFFSET), /* Polling Interval Register */
|
getreg32(priv->base + STM32L4_QUADSPI_PIR_OFFSET), /* Polling Interval Register */
|
||||||
getreg32(priv->base + STM32L4_QUADSPI_LPTR_OFFSET)); /* Low-Power Timeout Register */
|
getreg32(priv->base + STM32L4_QUADSPI_LPTR_OFFSET)); /* Low-Power Timeout Register */
|
||||||
(void)regval;
|
(void)regval;
|
||||||
@@ -584,29 +570,29 @@ static void qspi_dumpregs(struct stm32l4_qspidev_s *priv, const char *msg)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_GPIO)
|
#if defined(CONFIG_DEBUG_SPI_INFO) && defined(CONFIG_DEBUG_GPIO)
|
||||||
static void qspi_dumpgpioconfig(const char *msg)
|
static void qspi_dumpgpioconfig(const char *msg)
|
||||||
{
|
{
|
||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
qspiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|
||||||
regval = getreg32(STM32L4_GPIOE_MODER);
|
regval = getreg32(STM32L4_GPIOE_MODER);
|
||||||
qspiinfo("E_MODER:%08x\n",regval);
|
spiinfo("E_MODER:%08x\n",regval);
|
||||||
|
|
||||||
regval = getreg32(STM32L4_GPIOE_OTYPER);
|
regval = getreg32(STM32L4_GPIOE_OTYPER);
|
||||||
qspiinfo("E_OTYPER:%08x\n",regval);
|
spiinfo("E_OTYPER:%08x\n",regval);
|
||||||
|
|
||||||
regval = getreg32(STM32L4_GPIOE_OSPEED);
|
regval = getreg32(STM32L4_GPIOE_OSPEED);
|
||||||
qspiinfo("E_OSPEED:%08x\n",regval);
|
spiinfo("E_OSPEED:%08x\n",regval);
|
||||||
|
|
||||||
regval = getreg32(STM32L4_GPIOE_PUPDR);
|
regval = getreg32(STM32L4_GPIOE_PUPDR);
|
||||||
qspiinfo("E_PUPDR:%08x\n",regval);
|
spiinfo("E_PUPDR:%08x\n",regval);
|
||||||
|
|
||||||
regval = getreg32(STM32L4_GPIOE_AFRL);
|
regval = getreg32(STM32L4_GPIOE_AFRL);
|
||||||
qspiinfo("E_AFRL:%08x\n",regval);
|
spiinfo("E_AFRL:%08x\n",regval);
|
||||||
|
|
||||||
regval = getreg32(STM32L4_GPIOE_AFRH);
|
regval = getreg32(STM32L4_GPIOE_AFRH);
|
||||||
qspiinfo("E_AFRH:%08x\n",regval);
|
spiinfo("E_AFRH:%08x\n",regval);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -717,21 +703,21 @@ static int qspi_setupxctnfromcmd(struct qspi_xctnspec_s *xctn,
|
|||||||
{
|
{
|
||||||
DEBUGASSERT(xctn != NULL && cmdinfo != NULL);
|
DEBUGASSERT(xctn != NULL && cmdinfo != NULL);
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
qspiinfo("Transfer:\n");
|
spiinfo("Transfer:\n");
|
||||||
qspiinfo(" flags: %02x\n", cmdinfo->flags);
|
spiinfo(" flags: %02x\n", cmdinfo->flags);
|
||||||
qspiinfo(" cmd: %04x\n", cmdinfo->cmd);
|
spiinfo(" cmd: %04x\n", cmdinfo->cmd);
|
||||||
|
|
||||||
if (QSPICMD_ISADDRESS(cmdinfo->flags))
|
if (QSPICMD_ISADDRESS(cmdinfo->flags))
|
||||||
{
|
{
|
||||||
qspiinfo(" address/length: %08lx/%d\n",
|
spiinfo(" address/length: %08lx/%d\n",
|
||||||
(unsigned long)cmdinfo->addr, cmdinfo->addrlen);
|
(unsigned long)cmdinfo->addr, cmdinfo->addrlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (QSPICMD_ISDATA(cmdinfo->flags))
|
if (QSPICMD_ISDATA(cmdinfo->flags))
|
||||||
{
|
{
|
||||||
qspiinfo(" %s Data:\n", QSPICMD_ISWRITE(cmdinfo->flags) ? "Write" : "Read");
|
spiinfo(" %s Data:\n", QSPICMD_ISWRITE(cmdinfo->flags) ? "Write" : "Read");
|
||||||
qspiinfo(" buffer/length: %p/%d\n", cmdinfo->buffer, cmdinfo->buflen);
|
spiinfo(" buffer/length: %p/%d\n", cmdinfo->buffer, cmdinfo->buflen);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -841,14 +827,14 @@ static int qspi_setupxctnfrommem(struct qspi_xctnspec_s *xctn,
|
|||||||
{
|
{
|
||||||
DEBUGASSERT(xctn != NULL && meminfo != NULL);
|
DEBUGASSERT(xctn != NULL && meminfo != NULL);
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
qspiinfo("Transfer:\n");
|
spiinfo("Transfer:\n");
|
||||||
qspiinfo(" flags: %02x\n", meminfo->flags);
|
spiinfo(" flags: %02x\n", meminfo->flags);
|
||||||
qspiinfo(" cmd: %04x\n", meminfo->cmd);
|
spiinfo(" cmd: %04x\n", meminfo->cmd);
|
||||||
qspiinfo(" address/length: %08lx/%d\n",
|
spiinfo(" address/length: %08lx/%d\n",
|
||||||
(unsigned long)meminfo->addr, meminfo->addrlen);
|
(unsigned long)meminfo->addr, meminfo->addrlen);
|
||||||
qspiinfo(" %s Data:\n", QSPIMEM_ISWRITE(meminfo->flags) ? "Write" : "Read");
|
spiinfo(" %s Data:\n", QSPIMEM_ISWRITE(meminfo->flags) ? "Write" : "Read");
|
||||||
qspiinfo(" buffer/length: %p/%d\n", meminfo->buffer, meminfo->buflen);
|
spiinfo(" buffer/length: %p/%d\n", meminfo->buffer, meminfo->buflen);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEBUGASSERT(meminfo->cmd < 256);
|
DEBUGASSERT(meminfo->cmd < 256);
|
||||||
@@ -1461,7 +1447,7 @@ static int qspi_memory_dma(struct stm32l4_qspidev_s *priv,
|
|||||||
(wdentry_t)qspi_dma_timeout, 1, (uint32_t)priv);
|
(wdentry_t)qspi_dma_timeout, 1, (uint32_t)priv);
|
||||||
if (ret != OK)
|
if (ret != OK)
|
||||||
{
|
{
|
||||||
qspierr("ERROR: wd_start failed: %d\n", ret);
|
spierr("ERROR: wd_start failed: %d\n", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Wait for the DMA complete */
|
/* Wait for the DMA complete */
|
||||||
@@ -1524,7 +1510,7 @@ static int qspi_memory_dma(struct stm32l4_qspidev_s *priv,
|
|||||||
|
|
||||||
if (priv->result)
|
if (priv->result)
|
||||||
{
|
{
|
||||||
qspierr("ERROR: DMA failed with result: %d\n", priv->result);
|
spierr("ERROR: DMA failed with result: %d\n", priv->result);
|
||||||
}
|
}
|
||||||
|
|
||||||
return priv->result;
|
return priv->result;
|
||||||
@@ -1694,7 +1680,7 @@ static int qspi_lock(struct qspi_dev_s *dev, bool lock)
|
|||||||
{
|
{
|
||||||
struct stm32l4_qspidev_s *priv = (struct stm32l4_qspidev_s *)dev;
|
struct stm32l4_qspidev_s *priv = (struct stm32l4_qspidev_s *)dev;
|
||||||
|
|
||||||
qspiinfo("lock=%d\n", lock);
|
spiinfo("lock=%d\n", lock);
|
||||||
if (lock)
|
if (lock)
|
||||||
{
|
{
|
||||||
/* Take the semaphore (perhaps waiting) */
|
/* Take the semaphore (perhaps waiting) */
|
||||||
@@ -1747,7 +1733,7 @@ static uint32_t qspi_setfrequency(struct qspi_dev_s *dev, uint32_t frequency)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
qspiinfo("frequency=%d\n", frequency);
|
spiinfo("frequency=%d\n", frequency);
|
||||||
DEBUGASSERT(priv);
|
DEBUGASSERT(priv);
|
||||||
|
|
||||||
/* Wait till BUSY flag reset */
|
/* Wait till BUSY flag reset */
|
||||||
@@ -1799,14 +1785,14 @@ static uint32_t qspi_setfrequency(struct qspi_dev_s *dev, uint32_t frequency)
|
|||||||
/* Calculate the new actual frequency */
|
/* Calculate the new actual frequency */
|
||||||
|
|
||||||
actual = STL32L4_QSPI_CLOCK / prescaler;
|
actual = STL32L4_QSPI_CLOCK / prescaler;
|
||||||
qspiinfo("prescaler=%d actual=%d\n", prescaler, actual);
|
spiinfo("prescaler=%d actual=%d\n", prescaler, actual);
|
||||||
|
|
||||||
/* Save the frequency setting */
|
/* Save the frequency setting */
|
||||||
|
|
||||||
priv->frequency = frequency;
|
priv->frequency = frequency;
|
||||||
priv->actual = actual;
|
priv->actual = actual;
|
||||||
|
|
||||||
qspiinfo("Frequency %d->%d\n", frequency, actual);
|
spiinfo("Frequency %d->%d\n", frequency, actual);
|
||||||
return actual;
|
return actual;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1839,7 +1825,7 @@ static void qspi_setmode(struct qspi_dev_s *dev, enum qspi_mode_e mode)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
qspiinfo("mode=%d\n", mode);
|
spiinfo("mode=%d\n", mode);
|
||||||
|
|
||||||
/* Has the mode changed? */
|
/* Has the mode changed? */
|
||||||
|
|
||||||
@@ -1869,14 +1855,14 @@ static void qspi_setmode(struct qspi_dev_s *dev, enum qspi_mode_e mode)
|
|||||||
|
|
||||||
case QSPIDEV_MODE1: /* CPOL=0; CPHA=1 */
|
case QSPIDEV_MODE1: /* CPOL=0; CPHA=1 */
|
||||||
case QSPIDEV_MODE2: /* CPOL=1; CPHA=0 */
|
case QSPIDEV_MODE2: /* CPOL=1; CPHA=0 */
|
||||||
qspiinfo("unsupported mode=%d\n", mode);
|
spiinfo("unsupported mode=%d\n", mode);
|
||||||
default:
|
default:
|
||||||
DEBUGASSERT(FALSE);
|
DEBUGASSERT(FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
qspi_putreg(priv, regval, STM32L4_QUADSPI_DCR);
|
qspi_putreg(priv, regval, STM32L4_QUADSPI_DCR);
|
||||||
qspiinfo("DCR=%08x\n", regval);
|
spiinfo("DCR=%08x\n", regval);
|
||||||
|
|
||||||
/* Save the mode so that subsequent re-configurations will be faster */
|
/* Save the mode so that subsequent re-configurations will be faster */
|
||||||
|
|
||||||
@@ -1906,7 +1892,7 @@ static void qspi_setbits(struct qspi_dev_s *dev, int nbits)
|
|||||||
|
|
||||||
if (8 != nbits)
|
if (8 != nbits)
|
||||||
{
|
{
|
||||||
qspiinfo("unsupported nbits=%d\n", nbits);
|
spiinfo("unsupported nbits=%d\n", nbits);
|
||||||
DEBUGASSERT(FALSE);
|
DEBUGASSERT(FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2445,7 +2431,7 @@ struct qspi_dev_s *stm32l4_qspi_initialize(int intf)
|
|||||||
|
|
||||||
/* The STM32L4 has only a single QSPI port */
|
/* The STM32L4 has only a single QSPI port */
|
||||||
|
|
||||||
qspiinfo("intf: %d\n", intf);
|
spiinfo("intf: %d\n", intf);
|
||||||
DEBUGASSERT(intf == 0);
|
DEBUGASSERT(intf == 0);
|
||||||
|
|
||||||
/* Select the QSPI interface */
|
/* Select the QSPI interface */
|
||||||
@@ -2486,7 +2472,7 @@ struct qspi_dev_s *stm32l4_qspi_initialize(int intf)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qspierr("ERROR: QSPI%d not supported\n", intf);
|
spierr("ERROR: QSPI%d not supported\n", intf);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2509,7 +2495,7 @@ struct qspi_dev_s *stm32l4_qspi_initialize(int intf)
|
|||||||
priv->dmach = stm32l4_dmachannel(DMACHAN_QUADSPI);
|
priv->dmach = stm32l4_dmachannel(DMACHAN_QUADSPI);
|
||||||
if (!priv->dmach)
|
if (!priv->dmach)
|
||||||
{
|
{
|
||||||
qspierr("ERROR: Failed to allocate the DMA channel\n");
|
spierr("ERROR: Failed to allocate the DMA channel\n");
|
||||||
priv->candma = false;
|
priv->candma = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2525,7 +2511,7 @@ struct qspi_dev_s *stm32l4_qspi_initialize(int intf)
|
|||||||
priv->dmadog = wd_create();
|
priv->dmadog = wd_create();
|
||||||
if (priv->dmadog == NULL)
|
if (priv->dmadog == NULL)
|
||||||
{
|
{
|
||||||
qspierr("ERROR: Failed to create wdog\n");
|
spierr("ERROR: Failed to create wdog\n");
|
||||||
goto errout_with_dmahandles;
|
goto errout_with_dmahandles;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -2536,7 +2522,7 @@ struct qspi_dev_s *stm32l4_qspi_initialize(int intf)
|
|||||||
ret = irq_attach(priv->irq, priv->handler);
|
ret = irq_attach(priv->irq, priv->handler);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
qspierr("ERROR: Failed to attach irq %d\n", priv->irq);
|
spierr("ERROR: Failed to attach irq %d\n", priv->irq);
|
||||||
goto errout_with_dmadog;
|
goto errout_with_dmadog;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2553,7 +2539,7 @@ struct qspi_dev_s *stm32l4_qspi_initialize(int intf)
|
|||||||
ret = qspi_hw_initialize(priv);
|
ret = qspi_hw_initialize(priv);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
qspierr("ERROR: Failed to initialize QSPI hardware\n");
|
spierr("ERROR: Failed to initialize QSPI hardware\n");
|
||||||
goto errout_with_irq;
|
goto errout_with_irq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -136,19 +136,6 @@
|
|||||||
#define SPI_TXDMA16NULL_CONFIG (SPI_DMA_PRIO|DMA_CCR_MSIZE_8BITS |DMA_CCR_PSIZE_16BITS |DMA_CCR_DIR)
|
#define SPI_TXDMA16NULL_CONFIG (SPI_DMA_PRIO|DMA_CCR_MSIZE_8BITS |DMA_CCR_PSIZE_16BITS |DMA_CCR_DIR)
|
||||||
#define SPI_TXDMA8NULL_CONFIG (SPI_DMA_PRIO|DMA_CCR_MSIZE_8BITS |DMA_CCR_PSIZE_8BITS |DMA_CCR_DIR)
|
#define SPI_TXDMA8NULL_CONFIG (SPI_DMA_PRIO|DMA_CCR_MSIZE_8BITS |DMA_CCR_PSIZE_8BITS |DMA_CCR_DIR)
|
||||||
|
|
||||||
/* Debug ****************************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -69,14 +69,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -462,7 +456,7 @@ static uint32_t ssi_disable(struct tiva_ssidev_s *priv)
|
|||||||
retval = ssi_getreg(priv, TIVA_SSI_CR1_OFFSET);
|
retval = ssi_getreg(priv, TIVA_SSI_CR1_OFFSET);
|
||||||
regval = (retval & ~SSI_CR1_SSE);
|
regval = (retval & ~SSI_CR1_SSE);
|
||||||
ssi_putreg(priv, TIVA_SSI_CR1_OFFSET, regval);
|
ssi_putreg(priv, TIVA_SSI_CR1_OFFSET, regval);
|
||||||
ssiinfo("CR1: %08x\n", regval);
|
spiinfo("CR1: %08x\n", regval);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -489,7 +483,7 @@ static void ssi_enable(struct tiva_ssidev_s *priv, uint32_t enable)
|
|||||||
regval &= ~SSI_CR1_SSE;
|
regval &= ~SSI_CR1_SSE;
|
||||||
regval |= (enable & SSI_CR1_SSE);
|
regval |= (enable & SSI_CR1_SSE);
|
||||||
ssi_putreg(priv, TIVA_SSI_CR1_OFFSET, regval);
|
ssi_putreg(priv, TIVA_SSI_CR1_OFFSET, regval);
|
||||||
ssiinfo("CR1: %08x\n", regval);
|
spiinfo("CR1: %08x\n", regval);
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@@ -538,14 +532,14 @@ static void ssi_semtake(sem_t *sem)
|
|||||||
|
|
||||||
static void ssi_txnull(struct tiva_ssidev_s *priv)
|
static void ssi_txnull(struct tiva_ssidev_s *priv)
|
||||||
{
|
{
|
||||||
ssiinfo("TX: ->0xffff\n");
|
spiinfo("TX: ->0xffff\n");
|
||||||
ssi_putreg(priv, TIVA_SSI_DR_OFFSET, 0xffff);
|
ssi_putreg(priv, TIVA_SSI_DR_OFFSET, 0xffff);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ssi_txuint16(struct tiva_ssidev_s *priv)
|
static void ssi_txuint16(struct tiva_ssidev_s *priv)
|
||||||
{
|
{
|
||||||
uint16_t *ptr = (uint16_t *)priv->txbuffer;
|
uint16_t *ptr = (uint16_t *)priv->txbuffer;
|
||||||
ssiinfo("TX: %p->%04x\n", ptr, *ptr);
|
spiinfo("TX: %p->%04x\n", ptr, *ptr);
|
||||||
ssi_putreg(priv, TIVA_SSI_DR_OFFSET, (uint32_t)(*ptr++));
|
ssi_putreg(priv, TIVA_SSI_DR_OFFSET, (uint32_t)(*ptr++));
|
||||||
priv->txbuffer = (void *)ptr;
|
priv->txbuffer = (void *)ptr;
|
||||||
}
|
}
|
||||||
@@ -553,7 +547,7 @@ static void ssi_txuint16(struct tiva_ssidev_s *priv)
|
|||||||
static void ssi_txuint8(struct tiva_ssidev_s *priv)
|
static void ssi_txuint8(struct tiva_ssidev_s *priv)
|
||||||
{
|
{
|
||||||
uint8_t *ptr = (uint8_t *)priv->txbuffer;
|
uint8_t *ptr = (uint8_t *)priv->txbuffer;
|
||||||
ssiinfo("TX: %p->%02x\n", ptr, *ptr);
|
spiinfo("TX: %p->%02x\n", ptr, *ptr);
|
||||||
ssi_putreg(priv, TIVA_SSI_DR_OFFSET, (uint32_t)(*ptr++));
|
ssi_putreg(priv, TIVA_SSI_DR_OFFSET, (uint32_t)(*ptr++));
|
||||||
priv->txbuffer = (void *)ptr;
|
priv->txbuffer = (void *)ptr;
|
||||||
}
|
}
|
||||||
@@ -577,9 +571,9 @@ static void ssi_txuint8(struct tiva_ssidev_s *priv)
|
|||||||
|
|
||||||
static void ssi_rxnull(struct tiva_ssidev_s *priv)
|
static void ssi_rxnull(struct tiva_ssidev_s *priv)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
uint32_t regval = ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
uint32_t regval = ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
||||||
ssiinfo("RX: discard %04x\n", regval);
|
spiinfo("RX: discard %04x\n", regval);
|
||||||
#else
|
#else
|
||||||
(void)ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
(void)ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
||||||
#endif
|
#endif
|
||||||
@@ -589,7 +583,7 @@ static void ssi_rxuint16(struct tiva_ssidev_s *priv)
|
|||||||
{
|
{
|
||||||
uint16_t *ptr = (uint16_t *)priv->rxbuffer;
|
uint16_t *ptr = (uint16_t *)priv->rxbuffer;
|
||||||
*ptr = (uint16_t)ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
*ptr = (uint16_t)ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
||||||
ssiinfo("RX: %p<-%04x\n", ptr, *ptr);
|
spiinfo("RX: %p<-%04x\n", ptr, *ptr);
|
||||||
priv->rxbuffer = (void *)(++ptr);
|
priv->rxbuffer = (void *)(++ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -597,7 +591,7 @@ static void ssi_rxuint8(struct tiva_ssidev_s *priv)
|
|||||||
{
|
{
|
||||||
uint8_t *ptr = (uint8_t *)priv->rxbuffer;
|
uint8_t *ptr = (uint8_t *)priv->rxbuffer;
|
||||||
*ptr = (uint8_t)ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
*ptr = (uint8_t)ssi_getreg(priv, TIVA_SSI_DR_OFFSET);
|
||||||
ssiinfo("RX: %p<-%02x\n", ptr, *ptr);
|
spiinfo("RX: %p<-%02x\n", ptr, *ptr);
|
||||||
priv->rxbuffer = (void *)(++ptr);
|
priv->rxbuffer = (void *)(++ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -841,7 +835,7 @@ static int ssi_transfer(struct tiva_ssidev_s *priv, const void *txbuffer,
|
|||||||
#endif
|
#endif
|
||||||
int ntxd;
|
int ntxd;
|
||||||
|
|
||||||
ssiinfo("txbuffer: %p rxbuffer: %p nwords: %d\n",
|
spiinfo("txbuffer: %p rxbuffer: %p nwords: %d\n",
|
||||||
txbuffer, rxbuffer, nwords);
|
txbuffer, rxbuffer, nwords);
|
||||||
|
|
||||||
/* Set up to perform the transfer */
|
/* Set up to perform the transfer */
|
||||||
@@ -883,7 +877,7 @@ static int ssi_transfer(struct tiva_ssidev_s *priv, const void *txbuffer,
|
|||||||
|
|
||||||
#ifndef CONFIG_SSI_POLLWAIT
|
#ifndef CONFIG_SSI_POLLWAIT
|
||||||
flags = enter_critical_section();
|
flags = enter_critical_section();
|
||||||
ssiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x\n",
|
spiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x\n",
|
||||||
priv->ntxwords, priv->nrxwords, priv->nwords,
|
priv->ntxwords, priv->nrxwords, priv->nwords,
|
||||||
ssi_getreg(priv, TIVA_SSI_SR_OFFSET));
|
ssi_getreg(priv, TIVA_SSI_SR_OFFSET));
|
||||||
|
|
||||||
@@ -897,7 +891,7 @@ static int ssi_transfer(struct tiva_ssidev_s *priv, const void *txbuffer,
|
|||||||
|
|
||||||
ssi_performrx(priv);
|
ssi_performrx(priv);
|
||||||
|
|
||||||
ssiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x IM: %08x\n",
|
spiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x IM: %08x\n",
|
||||||
priv->ntxwords, priv->nrxwords, priv->nwords,
|
priv->ntxwords, priv->nrxwords, priv->nwords,
|
||||||
ssi_getreg(priv, TIVA_SSI_SR_OFFSET),
|
ssi_getreg(priv, TIVA_SSI_SR_OFFSET),
|
||||||
ssi_getreg(priv, TIVA_SSI_IM_OFFSET));
|
ssi_getreg(priv, TIVA_SSI_IM_OFFSET));
|
||||||
@@ -907,14 +901,14 @@ static int ssi_transfer(struct tiva_ssidev_s *priv, const void *txbuffer,
|
|||||||
* with the transfer, so it should be safe with no timeout.
|
* with the transfer, so it should be safe with no timeout.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ssiinfo("Waiting for transfer complete\n");
|
spiinfo("Waiting for transfer complete\n");
|
||||||
leave_critical_section(flags);
|
leave_critical_section(flags);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
ssi_semtake(&priv->xfrsem);
|
ssi_semtake(&priv->xfrsem);
|
||||||
}
|
}
|
||||||
while (priv->nrxwords < priv->nwords);
|
while (priv->nrxwords < priv->nwords);
|
||||||
ssiinfo("Transfer complete\n");
|
spiinfo("Transfer complete\n");
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Perform the transfer using polling logic. This will totally
|
/* Perform the transfer using polling logic. This will totally
|
||||||
@@ -1023,14 +1017,14 @@ static int ssi_interrupt(int irq, void *context)
|
|||||||
|
|
||||||
/* Check for Rx FIFO overruns */
|
/* Check for Rx FIFO overruns */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI_ERROR
|
||||||
if ((regval & SSI_RIS_ROR) != 0)
|
if ((regval & SSI_RIS_ROR) != 0)
|
||||||
{
|
{
|
||||||
ssierr("ERROR: Rx FIFO Overrun!\n");
|
spierr("ERROR: Rx FIFO Overrun!\n");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ssiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x\n",
|
spiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x\n",
|
||||||
priv->ntxwords, priv->nrxwords, priv->nwords,
|
priv->ntxwords, priv->nrxwords, priv->nwords,
|
||||||
ssi_getreg(priv, TIVA_SSI_SR_OFFSET));
|
ssi_getreg(priv, TIVA_SSI_SR_OFFSET));
|
||||||
|
|
||||||
@@ -1042,7 +1036,7 @@ static int ssi_interrupt(int irq, void *context)
|
|||||||
|
|
||||||
ssi_performrx(priv);
|
ssi_performrx(priv);
|
||||||
|
|
||||||
ssiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x IM: %08x\n",
|
spiinfo("ntxwords: %d nrxwords: %d nwords: %d SR: %08x IM: %08x\n",
|
||||||
priv->ntxwords, priv->nrxwords, priv->nwords,
|
priv->ntxwords, priv->nrxwords, priv->nwords,
|
||||||
ssi_getreg(priv, TIVA_SSI_SR_OFFSET),
|
ssi_getreg(priv, TIVA_SSI_SR_OFFSET),
|
||||||
ssi_getreg(priv, TIVA_SSI_IM_OFFSET));
|
ssi_getreg(priv, TIVA_SSI_IM_OFFSET));
|
||||||
@@ -1057,7 +1051,7 @@ static int ssi_interrupt(int irq, void *context)
|
|||||||
|
|
||||||
/* Wake up the waiting thread */
|
/* Wake up the waiting thread */
|
||||||
|
|
||||||
ssiinfo("Transfer complete\n");
|
spiinfo("Transfer complete\n");
|
||||||
ssi_semgive(&priv->xfrsem);
|
ssi_semgive(&priv->xfrsem);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1138,7 +1132,7 @@ static uint32_t ssi_setfrequencyinternal(struct tiva_ssidev_s *priv,
|
|||||||
uint32_t scr;
|
uint32_t scr;
|
||||||
uint32_t actual;
|
uint32_t actual;
|
||||||
|
|
||||||
ssiinfo("frequency: %d\n", frequency);
|
spiinfo("frequency: %d\n", frequency);
|
||||||
DEBUGASSERT(frequency);
|
DEBUGASSERT(frequency);
|
||||||
|
|
||||||
/* Has the frequency changed? */
|
/* Has the frequency changed? */
|
||||||
@@ -1208,7 +1202,7 @@ static uint32_t ssi_setfrequencyinternal(struct tiva_ssidev_s *priv,
|
|||||||
regval &= ~SSI_CR0_SCR_MASK;
|
regval &= ~SSI_CR0_SCR_MASK;
|
||||||
regval |= (scr << SSI_CR0_SCR_SHIFT);
|
regval |= (scr << SSI_CR0_SCR_SHIFT);
|
||||||
ssi_putreg(priv, TIVA_SSI_CR0_OFFSET, regval);
|
ssi_putreg(priv, TIVA_SSI_CR0_OFFSET, regval);
|
||||||
ssiinfo("CR0: %08x CPSR: %08x\n", regval, cpsdvsr);
|
spiinfo("CR0: %08x CPSR: %08x\n", regval, cpsdvsr);
|
||||||
|
|
||||||
/* Calcluate the actual frequency */
|
/* Calcluate the actual frequency */
|
||||||
|
|
||||||
@@ -1262,7 +1256,7 @@ static void ssi_setmodeinternal(struct tiva_ssidev_s *priv, enum spi_mode_e mode
|
|||||||
uint32_t modebits;
|
uint32_t modebits;
|
||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
|
|
||||||
ssiinfo("mode: %d\n", mode);
|
spiinfo("mode: %d\n", mode);
|
||||||
DEBUGASSERT(priv);
|
DEBUGASSERT(priv);
|
||||||
|
|
||||||
/* Has the number of bits per word changed? */
|
/* Has the number of bits per word changed? */
|
||||||
@@ -1299,7 +1293,7 @@ static void ssi_setmodeinternal(struct tiva_ssidev_s *priv, enum spi_mode_e mode
|
|||||||
regval &= ~(SSI_CR0_FRF_MASK | SSI_CR0_SPH | SSI_CR0_SPO);
|
regval &= ~(SSI_CR0_FRF_MASK | SSI_CR0_SPH | SSI_CR0_SPO);
|
||||||
regval |= modebits;
|
regval |= modebits;
|
||||||
ssi_putreg(priv, TIVA_SSI_CR0_OFFSET, regval);
|
ssi_putreg(priv, TIVA_SSI_CR0_OFFSET, regval);
|
||||||
ssiinfo("CR0: %08x\n", regval);
|
spiinfo("CR0: %08x\n", regval);
|
||||||
|
|
||||||
/* Save the mode so that subsequent re-configuratins will be faster */
|
/* Save the mode so that subsequent re-configuratins will be faster */
|
||||||
|
|
||||||
@@ -1341,7 +1335,7 @@ static void ssi_setbitsinternal(struct tiva_ssidev_s *priv, int nbits)
|
|||||||
{
|
{
|
||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
|
|
||||||
ssiinfo("nbits: %d\n", nbits);
|
spiinfo("nbits: %d\n", nbits);
|
||||||
DEBUGASSERT(priv);
|
DEBUGASSERT(priv);
|
||||||
if (nbits != priv->nbits && nbits >= 4 && nbits <= 16)
|
if (nbits != priv->nbits && nbits >= 4 && nbits <= 16)
|
||||||
{
|
{
|
||||||
@@ -1349,7 +1343,7 @@ static void ssi_setbitsinternal(struct tiva_ssidev_s *priv, int nbits)
|
|||||||
regval &= ~SSI_CR0_DSS_MASK;
|
regval &= ~SSI_CR0_DSS_MASK;
|
||||||
regval |= ((nbits - 1) << SSI_CR0_DSS_SHIFT);
|
regval |= ((nbits - 1) << SSI_CR0_DSS_SHIFT);
|
||||||
ssi_putreg(priv, TIVA_SSI_CR0_OFFSET, regval);
|
ssi_putreg(priv, TIVA_SSI_CR0_OFFSET, regval);
|
||||||
ssiinfo("CR0: %08x\n", regval);
|
spiinfo("CR0: %08x\n", regval);
|
||||||
|
|
||||||
priv->nbits = nbits;
|
priv->nbits = nbits;
|
||||||
}
|
}
|
||||||
@@ -1508,7 +1502,7 @@ FAR struct spi_dev_s *tiva_ssibus_initialize(int port)
|
|||||||
struct tiva_ssidev_s *priv;
|
struct tiva_ssidev_s *priv;
|
||||||
irqstate_t flags;
|
irqstate_t flags;
|
||||||
|
|
||||||
ssiinfo("port: %d\n", port);
|
spiinfo("port: %d\n", port);
|
||||||
|
|
||||||
/* Set up for the selected port */
|
/* Set up for the selected port */
|
||||||
|
|
||||||
|
|||||||
@@ -62,22 +62,6 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_AVR_SPI
|
#ifdef CONFIG_AVR_SPI
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -72,18 +72,6 @@
|
|||||||
# error CONFIG_SPI_EXCHANGE not supported by this driver
|
# error CONFIG_SPI_EXCHANGE not supported by this driver
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debug */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -67,18 +67,6 @@
|
|||||||
|
|
||||||
#define BOARD_PBCLOCK BOARD_PBCLK2
|
#define BOARD_PBCLOCK BOARD_PBCLK2
|
||||||
|
|
||||||
/* Debug */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -60,19 +60,6 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/* Configuration ********************************************************************/
|
/* Configuration ********************************************************************/
|
||||||
|
|
||||||
/* Debug ****************************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define the FLASH SIZE in bytes */
|
/* Define the FLASH SIZE in bytes */
|
||||||
|
|
||||||
#ifdef CONFIG_SIM_SPIFLASH_1M
|
#ifdef CONFIG_SIM_SPIFLASH_1M
|
||||||
|
|||||||
@@ -55,22 +55,6 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_Z16F_ESPI
|
#ifdef CONFIG_Z16F_ESPI
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
/* Debug *******************************************************************/
|
|
||||||
/* Check if SPI debug is enabled */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -117,7 +101,7 @@ static void spi_putreg16(FAR struct z16f_spi_s *priv, uint16_t regval,
|
|||||||
# define spi_putreg16(priv,regval,regaddr) putreg16(regval, regaddr)
|
# define spi_putreg16(priv,regval,regaddr) putreg16(regval, regaddr)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(FAR struct z16f_spi_s *priv, const char *msg);
|
static void spi_dumpregs(FAR struct z16f_spi_s *priv, const char *msg);
|
||||||
#else
|
#else
|
||||||
# define spi_dumpregs(priv,msg)
|
# define spi_dumpregs(priv,msg)
|
||||||
@@ -317,7 +301,7 @@ static void spi_putreg16(FAR struct z16f_spi_s *priv, uint16_t regval,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_INFO)
|
#ifdef CONFIG_DEBUG_SPI_INFO
|
||||||
static void spi_dumpregs(FAR struct z16f_spi_s *priv, FAR const char *msg)
|
static void spi_dumpregs(FAR struct z16f_spi_s *priv, FAR const char *msg)
|
||||||
{
|
{
|
||||||
spiinfo("%s:\n", msg);
|
spiinfo("%s:\n", msg);
|
||||||
|
|||||||
@@ -54,22 +54,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI3)
|
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI3)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -50,22 +50,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_HCS12_SPI)
|
#if defined(CONFIG_HCS12_SPI)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -62,14 +62,8 @@
|
|||||||
/* Enables debug output from this file */
|
/* Enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -110,14 +104,14 @@ void weak_function tm4c_ssidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Entry");
|
ssi_dumpgpio("tiva_ssiselect() Entry");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Exit");
|
ssi_dumpgpio("tiva_ssiselect() Exit");
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,22 +55,6 @@
|
|||||||
#if 0 /* At present, EA3131 specific logic is hard-coded in the file lpc31_spi.c
|
#if 0 /* At present, EA3131 specific logic is hard-coded in the file lpc31_spi.c
|
||||||
* in arch/arm/src/lpc31xx */
|
* in arch/arm/src/lpc31xx */
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -55,22 +55,6 @@
|
|||||||
#if 0 /* At present, EA3152 specific logic is hard-coded in the file lpc31_spi.c
|
#if 0 /* At present, EA3152 specific logic is hard-coded in the file lpc31_spi.c
|
||||||
* in arch/arm/src/lpc31xx */
|
* in arch/arm/src/lpc31xx */
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -62,14 +62,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -115,7 +109,7 @@ void weak_function lm_ssidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
{
|
{
|
||||||
/* Assert the CS pin to the card */
|
/* Assert the CS pin to the card */
|
||||||
@@ -128,7 +122,7 @@ void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool select
|
|||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,14 +61,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -115,7 +109,7 @@ void weak_function lm_ssidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Entry");
|
ssi_dumpgpio("tiva_ssiselect() Entry");
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
{
|
{
|
||||||
@@ -136,7 +130,7 @@ void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool select
|
|||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -53,22 +53,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2)
|
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -51,28 +51,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_KL_SPI0) || defined(CONFIG_KL_SPI1)
|
#if defined(CONFIG_KL_SPI0) || defined(CONFIG_KL_SPI1)
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file (needs CONFIG_DEBUG_FEATURES too) */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -51,28 +51,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_KL_SPI0) || defined(CONFIG_KL_SPI1)
|
#if defined(CONFIG_KL_SPI0) || defined(CONFIG_KL_SPI1)
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file (needs CONFIG_DEBUG_FEATURES too) */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -54,22 +54,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2)
|
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -53,22 +53,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_KINETIS_SPI1) || defined(CONFIG_KINETIS_SPI2)
|
#if defined(CONFIG_KINETIS_SPI1) || defined(CONFIG_KINETIS_SPI2)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -60,14 +60,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -113,7 +107,7 @@ void weak_function lm_ssidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Entry");
|
ssi_dumpgpio("tiva_ssiselect() Entry");
|
||||||
|
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
@@ -128,7 +122,7 @@ void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool select
|
|||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,14 +62,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -118,7 +112,7 @@ void weak_function lm_ssidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Entry");
|
ssi_dumpgpio("tiva_ssiselect() Entry");
|
||||||
|
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
@@ -140,7 +134,7 @@ void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool select
|
|||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,14 +62,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -118,7 +112,7 @@ void weak_function lm_ssidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Entry");
|
ssi_dumpgpio("tiva_ssiselect() Entry");
|
||||||
|
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
@@ -140,7 +134,7 @@ void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool select
|
|||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,14 +63,8 @@
|
|||||||
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
/* CONFIG_DEBUG_SPI enables debug output from this file */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
#ifdef CONFIG_DEBUG_SPI
|
||||||
# define ssierr llerr
|
|
||||||
# define ssiwarn llwarn
|
|
||||||
# define ssiinfo llinfo
|
|
||||||
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
|
||||||
#else
|
#else
|
||||||
# define ssierr(x...)
|
|
||||||
# define ssiwarn(x...)
|
|
||||||
# define ssiinfo(x...)
|
|
||||||
# define ssi_dumpgpio(m)
|
# define ssi_dumpgpio(m)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -111,14 +105,14 @@ void weak_function lm4f_spidev_initialize(void)
|
|||||||
|
|
||||||
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
ssiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Entry");
|
ssi_dumpgpio("tiva_ssiselect() Entry");
|
||||||
ssi_dumpgpio("tiva_ssiselect() Exit");
|
ssi_dumpgpio("tiva_ssiselect() Exit");
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
ssiinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,18 +58,6 @@
|
|||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define ssperr llerr
|
|
||||||
# define sspwarn llwarn
|
|
||||||
# define sspinfo llinfo
|
|
||||||
#else
|
|
||||||
# define ssperr(x...)
|
|
||||||
# define sspwarn(x...)
|
|
||||||
# define sspinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Dump GPIO registers */
|
/* Dump GPIO registers */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_GPIO_INFO
|
#ifdef CONFIG_DEBUG_GPIO_INFO
|
||||||
@@ -144,7 +132,7 @@ void weak_function lpcxpresso_sspdev_initialize(void)
|
|||||||
#ifdef CONFIG_LPC17_SSP0
|
#ifdef CONFIG_LPC17_SSP0
|
||||||
void lpc11_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void lpc11_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
sspinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssp_dumpgpio("lpc11_ssp0select() Entry");
|
ssp_dumpgpio("lpc11_ssp0select() Entry");
|
||||||
|
|
||||||
#warning "Assert CS here (false)"
|
#warning "Assert CS here (false)"
|
||||||
@@ -154,7 +142,7 @@ void lpc11_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool sel
|
|||||||
|
|
||||||
uint8_t lpc11_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t lpc11_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
sspinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -162,7 +150,7 @@ uint8_t lpc11_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
|||||||
#ifdef CONFIG_LPC17_SSP1
|
#ifdef CONFIG_LPC17_SSP1
|
||||||
void lpc11_ssp1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void lpc11_ssp1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
sspinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssp_dumpgpio("lpc11_ssp1select() Entry");
|
ssp_dumpgpio("lpc11_ssp1select() Entry");
|
||||||
|
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
@@ -190,12 +178,12 @@ uint8_t lpc11_ssp1status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
|||||||
|
|
||||||
if (lpc11_gpioread(LPCXPRESSO_SD_CD) == 0)
|
if (lpc11_gpioread(LPCXPRESSO_SD_CD) == 0)
|
||||||
{
|
{
|
||||||
sspinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sspinfo("Returning zero\n");
|
spiinfo("Returning zero\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -58,18 +58,6 @@
|
|||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define ssperr llerr
|
|
||||||
# define sspwarn llwarn
|
|
||||||
# define sspinfo llinfo
|
|
||||||
#else
|
|
||||||
# define ssperr(x...)
|
|
||||||
# define sspwarn(x...)
|
|
||||||
# define sspinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Dump GPIO registers */
|
/* Dump GPIO registers */
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_GPIO_INFO
|
#ifdef CONFIG_DEBUG_GPIO_INFO
|
||||||
@@ -144,7 +132,7 @@ void weak_function lpcxpresso_sspdev_initialize(void)
|
|||||||
#ifdef CONFIG_LPC17_SSP0
|
#ifdef CONFIG_LPC17_SSP0
|
||||||
void lpc17_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void lpc17_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
sspinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssp_dumpgpio("lpc17_ssp0select() Entry");
|
ssp_dumpgpio("lpc17_ssp0select() Entry");
|
||||||
|
|
||||||
#warning "Assert CS here (false)"
|
#warning "Assert CS here (false)"
|
||||||
@@ -154,7 +142,7 @@ void lpc17_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool sel
|
|||||||
|
|
||||||
uint8_t lpc17_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
uint8_t lpc17_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
||||||
{
|
{
|
||||||
sspinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -162,7 +150,7 @@ uint8_t lpc17_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
|||||||
#ifdef CONFIG_LPC17_SSP1
|
#ifdef CONFIG_LPC17_SSP1
|
||||||
void lpc17_ssp1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
void lpc17_ssp1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
|
||||||
{
|
{
|
||||||
sspinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
|
||||||
ssp_dumpgpio("lpc17_ssp1select() Entry");
|
ssp_dumpgpio("lpc17_ssp1select() Entry");
|
||||||
|
|
||||||
if (devid == SPIDEV_MMCSD)
|
if (devid == SPIDEV_MMCSD)
|
||||||
@@ -190,12 +178,12 @@ uint8_t lpc17_ssp1status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
|
|||||||
|
|
||||||
if (lpc17_gpioread(LPCXPRESSO_SD_CD) == 0)
|
if (lpc17_gpioread(LPCXPRESSO_SD_CD) == 0)
|
||||||
{
|
{
|
||||||
sspinfo("Returning SPI_STATUS_PRESENT\n");
|
spiinfo("Returning SPI_STATUS_PRESENT\n");
|
||||||
return SPI_STATUS_PRESENT;
|
return SPI_STATUS_PRESENT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sspinfo("Returning zero\n");
|
spiinfo("Returning zero\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -55,22 +55,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2)
|
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2)
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -86,20 +86,6 @@
|
|||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define spiinfo llerr
|
|
||||||
# else
|
|
||||||
# define spiinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Clocking */
|
/* Clocking */
|
||||||
|
|
||||||
#define LPC214X_CCLKFREQ (LPC214X_FOSC*LPC214X_PLL_M)
|
#define LPC214X_CCLKFREQ (LPC214X_FOSC*LPC214X_PLL_M)
|
||||||
|
|||||||
@@ -59,22 +59,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2) || defined(CONFIG_STM32_SPI3)
|
#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2) || defined(CONFIG_STM32_SPI3)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -92,21 +92,6 @@
|
|||||||
#define GPIO_PGA117_CS (GPIO_OUTPUT|GPIO_VALUE_ONE|GPIO_PORTB|GPIO_PIN7)
|
#define GPIO_PGA117_CS (GPIO_OUTPUT|GPIO_VALUE_ONE|GPIO_PORTB|GPIO_PIN7)
|
||||||
#define GPIO_SST25VF032B_CS (GPIO_OUTPUT|GPIO_VALUE_ONE|GPIO_PORTB|GPIO_PIN13)
|
#define GPIO_SST25VF032B_CS (GPIO_OUTPUT|GPIO_VALUE_ONE|GPIO_PORTB|GPIO_PIN13)
|
||||||
|
|
||||||
/* The following enable debug output from this file (needs CONFIG_DEBUG_FEATURES too).
|
|
||||||
*
|
|
||||||
* CONFIG_DEBUG_SPI - Define to enable basic SPI debug
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
@@ -50,22 +50,6 @@
|
|||||||
|
|
||||||
#if defined(CONFIG_HCS12_SPI)
|
#if defined(CONFIG_HCS12_SPI)
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Enables debug output from this file */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_SPI
|
|
||||||
# define spierr llerr
|
|
||||||
# define spiwarn llwarn
|
|
||||||
# define spiinfo llinfo
|
|
||||||
#else
|
|
||||||
# define spierr(x...)
|
|
||||||
# define spiwarn(x...)
|
|
||||||
# define spiinfo(x...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user