1 /* 2 * Copyright (c) 2006-2022, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2021-08-31 AisinoChip first version 9 */ 10 11 #ifndef __SPI_CONFIG_H__ 12 #define __SPI_CONFIG_H__ 13 14 #include <rtconfig.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifdef BSP_USING_SPI1 21 #ifndef SPI1_BUS_CONFIG 22 #define SPI1_BUS_CONFIG \ 23 { \ 24 .Instance = SPI1, \ 25 .bus_name = "spi1", \ 26 .irq_type = SPI1_IRQn, \ 27 .enable_id=EN_SPI1, \ 28 .cs_port = SPI1_CS_PORT, \ 29 .cs_pin = SPI1_CS_PIN, \ 30 .cs_alternate = SPI1_CS_ALTERNATE, \ 31 .sck_port = SPI1_SCK_PORT, \ 32 .sck_pin = SPI1_SCK_PIN, \ 33 .sck_alternate = SPI1_SCK_ALTERNATE, \ 34 .mosi_port = SPI1_MOSI_PORT, \ 35 .mosi_pin = SPI1_MOSI_PIN, \ 36 .mosi_alternate = SPI1_MOSI_ALTERNATE, \ 37 .miso_port = SPI1_MISO_PORT, \ 38 .miso_pin = SPI1_MISO_PIN, \ 39 .miso_alternate = SPI1_MISO_ALTERNATE, \ 40 .wp_port = SPI1_WP_PORT, \ 41 .wp_pin = SPI1_WP_PIN, \ 42 .wp_alternate = SPI1_WP_ALTERNATE, \ 43 .hold_port = SPI1_HOLD_PORT, \ 44 .hold_pin = SPI1_HOLD_PIN, \ 45 .hold_alternate = SPI1_HOLD_ALTERNATE, \ 46 } 47 #endif /* SPI1_BUS_CONFIG */ 48 #endif /* BSP_USING_SPI1 */ 49 50 #ifdef BSP_SPI1_TX_USING_DMA 51 #ifndef SPI1_TX_DMA_CONFIG 52 #define SPI1_TX_DMA_CONFIG \ 53 { \ 54 .dma_rcc = SPI1_TX_DMA_RCC, \ 55 .Instance = SPI1_TX_DMA_INSTANCE, \ 56 .dma_irq = SPI1_TX_DMA_IRQ, \ 57 .channel = SPI1_TX_DMA_CHANNEL, \ 58 .request = SPI1_TX_DMA_REQUEST, \ 59 } 60 #endif /* SPI1_TX_DMA_CONFIG */ 61 #endif /* BSP_SPI1_TX_USING_DMA */ 62 63 #ifdef BSP_SPI1_RX_USING_DMA 64 #ifndef SPI1_RX_DMA_CONFIG 65 #define SPI1_RX_DMA_CONFIG \ 66 { \ 67 .dma_rcc = SPI1_RX_DMA_RCC, \ 68 .Instance = SPI1_RX_DMA_INSTANCE, \ 69 .dma_irq = SPI1_RX_DMA_IRQ, \ 70 .channel = SPI1_RX_DMA_CHANNEL, \ 71 .request = SPI1_RX_DMA_REQUEST, \ 72 } 73 #endif /* SPI1_RX_DMA_CONFIG */ 74 #endif /* BSP_SPI1_RX_USING_DMA */ 75 76 #ifdef BSP_USING_SPI2 77 #ifndef SPI2_BUS_CONFIG 78 #define SPI2_BUS_CONFIG \ 79 { \ 80 .Instance = SPI2, \ 81 .bus_name = "spi2", \ 82 .irq_type = SPI2_IRQn, \ 83 .enable_id=EN_SPI2, \ 84 .cs_port = SPI2_CS_PORT, \ 85 .cs_pin = SPI2_CS_PIN, \ 86 .cs_alternate = SPI2_CS_ALTERNATE, \ 87 .sck_port = SPI2_SCK_PORT, \ 88 .sck_pin = SPI2_SCK_PIN, \ 89 .sck_alternate = SPI2_SCK_ALTERNATE, \ 90 .mosi_port = SPI2_MOSI_PORT, \ 91 .mosi_pin = SPI2_MOSI_PIN, \ 92 .mosi_alternate = SPI2_MOSI_ALTERNATE, \ 93 .miso_port = SPI2_MISO_PORT, \ 94 .miso_pin = SPI2_MISO_PIN, \ 95 .miso_alternate = SPI2_MISO_ALTERNATE, \ 96 .wp_port = SPI2_WP_PORT, \ 97 .wp_pin = SPI2_WP_PIN, \ 98 .wp_alternate = SPI2_WP_ALTERNATE, \ 99 .hold_port = SPI2_HOLD_PORT, \ 100 .hold_pin = SPI2_HOLD_PIN, \ 101 .hold_alternate = SPI2_HOLD_ALTERNATE, \ 102 } 103 #endif /* SPI2_BUS_CONFIG */ 104 #endif /* BSP_USING_SPI2 */ 105 106 #ifdef BSP_SPI2_TX_USING_DMA 107 #ifndef SPI2_TX_DMA_CONFIG 108 #define SPI2_TX_DMA_CONFIG \ 109 { \ 110 .dma_rcc = SPI2_TX_DMA_RCC, \ 111 .Instance = SPI2_TX_DMA_INSTANCE, \ 112 .dma_irq = SPI2_TX_DMA_IRQ, \ 113 .channel = SPI2_TX_DMA_CHANNEL, \ 114 .request = SPI2_TX_DMA_REQUEST, \ 115 } 116 #endif /* SPI2_TX_DMA_CONFIG */ 117 #endif /* BSP_SPI2_TX_USING_DMA */ 118 119 #ifdef BSP_SPI2_RX_USING_DMA 120 #ifndef SPI2_RX_DMA_CONFIG 121 #define SPI2_RX_DMA_CONFIG \ 122 { \ 123 .dma_rcc = SPI2_RX_DMA_RCC, \ 124 .Instance = SPI2_RX_DMA_INSTANCE, \ 125 .dma_irq = SPI2_RX_DMA_IRQ, \ 126 .channel = SPI2_RX_DMA_CHANNEL, \ 127 .request = SPI2_RX_DMA_REQUEST, \ 128 } 129 #endif /* SPI2_RX_DMA_CONFIG */ 130 #endif /* BSP_SPI2_RX_USING_DMA */ 131 132 #ifdef __cplusplus 133 } 134 #endif 135 136 #endif /*__SPI_CONFIG_H__ */ 137 138 139