1 /* 2 * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2024-02-20 CDT first version 9 */ 10 11 #ifndef __SPI_CONFIG_H__ 12 #define __SPI_CONFIG_H__ 13 14 #include <rtthread.h> 15 #include "irq_config.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 22 #ifdef BSP_USING_SPI1 23 #ifndef SPI1_BUS_CONFIG 24 #define SPI1_BUS_CONFIG \ 25 { \ 26 .Instance = CM_SPI, \ 27 .bus_name = "spi1", \ 28 .clock = FCG1_PERIPH_SPI, \ 29 .timeout = 5000UL, \ 30 .err_irq.irq_config = \ 31 { \ 32 .irq_num = BSP_SPI1_ERR_IRQ_NUM, \ 33 .irq_prio = BSP_SPI1_ERR_IRQ_PRIO, \ 34 .int_src = INT_SRC_SPI_SPEI, \ 35 }, \ 36 } 37 #endif /* SPI1_BUS_CONFIG */ 38 #endif /* BSP_USING_SPI1 */ 39 40 #ifdef BSP_SPI1_TX_USING_DMA 41 #ifndef SPI1_TX_DMA_CONFIG 42 #define SPI1_TX_DMA_CONFIG \ 43 { \ 44 .Instance = SPI1_TX_DMA_INSTANCE, \ 45 .channel = SPI1_TX_DMA_CHANNEL, \ 46 .clock = SPI1_TX_DMA_CLOCK, \ 47 .trigger_select = SPI1_TX_DMA_TRIG_SELECT, \ 48 .trigger_event = EVT_SRC_SPI_SPTI, \ 49 .flag = SPI1_TX_DMA_TRANS_FLAG, \ 50 .irq_config = \ 51 { \ 52 .irq_num = SPI1_TX_DMA_IRQn, \ 53 .irq_prio = SPI1_TX_DMA_INT_PRIO, \ 54 .int_src = SPI1_TX_DMA_INT_SRC, \ 55 } \ 56 } 57 #endif /* SPI1_TX_DMA_CONFIG */ 58 #endif /* BSP_SPI1_TX_USING_DMA */ 59 60 #ifdef BSP_SPI1_RX_USING_DMA 61 #ifndef SPI1_RX_DMA_CONFIG 62 #define SPI1_RX_DMA_CONFIG \ 63 { \ 64 .Instance = SPI1_RX_DMA_INSTANCE, \ 65 .channel = SPI1_RX_DMA_CHANNEL, \ 66 .clock = SPI1_RX_DMA_CLOCK, \ 67 .trigger_select = SPI1_RX_DMA_TRIG_SELECT, \ 68 .trigger_event = EVT_SRC_SPI_SPRI, \ 69 .flag = SPI1_RX_DMA_TRANS_FLAG, \ 70 .irq_config = \ 71 { \ 72 .irq_num = SPI1_RX_DMA_IRQn, \ 73 .irq_prio = SPI1_RX_DMA_INT_PRIO, \ 74 .int_src = SPI1_RX_DMA_INT_SRC, \ 75 } \ 76 } 77 #endif /* SPI1_RX_DMA_CONFIG */ 78 #endif /* BSP_SPI1_RX_USING_DMA */ 79 80 #ifdef __cplusplus 81 } 82 #endif 83 84 #endif /*__SPI_CONFIG_H__ */ 85