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