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. */
14 /* Select UART0 - UART3. */
15 /* User needs to provide the implementation of LPUARTX_GetFreq/LPUARTX_InitPins/LPUARTX_DeinitPins for the enabled
16  * LPUART instance. */
17 #define RTE_USART0        0
18 #define RTE_USART0_DMA_EN 0
19 #define RTE_USART1        0
20 #define RTE_USART1_DMA_EN 0
21 #define RTE_USART2        0
22 #define RTE_USART2_DMA_EN 0
23 #define RTE_USART3        0
24 #define RTE_USART3_DMA_EN 0
25 /* Select LPUART0. */
26 #define RTE_USART4        0
27 #define RTE_USART4_DMA_EN 0
28 
29 /* UART configuration. */
30 #define USART_RX_BUFFER_LEN     64
31 #define USART0_RX_BUFFER_ENABLE 0
32 #define USART1_RX_BUFFER_ENABLE 0
33 #define USART2_RX_BUFFER_ENABLE 0
34 #define USART3_RX_BUFFER_ENABLE 0
35 #define USART4_RX_BUFFER_ENABLE 0
36 
37 #define RTE_USART0_PIN_INIT           LPUART0_InitPins
38 #define RTE_USART0_PIN_DEINIT         LPUART0_DeinitPins
39 #define RTE_USART0_DMA_TX_CH          0
40 #define RTE_USART0_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0UART0Tx
41 #define RTE_USART0_DMA_TX_DMAMUX_BASE DMAMUX0
42 #define RTE_USART0_DMA_TX_DMA_BASE    DMA0
43 #define RTE_USART0_DMA_RX_CH          1
44 #define RTE_USART0_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0UART0Rx
45 #define RTE_USART0_DMA_RX_DMAMUX_BASE DMAMUX
46 #define RTE_USART0_DMA_RX_DMA_BASE    DMA0
47 
48 #define RTE_USART1_PIN_INIT           LPUART1_InitPins
49 #define RTE_USART1_PIN_DEINIT         LPUART1_DeinitPins
50 #define RTE_USART1_DMA_TX_CH          0
51 #define RTE_USART1_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0UART1Tx
52 #define RTE_USART1_DMA_TX_DMAMUX_BASE DMAMUX
53 #define RTE_USART1_DMA_TX_DMA_BASE    DMA0
54 #define RTE_USART1_DMA_RX_CH          1
55 #define RTE_USART1_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0UART1Rx
56 #define RTE_USART1_DMA_RX_DMAMUX_BASE DMAMUX
57 #define RTE_USART1_DMA_RX_DMA_BASE    DMA0
58 
59 #define RTE_USART2_PIN_INIT           LPUART2_InitPins
60 #define RTE_USART2_PIN_DEINIT         LPUART2_DeinitPins
61 #define RTE_USART2_DMA_TX_CH          0
62 #define RTE_USART2_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0UART2Tx
63 #define RTE_USART2_DMA_TX_DMAMUX_BASE DMAMUX
64 #define RTE_USART2_DMA_TX_DMA_BASE    DMA0
65 #define RTE_USART2_DMA_RX_CH          1
66 #define RTE_USART2_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0UART2Rx
67 #define RTE_USART2_DMA_RX_DMAMUX_BASE DMAMUX
68 #define RTE_USART2_DMA_RX_DMA_BASE    DMA0
69 
70 #define RTE_USART3_PIN_INIT           LPUART3_InitPins
71 #define RTE_USART3_PIN_DEINIT         LPUART3_DeinitPins
72 #define RTE_USART3_DMA_TX_CH          0
73 #define RTE_USART3_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0UART3Tx
74 #define RTE_USART3_DMA_TX_DMAMUX_BASE DMAMUX
75 #define RTE_USART3_DMA_TX_DMA_BASE    DMA0
76 #define RTE_USART3_DMA_RX_CH          1
77 #define RTE_USART3_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0UART3Rx
78 #define RTE_USART3_DMA_RX_DMAMUX_BASE DMAMUX
79 #define RTE_USART3_DMA_RX_DMA_BASE    DMA0
80 
81 #define RTE_USART4_PIN_INIT           LPUART4_InitPins
82 #define RTE_USART4_PIN_DEINIT         LPUART4_DeinitPins
83 #define RTE_USART4_DMA_TX_CH          0
84 #define RTE_USART4_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0LPUART0Tx
85 #define RTE_USART4_DMA_TX_DMAMUX_BASE DMAMUX
86 #define RTE_USART4_DMA_TX_DMA_BASE    DMA0
87 #define RTE_USART4_DMA_RX_CH          1
88 #define RTE_USART4_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0LPUART0Rx
89 #define RTE_USART4_DMA_RX_DMAMUX_BASE DMAMUX
90 #define RTE_USART4_DMA_RX_DMA_BASE    DMA0
91 
92 /* I2C Select, I2C0 - I2C1 */
93 /* User needs to provide the implementation of I2CX_GetFreq/I2CX_InitPins/I2CX_DeinitPins for the enabled I2C instance.
94  */
95 #define RTE_I2C0        0
96 #define RTE_I2C0_DMA_EN 0
97 #define RTE_I2C1        0
98 #define RTE_I2C1_DMA_EN 0
99 
100 /*I2C configuration*/
101 #define RTE_I2C0_Master_DMA_BASE    DMA0
102 #define RTE_I2C0_Master_DMA_CH      0
103 #define RTE_I2C0_Master_DMAMUX_BASE DMAMUX
104 #define RTE_I2C0_Master_PERI_SEL    kDmaRequestMux0I2C0
105 
106 #define RTE_I2C1_Master_DMA_BASE    DMA0
107 #define RTE_I2C1_Master_DMA_CH      0
108 #define RTE_I2C1_Master_DMAMUX_BASE DMAMUX
109 #define RTE_I2C1_Master_PERI_SEL    kDmaRequestMux0I2C1
110 
111 /* SPI select, SPI0 - SPI2.*/
112 /* User needs to provide the implementation of SPIX_GetFreq/SPIX_InitPins/SPIX_DeinitPins for the enabled SPI instance.
113  */
114 #define RTE_SPI0        0
115 #define RTE_SPI0_DMA_EN 0
116 #define RTE_SPI1        0
117 #define RTE_SPI1_DMA_EN 0
118 #define RTE_SPI2        0
119 #define RTE_SPI2_DMA_EN 0
120 
121 /* SPI configuration. */
122 #define RTE_SPI0_PIN_INIT           SPI0_InitPins
123 #define RTE_SPI0_PIN_DEINIT         SPI0_DeinitPins
124 #define RTE_SPI0_DMA_TX_CH          3
125 #define RTE_SPI0_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0SPI0Tx
126 #define RTE_SPI0_DMA_TX_DMAMUX_BASE DMAMUX
127 #define RTE_SPI0_DMA_TX_DMA_BASE    DMA0
128 #define RTE_SPI0_DMA_RX_CH          2
129 #define RTE_SPI0_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0SPI0Rx
130 #define RTE_SPI0_DMA_RX_DMAMUX_BASE DMAMUX
131 #define RTE_SPI0_DMA_RX_DMA_BASE    DMA0
132 
133 #define RTE_SPI1_PIN_INIT           SPI1_InitPins
134 #define RTE_SPI1_PIN_DEINIT         SPI1_DeinitPins
135 #define RTE_SPI1_DMA_TX_CH          2
136 #define RTE_SPI1_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0SPI1Tx
137 #define RTE_SPI1_DMA_TX_DMAMUX_BASE DMAMUX
138 #define RTE_SPI1_DMA_TX_DMA_BASE    DMA0
139 #define RTE_SPI1_DMA_RX_CH          3
140 #define RTE_SPI1_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0SPI1Rx
141 #define RTE_SPI1_DMA_RX_DMAMUX_BASE DMAMUX
142 #define RTE_SPI1_DMA_RX_DMA_BASE    DMA0
143 
144 #define RTE_SPI2_PIN_INIT           SPI2_InitPins
145 #define RTE_SPI2_PIN_DEINIT         SPI2_DeinitPins
146 #define RTE_SPI2_DMA_TX_CH          2
147 #define RTE_SPI2_DMA_TX_PERI_SEL    (uint8_t) kDmaRequestMux0SPI2Tx
148 #define RTE_SPI2_DMA_TX_DMAMUX_BASE DMAMUX
149 #define RTE_SPI2_DMA_TX_DMA_BASE    DMA0
150 #define RTE_SPI2_DMA_RX_CH          3
151 #define RTE_SPI2_DMA_RX_PERI_SEL    (uint8_t) kDmaRequestMux0SPI2Rx
152 #define RTE_SPI2_DMA_RX_DMAMUX_BASE DMAMUX
153 #define RTE_SPI2_DMA_RX_DMA_BASE    DMA0
154 #endif /* _RTE_DEVICE_H */
155