1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2023-01-31 shelton first version 9 */ 10 11 #ifndef __SPI_CONFIG_H__ 12 #define __SPI_CONFIG_H__ 13 14 #include <rtthread.h> 15 #include "dma_config.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #define SPI1_IRQHandler SPI1_IRQHandler 22 #define SPI2_IRQHandler SPI2_IRQHandler 23 24 #ifdef BSP_USING_SPI1 25 #define SPI1_CONFIG \ 26 { \ 27 .spi_x = SPI1, \ 28 .spi_name = "spi1", \ 29 .irqn = SPI1_IRQn, \ 30 } 31 #endif /* BSP_USING_SPI1 */ 32 33 #ifdef BSP_SPI1_RX_USING_DMA 34 #define SPI1_RX_DMA_CONFIG \ 35 { \ 36 .dma_channel = SPI1_RX_DMA_CHANNEL, \ 37 .dma_clock = SPI1_RX_DMA_CLOCK, \ 38 .dma_irqn = SPI1_RX_DMA_IRQ, \ 39 } 40 #endif /* BSP_SPI1_RX_USING_DMA */ 41 42 #ifdef BSP_SPI1_TX_USING_DMA 43 #define SPI1_TX_DMA_CONFIG \ 44 { \ 45 .dma_channel = SPI1_TX_DMA_CHANNEL, \ 46 .dma_clock = SPI1_TX_DMA_CLOCK, \ 47 .dma_irqn = SPI1_TX_DMA_IRQ, \ 48 } 49 #endif /* BSP_SPI1_TX_USING_DMA */ 50 51 #ifdef BSP_USING_SPI2 52 #define SPI2_CONFIG \ 53 { \ 54 .spi_x = SPI2, \ 55 .spi_name = "spi2", \ 56 .irqn = SPI2_IRQn, \ 57 } 58 #endif /* BSP_USING_SPI2 */ 59 60 #ifdef BSP_SPI2_RX_USING_DMA 61 #define SPI2_RX_DMA_CONFIG \ 62 { \ 63 .dma_channel = SPI2_RX_DMA_CHANNEL, \ 64 .dma_clock = SPI2_RX_DMA_CLOCK, \ 65 .dma_irqn = SPI2_RX_DMA_IRQ, \ 66 } 67 #endif /* BSP_SPI2_RX_USING_DMA */ 68 69 #ifdef BSP_SPI2_TX_USING_DMA 70 #define SPI2_TX_DMA_CONFIG \ 71 { \ 72 .dma_channel = SPI2_TX_DMA_CHANNEL, \ 73 .dma_clock = SPI2_TX_DMA_CLOCK, \ 74 .dma_irqn = SPI2_TX_DMA_IRQ, \ 75 } 76 #endif /* BSP_SPI2_TX_USING_DMA */ 77 78 #ifdef __cplusplus 79 } 80 #endif 81 82 #endif /*__SPI_CONFIG_H__ */ 83 84 85 86