1
0
Эх сурвалжийг харах

Merge pull request #4633 from whj4674672/spi

[add] spi config increases irq_type
Bernard Xiong 4 жил өмнө
parent
commit
ff4dfda5ff

+ 2 - 0
bsp/stm32/libraries/HAL_Drivers/config/f0/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -56,6 +57,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */

+ 3 - 0
bsp/stm32/libraries/HAL_Drivers/config/f1/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -56,6 +57,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -88,6 +90,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */

+ 3 - 0
bsp/stm32/libraries/HAL_Drivers/config/f2/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -58,6 +59,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -92,6 +94,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */

+ 5 - 0
bsp/stm32/libraries/HAL_Drivers/config/f4/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -58,6 +59,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -92,6 +94,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */
@@ -126,6 +129,7 @@ extern "C" {
     {                                               \
         .Instance = SPI4,                           \
         .bus_name = "spi4",                         \
+        .irq_type = SPI4_IRQn,                      \
     }
 #endif /* SPI4_BUS_CONFIG */
 #endif /* BSP_USING_SPI4 */
@@ -160,6 +164,7 @@ extern "C" {
     {                                               \
         .Instance = SPI5,                           \
         .bus_name = "spi5",                         \
+        .irq_type = SPI5_IRQn,                      \
     }
 #endif /* SPI5_BUS_CONFIG */
 #endif /* BSP_USING_SPI5 */

+ 5 - 0
bsp/stm32/libraries/HAL_Drivers/config/f7/spi_config.h

@@ -23,6 +23,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -57,6 +58,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -91,6 +93,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */
@@ -125,6 +128,7 @@ extern "C" {
     {                                               \
         .Instance = SPI4,                           \
         .bus_name = "spi4",                         \
+        .irq_type = SPI4_IRQn,                      \
     }
 #endif /* SPI4_BUS_CONFIG */
 #endif /* BSP_USING_SPI4 */
@@ -159,6 +163,7 @@ extern "C" {
     {                                               \
         .Instance = SPI5,                           \
         .bus_name = "spi5",                         \
+        .irq_type = SPI5_IRQn,                      \
     }
 #endif /* SPI5_BUS_CONFIG */
 #endif /* BSP_USING_SPI5 */

+ 2 - 0
bsp/stm32/libraries/HAL_Drivers/config/g0/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -58,6 +59,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */

+ 5 - 0
bsp/stm32/libraries/HAL_Drivers/config/g4/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -58,6 +59,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -92,6 +94,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */
@@ -126,6 +129,7 @@ extern "C" {
     {                                               \
         .Instance = SPI4,                           \
         .bus_name = "spi4",                         \
+        .irq_type = SPI4_IRQn,                      \
     }
 #endif /* SPI4_BUS_CONFIG */
 #endif /* BSP_USING_SPI4 */
@@ -160,6 +164,7 @@ extern "C" {
     {                                               \
         .Instance = SPI5,                           \
         .bus_name = "spi5",                         \
+        .irq_type = SPI5_IRQn,                      \
     }
 #endif /* SPI5_BUS_CONFIG */
 #endif /* BSP_USING_SPI5 */

+ 5 - 0
bsp/stm32/libraries/HAL_Drivers/config/h7/spi_config.h

@@ -23,6 +23,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -57,6 +58,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -91,6 +93,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */
@@ -125,6 +128,7 @@ extern "C" {
     {                                               \
         .Instance = SPI4,                           \
         .bus_name = "spi4",                         \
+        .irq_type = SPI4_IRQn,                      \
     }
 #endif /* SPI4_BUS_CONFIG */
 #endif /* BSP_USING_SPI4 */
@@ -159,6 +163,7 @@ extern "C" {
     {                                               \
         .Instance = SPI5,                           \
         .bus_name = "spi5",                         \
+        .irq_type = SPI5_IRQn,                      \
     }
 #endif /* SPI5_BUS_CONFIG */
 #endif /* BSP_USING_SPI5 */

+ 3 - 0
bsp/stm32/libraries/HAL_Drivers/config/l1/spi_config.h

@@ -24,6 +24,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -56,6 +57,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -88,6 +90,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */

+ 3 - 0
bsp/stm32/libraries/HAL_Drivers/config/l4/spi_config.h

@@ -23,6 +23,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI1,                                   \
         .bus_name = "spi1",                                 \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -57,6 +58,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI2,                                   \
         .bus_name = "spi2",                                 \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -91,6 +93,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI3,                                   \
         .bus_name = "spi3",                                 \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */

+ 5 - 0
bsp/stm32/libraries/HAL_Drivers/config/mp1/spi_config.h

@@ -23,6 +23,7 @@ extern "C" {
     {                                               \
         .Instance = SPI1,                           \
         .bus_name = "spi1",                         \
+        .irq_type = SPI1_IRQn,                      \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -57,6 +58,7 @@ extern "C" {
     {                                               \
         .Instance = SPI2,                           \
         .bus_name = "spi2",                         \
+        .irq_type = SPI2_IRQn,                      \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -91,6 +93,7 @@ extern "C" {
     {                                               \
         .Instance = SPI3,                           \
         .bus_name = "spi3",                         \
+        .irq_type = SPI3_IRQn,                      \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */
@@ -125,6 +128,7 @@ extern "C" {
     {                                               \
         .Instance = SPI4,                           \
         .bus_name = "spi4",                         \
+        .irq_type = SPI4_IRQn,                      \
     }
 #endif /* SPI4_BUS_CONFIG */
 #endif /* BSP_USING_SPI4 */
@@ -159,6 +163,7 @@ extern "C" {
     {                                               \
         .Instance = SPI5,                           \
         .bus_name = "spi5",                         \
+        .irq_type = SPI5_IRQn,                      \
     }
 #endif /* SPI5_BUS_CONFIG */
 #endif /* BSP_USING_SPI5 */

+ 3 - 0
bsp/stm32/libraries/HAL_Drivers/config/wb/spi_config.h

@@ -23,6 +23,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI1,                                   \
         .bus_name = "spi1",                                 \
+        .irq_type = SPI1_IRQn,                              \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -57,6 +58,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI2,                                   \
         .bus_name = "spi2",                                 \
+        .irq_type = SPI2_IRQn,                              \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -91,6 +93,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI3,                                   \
         .bus_name = "spi3",                                 \
+        .irq_type = SPI3_IRQn,                              \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */

+ 3 - 0
bsp/stm32/libraries/HAL_Drivers/config/wl/spi_config.h

@@ -23,6 +23,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI1,                                   \
         .bus_name = "spi1",                                 \
+        .irq_type = SPI1_IRQn,                              \
     }
 #endif /* SPI1_BUS_CONFIG */
 #endif /* BSP_USING_SPI1 */
@@ -57,6 +58,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI2,                                   \
         .bus_name = "spi2",                                 \
+        .irq_type = SPI2_IRQn,                              \
     }
 #endif /* SPI2_BUS_CONFIG */
 #endif /* BSP_USING_SPI2 */
@@ -91,6 +93,7 @@ extern "C" {
     {                                                       \
         .Instance = SPI3,                                   \
         .bus_name = "spi3",                                 \
+        .irq_type = SPI3_IRQn,                              \
     }
 #endif /* SPI3_BUS_CONFIG */
 #endif /* BSP_USING_SPI3 */

+ 6 - 0
bsp/stm32/libraries/HAL_Drivers/drv_spi.c

@@ -263,6 +263,12 @@ static rt_err_t stm32_spi_init(struct stm32_spi *spi_drv, struct rt_spi_configur
         HAL_NVIC_SetPriority(spi_drv->config->dma_tx->dma_irq, 0, 1);
         HAL_NVIC_EnableIRQ(spi_drv->config->dma_tx->dma_irq);
     }
+    
+    if(spi_drv->spi_dma_flag & SPI_USING_TX_DMA_FLAG || spi_drv->spi_dma_flag & SPI_USING_RX_DMA_FLAG)
+    {
+        HAL_NVIC_SetPriority(spi_drv->config->irq_type, 2, 0);
+        HAL_NVIC_EnableIRQ(spi_drv->config->irq_type);
+    }
 
     LOG_D("%s init done", spi_drv->config->bus_name);
     return RT_EOK;

+ 1 - 0
bsp/stm32/libraries/HAL_Drivers/drv_spi.h

@@ -37,6 +37,7 @@ struct stm32_spi_config
 {
     SPI_TypeDef *Instance;
     char *bus_name;
+    IRQn_Type irq_type;
     struct dma_config *dma_rx, *dma_tx;
 };
 

+ 2 - 40
bsp/stm32/stm32f072-st-nucleo/board/Kconfig

@@ -31,8 +31,8 @@ menu "On-chip Peripheral Drivers"
                 bool "Enable UART1 RX DMA"
                 depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
                 default n
-				
-			config BSP_USING_UART2
+
+            config BSP_USING_UART2
                 bool "Enable UART2"
                 default y
 
@@ -41,44 +41,6 @@ menu "On-chip Peripheral Drivers"
                 depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
                 default n
         endif
-
-    menuconfig BSP_USING_SPI
-        bool "Enable SPI BUS"
-        default n
-        select RT_USING_SPI
-        if BSP_USING_SPI
-            config BSP_USING_SPI1
-                bool "Enable SPI1 BUS"
-                default n
-
-            config BSP_SPI1_TX_USING_DMA
-                bool "Enable SPI1 TX DMA"
-                depends on BSP_USING_SPI1
-                default n
-                
-            config BSP_SPI1_RX_USING_DMA
-                bool "Enable SPI1 RX DMA"
-                depends on BSP_USING_SPI1
-                select BSP_SPI1_TX_USING_DMA
-                default n
-        endif
-
-    menuconfig BSP_USING_I2C1
-        bool "Enable I2C1 BUS (software simulation)"
-        default n
-        select RT_USING_I2C
-        select RT_USING_I2C_BITOPS
-        select RT_USING_PIN
-        if BSP_USING_I2C1
-            config BSP_I2C1_SCL_PIN
-                int "i2c1 scl pin number"
-                range 1 216
-                default 15
-            config BSP_I2C1_SDA_PIN
-                int "I2C1 sda pin number"
-                range 1 216
-                default 16
-        endif
     source "../libraries/HAL_Drivers/Kconfig"
     
 endmenu