2 ** ###################################################################
\r
3 ** Version: rev. 1.2, 2017-06-08
\r
7 ** Chip specific module features.
\r
9 ** Copyright 2016 Freescale Semiconductor, Inc.
\r
10 ** Copyright 2016-2019 NXP
\r
11 ** All rights reserved.
\r
13 ** SPDX-License-Identifier: BSD-3-Clause
\r
15 ** http: www.nxp.com
\r
16 ** mail: support@nxp.com
\r
19 ** - rev. 1.0 (2016-08-12)
\r
21 ** - rev. 1.1 (2016-11-25)
\r
22 ** Update CANFD and Classic CAN register.
\r
23 ** Add MAC TIMERSTAMP registers.
\r
24 ** - rev. 1.2 (2017-06-08)
\r
25 ** Remove RTC_CTRL_RTC_OSC_BYPASS.
\r
26 ** SYSCON_ARMTRCLKDIV rename to SYSCON_ARMTRACECLKDIV.
\r
27 ** Remove RESET and HALT from SYSCON_AHBCLKDIV.
\r
29 ** ###################################################################
\r
32 #ifndef _LPC54018_FEATURES_H_
\r
33 #define _LPC54018_FEATURES_H_
\r
35 /* SOC module features */
\r
37 /* @brief ADC availability on the SoC. */
\r
38 #define FSL_FEATURE_SOC_ADC_COUNT (1)
\r
39 /* @brief ASYNC_SYSCON availability on the SoC. */
\r
40 #define FSL_FEATURE_SOC_ASYNC_SYSCON_COUNT (1)
\r
41 /* @brief CAN availability on the SoC. */
\r
42 #define FSL_FEATURE_SOC_LPC_CAN_COUNT (2)
\r
43 /* @brief CRC availability on the SoC. */
\r
44 #define FSL_FEATURE_SOC_CRC_COUNT (1)
\r
45 /* @brief CTIMER availability on the SoC. */
\r
46 #define FSL_FEATURE_SOC_CTIMER_COUNT (5)
\r
47 /* @brief DMA availability on the SoC. */
\r
48 #define FSL_FEATURE_SOC_DMA_COUNT (1)
\r
49 /* @brief DMIC availability on the SoC. */
\r
50 #define FSL_FEATURE_SOC_DMIC_COUNT (1)
\r
51 /* @brief EMC availability on the SoC. */
\r
52 #define FSL_FEATURE_SOC_EMC_COUNT (1)
\r
53 /* @brief ENET availability on the SoC. */
\r
54 #define FSL_FEATURE_SOC_LPC_ENET_COUNT (1)
\r
55 /* @brief FLEXCOMM availability on the SoC. */
\r
56 #define FSL_FEATURE_SOC_FLEXCOMM_COUNT (11)
\r
57 /* @brief GINT availability on the SoC. */
\r
58 #define FSL_FEATURE_SOC_GINT_COUNT (2)
\r
59 /* @brief GPIO availability on the SoC. */
\r
60 #define FSL_FEATURE_SOC_GPIO_COUNT (1)
\r
61 /* @brief I2C availability on the SoC. */
\r
62 #define FSL_FEATURE_SOC_I2C_COUNT (10)
\r
63 /* @brief I2S availability on the SoC. */
\r
64 #define FSL_FEATURE_SOC_I2S_COUNT (2)
\r
65 /* @brief INPUTMUX availability on the SoC. */
\r
66 #define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)
\r
67 /* @brief IOCON availability on the SoC. */
\r
68 #define FSL_FEATURE_SOC_IOCON_COUNT (1)
\r
69 /* @brief LCD availability on the SoC. */
\r
70 #define FSL_FEATURE_SOC_LCD_COUNT (1)
\r
71 /* @brief MRT availability on the SoC. */
\r
72 #define FSL_FEATURE_SOC_MRT_COUNT (1)
\r
73 /* @brief PINT availability on the SoC. */
\r
74 #define FSL_FEATURE_SOC_PINT_COUNT (1)
\r
75 /* @brief RIT availability on the SoC. */
\r
76 #define FSL_FEATURE_SOC_RIT_COUNT (1)
\r
77 /* @brief RNG availability on the SoC. */
\r
78 #define FSL_FEATURE_SOC_LPC_RNG_COUNT (1)
\r
79 /* @brief RTC availability on the SoC. */
\r
80 #define FSL_FEATURE_SOC_RTC_COUNT (1)
\r
81 /* @brief SCT availability on the SoC. */
\r
82 #define FSL_FEATURE_SOC_SCT_COUNT (1)
\r
83 /* @brief SDIF availability on the SoC. */
\r
84 #define FSL_FEATURE_SOC_SDIF_COUNT (1)
\r
85 /* @brief SHA availability on the SoC. */
\r
86 #define FSL_FEATURE_SOC_SHA_COUNT (1)
\r
87 /* @brief SMARTCARD availability on the SoC. */
\r
88 #define FSL_FEATURE_SOC_SMARTCARD_COUNT (2)
\r
89 /* @brief SPI availability on the SoC. */
\r
90 #define FSL_FEATURE_SOC_SPI_COUNT (11)
\r
91 /* @brief SPIFI availability on the SoC. */
\r
92 #define FSL_FEATURE_SOC_SPIFI_COUNT (1)
\r
93 /* @brief SYSCON availability on the SoC. */
\r
94 #define FSL_FEATURE_SOC_SYSCON_COUNT (1)
\r
95 /* @brief USART availability on the SoC. */
\r
96 #define FSL_FEATURE_SOC_USART_COUNT (10)
\r
97 /* @brief USB availability on the SoC. */
\r
98 #define FSL_FEATURE_SOC_USB_COUNT (1)
\r
99 /* @brief USBFSH availability on the SoC. */
\r
100 #define FSL_FEATURE_SOC_USBFSH_COUNT (1)
\r
101 /* @brief USBHSD availability on the SoC. */
\r
102 #define FSL_FEATURE_SOC_USBHSD_COUNT (1)
\r
103 /* @brief USBHSH availability on the SoC. */
\r
104 #define FSL_FEATURE_SOC_USBHSH_COUNT (1)
\r
105 /* @brief UTICK availability on the SoC. */
\r
106 #define FSL_FEATURE_SOC_UTICK_COUNT (1)
\r
107 /* @brief WWDT availability on the SoC. */
\r
108 #define FSL_FEATURE_SOC_WWDT_COUNT (1)
\r
110 /* ADC module features */
\r
112 /* @brief Do not has input select (register INSEL). */
\r
113 #define FSL_FEATURE_ADC_HAS_NO_INSEL (0)
\r
114 /* @brief Has ASYNMODE bitfile in CTRL reigster. */
\r
115 #define FSL_FEATURE_ADC_HAS_CTRL_ASYNMODE (1)
\r
116 /* @brief Has ASYNMODE bitfile in CTRL reigster. */
\r
117 #define FSL_FEATURE_ADC_HAS_CTRL_RESOL (1)
\r
118 /* @brief Has ASYNMODE bitfile in CTRL reigster. */
\r
119 #define FSL_FEATURE_ADC_HAS_CTRL_BYPASSCAL (1)
\r
120 /* @brief Has ASYNMODE bitfile in CTRL reigster. */
\r
121 #define FSL_FEATURE_ADC_HAS_CTRL_TSAMP (1)
\r
122 /* @brief Has ASYNMODE bitfile in CTRL reigster. */
\r
123 #define FSL_FEATURE_ADC_HAS_CTRL_LPWRMODE (0)
\r
124 /* @brief Has ASYNMODE bitfile in CTRL reigster. */
\r
125 #define FSL_FEATURE_ADC_HAS_CTRL_CALMODE (0)
\r
126 /* @brief Has startup register. */
\r
127 #define FSL_FEATURE_ADC_HAS_STARTUP_REG (1)
\r
128 /* @brief Has ADTrim register */
\r
129 #define FSL_FEATURE_ADC_HAS_TRIM_REG (0)
\r
130 /* @brief Has Calibration register. */
\r
131 #define FSL_FEATURE_ADC_HAS_CALIB_REG (1)
\r
133 /* CAN module features */
\r
135 /* @brief Support CANFD or not */
\r
136 #define FSL_FEATURE_CAN_SUPPORT_CANFD (1)
\r
138 /* DMA module features */
\r
140 /* @brief Number of channels */
\r
141 #define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (30)
\r
142 /* @brief Align size of DMA descriptor */
\r
143 #define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512)
\r
144 /* @brief DMA head link descriptor table align size */
\r
145 #define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U)
\r
147 /* FLEXCOMM module features */
\r
149 /* @brief FLEXCOMM0 USART INDEX 0 */
\r
150 #define FSL_FEATURE_FLEXCOMM0_USART_INDEX (0)
\r
151 /* @brief FLEXCOMM0 SPI INDEX 0 */
\r
152 #define FSL_FEATURE_FLEXCOMM0_SPI_INDEX (0)
\r
153 /* @brief FLEXCOMM0 I2C INDEX 0 */
\r
154 #define FSL_FEATURE_FLEXCOMM0_I2C_INDEX (0)
\r
155 /* @brief FLEXCOMM1 USART INDEX 1 */
\r
156 #define FSL_FEATURE_FLEXCOMM1_USART_INDEX (1)
\r
157 /* @brief FLEXCOMM1 SPI INDEX 1 */
\r
158 #define FSL_FEATURE_FLEXCOMM1_SPI_INDEX (1)
\r
159 /* @brief FLEXCOMM1 I2C INDEX 1 */
\r
160 #define FSL_FEATURE_FLEXCOMM1_I2C_INDEX (1)
\r
161 /* @brief FLEXCOMM2 USART INDEX 2 */
\r
162 #define FSL_FEATURE_FLEXCOMM2_USART_INDEX (2)
\r
163 /* @brief FLEXCOMM2 SPI INDEX 2 */
\r
164 #define FSL_FEATURE_FLEXCOMM2_SPI_INDEX (2)
\r
165 /* @brief FLEXCOMM2 I2C INDEX 2 */
\r
166 #define FSL_FEATURE_FLEXCOMM2_I2C_INDEX (2)
\r
167 /* @brief FLEXCOMM3 USART INDEX 3 */
\r
168 #define FSL_FEATURE_FLEXCOMM3_USART_INDEX (3)
\r
169 /* @brief FLEXCOMM3 SPI INDEX 3 */
\r
170 #define FSL_FEATURE_FLEXCOMM3_SPI_INDEX (3)
\r
171 /* @brief FLEXCOMM3 I2C INDEX 3 */
\r
172 #define FSL_FEATURE_FLEXCOMM3_I2C_INDEX (3)
\r
173 /* @brief FLEXCOMM4 USART INDEX 4 */
\r
174 #define FSL_FEATURE_FLEXCOMM4_USART_INDEX (4)
\r
175 /* @brief FLEXCOMM4 SPI INDEX 4 */
\r
176 #define FSL_FEATURE_FLEXCOMM4_SPI_INDEX (4)
\r
177 /* @brief FLEXCOMM4 I2C INDEX 4 */
\r
178 #define FSL_FEATURE_FLEXCOMM4_I2C_INDEX (4)
\r
179 /* @brief FLEXCOMM5 USART INDEX 5 */
\r
180 #define FSL_FEATURE_FLEXCOMM5_USART_INDEX (5)
\r
181 /* @brief FLEXCOMM5 SPI INDEX 5 */
\r
182 #define FSL_FEATURE_FLEXCOMM5_SPI_INDEX (5)
\r
183 /* @brief FLEXCOMM5 I2C INDEX 5 */
\r
184 #define FSL_FEATURE_FLEXCOMM5_I2C_INDEX (5)
\r
185 /* @brief FLEXCOMM6 USART INDEX 6 */
\r
186 #define FSL_FEATURE_FLEXCOMM6_USART_INDEX (6)
\r
187 /* @brief FLEXCOMM6 SPI INDEX 6 */
\r
188 #define FSL_FEATURE_FLEXCOMM6_SPI_INDEX (6)
\r
189 /* @brief FLEXCOMM6 I2C INDEX 6 */
\r
190 #define FSL_FEATURE_FLEXCOMM6_I2C_INDEX (6)
\r
191 /* @brief FLEXCOMM7 I2S INDEX 0 */
\r
192 #define FSL_FEATURE_FLEXCOMM6_I2S_INDEX (0)
\r
193 /* @brief FLEXCOMM7 USART INDEX 7 */
\r
194 #define FSL_FEATURE_FLEXCOMM7_USART_INDEX (7)
\r
195 /* @brief FLEXCOMM7 SPI INDEX 7 */
\r
196 #define FSL_FEATURE_FLEXCOMM7_SPI_INDEX (7)
\r
197 /* @brief FLEXCOMM7 I2C INDEX 7 */
\r
198 #define FSL_FEATURE_FLEXCOMM7_I2C_INDEX (7)
\r
199 /* @brief FLEXCOMM7 I2S INDEX 1 */
\r
200 #define FSL_FEATURE_FLEXCOMM7_I2S_INDEX (1)
\r
201 /* @brief FLEXCOMM4 USART INDEX 8 */
\r
202 #define FSL_FEATURE_FLEXCOMM8_USART_INDEX (8)
\r
203 /* @brief FLEXCOMM4 SPI INDEX 8 */
\r
204 #define FSL_FEATURE_FLEXCOMM8_SPI_INDEX (8)
\r
205 /* @brief FLEXCOMM4 I2C INDEX 8 */
\r
206 #define FSL_FEATURE_FLEXCOMM8_I2C_INDEX (8)
\r
207 /* @brief FLEXCOMM5 USART INDEX 9 */
\r
208 #define FSL_FEATURE_FLEXCOMM9_USART_INDEX (9)
\r
209 /* @brief FLEXCOMM5 SPI INDEX 9 */
\r
210 #define FSL_FEATURE_FLEXCOMM9_SPI_INDEX (9)
\r
211 /* @brief FLEXCOMM5 I2C INDEX 9 */
\r
212 #define FSL_FEATURE_FLEXCOMM9_I2C_INDEX (9)
\r
213 /* @brief I2S has DMIC interconnection */
\r
214 #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) \
\r
215 (((x) == FLEXCOMM0) ? (0) : \
\r
216 (((x) == FLEXCOMM1) ? (0) : \
\r
217 (((x) == FLEXCOMM2) ? (0) : \
\r
218 (((x) == FLEXCOMM3) ? (0) : \
\r
219 (((x) == FLEXCOMM4) ? (0) : \
\r
220 (((x) == FLEXCOMM5) ? (0) : \
\r
221 (((x) == FLEXCOMM6) ? (0) : \
\r
222 (((x) == FLEXCOMM7) ? (1) : \
\r
223 (((x) == FLEXCOMM8) ? (0) : \
\r
224 (((x) == FLEXCOMM9) ? (0) : \
\r
225 (((x) == FLEXCOMM10) ? (0) : (-1))))))))))))
\r
227 /* I2S module features */
\r
229 /* @brief I2S support dual channel transfer */
\r
230 #define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1)
\r
231 /* @brief I2S has DMIC interconnection */
\r
232 #define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (1)
\r
234 /* IOCON module features */
\r
236 /* @brief Func bit field width */
\r
237 #define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4)
\r
239 /* MRT module features */
\r
241 /* @brief number of channels. */
\r
242 #define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS (4)
\r
244 /* interrupt module features */
\r
246 /* @brief Lowest interrupt request number. */
\r
247 #define FSL_FEATURE_INTERRUPT_IRQ_MIN (-14)
\r
248 /* @brief Highest interrupt request number. */
\r
249 #define FSL_FEATURE_INTERRUPT_IRQ_MAX (105)
\r
251 /* PINT module features */
\r
253 /* @brief Number of connected outputs */
\r
254 #define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8)
\r
256 /* RIT module features */
\r
258 /* @brief RIT has no reset control */
\r
259 #define FSL_FEATURE_RIT_HAS_NO_RESET (1)
\r
261 /* RTC module features */
\r
263 /* @brief RTC has no reset control */
\r
264 #define FSL_FEATURE_RTC_HAS_NO_RESET (1)
\r
266 /* SCT module features */
\r
268 /* @brief Number of events */
\r
269 #define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16)
\r
270 /* @brief Number of states */
\r
271 #define FSL_FEATURE_SCT_NUMBER_OF_STATES (16)
\r
272 /* @brief Number of match capture */
\r
273 #define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16)
\r
274 /* @brief Number of outputs */
\r
275 #define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10)
\r
277 /* SDIF module features */
\r
279 /* @brief FIFO depth, every location is a WORD */
\r
280 #define FSL_FEATURE_SDIF_FIFO_DEPTH_64_32BITS (64)
\r
281 /* @brief Max DMA buffer size */
\r
282 #define FSL_FEATURE_SDIF_INTERNAL_DMA_MAX_BUFFER_SIZE (4096)
\r
283 /* @brief Max source clock in HZ */
\r
284 #define FSL_FEATURE_SDIF_MAX_SOURCE_CLOCK (52000000)
\r
286 /* SPIFI module features */
\r
288 /* @brief SPIFI start address */
\r
289 #define FSL_FEATURE_SPIFI_START_ADDR (0x10000000)
\r
290 /* @brief SPIFI end address */
\r
291 #define FSL_FEATURE_SPIFI_END_ADDR (0x17FFFFFF)
\r
293 /* SYSCON module features */
\r
295 /* @brief Pointer to ROM IAP entry functions */
\r
296 #define FSL_FEATURE_SYSCON_IAP_ENTRY_LOCATION (0x03000205)
\r
298 /* SysTick module features */
\r
300 /* @brief Systick has external reference clock. */
\r
301 #define FSL_FEATURE_SYSTICK_HAS_EXT_REF (0)
\r
302 /* @brief Systick external reference clock is core clock divided by this value. */
\r
303 #define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (0)
\r
305 /* USB module features */
\r
307 /* @brief Size of the USB dedicated RAM */
\r
308 #define FSL_FEATURE_USB_USB_RAM (0x00002000)
\r
309 /* @brief Base address of the USB dedicated RAM */
\r
310 #define FSL_FEATURE_USB_USB_RAM_BASE_ADDRESS (0x40100000)
\r
311 /* @brief USB version */
\r
312 #define FSL_FEATURE_USB_VERSION (200)
\r
313 /* @brief Number of the endpoint in USB FS */
\r
314 #define FSL_FEATURE_USB_EP_NUM (5)
\r
316 /* USBFSH module features */
\r
318 /* @brief Size of the USB dedicated RAM */
\r
319 #define FSL_FEATURE_USBFSH_USB_RAM (0x00002000)
\r
320 /* @brief Base address of the USB dedicated RAM */
\r
321 #define FSL_FEATURE_USBFSH_USB_RAM_BASE_ADDRESS (0x40100000)
\r
322 /* @brief USBFSH version */
\r
323 #define FSL_FEATURE_USBFSH_VERSION (200)
\r
325 /* USBHSD module features */
\r
327 /* @brief Size of the USB dedicated RAM */
\r
328 #define FSL_FEATURE_USBHSD_USB_RAM (0x00002000)
\r
329 /* @brief Base address of the USB dedicated RAM */
\r
330 #define FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS (0x40100000)
\r
331 /* @brief USBHSD version */
\r
332 #define FSL_FEATURE_USBHSD_VERSION (300)
\r
333 /* @brief Number of the endpoint in USB HS */
\r
334 #define FSL_FEATURE_USBHSD_EP_NUM (6)
\r
335 /* @brief Resetting interrupt endpoint resets DATAx sequence to DATA.1 */
\r
336 #define FSL_FEATURE_USBHSD_INTERRUPT_DATAX_ISSUE_VERSION_CHECK (1)
\r
338 /* USBHSH module features */
\r
340 /* @brief Size of the USB dedicated RAM */
\r
341 #define FSL_FEATURE_USBHSH_USB_RAM (0x00002000)
\r
342 /* @brief Base address of the USB dedicated RAM */
\r
343 #define FSL_FEATURE_USBHSH_USB_RAM_BASE_ADDRESS (0x40100000)
\r
344 /* @brief USBHSH version */
\r
345 #define FSL_FEATURE_USBHSH_VERSION (300)
\r
347 #endif /* _LPC54018_FEATURES_H_ */
\r