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