1 /* 2 ** ################################################################### 3 ** Version: rev. 1.1, 2019-05-16 4 ** Build: b210318 5 ** 6 ** Abstract: 7 ** Chip specific module features. 8 ** 9 ** Copyright 2016 Freescale Semiconductor, Inc. 10 ** Copyright 2016-2021 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 (2018-08-22) 20 ** Initial version based on v0.2UM 21 ** - rev. 1.1 (2019-05-16) 22 ** Initial A1 version based on v1.3UM 23 ** 24 ** ################################################################### 25 */ 26 27 #ifndef _LPC55S28_FEATURES_H_ 28 #define _LPC55S28_FEATURES_H_ 29 30 /* SOC module features */ 31 32 /* @brief CASPER availability on the SoC. */ 33 #define FSL_FEATURE_SOC_CASPER_COUNT (1) 34 /* @brief CRC availability on the SoC. */ 35 #define FSL_FEATURE_SOC_CRC_COUNT (1) 36 /* @brief CTIMER availability on the SoC. */ 37 #define FSL_FEATURE_SOC_CTIMER_COUNT (5) 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 (9) 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 HASHCRYPT availability on the SoC. */ 51 #define FSL_FEATURE_SOC_HASHCRYPT_COUNT (1) 52 /* @brief I2C availability on the SoC. */ 53 #define FSL_FEATURE_SOC_I2C_COUNT (8) 54 /* @brief I2S availability on the SoC. */ 55 #define FSL_FEATURE_SOC_I2S_COUNT (8) 56 /* @brief INPUTMUX availability on the SoC. */ 57 #define FSL_FEATURE_SOC_INPUTMUX_COUNT (1) 58 /* @brief IOCON availability on the SoC. */ 59 #define FSL_FEATURE_SOC_IOCON_COUNT (1) 60 /* @brief LPADC availability on the SoC. */ 61 #define FSL_FEATURE_SOC_LPADC_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 PUF availability on the SoC. */ 73 #define FSL_FEATURE_SOC_PUF_COUNT (1) 74 /* @brief LPC_RNG1 availability on the SoC. */ 75 #define FSL_FEATURE_SOC_LPC_RNG1_COUNT (1) 76 /* @brief RTC availability on the SoC. */ 77 #define FSL_FEATURE_SOC_RTC_COUNT (1) 78 /* @brief SCT availability on the SoC. */ 79 #define FSL_FEATURE_SOC_SCT_COUNT (1) 80 /* @brief SDIF availability on the SoC. */ 81 #define FSL_FEATURE_SOC_SDIF_COUNT (1) 82 /* @brief SPI availability on the SoC. */ 83 #define FSL_FEATURE_SOC_SPI_COUNT (9) 84 /* @brief SYSCON availability on the SoC. */ 85 #define FSL_FEATURE_SOC_SYSCON_COUNT (1) 86 /* @brief SYSCTL1 availability on the SoC. */ 87 #define FSL_FEATURE_SOC_SYSCTL1_COUNT (1) 88 /* @brief USART availability on the SoC. */ 89 #define FSL_FEATURE_SOC_USART_COUNT (8) 90 /* @brief USB availability on the SoC. */ 91 #define FSL_FEATURE_SOC_USB_COUNT (1) 92 /* @brief USBFSH availability on the SoC. */ 93 #define FSL_FEATURE_SOC_USBFSH_COUNT (1) 94 /* @brief USBHSD availability on the SoC. */ 95 #define FSL_FEATURE_SOC_USBHSD_COUNT (1) 96 /* @brief USBHSH availability on the SoC. */ 97 #define FSL_FEATURE_SOC_USBHSH_COUNT (1) 98 /* @brief USBPHY availability on the SoC. */ 99 #define FSL_FEATURE_SOC_USBPHY_COUNT (1) 100 /* @brief UTICK availability on the SoC. */ 101 #define FSL_FEATURE_SOC_UTICK_COUNT (1) 102 /* @brief WWDT availability on the SoC. */ 103 #define FSL_FEATURE_SOC_WWDT_COUNT (1) 104 105 /* LPADC module features */ 106 107 /* @brief FIFO availability on the SoC. */ 108 #define FSL_FEATURE_LPADC_FIFO_COUNT (2) 109 /* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */ 110 #define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1) 111 /* @brief Has differential mode (bitfield CMDLn[DIFF]). */ 112 #define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (0) 113 /* @brief Has channel scale (bitfield CMDLn[CSCALE]). */ 114 #define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (0) 115 /* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */ 116 #define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (1) 117 /* @brief Has conversion resolution select (bitfield CMDLn[MODE]). */ 118 #define FSL_FEATURE_LPADC_HAS_CMDL_MODE (1) 119 /* @brief Has compare function enable (bitfield CMDHn[CMPEN]). */ 120 #define FSL_FEATURE_LPADC_HAS_CMDH_CMPEN (1) 121 /* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */ 122 #define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (1) 123 /* @brief Has offset calibration (bitfield CTRL[CALOFS]). */ 124 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (1) 125 /* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */ 126 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (1) 127 /* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */ 128 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (1) 129 /* @brief Has internal clock (bitfield CFG[ADCKEN]). */ 130 #define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0) 131 /* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */ 132 #define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0) 133 /* @brief Has calibration (bitfield CFG[CALOFS]). */ 134 #define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0) 135 /* @brief Has offset trim (register OFSTRIM). */ 136 #define FSL_FEATURE_LPADC_HAS_OFSTRIM (1) 137 /* @brief Has internal temperature sensor. */ 138 #define FSL_FEATURE_LPADC_HAS_INTERNAL_TEMP_SENSOR (1) 139 /* @brief Temperature sensor parameter A (slope). */ 140 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_A (744.6f) 141 /* @brief Temperature sensor parameter B (offset). */ 142 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_B (313.7f) 143 /* @brief Temperature sensor parameter Alpha. */ 144 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_ALPHA (11.5f) 145 /* @brief the buffer size of temperature sensor. */ 146 #define FSL_FEATURE_LPADC_TEMP_SENS_BUFFER_SIZE (4U) 147 148 /* CASPER module features */ 149 150 /* @brief Base address of the CASPER dedicated RAM */ 151 #define FSL_FEATURE_CASPER_RAM_BASE_ADDRESS (0x04000000) 152 /* @brief SW interleaving of the CASPER dedicated RAM */ 153 #define FSL_FEATURE_CASPER_RAM_IS_INTERLEAVED (1) 154 /* @brief CASPER dedicated RAM offset */ 155 #define FSL_FEATURE_CASPER_RAM_OFFSET (0xE) 156 157 /* CTIMER module features */ 158 159 /* No feature definitions */ 160 161 /* DMA module features */ 162 163 /* @brief Number of channels */ 164 #define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (23) 165 /* @brief Align size of DMA descriptor */ 166 #define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512) 167 /* @brief DMA head link descriptor table align size */ 168 #define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U) 169 170 /* FLEXCOMM module features */ 171 172 /* @brief FLEXCOMM0 USART INDEX 0 */ 173 #define FSL_FEATURE_FLEXCOMM0_USART_INDEX (0) 174 /* @brief FLEXCOMM0 SPI INDEX 0 */ 175 #define FSL_FEATURE_FLEXCOMM0_SPI_INDEX (0) 176 /* @brief FLEXCOMM0 I2C INDEX 0 */ 177 #define FSL_FEATURE_FLEXCOMM0_I2C_INDEX (0) 178 /* @brief FLEXCOMM0 I2S INDEX 0 */ 179 #define FSL_FEATURE_FLEXCOMM0_I2S_INDEX (0) 180 /* @brief FLEXCOMM1 USART INDEX 1 */ 181 #define FSL_FEATURE_FLEXCOMM1_USART_INDEX (1) 182 /* @brief FLEXCOMM1 SPI INDEX 1 */ 183 #define FSL_FEATURE_FLEXCOMM1_SPI_INDEX (1) 184 /* @brief FLEXCOMM1 I2C INDEX 1 */ 185 #define FSL_FEATURE_FLEXCOMM1_I2C_INDEX (1) 186 /* @brief FLEXCOMM1 I2S INDEX 1 */ 187 #define FSL_FEATURE_FLEXCOMM1_I2S_INDEX (1) 188 /* @brief FLEXCOMM2 USART INDEX 2 */ 189 #define FSL_FEATURE_FLEXCOMM2_USART_INDEX (2) 190 /* @brief FLEXCOMM2 SPI INDEX 2 */ 191 #define FSL_FEATURE_FLEXCOMM2_SPI_INDEX (2) 192 /* @brief FLEXCOMM2 I2C INDEX 2 */ 193 #define FSL_FEATURE_FLEXCOMM2_I2C_INDEX (2) 194 /* @brief FLEXCOMM2 I2S INDEX 2 */ 195 #define FSL_FEATURE_FLEXCOMM2_I2S_INDEX (2) 196 /* @brief FLEXCOMM3 USART INDEX 3 */ 197 #define FSL_FEATURE_FLEXCOMM3_USART_INDEX (3) 198 /* @brief FLEXCOMM3 SPI INDEX 3 */ 199 #define FSL_FEATURE_FLEXCOMM3_SPI_INDEX (3) 200 /* @brief FLEXCOMM3 I2C INDEX 3 */ 201 #define FSL_FEATURE_FLEXCOMM3_I2C_INDEX (3) 202 /* @brief FLEXCOMM3 I2S INDEX 3 */ 203 #define FSL_FEATURE_FLEXCOMM3_I2S_INDEX (3) 204 /* @brief FLEXCOMM4 USART INDEX 4 */ 205 #define FSL_FEATURE_FLEXCOMM4_USART_INDEX (4) 206 /* @brief FLEXCOMM4 SPI INDEX 4 */ 207 #define FSL_FEATURE_FLEXCOMM4_SPI_INDEX (4) 208 /* @brief FLEXCOMM4 I2C INDEX 4 */ 209 #define FSL_FEATURE_FLEXCOMM4_I2C_INDEX (4) 210 /* @brief FLEXCOMM4 I2S INDEX 4 */ 211 #define FSL_FEATURE_FLEXCOMM4_I2S_INDEX (4) 212 /* @brief FLEXCOMM5 USART INDEX 5 */ 213 #define FSL_FEATURE_FLEXCOMM5_USART_INDEX (5) 214 /* @brief FLEXCOMM5 SPI INDEX 5 */ 215 #define FSL_FEATURE_FLEXCOMM5_SPI_INDEX (5) 216 /* @brief FLEXCOMM5 I2C INDEX 5 */ 217 #define FSL_FEATURE_FLEXCOMM5_I2C_INDEX (5) 218 /* @brief FLEXCOMM5 I2S INDEX 5 */ 219 #define FSL_FEATURE_FLEXCOMM5_I2S_INDEX (5) 220 /* @brief FLEXCOMM6 USART INDEX 6 */ 221 #define FSL_FEATURE_FLEXCOMM6_USART_INDEX (6) 222 /* @brief FLEXCOMM6 SPI INDEX 6 */ 223 #define FSL_FEATURE_FLEXCOMM6_SPI_INDEX (6) 224 /* @brief FLEXCOMM6 I2C INDEX 6 */ 225 #define FSL_FEATURE_FLEXCOMM6_I2C_INDEX (6) 226 /* @brief FLEXCOMM6 I2S INDEX 6 */ 227 #define FSL_FEATURE_FLEXCOMM6_I2S_INDEX (6) 228 /* @brief FLEXCOMM7 USART INDEX 7 */ 229 #define FSL_FEATURE_FLEXCOMM7_USART_INDEX (7) 230 /* @brief FLEXCOMM7 SPI INDEX 7 */ 231 #define FSL_FEATURE_FLEXCOMM7_SPI_INDEX (7) 232 /* @brief FLEXCOMM7 I2C INDEX 7 */ 233 #define FSL_FEATURE_FLEXCOMM7_I2C_INDEX (7) 234 /* @brief FLEXCOMM7 I2S INDEX 7 */ 235 #define FSL_FEATURE_FLEXCOMM7_I2S_INDEX (7) 236 /* @brief FLEXCOMM8 SPI(HS_SPI) INDEX 8 */ 237 #define FSL_FEATURE_FLEXCOMM8_SPI_INDEX (8) 238 /* @brief I2S has DMIC interconnection */ 239 #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) (0) 240 241 /* HASHCRYPT module features */ 242 243 /* @brief the address of alias offset */ 244 #define FSL_FEATURE_HASHCRYPT_ALIAS_OFFSET (0x00000000) 245 246 /* I2S module features */ 247 248 /* @brief I2S support dual channel transfer. */ 249 #define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (0) 250 /* @brief I2S has DMIC interconnection */ 251 #define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (0) 252 253 /* IOCON module features */ 254 255 /* @brief Func bit field width */ 256 #define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4) 257 258 /* MRT module features */ 259 260 /* @brief number of channels. */ 261 #define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS (4) 262 263 /* PINT module features */ 264 265 /* @brief Number of connected outputs */ 266 #define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8) 267 268 /* PLU module features */ 269 270 /* @brief Has WAKEINT_CTRL register. */ 271 #define FSL_FEATURE_PLU_HAS_WAKEINT_CTRL_REG (1) 272 273 /* PMC module features */ 274 275 /* @brief UTICK does not support PD configure. */ 276 #define FSL_FEATURE_UTICK_HAS_NO_PDCFG (1) 277 /* @brief WDT OSC does not support PD configure. */ 278 #define FSL_FEATURE_WWDT_HAS_NO_PDCFG (1) 279 280 /* POWERLIB module features */ 281 282 /* @brief Powerlib API is different with other LPC series devices. */ 283 #define FSL_FEATURE_POWERLIB_EXTEND (1) 284 285 /* PUF module features */ 286 287 /* @brief Number of PUF key slots available on device. */ 288 #define FSL_FEATURE_PUF_HAS_KEYSLOTS (4) 289 /* @brief the shift status value */ 290 #define FSL_FEATURE_PUF_HAS_SHIFT_STATUS (1) 291 292 /* RTC module features */ 293 294 /* No feature definitions */ 295 296 /* SCT module features */ 297 298 /* @brief Number of events */ 299 #define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16) 300 /* @brief Number of states */ 301 #define FSL_FEATURE_SCT_NUMBER_OF_STATES (32) 302 /* @brief Number of match capture */ 303 #define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16) 304 /* @brief Number of outputs */ 305 #define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10) 306 307 /* SDIF module features */ 308 309 /* @brief FIFO depth, every location is a WORD */ 310 #define FSL_FEATURE_SDIF_FIFO_DEPTH_64_32BITS (64) 311 /* @brief Max DMA buffer size */ 312 #define FSL_FEATURE_SDIF_INTERNAL_DMA_MAX_BUFFER_SIZE (4096) 313 /* @brief Max source clock in HZ */ 314 #define FSL_FEATURE_SDIF_MAX_SOURCE_CLOCK (52000000) 315 /* @brief support 2 cards */ 316 #define FSL_FEATURE_SDIF_ONE_INSTANCE_SUPPORT_TWO_CARD (1) 317 318 /* SECPINT module features */ 319 320 /* @brief Number of connected outputs */ 321 #define FSL_FEATURE_SECPINT_NUMBER_OF_CONNECTED_OUTPUTS (2) 322 323 /* SYSCON module features */ 324 325 /* @brief Flash page size in bytes */ 326 #define FSL_FEATURE_SYSCON_FLASH_PAGE_SIZE_BYTES (512) 327 /* @brief Flash sector size in bytes */ 328 #define FSL_FEATURE_SYSCON_FLASH_SECTOR_SIZE_BYTES (32768) 329 /* @brief Flash size in bytes */ 330 #define FSL_FEATURE_SYSCON_FLASH_SIZE_BYTES (524288) 331 /* @brief Has Power Down mode */ 332 #define FSL_FEATURE_SYSCON_HAS_POWERDOWN_MODE (1) 333 /* @brief CCM_ANALOG availability on the SoC. */ 334 #define FSL_FEATURE_SOC_CCM_ANALOG_COUNT (1) 335 /* @brief Starter register discontinuous. */ 336 #define FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS (1) 337 338 /* SYSCTL1 module features */ 339 340 /* No feature definitions */ 341 342 /* USB module features */ 343 344 /* @brief Size of the USB dedicated RAM */ 345 #define FSL_FEATURE_USB_USB_RAM (0x00004000) 346 /* @brief Base address of the USB dedicated RAM */ 347 #define FSL_FEATURE_USB_USB_RAM_BASE_ADDRESS (0x40100000) 348 /* @brief USB version */ 349 #define FSL_FEATURE_USB_VERSION (200) 350 /* @brief Number of the endpoint in USB FS */ 351 #define FSL_FEATURE_USB_EP_NUM (5) 352 353 /* USBFSH module features */ 354 355 /* @brief Size of the USB dedicated RAM */ 356 #define FSL_FEATURE_USBFSH_USB_RAM (0x00004000) 357 /* @brief Base address of the USB dedicated RAM */ 358 #define FSL_FEATURE_USBFSH_USB_RAM_BASE_ADDRESS (0x40100000) 359 /* @brief USBFSH version */ 360 #define FSL_FEATURE_USBFSH_VERSION (200) 361 362 /* USBHSD module features */ 363 364 /* @brief Size of the USB dedicated RAM */ 365 #define FSL_FEATURE_USBHSD_USB_RAM (0x00004000) 366 /* @brief Base address of the USB dedicated RAM */ 367 #define FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS (0x40100000) 368 /* @brief USBHSD version */ 369 #define FSL_FEATURE_USBHSD_VERSION (300) 370 /* @brief Number of the endpoint in USB HS */ 371 #define FSL_FEATURE_USBHSD_EP_NUM (6) 372 373 /* USBHSH module features */ 374 375 /* @brief Size of the USB dedicated RAM */ 376 #define FSL_FEATURE_USBHSH_USB_RAM (0x00004000) 377 /* @brief Base address of the USB dedicated RAM */ 378 #define FSL_FEATURE_USBHSH_USB_RAM_BASE_ADDRESS (0x40100000) 379 /* @brief USBHSH version */ 380 #define FSL_FEATURE_USBHSH_VERSION (300) 381 382 /* USBPHY module features */ 383 384 /* @brief Size of the USB dedicated RAM */ 385 #define FSL_FEATURE_USBPHY_USB_RAM (0x00004000) 386 /* @brief Base address of the USB dedicated RAM */ 387 #define FSL_FEATURE_USBPHY_USB_RAM_BASE_ADDRESS (0x40100000) 388 /* @brief USBHSD version */ 389 #define FSL_FEATURE_USBPHY_VERSION (300) 390 /* @brief Number of the endpoint in USB HS */ 391 #define FSL_FEATURE_USBPHY_EP_NUM (6) 392 393 /* WWDT module features */ 394 395 /* @brief Has no RESET register. */ 396 #define FSL_FEATURE_WWDT_HAS_NO_RESET (1) 397 /* @brief WWDT does not support oscillator lock. */ 398 #define FSL_FEATURE_WWDT_HAS_NO_OSCILLATOR_LOCK (1) 399 400 #endif /* _LPC55S28_FEATURES_H_ */ 401 402