1 /* 2 * Copyright (c) 2016, Freescale Semiconductor, Inc. 3 * Copyright 2016-2020 NXP 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef _RTE_DEVICE_H 9 #define _RTE_DEVICE_H 10 11 #include "pin_mux.h" 12 13 /* UART Select, LPUART0 - LPUART3. */ 14 /* User needs to provide the implementation of LPUARTX_GetFreq/LPUARTX_InitPins/LPUARTX_DeinitPins for the enabled 15 * LPUART instance. */ 16 #define RTE_USART0 0 17 #define RTE_USART0_DMA_EN 0 18 #define RTE_USART1 0 19 #define RTE_USART1_DMA_EN 0 20 #define RTE_USART2 0 21 #define RTE_USART2_DMA_EN 0 22 #define RTE_USART3 0 23 #define RTE_USART3_DMA_EN 0 24 25 /* UART configuration. */ 26 #define RTE_USART0_PIN_INIT LPUART0_InitPins 27 #define RTE_USART0_PIN_DEINIT LPUART0_DeinitPins 28 #define RTE_USART0_DMA_TX_CH 0 29 #define RTE_USART0_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux1LPUART0Tx 30 #define RTE_USART0_DMA_TX_DMAMUX_BASE DMAMUX1 31 #define RTE_USART0_DMA_TX_DMA_BASE DMA1 32 #define RTE_USART0_DMA_RX_CH 1 33 #define RTE_USART0_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux1LPUART0Rx 34 #define RTE_USART0_DMA_RX_DMAMUX_BASE DMAMUX1 35 #define RTE_USART0_DMA_RX_DMA_BASE DMA1 36 37 #define RTE_USART1_PIN_INIT LPUART1_InitPins 38 #define RTE_USART1_PIN_DEINIT LPUART1_DeinitPins 39 #define RTE_USART1_DMA_TX_CH 2 40 #define RTE_USART1_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux1LPUART1Tx 41 #define RTE_USART1_DMA_TX_DMAMUX_BASE DMAMUX1 42 #define RTE_USART1_DMA_TX_DMA_BASE DMA1 43 #define RTE_USART1_DMA_RX_CH 3 44 #define RTE_USART1_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux1LPUART1Rx 45 #define RTE_USART1_DMA_RX_DMAMUX_BASE DMAMUX1 46 #define RTE_USART1_DMA_RX_DMA_BASE DMA1 47 48 #define RTE_USART2_PIN_INIT LPUART2_InitPins 49 #define RTE_USART2_PIN_DEINIT LPUART2_DeinitPins 50 #define RTE_USART2_DMA_TX_CH 4 51 #define RTE_USART2_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux0LPUART2Tx 52 #define RTE_USART2_DMA_TX_DMAMUX_BASE DMAMUX0 53 #define RTE_USART2_DMA_TX_DMA_BASE DMA0 54 #define RTE_USART2_DMA_RX_CH 5 55 #define RTE_USART2_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux0LPUART2Rx 56 #define RTE_USART2_DMA_RX_DMAMUX_BASE DMAMUX0 57 #define RTE_USART2_DMA_RX_DMA_BASE DMA0 58 59 #define RTE_USART3_PIN_INIT LPUART3_InitPins 60 #define RTE_USART3_PIN_DEINIT LPUART3_DeinitPins 61 #define RTE_USART3_DMA_TX_CH 6 62 #define RTE_USART3_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux0LPUART2Tx 63 #define RTE_USART3_DMA_TX_DMAMUX_BASE DMAMUX0 64 #define RTE_USART3_DMA_TX_DMA_BASE DMA0 65 #define RTE_USART3_DMA_RX_CH 7 66 #define RTE_USART3_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux0LPUART3Rx 67 #define RTE_USART3_DMA_RX_DMAMUX_BASE DMAMUX0 68 #define RTE_USART3_DMA_RX_DMA_BASE DMA0 69 70 /* I2C Select, LPI2C0 - LPI2C3. */ 71 /* User needs to provide the implementation of LPI2CX_GetFreq/LPI2CX_InitPins/LPI2CX_DeinitPins for the enabled LPI2C 72 * instance. */ 73 #define RTE_I2C0 1 74 #define RTE_I2C0_DMA_EN 0 75 #define RTE_I2C1 0 76 #define RTE_I2C1_DMA_EN 0 77 #define RTE_I2C2 0 78 #define RTE_I2C2_DMA_EN 0 79 #define RTE_I2C3 1 80 #define RTE_I2C3_DMA_EN 0 81 82 /* LPI2C configuration. */ 83 #define RTE_I2C0_PIN_INIT LPI2C0_InitPins 84 #define RTE_I2C0_PIN_DEINIT LPI2C0_DeinitPins 85 #define RTE_I2C0_DMA_TX_CH 0 86 #define RTE_I2C0_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux1LPI2C0Tx 87 #define RTE_I2C0_DMA_TX_DMAMUX_BASE DMAMUX1 88 #define RTE_I2C0_DMA_TX_DMA_BASE DMA1 89 #define RTE_I2C0_DMA_RX_CH 1 90 #define RTE_I2C0_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux1LPI2C0Rx 91 #define RTE_I2C0_DMA_RX_DMAMUX_BASE DMAMUX1 92 #define RTE_I2C0_DMA_RX_DMA_BASE DMA1 93 94 #define RTE_I2C1_PIN_INIT LPI2C1_InitPins 95 #define RTE_I2C1_PIN_DEINIT LPI2C1_DeinitPins 96 #define RTE_I2C1_DMA_TX_CH 2 97 #define RTE_I2C1_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux1LPI2C1Tx 98 #define RTE_I2C1_DMA_TX_DMAMUX_BASE DMAMUX1 99 #define RTE_I2C1_DMA_TX_DMA_BASE DMA1 100 #define RTE_I2C1_DMA_RX_CH 3 101 #define RTE_I2C1_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux1LPI2C1Rx 102 #define RTE_I2C1_DMA_RX_DMAMUX_BASE DMAMUX1 103 #define RTE_I2C1_DMA_RX_DMA_BASE DMA1 104 105 #define RTE_I2C2_PIN_INIT LPI2C2_InitPins 106 #define RTE_I2C2_PIN_DEINIT LPI2C2_DeinitPins 107 #define RTE_I2C2_DMA_TX_CH 4 108 #define RTE_I2C2_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux0LPI2C2Tx 109 #define RTE_I2C2_DMA_TX_DMAMUX_BASE DMAMUX0 110 #define RTE_I2C2_DMA_TX_DMA_BASE DMA0 111 #define RTE_I2C2_DMA_RX_CH 5 112 #define RTE_I2C2_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux0LPI2C2Rx 113 #define RTE_I2C2_DMA_RX_DMAMUX_BASE DMAMUX0 114 #define RTE_I2C2_DMA_RX_DMA_BASE DMA0 115 116 #define RTE_I2C3_PIN_INIT LPI2C3_InitPins 117 #define RTE_I2C3_PIN_DEINIT LPI2C3_DeinitPins 118 #define RTE_I2C3_DMA_TX_CH 6 119 #define RTE_I2C3_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux0LPI2C3Tx 120 #define RTE_I2C3_DMA_TX_DMAMUX_BASE DMAMUX0 121 #define RTE_I2C3_DMA_TX_DMA_BASE DMA0 122 #define RTE_I2C3_DMA_RX_CH 7 123 #define RTE_I2C3_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux0LPI2C3Rx 124 #define RTE_I2C3_DMA_RX_DMAMUX_BASE DMAMUX0 125 #define RTE_I2C3_DMA_RX_DMA_BASE DMA0 126 127 /* UART Select, LPSPI0 - LPSPI3. */ 128 /* User needs to provide the implementation of LPSPIX_GetFreq/LPSPIX_InitPins/LPSPIX_DeinitPins for the enabled LPSPI 129 * instance. */ 130 #define RTE_SPI0 0 131 #define RTE_SPI0_DMA_EN 0 132 #define RTE_SPI1 0 133 #define RTE_SPI1_DMA_EN 0 134 #define RTE_SPI2 0 135 #define RTE_SPI2_DMA_EN 0 136 #define RTE_SPI3 0 137 #define RTE_SPI3_DMA_EN 0 138 139 /* SPI configuration. */ 140 #define RTE_SPI0_PCS_TO_SCK_DELAY 1000 141 #define RTE_SPI0_SCK_TO_PSC_DELAY 1000 142 #define RTE_SPI0_BETWEEN_TRANSFER_DELAY 1000 143 #define RTE_SPI0_MASTER_PCS_PIN_SEL (kLPSPI_MasterPcs0) 144 #define RTE_SPI0_SLAVE_PCS_PIN_SEL (kLPSPI_SlavePcs0) 145 #define RTE_SPI0_PIN_INIT LPSPI0_InitPins 146 #define RTE_SPI0_PIN_DEINIT LPSPI0_DeinitPins 147 #define RTE_SPI0_DMA_TX_CH 0 148 #define RTE_SPI0_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux1LPSPI0Tx 149 #define RTE_SPI0_DMA_TX_DMAMUX_BASE DMAMUX1 150 #define RTE_SPI0_DMA_TX_DMA_BASE DMA1 151 #define RTE_SPI0_DMA_RX_CH 1 152 #define RTE_SPI0_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux1LPSPI0Rx 153 #define RTE_SPI0_DMA_RX_DMAMUX_BASE DMAMUX1 154 #define RTE_SPI0_DMA_RX_DMA_BASE DMA1 155 156 #define RTE_SPI1_PCS_TO_SCK_DELAY 1000 157 #define RTE_SPI1_SCK_TO_PSC_DELAY 1000 158 #define RTE_SPI1_BETWEEN_TRANSFER_DELAY 1000 159 #define RTE_SPI1_MASTER_PCS_PIN_SEL (kLPSPI_MasterPcs0) 160 #define RTE_SPI1_SLAVE_PCS_PIN_SEL (kLPSPI_SlavePcs0) 161 #define RTE_SPI1_PIN_INIT LPSPI1_InitPins 162 #define RTE_SPI1_PIN_DEINIT LPSPI1_DeinitPins 163 #define RTE_SPI1_DMA_TX_CH 2 164 #define RTE_SPI1_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux1LPSPI1Tx 165 #define RTE_SPI1_DMA_TX_DMAMUX_BASE DMAMUX1 166 #define RTE_SPI1_DMA_TX_DMA_BASE DMA1 167 #define RTE_SPI1_DMA_RX_CH 3 168 #define RTE_SPI1_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux1LPSPI1Rx 169 #define RTE_SPI1_DMA_RX_DMAMUX_BASE DMAMUX1 170 #define RTE_SPI1_DMA_RX_DMA_BASE DMA1 171 172 #define RTE_SPI2_PCS_TO_SCK_DELAY 1000 173 #define RTE_SPI2_SCK_TO_PSC_DELAY 1000 174 #define RTE_SPI2_BETWEEN_TRANSFER_DELAY 1000 175 #define RTE_SPI2_MASTER_PCS_PIN_SEL (kLPSPI_MasterPcs0) 176 #define RTE_SPI2_SLAVE_PCS_PIN_SEL (kLPSPI_SlavePcs0) 177 #define RTE_SPI2_PIN_INIT LPSPI2_InitPins 178 #define RTE_SPI2_PIN_DEINIT LPSPI2_DeinitPins 179 #define RTE_SPI2_DMA_TX_CH 4 180 #define RTE_SPI2_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux0LPSPI2Tx 181 #define RTE_SPI2_DMA_TX_DMAMUX_BASE DMAMUX0 182 #define RTE_SPI2_DMA_TX_DMA_BASE DMA0 183 #define RTE_SPI2_DMA_RX_CH 5 184 #define RTE_SPI2_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux0LPSPI2Rx 185 #define RTE_SPI2_DMA_RX_DMAMUX_BASE DMAMUX0 186 #define RTE_SPI2_DMA_RX_DMA_BASE DMA0 187 188 #define RTE_SPI3_PCS_TO_SCK_DELAY 1000 189 #define RTE_SPI3_SCK_TO_PSC_DELAY 1000 190 #define RTE_SPI3_BETWEEN_TRANSFER_DELAY 1000 191 #define RTE_SPI3_MASTER_PCS_PIN_SEL (kLPSPI_MasterPcs0) 192 #define RTE_SPI3_SLAVE_PCS_PIN_SEL (kLPSPI_SlavePcs0) 193 #define RTE_SPI3_PIN_INIT LPSPI3_InitPins 194 #define RTE_SPI3_PIN_DEINIT LPSPI3_DeinitPins 195 #define RTE_SPI3_DMA_TX_CH 6 196 #define RTE_SPI3_DMA_TX_PERI_SEL (uint8_t) kDmaRequestMux0LPSPI3Tx 197 #define RTE_SPI3_DMA_TX_DMAMUX_BASE DMAMUX0 198 #define RTE_SPI3_DMA_TX_DMA_BASE DMA0 199 #define RTE_SPI3_DMA_RX_CH 7 200 #define RTE_SPI3_DMA_RX_PERI_SEL (uint8_t) kDmaRequestMux0LPSPI3Rx 201 #define RTE_SPI3_DMA_RX_DMAMUX_BASE DMAMUX0 202 #define RTE_SPI3_DMA_RX_DMA_BASE DMA0 203 204 #endif /* _RTE_DEVICE_H */ 205