aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/LPC13xx/spi_lld.h
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-05-20 09:16:12 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-05-20 09:16:12 +0000
commit31149b2ffb6b73f7d9c6f1e0c2e69c7f244e831d (patch)
treeb207dfb2b3b2e68cf48409d5e51898514303217f /os/hal/platforms/LPC13xx/spi_lld.h
parent9be1c67db2a0004db4458d0b5fa7fd31c1868a34 (diff)
downloadChibiOS-31149b2ffb6b73f7d9c6f1e0c2e69c7f244e831d.tar.gz
ChibiOS-31149b2ffb6b73f7d9c6f1e0c2e69c7f244e831d.tar.bz2
ChibiOS-31149b2ffb6b73f7d9c6f1e0c2e69c7f244e831d.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4220 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/platforms/LPC13xx/spi_lld.h')
-rw-r--r--os/hal/platforms/LPC13xx/spi_lld.h43
1 files changed, 40 insertions, 3 deletions
diff --git a/os/hal/platforms/LPC13xx/spi_lld.h b/os/hal/platforms/LPC13xx/spi_lld.h
index 0e72950ca..6277b891f 100644
--- a/os/hal/platforms/LPC13xx/spi_lld.h
+++ b/os/hal/platforms/LPC13xx/spi_lld.h
@@ -119,6 +119,15 @@
#endif
/**
+ * @brief SPI2 driver enable switch.
+ * @details If set to @p TRUE the support for device SSP1 is included.
+ * @note The default is @p TRUE.
+ */
+#if !defined(LPC13xx_SPI_USE_SSP1) || defined(__DOXYGEN__)
+#define LPC13xx_SPI_USE_SSP1 FALSE
+#endif
+
+/**
* @brief SSP0 PCLK divider.
*/
#if !defined(LPC13xx_SPI_SSP0CLKDIV) || defined(__DOXYGEN__)
@@ -126,6 +135,13 @@
#endif
/**
+ * @brief SSP1 PCLK divider.
+ */
+#if !defined(LPC13xx_SPI_SSP1CLKDIV) || defined(__DOXYGEN__)
+#define LPC13xx_SPI_SSP1CLKDIV 1
+#endif
+
+/**
* @brief SPI0 interrupt priority level setting.
*/
#if !defined(LPC13xx_SPI_SSP0_IRQ_PRIORITY) || defined(__DOXYGEN__)
@@ -133,6 +149,13 @@
#endif
/**
+ * @brief SPI1 interrupt priority level setting.
+ */
+#if !defined(LPC13xx_SPI_SSP1_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC13xx_SPI_SSP1_IRQ_PRIORITY 1
+#endif
+
+/**
* @brief Overflow error hook.
* @details The default action is to stop the system.
*/
@@ -155,7 +178,11 @@
#error "invalid LPC13xx_SPI_SSP0CLKDIV setting"
#endif
-#if !LPC13xx_SPI_USE_SSP0
+#if (LPC13xx_SPI_SSP1CLKDIV < 1) || (LPC13xx_SPI_SSP1CLKDIV > 255)
+#error "invalid LPC13xx_SPI_SSP1CLKDIV setting"
+#endif
+
+#if !LPC13xx_SPI_USE_SSP0 && !LPC13xx_SPI_USE_SSP1
#error "SPI driver activated but no SPI peripheral assigned"
#endif
@@ -168,8 +195,14 @@
/**
* @brief SSP0 clock.
*/
-#define LPC13xx_SERIAL_SSP0_PCLK \
- (LPC13xx_MAINCLK / LPC13xx_SERIAL_SSP0CLKDIV)
+#define LPC13xx_SPI_SSP0_PCLK \
+ (LPC13xx_MAINCLK / LPC13xx_SPI_SSP0CLKDIV)
+
+/**
+ * @brief SSP1 clock.
+ */
+#define LPC13xx_SPI_SSP1_PCLK \
+ (LPC13xx_MAINCLK / LPC13xx_SPI_SSP1CLKDIV)
/*===========================================================================*/
/* Driver data structures and types. */
@@ -281,6 +314,10 @@ struct SPIDriver {
extern SPIDriver SPID1;
#endif
+#if LPC13xx_SPI_USE_SSP1 && !defined(__DOXYGEN__)
+extern SPIDriver SPID2;
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif