diff options
author | edolomb <none@example.com> | 2018-01-15 20:19:48 +0000 |
---|---|---|
committer | edolomb <none@example.com> | 2018-01-15 20:19:48 +0000 |
commit | fc79c25a3539dce82945e7fe909ad681f533c770 (patch) | |
tree | ba46d16c77b972982498d841d0d8d1bb13f54487 /os | |
parent | c70771c57bcfcd13063308be7eb61cf4b3546469 (diff) | |
download | ChibiOS-fc79c25a3539dce82945e7fe909ad681f533c770.tar.gz ChibiOS-fc79c25a3539dce82945e7fe909ad681f533c770.tar.bz2 ChibiOS-fc79c25a3539dce82945e7fe909ad681f533c770.zip |
Added security configuration
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11280 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r-- | os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.c | 21 | ||||
-rw-r--r-- | os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.h | 12 |
2 files changed, 32 insertions, 1 deletions
diff --git a/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.c b/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.c index fffdb390c..a450f261b 100644 --- a/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.c +++ b/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.c @@ -183,6 +183,9 @@ static void spi_lld_serve_tx_interrupt(SPIDriver *spip, uint32_t flags) { void spi_lld_init(void) {
#if SAMA_SPI_USE_SPI0
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_SPI0, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&SPID0);
SPID0.spi = SPI0;
@@ -213,6 +216,9 @@ void spi_lld_init(void) { #endif /* SAMA_SPI_USE_SPI0 */
#if SAMA_SPI_USE_SPI1
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_SPI1, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&SPID1);
SPID1.spi = SPI1;
@@ -243,6 +249,9 @@ void spi_lld_init(void) { #endif /* SAMA_SPI_USE_SPI1 */
#if SAMA_SPI_USE_FLEXCOM0
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_FLEXCOM0, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&FSPID0);
FSPID0.spi = FCOMSPI0;
@@ -274,6 +283,9 @@ void spi_lld_init(void) { #endif /* SAMA_SPI_USE_FLEXCOM0 */
#if SAMA_SPI_USE_FLEXCOM1
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_FLEXCOM1, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&FSPID1);
FSPID1.spi = FCOMSPI1;
@@ -305,6 +317,9 @@ void spi_lld_init(void) { #endif /* SAMA_SPI_USE_FLEXCOM1 */
#if SAMA_SPI_USE_FLEXCOM2
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_FLEXCOM2, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&FSPID2);
FSPID2.spi = FCOMSPI2;
@@ -336,6 +351,9 @@ void spi_lld_init(void) { #endif /* SAMA_SPI_USE_FLEXCOM2 */
#if SAMA_SPI_USE_FLEXCOM3
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_FLEXCOM3, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&FSPID3);
FSPID3.spi = FCOMSPI3;
@@ -367,6 +385,9 @@ void spi_lld_init(void) { #endif /* SAMA_SPI_USE_FLEXCOM3 */
#if SAMA_SPI_USE_FLEXCOM4
+#if SAMA_HAL_IS_SECURE
+ mtxConfigPeriphSecurity(MATRIX1, ID_FLEXCOM4, SECURE_PER);
+#endif /* SAMA_HAL_IS_SECURE */
/* Driver initialization.*/
spiObjectInit(&FSPID4);
FSPID4.spi = FCOMSPI4;
diff --git a/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.h b/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.h index ab2c7f2ad..d5df35dac 100644 --- a/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.h +++ b/os/hal/ports/SAMA/LLD/SPIv1/hal_spi_lld.h @@ -31,6 +31,11 @@ /* Driver constants. */
/*===========================================================================*/
+/**
+ * @brief Circular mode support flag.
+ */
+#define SPI_SUPPORTS_CIRCULAR FALSE
+
/*===========================================================================*/
/* Driver pre-compile time settings. */
/*===========================================================================*/
@@ -149,7 +154,6 @@ /*===========================================================================*/
/* Derived constants and error checks. */
/*===========================================================================*/
-
/**
* @brief At least an SPI unit is in use.
*/
@@ -243,6 +247,12 @@ typedef void (*spicallback_t)(SPIDriver *spip); * @brief Driver configuration structure.
*/
typedef struct {
+#if (SPI_SUPPORTS_CIRCULAR == TRUE) || defined(__DOXYGEN__)
+ /**
+ * @brief Enables the circular buffer mode.
+ */
+ bool circular;
+#endif
/**
* @brief Operation complete callback or @p NULL.
*/
|