1 /*
2 ** ###################################################################
3 **     Version:             rev. 1.0, 2020-04-09
4 **     Build:               b231016
5 **
6 **     Abstract:
7 **         Chip specific module features.
8 **
9 **     Copyright 2016 Freescale Semiconductor, Inc.
10 **     Copyright 2016-2023 NXP
11 **     SPDX-License-Identifier: BSD-3-Clause
12 **
13 **     http:                 www.nxp.com
14 **     mail:                 support@nxp.com
15 **
16 **     Revisions:
17 **     - rev. 1.0 (2020-04-09)
18 **         Initial version based on Niobe4mini
19 **
20 ** ###################################################################
21 */
22 
23 #ifndef _LPC5506_FEATURES_H_
24 #define _LPC5506_FEATURES_H_
25 
26 /* SOC module features */
27 
28 #if defined(CPU_LPC5506JBD64)
29     /* @brief LPC_CAN availability on the SoC. */
30     #define FSL_FEATURE_SOC_LPC_CAN_COUNT (1)
31     /* @brief CDOG availability on the SoC. */
32     #define FSL_FEATURE_SOC_CDOG_COUNT (1)
33     /* @brief CRC availability on the SoC. */
34     #define FSL_FEATURE_SOC_CRC_COUNT (1)
35     /* @brief CTIMER availability on the SoC. */
36     #define FSL_FEATURE_SOC_CTIMER_COUNT (5)
37     /* @brief DMA availability on the SoC. */
38     #define FSL_FEATURE_SOC_DMA_COUNT (2)
39     /* @brief FLASH availability on the SoC. */
40     #define FSL_FEATURE_SOC_FLASH_COUNT (1)
41     /* @brief FLEXCOMM availability on the SoC. */
42     #define FSL_FEATURE_SOC_FLEXCOMM_COUNT (9)
43     /* @brief GINT availability on the SoC. */
44     #define FSL_FEATURE_SOC_GINT_COUNT (2)
45     /* @brief GPIO availability on the SoC. */
46     #define FSL_FEATURE_SOC_GPIO_COUNT (1)
47     /* @brief SECGPIO availability on the SoC. */
48     #define FSL_FEATURE_SOC_SECGPIO_COUNT (1)
49     /* @brief I2C availability on the SoC. */
50     #define FSL_FEATURE_SOC_I2C_COUNT (8)
51     /* @brief I2S availability on the SoC. */
52     #define FSL_FEATURE_SOC_I2S_COUNT (8)
53     /* @brief INPUTMUX availability on the SoC. */
54     #define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)
55     /* @brief IOCON availability on the SoC. */
56     #define FSL_FEATURE_SOC_IOCON_COUNT (1)
57     /* @brief LPADC availability on the SoC. */
58     #define FSL_FEATURE_SOC_LPADC_COUNT (1)
59     /* @brief MPU availability on the SoC. */
60     #define FSL_FEATURE_SOC_MPU_COUNT (1)
61     /* @brief MRT availability on the SoC. */
62     #define FSL_FEATURE_SOC_MRT_COUNT (1)
63     /* @brief OSTIMER availability on the SoC. */
64     #define FSL_FEATURE_SOC_OSTIMER_COUNT (1)
65     /* @brief PINT availability on the SoC. */
66     #define FSL_FEATURE_SOC_PINT_COUNT (1)
67     /* @brief SECPINT availability on the SoC. */
68     #define FSL_FEATURE_SOC_SECPINT_COUNT (1)
69     /* @brief PMC availability on the SoC. */
70     #define FSL_FEATURE_SOC_PMC_COUNT (1)
71     /* @brief LPC_RNG1 availability on the SoC. */
72     #define FSL_FEATURE_SOC_LPC_RNG1_COUNT (1)
73     /* @brief RTC availability on the SoC. */
74     #define FSL_FEATURE_SOC_RTC_COUNT (1)
75     /* @brief SCT availability on the SoC. */
76     #define FSL_FEATURE_SOC_SCT_COUNT (1)
77     /* @brief SPI availability on the SoC. */
78     #define FSL_FEATURE_SOC_SPI_COUNT (7)
79     /* @brief SYSCON availability on the SoC. */
80     #define FSL_FEATURE_SOC_SYSCON_COUNT (1)
81     /* @brief SYSCTL1 availability on the SoC. */
82     #define FSL_FEATURE_SOC_SYSCTL1_COUNT (1)
83     /* @brief USART availability on the SoC. */
84     #define FSL_FEATURE_SOC_USART_COUNT (8)
85     /* @brief UTICK availability on the SoC. */
86     #define FSL_FEATURE_SOC_UTICK_COUNT (1)
87     /* @brief WWDT availability on the SoC. */
88     #define FSL_FEATURE_SOC_WWDT_COUNT (1)
89 #elif defined(CPU_LPC5506JHI48)
90     /* @brief LPC_CAN availability on the SoC. */
91     #define FSL_FEATURE_SOC_LPC_CAN_COUNT (1)
92     /* @brief CDOG availability on the SoC. */
93     #define FSL_FEATURE_SOC_CDOG_COUNT (1)
94     /* @brief CRC availability on the SoC. */
95     #define FSL_FEATURE_SOC_CRC_COUNT (1)
96     /* @brief CTIMER availability on the SoC. */
97     #define FSL_FEATURE_SOC_CTIMER_COUNT (5)
98     /* @brief DMA availability on the SoC. */
99     #define FSL_FEATURE_SOC_DMA_COUNT (2)
100     /* @brief FLASH availability on the SoC. */
101     #define FSL_FEATURE_SOC_FLASH_COUNT (1)
102     /* @brief FLEXCOMM availability on the SoC. */
103     #define FSL_FEATURE_SOC_FLEXCOMM_COUNT (8)
104     /* @brief GINT availability on the SoC. */
105     #define FSL_FEATURE_SOC_GINT_COUNT (2)
106     /* @brief GPIO availability on the SoC. */
107     #define FSL_FEATURE_SOC_GPIO_COUNT (1)
108     /* @brief SECGPIO availability on the SoC. */
109     #define FSL_FEATURE_SOC_SECGPIO_COUNT (1)
110     /* @brief I2C availability on the SoC. */
111     #define FSL_FEATURE_SOC_I2C_COUNT (7)
112     /* @brief I2S availability on the SoC. */
113     #define FSL_FEATURE_SOC_I2S_COUNT (4)
114     /* @brief INPUTMUX availability on the SoC. */
115     #define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)
116     /* @brief IOCON availability on the SoC. */
117     #define FSL_FEATURE_SOC_IOCON_COUNT (1)
118     /* @brief LPADC availability on the SoC. */
119     #define FSL_FEATURE_SOC_LPADC_COUNT (1)
120     /* @brief MPU availability on the SoC. */
121     #define FSL_FEATURE_SOC_MPU_COUNT (1)
122     /* @brief MRT availability on the SoC. */
123     #define FSL_FEATURE_SOC_MRT_COUNT (1)
124     /* @brief OSTIMER availability on the SoC. */
125     #define FSL_FEATURE_SOC_OSTIMER_COUNT (1)
126     /* @brief PINT availability on the SoC. */
127     #define FSL_FEATURE_SOC_PINT_COUNT (1)
128     /* @brief SECPINT availability on the SoC. */
129     #define FSL_FEATURE_SOC_SECPINT_COUNT (1)
130     /* @brief PMC availability on the SoC. */
131     #define FSL_FEATURE_SOC_PMC_COUNT (1)
132     /* @brief LPC_RNG1 availability on the SoC. */
133     #define FSL_FEATURE_SOC_LPC_RNG1_COUNT (1)
134     /* @brief RTC availability on the SoC. */
135     #define FSL_FEATURE_SOC_RTC_COUNT (1)
136     /* @brief SCT availability on the SoC. */
137     #define FSL_FEATURE_SOC_SCT_COUNT (1)
138     /* @brief SPI availability on the SoC. */
139     #define FSL_FEATURE_SOC_SPI_COUNT (4)
140     /* @brief SYSCON availability on the SoC. */
141     #define FSL_FEATURE_SOC_SYSCON_COUNT (1)
142     /* @brief SYSCTL1 availability on the SoC. */
143     #define FSL_FEATURE_SOC_SYSCTL1_COUNT (1)
144     /* @brief USART availability on the SoC. */
145     #define FSL_FEATURE_SOC_USART_COUNT (7)
146     /* @brief UTICK availability on the SoC. */
147     #define FSL_FEATURE_SOC_UTICK_COUNT (1)
148     /* @brief WWDT availability on the SoC. */
149     #define FSL_FEATURE_SOC_WWDT_COUNT (1)
150 #endif
151 
152 /* LPADC module features */
153 
154 /* @brief FIFO availability on the SoC. */
155 #define FSL_FEATURE_LPADC_FIFO_COUNT (2)
156 /* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */
157 #define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1)
158 /* @brief Has differential mode (bitfield CMDLn[DIFF]). */
159 #define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (0)
160 /* @brief Has channel scale (bitfield CMDLn[CSCALE]). */
161 #define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (0)
162 /* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */
163 #define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (1)
164 /* @brief Has conversion resolution select  (bitfield CMDLn[MODE]). */
165 #define FSL_FEATURE_LPADC_HAS_CMDL_MODE (1)
166 /* @brief Has compare function enable (bitfield CMDHn[CMPEN]). */
167 #define FSL_FEATURE_LPADC_HAS_CMDH_CMPEN (1)
168 /* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */
169 #define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (1)
170 /* @brief Has offset calibration (bitfield CTRL[CALOFS]). */
171 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (1)
172 /* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */
173 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (1)
174 /* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */
175 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (1)
176 /* @brief Has internal clock (bitfield CFG[ADCKEN]). */
177 #define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0)
178 /* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */
179 #define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0)
180 /* @brief Has calibration (bitfield CFG[CALOFS]). */
181 #define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0)
182 /* @brief Has offset trim (register OFSTRIM). */
183 #define FSL_FEATURE_LPADC_HAS_OFSTRIM (1)
184 /* @brief OFSTRIM availability on the SoC. */
185 #define FSL_FEATURE_LPADC_OFSTRIM_COUNT (2)
186 /* @brief Has Trigger status register. */
187 #define FSL_FEATURE_LPADC_HAS_TSTAT (1)
188 /* @brief Has power select (bitfield CFG[PWRSEL]). */
189 #define FSL_FEATURE_LPADC_HAS_CFG_PWRSEL (1)
190 /* @brief Has alternate channel B scale (bitfield CMDLn[ALTB_CSCALE]). */
191 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_CSCALE (0)
192 /* @brief Has alternate channel B select enable (bitfield CMDLn[ALTBEN]). */
193 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTBEN (0)
194 /* @brief Has alternate channel input (bitfield CMDLn[ALTB_ADCH]). */
195 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_ADCH (0)
196 /* @brief Has offset calibration mode (bitfield CTRL[CALOFSMODE]). */
197 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFSMODE (0)
198 /* @brief Conversion averaged bitfiled width. */
199 #define FSL_FEATURE_LPADC_CONVERSIONS_AVERAGED_BITFIELD_WIDTH (3)
200 /* @brief Has B side channels. */
201 #define FSL_FEATURE_LPADC_HAS_B_SIDE_CHANNELS (1)
202 /* @brief Indicate whether the LPADC STAT register has trigger exception interrupt function (bitfield STAT[TEXC_INT]). */
203 #define FSL_FEATURE_LPADC_HAS_STAT_TEXC_INT (1)
204 /* @brief Indicate whether the LPADC STAT register has trigger completion interrupt function (bitfield STAT[TCOMP_INT]). */
205 #define FSL_FEATURE_LPADC_HAS_STAT_TCOMP_INT (1)
206 /* @brief Indicate whether the LPADC STAT register has calibration ready function (bitfield STAT[CAL_RDY]). */
207 #define FSL_FEATURE_LPADC_HAS_STAT_CAL_RDY (1)
208 /* @brief Indicate whether the LPADC STAT register has ADC active function (bitfield STAT[ADC_ACTIVE]). */
209 #define FSL_FEATURE_LPADC_HAS_STAT_ADC_ACTIVE (1)
210 /* @brief Indicate whether the LPADC IE register has trigger exception interrupt enable function (bitfield IE[TEXC_IE]). */
211 #define FSL_FEATURE_LPADC_HAS_IE_TEXC_IE (1)
212 /* @brief Indicate whether the LPADC IE register has trigger completion interrupt enable function (bitfield IE[TCOMP_IE]). */
213 #define FSL_FEATURE_LPADC_HAS_IE_TCOMP_IE (1)
214 /* @brief Indicate whether the LPADC CFG register has trigger resume/restart enable function (bitfield CFG[TRES]). */
215 #define FSL_FEATURE_LPADC_HAS_CFG_TRES (1)
216 /* @brief Indicate whether the LPADC CFG register has trigger command resume/restart enable function (bitfield CFG[TCMDRES]). */
217 #define FSL_FEATURE_LPADC_HAS_CFG_TCMDRES (1)
218 /* @brief Indicate whether the LPADC CFG register has high priority trigger exception disable function (bitfield CFG[HPT_EXDI]). */
219 #define FSL_FEATURE_LPADC_HAS_CFG_HPT_EXDI (1)
220 /* @brief Indicate LPADC CFG register TPRICTRL bitfield width. */
221 #define FSL_FEATURE_LPADC_CFG_TPRICTRL_BITFIELD_WIDTH (2)
222 /* @brief Has internal temperature sensor. */
223 #define FSL_FEATURE_LPADC_HAS_INTERNAL_TEMP_SENSOR (1)
224 /* @brief Temperature sensor parameter A (slope). */
225 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_A (799.0f)
226 /* @brief Temperature sensor parameter B (offset). */
227 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_B (280.0f)
228 /* @brief Temperature sensor parameter Alpha. */
229 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_ALPHA (8.5f)
230 /* @brief Temperature sensor need calibration. */
231 #define FSL_FEATURE_LPADC_TEMP_NEED_CALIBRATION (1)
232 /* @brief the address of temperature sensor parameter A (slope) in Flash. */
233 #define FSL_FEATURE_FLASH_NMPA_TEMP_SLOPE_ADDRS (0x3FD28U)
234 /* @brief the address of temperature sensor parameter B (offset) in Flash. */
235 #define FSL_FEATURE_FLASH_NMPA_TEMP_OFFSET_ADDRS (0x3FD2CU)
236 /* @brief the buffer size of temperature sensor. */
237 #define FSL_FEATURE_LPADC_TEMP_SENS_BUFFER_SIZE (2U)
238 
239 /* ANALOGCTRL module features */
240 
241 /* @brief Has PLL_USB_OUT_BIT_FIELD bitfile in XO32M_CTRL reigster. */
242 #define FSL_FEATURE_ANACTRL_HAS_NO_ENABLE_PLL_USB_OUT_BIT_FIELD (1)
243 /* @brief Has XO32M_ADC_CLK_MODE bitfile in DUMMY_CTRL reigster. */
244 #define FSL_FEATURE_ANACTRL_HAS_XO32M_ADC_CLK_MODE_BIF_FIELD (1)
245 /* @brief Has auxiliary bias(register AUX_BIAS). */
246 #define FSL_FEATURE_ANACTRL_HAS_AUX_BIAS_REG (1)
247 
248 /* CAN module features */
249 
250 /* @brief Support CANFD or not */
251 #define FSL_FEATURE_CAN_SUPPORT_CANFD (1)
252 
253 /* CDOG module features */
254 
255 /* No feature definitions */
256 
257 /* CTIMER module features */
258 
259 /* @brief CTIMER has no capture channel. */
260 #define FSL_FEATURE_CTIMER_HAS_NO_INPUT_CAPTURE (0)
261 /* @brief CTIMER has no capture 2 interrupt. */
262 #define FSL_FEATURE_CTIMER_HAS_NO_IR_CR2INT (0)
263 /* @brief CTIMER capture 3 interrupt. */
264 #define FSL_FEATURE_CTIMER_HAS_IR_CR3INT (1)
265 /* @brief Has CTIMER CCR_CAP2 (register bits CCR[CAP2RE][CAP2FE][CAP2I]. */
266 #define FSL_FEATURE_CTIMER_HAS_NO_CCR_CAP2 (0)
267 /* @brief Has CTIMER CCR_CAP3 (register bits CCR[CAP3RE][CAP3FE][CAP3I]). */
268 #define FSL_FEATURE_CTIMER_HAS_CCR_CAP3 (1)
269 /* @brief CTIMER Has register MSR */
270 #define FSL_FEATURE_CTIMER_HAS_MSR (1)
271 
272 /* DMA module features */
273 
274 /* @brief Number of channels */
275 #define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (23)
276 /* @brief Align size of DMA descriptor */
277 #define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512)
278 /* @brief DMA head link descriptor table align size */
279 #define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U)
280 
281 /* FLEXCOMM module features */
282 
283 #if defined(CPU_LPC5506JBD64)
284     /* @brief FLEXCOMM0 USART INDEX 0 */
285     #define FSL_FEATURE_FLEXCOMM0_USART_INDEX  (0)
286     /* @brief FLEXCOMM0 SPI INDEX 0 */
287     #define FSL_FEATURE_FLEXCOMM0_SPI_INDEX  (0)
288     /* @brief FLEXCOMM0 I2C INDEX 0 */
289     #define FSL_FEATURE_FLEXCOMM0_I2C_INDEX  (0)
290     /* @brief FLEXCOMM0 I2S INDEX 0 */
291     #define FSL_FEATURE_FLEXCOMM0_I2S_INDEX  (0)
292     /* @brief FLEXCOMM1 USART INDEX 1 */
293     #define FSL_FEATURE_FLEXCOMM1_USART_INDEX  (1)
294     /* @brief FLEXCOMM1 SPI INDEX 1 */
295     #define FSL_FEATURE_FLEXCOMM1_SPI_INDEX  (1)
296     /* @brief FLEXCOMM1 I2C INDEX 1 */
297     #define FSL_FEATURE_FLEXCOMM1_I2C_INDEX  (1)
298     /* @brief FLEXCOMM1 I2S INDEX 1 */
299     #define FSL_FEATURE_FLEXCOMM1_I2S_INDEX  (1)
300     /* @brief FLEXCOMM2 USART INDEX 2 */
301     #define FSL_FEATURE_FLEXCOMM2_USART_INDEX  (2)
302     /* @brief FLEXCOMM2 I2C INDEX 2 */
303     #define FSL_FEATURE_FLEXCOMM2_I2C_INDEX  (2)
304     /* @brief FLEXCOMM2 I2S INDEX 2 */
305     #define FSL_FEATURE_FLEXCOMM2_I2S_INDEX  (2)
306     /* @brief FLEXCOMM3 USART INDEX 3 */
307     #define FSL_FEATURE_FLEXCOMM3_USART_INDEX  (3)
308     /* @brief FLEXCOMM3 SPI INDEX 3 */
309     #define FSL_FEATURE_FLEXCOMM3_SPI_INDEX  (3)
310     /* @brief FLEXCOMM3 I2C INDEX 3 */
311     #define FSL_FEATURE_FLEXCOMM3_I2C_INDEX  (3)
312     /* @brief FLEXCOMM3 I2S INDEX 3 */
313     #define FSL_FEATURE_FLEXCOMM3_I2S_INDEX  (3)
314     /* @brief FLEXCOMM4 USART INDEX 4 */
315     #define FSL_FEATURE_FLEXCOMM4_USART_INDEX  (4)
316     /* @brief FLEXCOMM4 SPI INDEX 4 */
317     #define FSL_FEATURE_FLEXCOMM4_SPI_INDEX  (4)
318     /* @brief FLEXCOMM4 I2C INDEX 4 */
319     #define FSL_FEATURE_FLEXCOMM4_I2C_INDEX  (4)
320     /* @brief FLEXCOMM4 I2S INDEX 4 */
321     #define FSL_FEATURE_FLEXCOMM4_I2S_INDEX  (4)
322     /* @brief FLEXCOMM5 USART INDEX 5 */
323     #define FSL_FEATURE_FLEXCOMM5_USART_INDEX  (5)
324     /* @brief FLEXCOMM5 I2C INDEX 5 */
325     #define FSL_FEATURE_FLEXCOMM5_I2C_INDEX  (5)
326     /* @brief FLEXCOMM5 I2S INDEX 5 */
327     #define FSL_FEATURE_FLEXCOMM5_I2S_INDEX  (5)
328     /* @brief FLEXCOMM6 USART INDEX 6 */
329     #define FSL_FEATURE_FLEXCOMM6_USART_INDEX  (6)
330     /* @brief FLEXCOMM6 SPI INDEX 6 */
331     #define FSL_FEATURE_FLEXCOMM6_SPI_INDEX  (6)
332     /* @brief FLEXCOMM6 I2C INDEX 6 */
333     #define FSL_FEATURE_FLEXCOMM6_I2C_INDEX  (6)
334     /* @brief FLEXCOMM6 I2S INDEX 6 */
335     #define FSL_FEATURE_FLEXCOMM6_I2S_INDEX  (6)
336     /* @brief FLEXCOMM7 USART INDEX 7 */
337     #define FSL_FEATURE_FLEXCOMM7_USART_INDEX  (7)
338     /* @brief FLEXCOMM7 SPI INDEX 7 */
339     #define FSL_FEATURE_FLEXCOMM7_SPI_INDEX  (7)
340     /* @brief FLEXCOMM7 I2C INDEX 7 */
341     #define FSL_FEATURE_FLEXCOMM7_I2C_INDEX  (7)
342     /* @brief FLEXCOMM7 I2S INDEX 7 */
343     #define FSL_FEATURE_FLEXCOMM7_I2S_INDEX  (7)
344     /* @brief FLEXCOMM8 SPI(HS_SPI) INDEX 8 */
345     #define FSL_FEATURE_FLEXCOMM8_SPI_INDEX  (8)
346     /* @brief I2S has DMIC interconnection */
347     #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) (0)
348     /* @brief I2S support dual channel transfer */
349     #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_SUPPORT_SECONDARY_CHANNELn(x) \
350         (((x) == FLEXCOMM0) ? (0) : \
351         (((x) == FLEXCOMM1) ? (0) : \
352         (((x) == FLEXCOMM2) ? (0) : \
353         (((x) == FLEXCOMM3) ? (0) : \
354         (((x) == FLEXCOMM4) ? (0) : \
355         (((x) == FLEXCOMM5) ? (0) : \
356         (((x) == FLEXCOMM6) ? (1) : \
357         (((x) == FLEXCOMM7) ? (1) : \
358         (((x) == FLEXCOMM8) ? (0) : (-1))))))))))
359 #elif defined(CPU_LPC5506JHI48)
360     /* @brief FLEXCOMM0 USART INDEX 0 */
361     #define FSL_FEATURE_FLEXCOMM0_USART_INDEX  (0)
362     /* @brief FLEXCOMM0 SPI INDEX 0 */
363     #define FSL_FEATURE_FLEXCOMM0_SPI_INDEX  (0)
364     /* @brief FLEXCOMM0 I2C INDEX 0 */
365     #define FSL_FEATURE_FLEXCOMM0_I2C_INDEX  (0)
366     /* @brief FLEXCOMM0 I2S INDEX 0 */
367     #define FSL_FEATURE_FLEXCOMM0_I2S_INDEX  (0)
368     /* @brief FLEXCOMM1 USART INDEX 1 */
369     #define FSL_FEATURE_FLEXCOMM1_USART_INDEX  (1)
370     /* @brief FLEXCOMM1 I2C INDEX 1 */
371     #define FSL_FEATURE_FLEXCOMM1_I2C_INDEX  (1)
372     /* @brief FLEXCOMM2 USART INDEX 2 */
373     #define FSL_FEATURE_FLEXCOMM2_USART_INDEX  (2)
374     /* @brief FLEXCOMM2 I2C INDEX 2 */
375     #define FSL_FEATURE_FLEXCOMM2_I2C_INDEX  (2)
376     /* @brief FLEXCOMM3 USART INDEX 3 */
377     #define FSL_FEATURE_FLEXCOMM3_USART_INDEX  (3)
378     /* @brief FLEXCOMM3 SPI INDEX 3 */
379     #define FSL_FEATURE_FLEXCOMM3_SPI_INDEX  (3)
380     /* @brief FLEXCOMM3 I2C INDEX 3 */
381     #define FSL_FEATURE_FLEXCOMM3_I2C_INDEX  (3)
382     /* @brief FLEXCOMM3 I2S INDEX 3 */
383     #define FSL_FEATURE_FLEXCOMM3_I2S_INDEX  (3)
384     /* @brief FLEXCOMM4 USART INDEX 4 */
385     #define FSL_FEATURE_FLEXCOMM4_USART_INDEX  (4)
386     /* @brief FLEXCOMM4 I2C INDEX 4 */
387     #define FSL_FEATURE_FLEXCOMM4_I2C_INDEX  (4)
388     /* @brief FLEXCOMM4 I2S INDEX 4 */
389     #define FSL_FEATURE_FLEXCOMM4_I2S_INDEX  (4)
390     /* @brief FLEXCOMM5 USART INDEX 5 */
391     #define FSL_FEATURE_FLEXCOMM5_USART_INDEX  (5)
392     /* @brief FLEXCOMM5 I2C INDEX 5 */
393     #define FSL_FEATURE_FLEXCOMM5_I2C_INDEX  (5)
394     /* @brief FLEXCOMM6 USART INDEX 6 */
395     #define FSL_FEATURE_FLEXCOMM6_USART_INDEX  (6)
396     /* @brief FLEXCOMM6 SPI INDEX 6 */
397     #define FSL_FEATURE_FLEXCOMM6_SPI_INDEX  (6)
398     /* @brief FLEXCOMM6 I2C INDEX 6 */
399     #define FSL_FEATURE_FLEXCOMM6_I2C_INDEX  (6)
400     /* @brief FLEXCOMM6 I2S INDEX 6 */
401     #define FSL_FEATURE_FLEXCOMM6_I2S_INDEX  (6)
402     /* @brief FLEXCOMM8 SPI(HS_SPI) INDEX 8 */
403     #define FSL_FEATURE_FLEXCOMM8_SPI_INDEX  (8)
404     /* @brief I2S has DMIC interconnection */
405     #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) (0)
406     /* @brief I2S support dual channel transfer */
407     #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_SUPPORT_SECONDARY_CHANNELn(x) \
408         (((x) == FLEXCOMM0) ? (0) : \
409         (((x) == FLEXCOMM1) ? (0) : \
410         (((x) == FLEXCOMM2) ? (0) : \
411         (((x) == FLEXCOMM3) ? (0) : \
412         (((x) == FLEXCOMM4) ? (0) : \
413         (((x) == FLEXCOMM5) ? (0) : \
414         (((x) == FLEXCOMM6) ? (1) : \
415         (((x) == FLEXCOMM8) ? (0) : (-1)))))))))
416 #endif /* defined(CPU_LPC5506JBD64) */
417 
418 /* GINT module features */
419 
420 /* @brief The count of th port which are supported in GINT. */
421 #define FSL_FEATURE_GINT_PORT_COUNT (2)
422 
423 /* I2S module features */
424 
425 /* @brief I2S6 and I2S7 support dual channel transfer. */
426 #define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1)
427 /* @brief I2S has DMIC interconnection */
428 #define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (0)
429 
430 /* INPUTMUX module features */
431 
432 /* @brief Inputmux has DMA Request Enable */
433 #define FSL_FEATURE_INPUTMUX_HAS_SIGNAL_ENA (0)
434 /* @brief Inputmux has channel mux control */
435 #define FSL_FEATURE_INPUTMUX_HAS_CHANNEL_MUX (0)
436 
437 /* IOCON module features */
438 
439 /* @brief Func bit field width */
440 #define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4)
441 
442 /* MRT module features */
443 
444 /* @brief number of channels. */
445 #define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS  (4)
446 
447 /* PINT module features */
448 
449 /* @brief Number of connected outputs */
450 #define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8)
451 
452 /* PLU module features */
453 
454 /* @brief Has WAKEINT_CTRL register. */
455 #define FSL_FEATURE_PLU_HAS_WAKEINT_CTRL_REG (1)
456 
457 /* PMC module features */
458 
459 /* @brief UTICK does not support PD configure. */
460 #define FSL_FEATURE_UTICK_HAS_NO_PDCFG (1)
461 /* @brief WDT OSC does not support PD configure. */
462 #define FSL_FEATURE_WWDT_HAS_NO_PDCFG (1)
463 
464 /* POWERLIB module features */
465 
466 /* @brief Powerlib API is different with other LPC series devices. */
467 #define FSL_FEATURE_POWERLIB_EXTEND (1)
468 
469 /* RTC module features */
470 
471 /* @brief Has SUBSEC Register (register SUBSEC) */
472 #define FSL_FEATURE_RTC_HAS_SUBSEC (1)
473 
474 /* SCT module features */
475 
476 /* @brief Number of events */
477 #define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16)
478 /* @brief Number of states */
479 #define FSL_FEATURE_SCT_NUMBER_OF_STATES (32)
480 /* @brief Number of match capture */
481 #define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16)
482 /* @brief Number of outputs */
483 #define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10)
484 
485 /* SECPINT module features */
486 
487 /* @brief Number of connected outputs */
488 #define FSL_FEATURE_SECPINT_NUMBER_OF_CONNECTED_OUTPUTS (2)
489 
490 /* SPI module features */
491 
492 /* @brief SSEL pin count. */
493 #define FSL_FEATURE_SPI_SSEL_COUNT (4)
494 
495 /* SYSCON module features */
496 
497 /* @brief Flash page size in bytes */
498 #define FSL_FEATURE_SYSCON_FLASH_PAGE_SIZE_BYTES (512)
499 /* @brief Flash sector size in bytes */
500 #define FSL_FEATURE_SYSCON_FLASH_SECTOR_SIZE_BYTES (32768)
501 /* @brief Flash size in bytes */
502 #define FSL_FEATURE_SYSCON_FLASH_SIZE_BYTES (249856)
503 /* @brief Has Power Down mode */
504 #define FSL_FEATURE_SYSCON_HAS_POWERDOWN_MODE (1)
505 /* @brief CCM_ANALOG availability on the SoC.  */
506 #define FSL_FEATURE_SOC_CCM_ANALOG_COUNT (1)
507 /* @brief Starter register discontinuous. */
508 #define FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS (1)
509 
510 /* SYSCTL1 module features */
511 
512 /* @brief SYSCTRL has Code Gray feature. */
513 #define FSL_FEATURE_SYSCTRL_HAS_CODE_GRAY (1)
514 
515 /* WWDT module features */
516 
517 /* @brief Has no RESET register. */
518 #define FSL_FEATURE_WWDT_HAS_NO_RESET (1)
519 /* @brief WWDT does not support oscillator lock. */
520 #define FSL_FEATURE_WWDT_HAS_NO_OSCILLATOR_LOCK (1)
521 
522 #endif /* _LPC5506_FEATURES_H_ */
523 
524