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 _LPC5504CPXXXX_FEATURES_H_ 26 #define _LPC5504CPXXXX_FEATURES_H_ 27 28 /* SOC module features */ 29 30 /* @brief LPC_CAN availability on the SoC. */ 31 #define FSL_FEATURE_SOC_LPC_CAN_COUNT (1) 32 /* @brief CRC availability on the SoC. */ 33 #define FSL_FEATURE_SOC_CRC_COUNT (1) 34 /* @brief CTIMER availability on the SoC. */ 35 #define FSL_FEATURE_SOC_CTIMER_COUNT (5) 36 /* @brief CDOG availability on the SoC. */ 37 #define FSL_FEATURE_SOC_CDOG_COUNT (1) 38 /* @brief DMA availability on the SoC. */ 39 #define FSL_FEATURE_SOC_DMA_COUNT (2) 40 /* @brief FLASH availability on the SoC. */ 41 #define FSL_FEATURE_SOC_FLASH_COUNT (1) 42 /* @brief FLEXCOMM availability on the SoC. */ 43 #define FSL_FEATURE_SOC_FLEXCOMM_COUNT (8) 44 /* @brief GINT availability on the SoC. */ 45 #define FSL_FEATURE_SOC_GINT_COUNT (2) 46 /* @brief GPIO availability on the SoC. */ 47 #define FSL_FEATURE_SOC_GPIO_COUNT (1) 48 /* @brief SECGPIO availability on the SoC. */ 49 #define FSL_FEATURE_SOC_SECGPIO_COUNT (1) 50 /* @brief I2C availability on the SoC. */ 51 #define FSL_FEATURE_SOC_I2C_COUNT (7) 52 /* @brief I2S availability on the SoC. */ 53 #define FSL_FEATURE_SOC_I2S_COUNT (4) 54 /* @brief INPUTMUX availability on the SoC. */ 55 #define FSL_FEATURE_SOC_INPUTMUX_COUNT (1) 56 /* @brief IOCON availability on the SoC. */ 57 #define FSL_FEATURE_SOC_IOCON_COUNT (1) 58 /* @brief LPADC availability on the SoC. */ 59 #define FSL_FEATURE_SOC_LPADC_COUNT (1) 60 /* @brief MPU availability on the SoC. */ 61 #define FSL_FEATURE_SOC_MPU_COUNT (1) 62 /* @brief MRT availability on the SoC. */ 63 #define FSL_FEATURE_SOC_MRT_COUNT (1) 64 /* @brief OSTIMER availability on the SoC. */ 65 #define FSL_FEATURE_SOC_OSTIMER_COUNT (1) 66 /* @brief PINT availability on the SoC. */ 67 #define FSL_FEATURE_SOC_PINT_COUNT (1) 68 /* @brief SECPINT availability on the SoC. */ 69 #define FSL_FEATURE_SOC_SECPINT_COUNT (1) 70 /* @brief PMC availability on the SoC. */ 71 #define FSL_FEATURE_SOC_PMC_COUNT (1) 72 /* @brief LPC_RNG1 availability on the SoC. */ 73 #define FSL_FEATURE_SOC_LPC_RNG1_COUNT (1) 74 /* @brief RTC availability on the SoC. */ 75 #define FSL_FEATURE_SOC_RTC_COUNT (1) 76 /* @brief SCT availability on the SoC. */ 77 #define FSL_FEATURE_SOC_SCT_COUNT (1) 78 /* @brief SPI availability on the SoC. */ 79 #define FSL_FEATURE_SOC_SPI_COUNT (4) 80 /* @brief SYSCON availability on the SoC. */ 81 #define FSL_FEATURE_SOC_SYSCON_COUNT (1) 82 /* @brief SYSCTL1 availability on the SoC. */ 83 #define FSL_FEATURE_SOC_SYSCTL1_COUNT (1) 84 /* @brief USART availability on the SoC. */ 85 #define FSL_FEATURE_SOC_USART_COUNT (7) 86 /* @brief UTICK availability on the SoC. */ 87 #define FSL_FEATURE_SOC_UTICK_COUNT (1) 88 /* @brief WWDT availability on the SoC. */ 89 #define FSL_FEATURE_SOC_WWDT_COUNT (1) 90 91 /* LPADC module features */ 92 93 /* @brief FIFO availability on the SoC. */ 94 #define FSL_FEATURE_LPADC_FIFO_COUNT (2) 95 /* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */ 96 #define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1) 97 /* @brief Has differential mode (bitfield CMDLn[DIFF]). */ 98 #define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (0) 99 /* @brief Has channel scale (bitfield CMDLn[CSCALE]). */ 100 #define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (0) 101 /* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */ 102 #define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (1) 103 /* @brief Has conversion resolution select (bitfield CMDLn[MODE]). */ 104 #define FSL_FEATURE_LPADC_HAS_CMDL_MODE (1) 105 /* @brief Has compare function enable (bitfield CMDHn[CMPEN]). */ 106 #define FSL_FEATURE_LPADC_HAS_CMDH_CMPEN (1) 107 /* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */ 108 #define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (1) 109 /* @brief Has offset calibration (bitfield CTRL[CALOFS]). */ 110 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (1) 111 /* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */ 112 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (1) 113 /* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */ 114 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (1) 115 /* @brief Has internal clock (bitfield CFG[ADCKEN]). */ 116 #define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0) 117 /* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */ 118 #define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0) 119 /* @brief Has calibration (bitfield CFG[CALOFS]). */ 120 #define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0) 121 /* @brief Has offset trim (register OFSTRIM). */ 122 #define FSL_FEATURE_LPADC_HAS_OFSTRIM (1) 123 /* @brief OFSTRIM availability on the SoC. */ 124 #define FSL_FEATURE_LPADC_OFSTRIM_COUNT (2) 125 /* @brief Has Trigger status register. */ 126 #define FSL_FEATURE_LPADC_HAS_TSTAT (1) 127 /* @brief Has power select (bitfield CFG[PWRSEL]). */ 128 #define FSL_FEATURE_LPADC_HAS_CFG_PWRSEL (1) 129 /* @brief Has alternate channel B scale (bitfield CMDLn[ALTB_CSCALE]). */ 130 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_CSCALE (0) 131 /* @brief Has alternate channel B select enable (bitfield CMDLn[ALTBEN]). */ 132 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTBEN (0) 133 /* @brief Has alternate channel input (bitfield CMDLn[ALTB_ADCH]). */ 134 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_ADCH (0) 135 /* @brief Has offset calibration mode (bitfield CTRL[CALOFSMODE]). */ 136 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFSMODE (0) 137 /* @brief Conversion averaged bitfiled width. */ 138 #define FSL_FEATURE_LPADC_CONVERSIONS_AVERAGED_BITFIELD_WIDTH (3) 139 /* @brief Has B side channels. */ 140 #define FSL_FEATURE_LPADC_HAS_B_SIDE_CHANNELS (1) 141 /* @brief Indicate whether the LPADC STAT register has trigger exception interrupt function (bitfield STAT[TEXC_INT]). */ 142 #define FSL_FEATURE_LPADC_HAS_STAT_TEXC_INT (1) 143 /* @brief Indicate whether the LPADC STAT register has trigger completion interrupt function (bitfield STAT[TCOMP_INT]). */ 144 #define FSL_FEATURE_LPADC_HAS_STAT_TCOMP_INT (1) 145 /* @brief Indicate whether the LPADC STAT register has calibration ready function (bitfield STAT[CAL_RDY]). */ 146 #define FSL_FEATURE_LPADC_HAS_STAT_CAL_RDY (1) 147 /* @brief Indicate whether the LPADC STAT register has ADC active function (bitfield STAT[ADC_ACTIVE]). */ 148 #define FSL_FEATURE_LPADC_HAS_STAT_ADC_ACTIVE (1) 149 /* @brief Indicate whether the LPADC IE register has trigger exception interrupt enable function (bitfield IE[TEXC_IE]). */ 150 #define FSL_FEATURE_LPADC_HAS_IE_TEXC_IE (1) 151 /* @brief Indicate whether the LPADC IE register has trigger completion interrupt enable function (bitfield IE[TCOMP_IE]). */ 152 #define FSL_FEATURE_LPADC_HAS_IE_TCOMP_IE (1) 153 /* @brief Indicate whether the LPADC CFG register has trigger resume/restart enable function (bitfield CFG[TRES]). */ 154 #define FSL_FEATURE_LPADC_HAS_CFG_TRES (1) 155 /* @brief Indicate whether the LPADC CFG register has trigger command resume/restart enable function (bitfield CFG[TCMDRES]). */ 156 #define FSL_FEATURE_LPADC_HAS_CFG_TCMDRES (1) 157 /* @brief Indicate whether the LPADC CFG register has high priority trigger exception disable function (bitfield CFG[HPT_EXDI]). */ 158 #define FSL_FEATURE_LPADC_HAS_CFG_HPT_EXDI (1) 159 /* @brief Indicate LPADC CFG register TPRICTRL bitfield width. */ 160 #define FSL_FEATURE_LPADC_CFG_TPRICTRL_BITFIELD_WIDTH (2) 161 /* @brief Has internal temperature sensor. */ 162 #define FSL_FEATURE_LPADC_HAS_INTERNAL_TEMP_SENSOR (1) 163 /* @brief Temperature sensor parameter A (slope). */ 164 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_A (799.0f) 165 /* @brief Temperature sensor parameter B (offset). */ 166 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_B (280.0f) 167 /* @brief Temperature sensor parameter Alpha. */ 168 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_ALPHA (8.5f) 169 /* @brief Temperature sensor need calibration. */ 170 #define FSL_FEATURE_LPADC_TEMP_NEED_CALIBRATION (1) 171 /* @brief the address of temperature sensor parameter A (slope) in Flash. */ 172 #define FSL_FEATURE_FLASH_NMPA_TEMP_SLOPE_ADDRS (0x3FD28U) 173 /* @brief the address of temperature sensor parameter B (offset) in Flash. */ 174 #define FSL_FEATURE_FLASH_NMPA_TEMP_OFFSET_ADDRS (0x3FD2CU) 175 /* @brief the buffer size of temperature sensor. */ 176 #define FSL_FEATURE_LPADC_TEMP_SENS_BUFFER_SIZE (2U) 177 178 /* ANALOGCTRL module features */ 179 180 /* @brief Has PLL_USB_OUT_BIT_FIELD bitfile in XO32M_CTRL reigster. */ 181 #define FSL_FEATURE_ANACTRL_HAS_NO_ENABLE_PLL_USB_OUT_BIT_FIELD (1) 182 /* @brief Has XO32M_ADC_CLK_MODE bitfile in DUMMY_CTRL reigster. */ 183 #define FSL_FEATURE_ANACTRL_HAS_XO32M_ADC_CLK_MODE_BIF_FIELD (1) 184 /* @brief Has auxiliary bias(register AUX_BIAS). */ 185 #define FSL_FEATURE_ANACTRL_HAS_AUX_BIAS_REG (1) 186 187 /* CAN module features */ 188 189 /* @brief Support CANFD or not */ 190 #define FSL_FEATURE_CAN_SUPPORT_CANFD (1) 191 192 /* CTIMER module features */ 193 194 /* @brief CTIMER has no capture channel. */ 195 #define FSL_FEATURE_CTIMER_HAS_NO_INPUT_CAPTURE (0) 196 /* @brief CTIMER has no capture 2 interrupt. */ 197 #define FSL_FEATURE_CTIMER_HAS_NO_IR_CR2INT (0) 198 /* @brief CTIMER capture 3 interrupt. */ 199 #define FSL_FEATURE_CTIMER_HAS_IR_CR3INT (1) 200 /* @brief Has CTIMER CCR_CAP2 (register bits CCR[CAP2RE][CAP2FE][CAP2I]. */ 201 #define FSL_FEATURE_CTIMER_HAS_NO_CCR_CAP2 (0) 202 /* @brief Has CTIMER CCR_CAP3 (register bits CCR[CAP3RE][CAP3FE][CAP3I]). */ 203 #define FSL_FEATURE_CTIMER_HAS_CCR_CAP3 (1) 204 /* @brief CTIMER Has register MSR */ 205 #define FSL_FEATURE_CTIMER_HAS_MSR (1) 206 207 /* DMA module features */ 208 209 /* @brief Number of channels */ 210 #define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (23) 211 /* @brief Align size of DMA descriptor */ 212 #define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512) 213 /* @brief DMA head link descriptor table align size */ 214 #define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U) 215 216 /* FLEXCOMM module features */ 217 218 /* @brief FLEXCOMM0 USART INDEX 0 */ 219 #define FSL_FEATURE_FLEXCOMM0_USART_INDEX (0) 220 /* @brief FLEXCOMM0 SPI INDEX 0 */ 221 #define FSL_FEATURE_FLEXCOMM0_SPI_INDEX (0) 222 /* @brief FLEXCOMM0 I2C INDEX 0 */ 223 #define FSL_FEATURE_FLEXCOMM0_I2C_INDEX (0) 224 /* @brief FLEXCOMM0 I2S INDEX 0 */ 225 #define FSL_FEATURE_FLEXCOMM0_I2S_INDEX (0) 226 /* @brief FLEXCOMM1 USART INDEX 1 */ 227 #define FSL_FEATURE_FLEXCOMM1_USART_INDEX (1) 228 /* @brief FLEXCOMM1 I2C INDEX 1 */ 229 #define FSL_FEATURE_FLEXCOMM1_I2C_INDEX (1) 230 /* @brief FLEXCOMM2 USART INDEX 2 */ 231 #define FSL_FEATURE_FLEXCOMM2_USART_INDEX (2) 232 /* @brief FLEXCOMM2 I2C INDEX 2 */ 233 #define FSL_FEATURE_FLEXCOMM2_I2C_INDEX (2) 234 /* @brief FLEXCOMM3 USART INDEX 3 */ 235 #define FSL_FEATURE_FLEXCOMM3_USART_INDEX (3) 236 /* @brief FLEXCOMM3 SPI INDEX 3 */ 237 #define FSL_FEATURE_FLEXCOMM3_SPI_INDEX (3) 238 /* @brief FLEXCOMM3 I2C INDEX 3 */ 239 #define FSL_FEATURE_FLEXCOMM3_I2C_INDEX (3) 240 /* @brief FLEXCOMM3 I2S INDEX 3 */ 241 #define FSL_FEATURE_FLEXCOMM3_I2S_INDEX (3) 242 /* @brief FLEXCOMM4 USART INDEX 4 */ 243 #define FSL_FEATURE_FLEXCOMM4_USART_INDEX (4) 244 /* @brief FLEXCOMM4 I2C INDEX 4 */ 245 #define FSL_FEATURE_FLEXCOMM4_I2C_INDEX (4) 246 /* @brief FLEXCOMM4 I2S INDEX 4 */ 247 #define FSL_FEATURE_FLEXCOMM4_I2S_INDEX (4) 248 /* @brief FLEXCOMM5 USART INDEX 5 */ 249 #define FSL_FEATURE_FLEXCOMM5_USART_INDEX (5) 250 /* @brief FLEXCOMM5 I2C INDEX 5 */ 251 #define FSL_FEATURE_FLEXCOMM5_I2C_INDEX (5) 252 /* @brief FLEXCOMM6 USART INDEX 6 */ 253 #define FSL_FEATURE_FLEXCOMM6_USART_INDEX (6) 254 /* @brief FLEXCOMM6 SPI INDEX 6 */ 255 #define FSL_FEATURE_FLEXCOMM6_SPI_INDEX (6) 256 /* @brief FLEXCOMM6 I2C INDEX 6 */ 257 #define FSL_FEATURE_FLEXCOMM6_I2C_INDEX (6) 258 /* @brief FLEXCOMM6 I2S INDEX 6 */ 259 #define FSL_FEATURE_FLEXCOMM6_I2S_INDEX (6) 260 /* @brief FLEXCOMM8 SPI(HS_SPI) INDEX 8 */ 261 #define FSL_FEATURE_FLEXCOMM8_SPI_INDEX (8) 262 /* @brief I2S has DMIC interconnection */ 263 #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) (0) 264 /* @brief I2S support dual channel transfer */ 265 #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_SUPPORT_SECONDARY_CHANNELn(x) \ 266 (((x) == FLEXCOMM0) ? (0) : \ 267 (((x) == FLEXCOMM1) ? (0) : \ 268 (((x) == FLEXCOMM2) ? (0) : \ 269 (((x) == FLEXCOMM3) ? (0) : \ 270 (((x) == FLEXCOMM4) ? (0) : \ 271 (((x) == FLEXCOMM5) ? (0) : \ 272 (((x) == FLEXCOMM6) ? (1) : \ 273 (((x) == FLEXCOMM8) ? (0) : (-1))))))))) 274 275 /* GINT module features */ 276 277 /* @brief The count of th port which are supported in GINT. */ 278 #define FSL_FEATURE_GINT_PORT_COUNT (2) 279 280 /* I2S module features */ 281 282 /* @brief I2S6 and I2S7 support dual channel transfer. */ 283 #define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1) 284 /* @brief I2S has DMIC interconnection */ 285 #define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (0) 286 287 /* INPUTMUX module features */ 288 289 /* @brief Inputmux has DMA Request Enable */ 290 #define FSL_FEATURE_INPUTMUX_HAS_SIGNAL_ENA (0) 291 /* @brief Inputmux has channel mux control */ 292 #define FSL_FEATURE_INPUTMUX_HAS_CHANNEL_MUX (0) 293 294 /* IOCON module features */ 295 296 /* @brief Func bit field width */ 297 #define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4) 298 299 /* MRT module features */ 300 301 /* @brief number of channels. */ 302 #define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS (4) 303 304 /* PINT module features */ 305 306 /* @brief Number of connected outputs */ 307 #define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8) 308 309 /* PLU module features */ 310 311 /* @brief Has WAKEINT_CTRL register. */ 312 #define FSL_FEATURE_PLU_HAS_WAKEINT_CTRL_REG (1) 313 314 /* PMC module features */ 315 316 /* @brief UTICK does not support PD configure. */ 317 #define FSL_FEATURE_UTICK_HAS_NO_PDCFG (1) 318 /* @brief WDT OSC does not support PD configure. */ 319 #define FSL_FEATURE_WWDT_HAS_NO_PDCFG (1) 320 321 /* POWERLIB module features */ 322 323 /* @brief Powerlib API is different with other LPC series devices. */ 324 #define FSL_FEATURE_POWERLIB_EXTEND (1) 325 326 /* RTC module features */ 327 328 /* @brief Has SUBSEC Register (register SUBSEC) */ 329 #define FSL_FEATURE_RTC_HAS_SUBSEC (1) 330 331 /* SCT module features */ 332 333 /* @brief Number of events */ 334 #define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16) 335 /* @brief Number of states */ 336 #define FSL_FEATURE_SCT_NUMBER_OF_STATES (32) 337 /* @brief Number of match capture */ 338 #define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16) 339 /* @brief Number of outputs */ 340 #define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10) 341 342 /* SECPINT module features */ 343 344 /* @brief Number of connected outputs */ 345 #define FSL_FEATURE_SECPINT_NUMBER_OF_CONNECTED_OUTPUTS (2) 346 347 /* SPI module features */ 348 349 /* @brief SSEL pin count. */ 350 #define FSL_FEATURE_SPI_SSEL_COUNT (4) 351 352 /* SYSCON module features */ 353 354 /* @brief Flash page size in bytes */ 355 #define FSL_FEATURE_SYSCON_FLASH_PAGE_SIZE_BYTES (512) 356 /* @brief Flash sector size in bytes */ 357 #define FSL_FEATURE_SYSCON_FLASH_SECTOR_SIZE_BYTES (32768) 358 /* @brief Flash size in bytes */ 359 #define FSL_FEATURE_SYSCON_FLASH_SIZE_BYTES (131072) 360 /* @brief Has Power Down mode */ 361 #define FSL_FEATURE_SYSCON_HAS_POWERDOWN_MODE (1) 362 /* @brief CCM_ANALOG availability on the SoC. */ 363 #define FSL_FEATURE_SOC_CCM_ANALOG_COUNT (1) 364 /* @brief Starter register discontinuous. */ 365 #define FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS (1) 366 367 /* SYSCTL1 module features */ 368 369 /* @brief SYSCTRL has Code Gray feature. */ 370 #define FSL_FEATURE_SYSCTRL_HAS_CODE_GRAY (1) 371 372 /* WWDT module features */ 373 374 /* @brief Has no RESET register. */ 375 #define FSL_FEATURE_WWDT_HAS_NO_RESET (1) 376 /* @brief WWDT does not support oscillator lock. */ 377 #define FSL_FEATURE_WWDT_HAS_NO_OSCILLATOR_LOCK (1) 378 379 #endif /* _LPC5504CPXXXX_FEATURES_H_ */ 380 381