1 /**************************************************************************//** 2 * @file 3 * @brief Device Manager API Definition 4 ****************************************************************************** 5 * # License 6 * <b>Copyright 2024 Silicon Laboratories, Inc. www.silabs.com</b> 7 ****************************************************************************** 8 * 9 * SPDX-License-Identifier: Zlib 10 * 11 * The licensor of this software is Silicon Laboratories Inc. 12 * 13 * This software is provided 'as-is', without any express or implied 14 * warranty. In no event will the authors be held liable for any damages 15 * arising from the use of this software. 16 * 17 * Permission is granted to anyone to use this software for any purpose, 18 * including commercial applications, and to alter it and redistribute it 19 * freely, subject to the following restrictions: 20 * 21 * 1. The origin of this software must not be misrepresented; you must not 22 * claim that you wrote the original software. If you use this software 23 * in a product, an acknowledgment in the product documentation would be 24 * appreciated but is not required. 25 * 2. Altered source versions must be plainly marked as such, and must not be 26 * misrepresented as being the original software. 27 * 3. This notice may not be removed or altered from any source distribution. 28 * 29 *****************************************************************************/ 30 #ifndef SL_DEVICE_PERIPHERAL_H 31 #define SL_DEVICE_PERIPHERAL_H 32 33 #include "sl_device_peripheral_types.h" 34 #include "sl_code_classification.h" 35 36 #if defined(DEVICE_PERIPHERAL_INTERNAL_PRESENT) 37 #include "sli_device_peripheral_internal.h" 38 #endif 39 40 #ifdef __cplusplus 41 extern "C" { 42 #endif 43 44 /***************************************************************************//** 45 * @addtogroup device_peripheral Device Abstraction Peripheral 46 * @details 47 * ## Overview 48 * 49 * The Device Abstraction Peripheral module defines the different peripherals 50 * that exist across all Silicon Labs devices and their utility functions. 51 * 52 * @{ 53 ******************************************************************************/ 54 55 // ---------------------------------------------------------------------------- 56 // DEFINES 57 58 /***************************************************************************//** 59 * @name Peripheral Defines 60 * Those defines can be used as constant of type sl_peripheral_t. 61 * The values of those defines are device specific. 62 * @{ 63 ******************************************************************************/ 64 65 /// Define pointer to ACMP0 peripheral structure. 66 #define SL_PERIPHERAL_ACMP0 (&sl_peripheral_val_acmp0) 67 68 /// Define pointer to ACMP1 peripheral structure. 69 #define SL_PERIPHERAL_ACMP1 (&sl_peripheral_val_acmp1) 70 71 /// Define pointer to ADC0 peripheral structure. 72 #define SL_PERIPHERAL_ADC0 (&sl_peripheral_val_adc0) 73 74 /// Define pointer to AES peripheral structure. 75 #define SL_PERIPHERAL_AES (&sl_peripheral_val_aes) 76 77 /// Define pointer to AMUXCP0 peripheral structure. 78 #define SL_PERIPHERAL_AMUXCP0 (&sl_peripheral_val_amuxcp0) 79 80 /// Define pointer to BUFC peripheral structure. 81 #define SL_PERIPHERAL_BUFC (&sl_peripheral_val_bufc) 82 83 /// Define pointer to BURAM peripheral structure. 84 #define SL_PERIPHERAL_BURAM (&sl_peripheral_val_buram) 85 86 /// Define pointer to BURTC peripheral structure. 87 #define SL_PERIPHERAL_BURTC (&sl_peripheral_val_burtc) 88 89 /// Define pointer to CMU peripheral structure. 90 #define SL_PERIPHERAL_CMU (&sl_peripheral_val_cmu) 91 92 /// Define pointer to CRYPTOACC peripheral structure. 93 #define SL_PERIPHERAL_CRYPTOACC (&sl_peripheral_val_cryptoacc) 94 95 /// Define pointer to DCDC peripheral structure. 96 #define SL_PERIPHERAL_DCDC (&sl_peripheral_val_dcdc) 97 98 /// Define pointer to DEVINFO peripheral structure. 99 #define SL_PERIPHERAL_DEVINFO (&sl_peripheral_val_devinfo) 100 101 /// Define pointer to DMEM peripheral structure. 102 #define SL_PERIPHERAL_DMEM (&sl_peripheral_val_dmem) 103 104 /// Define pointer to DMEM0 peripheral structure. 105 #define SL_PERIPHERAL_DMEM0 (&sl_peripheral_val_dmem0) 106 107 /// Define pointer to DMEM1 peripheral structure. 108 #define SL_PERIPHERAL_DMEM1 (&sl_peripheral_val_dmem1) 109 110 /// Define pointer to DPLL0 peripheral structure. 111 #define SL_PERIPHERAL_DPLL0 (&sl_peripheral_val_dpll0) 112 113 /// Define pointer to EMU peripheral structure. 114 #define SL_PERIPHERAL_EMU (&sl_peripheral_val_emu) 115 116 /// Define pointer to ETAMPDET peripheral structure. 117 #define SL_PERIPHERAL_ETAMPDET (&sl_peripheral_val_etampdet) 118 119 /// Define pointer to EUART0 peripheral structure. 120 #define SL_PERIPHERAL_EUART0 (&sl_peripheral_val_euart0) 121 122 /// Define pointer to EUSART0 peripheral structure. 123 #define SL_PERIPHERAL_EUSART0 (&sl_peripheral_val_eusart0) 124 125 /// Define pointer to EUSART1 peripheral structure. 126 #define SL_PERIPHERAL_EUSART1 (&sl_peripheral_val_eusart1) 127 128 /// Define pointer to EUSART2 peripheral structure. 129 #define SL_PERIPHERAL_EUSART2 (&sl_peripheral_val_eusart2) 130 131 /// Define pointer to EUSART3 peripheral structure. 132 #define SL_PERIPHERAL_EUSART3 (&sl_peripheral_val_eusart3) 133 134 /// Define pointer to EUSART4 peripheral structure. 135 #define SL_PERIPHERAL_EUSART4 (&sl_peripheral_val_eusart4) 136 137 /// Define pointer to FSRCO peripheral structure. 138 #define SL_PERIPHERAL_FSRCO (&sl_peripheral_val_fsrco) 139 140 /// Define pointer to GPCRC0 peripheral structure. 141 #define SL_PERIPHERAL_GPCRC0 (&sl_peripheral_val_gpcrc0) 142 143 /// Define pointer to GPIO peripheral structure. 144 #define SL_PERIPHERAL_GPIO (&sl_peripheral_val_gpio) 145 146 /// Define pointer to HFRCO0 peripheral structure. 147 #define SL_PERIPHERAL_HFRCO0 (&sl_peripheral_val_hfrco0) 148 149 /// Define pointer to HFRCOEM23 peripheral structure. 150 #define SL_PERIPHERAL_HFRCOEM23 (&sl_peripheral_val_hfrcoem23) 151 152 /// Define pointer to HFXO0 peripheral structure. 153 #define SL_PERIPHERAL_HFXO0 (&sl_peripheral_val_hfxo0) 154 155 /// Define pointer to HOSTMAILBOX peripheral structure. 156 #define SL_PERIPHERAL_HOSTMAILBOX (&sl_peripheral_val_hostmailbox) 157 158 /// Define pointer to HOSTPORTAL peripheral structure. 159 #define SL_PERIPHERAL_HOSTPORTAL (&sl_peripheral_val_hostportal) 160 161 /// Define pointer to I2C0 peripheral structure. 162 #define SL_PERIPHERAL_I2C0 (&sl_peripheral_val_i2c0) 163 164 /// Define pointer to I2C1 peripheral structure. 165 #define SL_PERIPHERAL_I2C1 (&sl_peripheral_val_i2c1) 166 167 /// Define pointer to I2C2 peripheral structure. 168 #define SL_PERIPHERAL_I2C2 (&sl_peripheral_val_i2c2) 169 170 /// Define pointer to I2C3 peripheral structure. 171 #define SL_PERIPHERAL_I2C3 (&sl_peripheral_val_i2c3) 172 173 /// Define pointer to IADC0 peripheral structure. 174 #define SL_PERIPHERAL_IADC0 (&sl_peripheral_val_iadc0) 175 176 /// Define pointer to ICACHE0 peripheral structure. 177 #define SL_PERIPHERAL_ICACHE0 (&sl_peripheral_val_icache0) 178 179 /// Define pointer to KEYSCAN peripheral structure. 180 #define SL_PERIPHERAL_KEYSCAN (&sl_peripheral_val_keyscan) 181 182 /// Define pointer to L1ICACHE0 peripheral structure. 183 #define SL_PERIPHERAL_L1ICACHE0 (&sl_peripheral_val_l1icache0) 184 185 /// Define pointer to L2ICACHE0 peripheral structure. 186 #define SL_PERIPHERAL_L2ICACHE0 (&sl_peripheral_val_l2icache0) 187 188 /// Define pointer to LCD peripheral structure. 189 #define SL_PERIPHERAL_LCD (&sl_peripheral_val_lcd) 190 191 /// Define pointer to LCDRF peripheral structure. 192 #define SL_PERIPHERAL_LCDRF (&sl_peripheral_val_lcdrf) 193 194 /// Define pointer to LDMA0 peripheral structure. 195 #define SL_PERIPHERAL_LDMA0 (&sl_peripheral_val_ldma0) 196 197 /// Define pointer to LDMAXBAR0 peripheral structure. 198 #define SL_PERIPHERAL_LDMAXBAR0 (&sl_peripheral_val_ldmaxbar0) 199 200 /// Define pointer to LEDDRV0 peripheral structure. 201 #define SL_PERIPHERAL_LEDDRV0 (&sl_peripheral_val_leddrv0) 202 203 /// Define pointer to LESENSE peripheral structure. 204 #define SL_PERIPHERAL_LESENSE (&sl_peripheral_val_lesense) 205 206 /// Define pointer to LETIMER0 peripheral structure. 207 #define SL_PERIPHERAL_LETIMER0 (&sl_peripheral_val_letimer0) 208 209 /// Define pointer to LFRCO peripheral structure. 210 #define SL_PERIPHERAL_LFRCO (&sl_peripheral_val_lfrco) 211 212 /// Define pointer to LFXO peripheral structure. 213 #define SL_PERIPHERAL_LFXO (&sl_peripheral_val_lfxo) 214 215 /// Define pointer to LPWAES peripheral structure. 216 #define SL_PERIPHERAL_LPWAES (&sl_peripheral_val_lpwaes) 217 218 /// Define pointer to LPW0PORTAL peripheral structure. 219 #define SL_PERIPHERAL_LPW0PORTAL (&sl_peripheral_val_lpw0portal) 220 221 /// Define pointer to LVGD peripheral structure. 222 #define SL_PERIPHERAL_LVGD (&sl_peripheral_val_lvgd) 223 224 /// Define pointer to MPAHBRAM peripheral structure. 225 #define SL_PERIPHERAL_MPAHBRAM (&sl_peripheral_val_mpahbram) 226 227 /// Define pointer to MSC peripheral structure. 228 #define SL_PERIPHERAL_MSC (&sl_peripheral_val_msc) 229 230 /// Define pointer to MVP peripheral structure. 231 #define SL_PERIPHERAL_MVP (&sl_peripheral_val_mvp) 232 233 /// Define pointer to PCNT0 peripheral structure. 234 #define SL_PERIPHERAL_PCNT0 (&sl_peripheral_val_pcnt0) 235 236 /// Define pointer to PDM peripheral structure. 237 #define SL_PERIPHERAL_PDM (&sl_peripheral_val_pdm) 238 239 /// Define pointer to PFMXPPRF peripheral structure. 240 #define SL_PERIPHERAL_PFMXPPRF (&sl_peripheral_val_pfmxpprf) 241 242 /// Define pointer to PIXELRZ0 peripheral structure. 243 #define SL_PERIPHERAL_PIXELRZ0 (&sl_peripheral_val_pixelrz0) 244 245 /// Define pointer to PIXELRZ1 peripheral structure. 246 #define SL_PERIPHERAL_PIXELRZ1 (&sl_peripheral_val_pixelrz1) 247 248 /// Define pointer to PRORTC peripheral structure. 249 #define SL_PERIPHERAL_PRORTC (&sl_peripheral_val_prortc) 250 251 /// Define pointer to PRS peripheral structure. 252 #define SL_PERIPHERAL_PRS (&sl_peripheral_val_prs) 253 254 /// Define pointer to RADIOAES peripheral structure. 255 #define SL_PERIPHERAL_RADIOAES (&sl_peripheral_val_radioaes) 256 257 /// Define pointer to RFFPLL0 peripheral structure. 258 #define SL_PERIPHERAL_RFFPLL0 (&sl_peripheral_val_rffpll0) 259 260 /// Define pointer to RPA peripheral structure. 261 #define SL_PERIPHERAL_RPA (&sl_peripheral_val_rpa) 262 263 /// Define pointer to RTCC peripheral structure. 264 #define SL_PERIPHERAL_RTCC (&sl_peripheral_val_rtcc) 265 266 /// Define pointer to SCRATCHPAD peripheral structure. 267 #define SL_PERIPHERAL_SCRATCHPAD (&sl_peripheral_val_scratchpad) 268 269 /// Define pointer to SEMAILBOX peripheral structure. 270 #define SL_PERIPHERAL_SEMAILBOX (&sl_peripheral_val_semailbox) 271 272 /// Define pointer to SEMAPHORE0 peripheral structure. 273 #define SL_PERIPHERAL_SEMAPHORE0 (&sl_peripheral_val_semaphore0) 274 275 /// Define pointer to SEMAPHORE1 peripheral structure. 276 #define SL_PERIPHERAL_SEMAPHORE1 (&sl_peripheral_val_semaphore1) 277 278 /// Define pointer to SEPORTAL peripheral structure. 279 #define SL_PERIPHERAL_SEPORTAL (&sl_peripheral_val_seportal) 280 281 /// Define pointer to SEPUF peripheral structure. 282 #define SL_PERIPHERAL_SEPUF (&sl_peripheral_val_sepuf) 283 284 /// Define pointer to SMU peripheral structure. 285 #define SL_PERIPHERAL_SMU (&sl_peripheral_val_smu) 286 287 /// Define pointer to SOCPLL0 peripheral structure. 288 #define SL_PERIPHERAL_SOCPLL0 (&sl_peripheral_val_socpll0) 289 290 /// Define pointer to SYMCRYPTO peripheral structure. 291 #define SL_PERIPHERAL_SYMCRYPTO (&sl_peripheral_val_symcrypto) 292 293 /// Define pointer to SYSCFG peripheral structure. 294 #define SL_PERIPHERAL_SYSCFG (&sl_peripheral_val_syscfg) 295 296 /// Define pointer to SYSRTC0 peripheral structure. 297 #define SL_PERIPHERAL_SYSRTC0 (&sl_peripheral_val_sysrtc0) 298 299 /// Define pointer to TIMER0 peripheral structure. 300 #define SL_PERIPHERAL_TIMER0 (&sl_peripheral_val_timer0) 301 302 /// Define pointer to TIMER1 peripheral structure. 303 #define SL_PERIPHERAL_TIMER1 (&sl_peripheral_val_timer1) 304 305 /// Define pointer to TIMER2 peripheral structure. 306 #define SL_PERIPHERAL_TIMER2 (&sl_peripheral_val_timer2) 307 308 /// Define pointer to TIMER3 peripheral structure. 309 #define SL_PERIPHERAL_TIMER3 (&sl_peripheral_val_timer3) 310 311 /// Define pointer to TIMER4 peripheral structure. 312 #define SL_PERIPHERAL_TIMER4 (&sl_peripheral_val_timer4) 313 314 /// Define pointer to TIMER5 peripheral structure. 315 #define SL_PERIPHERAL_TIMER5 (&sl_peripheral_val_timer5) 316 317 /// Define pointer to TIMER6 peripheral structure. 318 #define SL_PERIPHERAL_TIMER6 (&sl_peripheral_val_timer6) 319 320 /// Define pointer to TIMER7 peripheral structure. 321 #define SL_PERIPHERAL_TIMER7 (&sl_peripheral_val_timer7) 322 323 /// Define pointer to TIMER8 peripheral structure. 324 #define SL_PERIPHERAL_TIMER8 (&sl_peripheral_val_timer8) 325 326 /// Define pointer to TIMER9 peripheral structure. 327 #define SL_PERIPHERAL_TIMER9 (&sl_peripheral_val_timer9) 328 329 /// Define pointer to ULFRCO peripheral structure. 330 #define SL_PERIPHERAL_ULFRCO (&sl_peripheral_val_ulfrco) 331 332 /// Define pointer to USART0 peripheral structure. 333 #define SL_PERIPHERAL_USART0 (&sl_peripheral_val_usart0) 334 335 /// Define pointer to USART1 peripheral structure. 336 #define SL_PERIPHERAL_USART1 (&sl_peripheral_val_usart1) 337 338 /// Define pointer to USART2 peripheral structure. 339 #define SL_PERIPHERAL_USART2 (&sl_peripheral_val_usart2) 340 341 /// Define pointer to USB peripheral structure. 342 #define SL_PERIPHERAL_USB (&sl_peripheral_val_usb) 343 344 /// Define pointer to USBAHB peripheral structure. 345 #define SL_PERIPHERAL_USBAHB (&sl_peripheral_val_usbahb) 346 347 /// Define pointer to USBPLL0 peripheral structure. 348 #define SL_PERIPHERAL_USBPLL0 (&sl_peripheral_val_usbpll0) 349 350 /// Define pointer to VDAC0 peripheral structure. 351 #define SL_PERIPHERAL_VDAC0 (&sl_peripheral_val_vdac0) 352 353 /// Define pointer to VDAC1 peripheral structure. 354 #define SL_PERIPHERAL_VDAC1 (&sl_peripheral_val_vdac1) 355 356 /// Define pointer to WDOG0 peripheral structure. 357 #define SL_PERIPHERAL_WDOG0 (&sl_peripheral_val_wdog0) 358 359 /// Define pointer to WDOG1 peripheral structure. 360 #define SL_PERIPHERAL_WDOG1 (&sl_peripheral_val_wdog1) 361 362 /// @} (end peripheral_defines) 363 364 // ---------------------------------------------------------------------------- 365 // TYPEDEFS 366 367 /// @cond DO_NOT_INCLUDE_WITH_DOXYGEN 368 369 #if defined(__ICCARM__) 370 // Disable IAR multiple typedefs declaration warning. 371 #pragma diag_suppress=Pe301 372 #endif 373 374 // Declare peripheral structure for ACMP. 375 typedef struct acmp_typedef ACMP_TypeDef; 376 377 // Declare peripheral structure for ADC. 378 typedef struct adc_typedef ADC_TypeDef; 379 380 // Declare peripheral structure for AES. 381 typedef struct aes_typedef AES_TypeDef; 382 383 // Declare peripheral structure for AMUXCP. 384 typedef struct amuxcp_typedef AMUXCP_TypeDef; 385 386 // Declare peripheral structure for BUFC. 387 typedef struct bufc_typedef BUFC_TypeDef; 388 389 // Declare peripheral structure for BURAM. 390 typedef struct buram_typedef BURAM_TypeDef; 391 392 // Declare peripheral structure for BURTC. 393 typedef struct burtc_typedef BURTC_TypeDef; 394 395 // Declare peripheral structure for CMU. 396 typedef struct cmu_typedef CMU_TypeDef; 397 398 // Declare peripheral structure for CRYPTOACC. 399 typedef struct cryptoacc_typedef CRYPTOACC_TypeDef; 400 401 // Declare peripheral structure for CRYPTOACC_PKCTRL. 402 typedef struct cryptoacc_pkctrl_typedef CRYPTOACC_PKCTRL_TypeDef; 403 404 // Declare peripheral structure for CRYPTOACC_RNGCTRL. 405 typedef struct cryptoacc_rngctrl_typedef CRYPTOACC_RNGCTRL_TypeDef; 406 407 // Declare peripheral structure for DCDC. 408 typedef struct dcdc_typedef DCDC_TypeDef; 409 410 // Declare peripheral structure for DEVINFO. 411 typedef struct devinfo_typedef DEVINFO_TypeDef; 412 413 // Declare peripheral structure for DPLL. 414 typedef struct dpll_typedef DPLL_TypeDef; 415 416 // Declare peripheral structure for EMU. 417 typedef struct emu_typedef EMU_TypeDef; 418 419 // Declare peripheral structure for EMU_CFGNS. 420 typedef struct emu_cfgns_typedef EMU_CFGNS_TypeDef; 421 422 // Declare peripheral structure for ETAMPDET. 423 typedef struct etampdet_typedef ETAMPDET_TypeDef; 424 425 // Declare peripheral structure for EUSART. 426 typedef struct eusart_typedef EUSART_TypeDef; 427 428 // Declare peripheral structure for FSRCO. 429 typedef struct fsrco_typedef FSRCO_TypeDef; 430 431 // Declare peripheral structure for GPCRC. 432 typedef struct gpcrc_typedef GPCRC_TypeDef; 433 434 // Declare peripheral structure for GPIO. 435 typedef struct gpio_typedef GPIO_TypeDef; 436 437 // Declare peripheral structure for HFRCO. 438 typedef struct hfrco_typedef HFRCO_TypeDef; 439 440 // Declare peripheral structure for HFXO. 441 typedef struct hfxo_typedef HFXO_TypeDef; 442 443 // Declare peripheral structure for HOSTPORTAL. 444 typedef struct hostportal_typedef HOSTPORTAL_TypeDef; 445 446 // Declare peripheral structure for HYDRARAM. 447 typedef struct hydraram_typedef HYDRARAM_TypeDef; 448 449 // Declare peripheral structure for I2C. 450 typedef struct i2c_typedef I2C_TypeDef; 451 452 // Declare peripheral structure for IADC. 453 typedef struct iadc_typedef IADC_TypeDef; 454 455 // Declare peripheral structure for ICACHE. 456 typedef struct icache_typedef ICACHE_TypeDef; 457 458 // Declare peripheral structure for KEYSCAN. 459 typedef struct keyscan_typedef KEYSCAN_TypeDef; 460 461 // Declare peripheral structure for L2CACHE. 462 typedef struct l2cache_typedef L2CACHE_TypeDef; 463 464 // Declare peripheral structure for LCD. 465 typedef struct lcd_typedef LCD_TypeDef; 466 467 // Declare peripheral structure for LCDRF. 468 typedef struct lcdrf_typedef LCDRF_TypeDef; 469 470 // Declare peripheral structure for LDMA. 471 typedef struct ldma_typedef LDMA_TypeDef; 472 473 // Declare peripheral structure for LDMAXBAR. 474 typedef struct ldmaxbar_typedef LDMAXBAR_TypeDef; 475 476 // Declare peripheral structure for LEDDRV. 477 typedef struct leddrv_typedef LEDDRV_TypeDef; 478 479 // Declare peripheral structure for LESENSE. 480 typedef struct lesense_typedef LESENSE_TypeDef; 481 482 // Declare peripheral structure for LETIMER. 483 typedef struct letimer_typedef LETIMER_TypeDef; 484 485 // Declare peripheral structure for LFRCO. 486 typedef struct lfrco_typedef LFRCO_TypeDef; 487 488 // Declare peripheral structure for LFXO. 489 typedef struct lfxo_typedef LFXO_TypeDef; 490 491 // Declare peripheral structure for LPWAES. 492 typedef struct lpwaes_typedef LPWAES_TypeDef; 493 494 // Declare peripheral structure for LPW0PORTAL. 495 typedef struct lpw0portal_typedef LPW0PORTAL_TypeDef; 496 497 // Declare peripheral structure for LVGD. 498 typedef struct lvgd_typedef LVGD_TypeDef; 499 500 // Declare peripheral structure for MAILBOX. 501 typedef struct mailbox_typedef MAILBOX_TypeDef; 502 503 // Declare peripheral structure for MPAHBRAM. 504 typedef struct mpahbram_typedef MPAHBRAM_TypeDef; 505 506 // Declare peripheral structure for MSC. 507 typedef struct msc_typedef MSC_TypeDef; 508 509 // Declare peripheral structure for MVP. 510 typedef struct mvp_typedef MVP_TypeDef; 511 512 // Declare peripheral structure for PCNT. 513 typedef struct pcnt_typedef PCNT_TypeDef; 514 515 // Declare peripheral structure for PDM. 516 typedef struct pdm_typedef PDM_TypeDef; 517 518 // Declare peripheral structure for PFMXPPRF. 519 typedef struct pfmxpprf_typedef PFMXPPRF_TypeDef; 520 521 // Declare peripheral structure for PIXELRZ. 522 typedef struct pixelrz_typedef PIXELRZ_TypeDef; 523 524 // Declare peripheral structure for PRS. 525 typedef struct prs_typedef PRS_TypeDef; 526 527 // Declare peripheral structure for RFFPLL. 528 typedef struct rffpll_typedef RFFPLL_TypeDef; 529 530 // Declare peripheral structure for RPA. 531 typedef struct rpa_typedef RPA_TypeDef; 532 533 // Declare peripheral structure for RTCC. 534 typedef struct rtcc_typedef RTCC_TypeDef; 535 536 // Declare peripheral structure for SCRATCHPAD. 537 typedef struct scratchpad_typedef SCRATCHPAD_TypeDef; 538 539 // Declare peripheral structure for SEMAILBOX_AHBHOST. 540 typedef struct semailbox_ahbhost_typedef SEMAILBOX_AHBHOST_TypeDef; 541 542 // Declare peripheral structure for SEMAILBOX_HOST. 543 typedef struct semailbox_host_typedef SEMAILBOX_HOST_TypeDef; 544 545 // Declare peripheral structure for SEMAPHORE. 546 typedef struct semaphore_typedef SEMAPHORE_TypeDef; 547 548 // Declare peripheral structure for SEPORTAL. 549 typedef struct seportal_typedef SEPORTAL_TypeDef; 550 551 // Declare peripheral structure for SEPUF_APBCFG. 552 typedef struct sepuf_apbcfg_typedef SEPUF_APBCFG_TypeDef; 553 554 // Declare peripheral structure for SMU. 555 typedef struct smu_typedef SMU_TypeDef; 556 557 // Declare peripheral structure for SOCPLL. 558 typedef struct socpll_typedef SOCPLL_TypeDef; 559 560 // Declare peripheral structure for SYMCRYPTO. 561 typedef struct symcrypto_typedef SYMCRYPTO_TypeDef; 562 563 // Declare peripheral structure for SYSCFG. 564 typedef struct syscfg_typedef SYSCFG_TypeDef; 565 566 // Declare peripheral structure for SYSCFG_CFGNS. 567 typedef struct syscfg_cfgns_typedef SYSCFG_CFGNS_TypeDef; 568 569 // Declare peripheral structure for SYSRTC. 570 typedef struct sysrtc_typedef SYSRTC_TypeDef; 571 572 // Declare peripheral structure for TIMER. 573 typedef struct timer_typedef TIMER_TypeDef; 574 575 // Declare peripheral structure for ULFRCO. 576 typedef struct ulfrco_typedef ULFRCO_TypeDef; 577 578 // Declare peripheral structure for USART. 579 typedef struct usart_typedef USART_TypeDef; 580 581 // Declare peripheral structure for USBAHB_AHBS. 582 typedef struct usbahb_ahbs_typedef USBAHB_AHBS_TypeDef; 583 584 // Declare peripheral structure for USBPLL. 585 typedef struct usbpll_typedef USBPLL_TypeDef; 586 587 // Declare peripheral structure for USB_APBS. 588 typedef struct usb_apbs_typedef USB_APBS_TypeDef; 589 590 // Declare peripheral structure for VDAC. 591 typedef struct vdac_typedef VDAC_TypeDef; 592 593 // Declare peripheral structure for WDOG. 594 typedef struct wdog_typedef WDOG_TypeDef; 595 596 #if defined(__ICCARM__) 597 // Disable IAR multiple typedefs declaration warning. 598 #pragma diag_default=Pe301 599 #endif 600 601 /// @endcond 602 603 // ---------------------------------------------------------------------------- 604 // EXTERNS 605 606 /// @cond DO_NOT_INCLUDE_WITH_DOXYGEN 607 608 // External declaration for ACMP0 peripheral structure. 609 extern const sl_peripheral_val_t sl_peripheral_val_acmp0; 610 611 // External declaration for ACMP1 peripheral structure. 612 extern const sl_peripheral_val_t sl_peripheral_val_acmp1; 613 614 // External declaration for ADC0 peripheral structure. 615 extern const sl_peripheral_val_t sl_peripheral_val_adc0; 616 617 // External declaration for AES peripheral structure. 618 extern const sl_peripheral_val_t sl_peripheral_val_aes; 619 620 // External declaration for AMUXCP0 peripheral structure. 621 extern const sl_peripheral_val_t sl_peripheral_val_amuxcp0; 622 623 // External declaration for BUFC peripheral structure. 624 extern const sl_peripheral_val_t sl_peripheral_val_bufc; 625 626 // External declaration for BURAM peripheral structure. 627 extern const sl_peripheral_val_t sl_peripheral_val_buram; 628 629 // External declaration for BURTC peripheral structure. 630 extern const sl_peripheral_val_t sl_peripheral_val_burtc; 631 632 // External declaration for CMU peripheral structure. 633 extern const sl_peripheral_val_t sl_peripheral_val_cmu; 634 635 // External declaration for CRYPTOACC peripheral structure. 636 extern const sl_peripheral_val_t sl_peripheral_val_cryptoacc; 637 638 // External declaration for DCDC peripheral structure. 639 extern const sl_peripheral_val_t sl_peripheral_val_dcdc; 640 641 // External declaration for DEVINFO peripheral structure. 642 extern const sl_peripheral_val_t sl_peripheral_val_devinfo; 643 644 // External declaration for DMEM peripheral structure. 645 extern const sl_peripheral_val_t sl_peripheral_val_dmem; 646 647 // External declaration for DMEM0 peripheral structure. 648 extern const sl_peripheral_val_t sl_peripheral_val_dmem0; 649 650 // External declaration for DMEM1 peripheral structure. 651 extern const sl_peripheral_val_t sl_peripheral_val_dmem1; 652 653 // External declaration for DPLL0 peripheral structure. 654 extern const sl_peripheral_val_t sl_peripheral_val_dpll0; 655 656 // External declaration for EMU peripheral structure. 657 extern const sl_peripheral_val_t sl_peripheral_val_emu; 658 659 // External declaration for ETAMPDET peripheral structure. 660 extern const sl_peripheral_val_t sl_peripheral_val_etampdet; 661 662 // External declaration for EUART0 peripheral structure. 663 extern const sl_peripheral_val_t sl_peripheral_val_euart0; 664 665 // External declaration for EUSART0 peripheral structure. 666 extern const sl_peripheral_val_t sl_peripheral_val_eusart0; 667 668 // External declaration for EUSART1 peripheral structure. 669 extern const sl_peripheral_val_t sl_peripheral_val_eusart1; 670 671 // External declaration for EUSART2 peripheral structure. 672 extern const sl_peripheral_val_t sl_peripheral_val_eusart2; 673 674 // External declaration for EUSART3 peripheral structure. 675 extern const sl_peripheral_val_t sl_peripheral_val_eusart3; 676 677 // External declaration for EUSART4 peripheral structure. 678 extern const sl_peripheral_val_t sl_peripheral_val_eusart4; 679 680 // External declaration for FSRCO peripheral structure. 681 extern const sl_peripheral_val_t sl_peripheral_val_fsrco; 682 683 // External declaration for GPCRC0 peripheral structure. 684 extern const sl_peripheral_val_t sl_peripheral_val_gpcrc0; 685 686 // External declaration for GPIO peripheral structure. 687 extern const sl_peripheral_val_t sl_peripheral_val_gpio; 688 689 // External declaration for HFRCO0 peripheral structure. 690 extern const sl_peripheral_val_t sl_peripheral_val_hfrco0; 691 692 // External declaration for HFRCOEM23 peripheral structure. 693 extern const sl_peripheral_val_t sl_peripheral_val_hfrcoem23; 694 695 // External declaration for HFXO0 peripheral structure. 696 extern const sl_peripheral_val_t sl_peripheral_val_hfxo0; 697 698 // External declaration for HOSTMAILBOX peripheral structure. 699 extern const sl_peripheral_val_t sl_peripheral_val_hostmailbox; 700 701 // External declaration for HOSTPORTAL peripheral structure. 702 extern const sl_peripheral_val_t sl_peripheral_val_hostportal; 703 704 // External declaration for I2C0 peripheral structure. 705 extern const sl_peripheral_val_t sl_peripheral_val_i2c0; 706 707 // External declaration for I2C1 peripheral structure. 708 extern const sl_peripheral_val_t sl_peripheral_val_i2c1; 709 710 // External declaration for I2C2 peripheral structure. 711 extern const sl_peripheral_val_t sl_peripheral_val_i2c2; 712 713 // External declaration for I2C3 peripheral structure. 714 extern const sl_peripheral_val_t sl_peripheral_val_i2c3; 715 716 // External declaration for IADC0 peripheral structure. 717 extern const sl_peripheral_val_t sl_peripheral_val_iadc0; 718 719 // External declaration for ICACHE0 peripheral structure. 720 extern const sl_peripheral_val_t sl_peripheral_val_icache0; 721 722 // External declaration for KEYSCAN peripheral structure. 723 extern const sl_peripheral_val_t sl_peripheral_val_keyscan; 724 725 // External declaration for L1ICACHE0 peripheral structure. 726 extern const sl_peripheral_val_t sl_peripheral_val_l1icache0; 727 728 // External declaration for L2ICACHE0 peripheral structure. 729 extern const sl_peripheral_val_t sl_peripheral_val_l2icache0; 730 731 // External declaration for LCD peripheral structure. 732 extern const sl_peripheral_val_t sl_peripheral_val_lcd; 733 734 // External declaration for LCDRF peripheral structure. 735 extern const sl_peripheral_val_t sl_peripheral_val_lcdrf; 736 737 // External declaration for LDMA0 peripheral structure. 738 extern const sl_peripheral_val_t sl_peripheral_val_ldma0; 739 740 // External declaration for LDMAXBAR0 peripheral structure. 741 extern const sl_peripheral_val_t sl_peripheral_val_ldmaxbar0; 742 743 // External declaration for LEDDRV0 peripheral structure. 744 extern const sl_peripheral_val_t sl_peripheral_val_leddrv0; 745 746 // External declaration for LESENSE peripheral structure. 747 extern const sl_peripheral_val_t sl_peripheral_val_lesense; 748 749 // External declaration for LETIMER0 peripheral structure. 750 extern const sl_peripheral_val_t sl_peripheral_val_letimer0; 751 752 // External declaration for LFRCO peripheral structure. 753 extern const sl_peripheral_val_t sl_peripheral_val_lfrco; 754 755 // External declaration for LFXO peripheral structure. 756 extern const sl_peripheral_val_t sl_peripheral_val_lfxo; 757 758 // External declaration for LPWAES peripheral structure. 759 extern const sl_peripheral_val_t sl_peripheral_val_lpwaes; 760 761 // External declaration for LPW0PORTAL peripheral structure. 762 extern const sl_peripheral_val_t sl_peripheral_val_lpw0portal; 763 764 // External declaration for LVGD peripheral structure. 765 extern const sl_peripheral_val_t sl_peripheral_val_lvgd; 766 767 // External declaration for MPAHBRAM peripheral structure. 768 extern const sl_peripheral_val_t sl_peripheral_val_mpahbram; 769 770 // External declaration for MSC peripheral structure. 771 extern const sl_peripheral_val_t sl_peripheral_val_msc; 772 773 // External declaration for MVP peripheral structure. 774 extern const sl_peripheral_val_t sl_peripheral_val_mvp; 775 776 // External declaration for PCNT0 peripheral structure. 777 extern const sl_peripheral_val_t sl_peripheral_val_pcnt0; 778 779 // External declaration for PDM peripheral structure. 780 extern const sl_peripheral_val_t sl_peripheral_val_pdm; 781 782 // External declaration for PFMXPPRF peripheral structure. 783 extern const sl_peripheral_val_t sl_peripheral_val_pfmxpprf; 784 785 // External declaration for PIXELRZ0 peripheral structure. 786 extern const sl_peripheral_val_t sl_peripheral_val_pixelrz0; 787 788 // External declaration for PIXELRZ1 peripheral structure. 789 extern const sl_peripheral_val_t sl_peripheral_val_pixelrz1; 790 791 // External declaration for PRORTC peripheral structure. 792 extern const sl_peripheral_val_t sl_peripheral_val_prortc; 793 794 // External declaration for PRS peripheral structure. 795 extern const sl_peripheral_val_t sl_peripheral_val_prs; 796 797 // External declaration for RADIOAES peripheral structure. 798 extern const sl_peripheral_val_t sl_peripheral_val_radioaes; 799 800 // External declaration for RFFPLL0 peripheral structure. 801 extern const sl_peripheral_val_t sl_peripheral_val_rffpll0; 802 803 // External declaration for RPA peripheral structure. 804 extern const sl_peripheral_val_t sl_peripheral_val_rpa; 805 806 // External declaration for RTCC peripheral structure. 807 extern const sl_peripheral_val_t sl_peripheral_val_rtcc; 808 809 // External declaration for SCRATCHPAD peripheral structure. 810 extern const sl_peripheral_val_t sl_peripheral_val_scratchpad; 811 812 // External declaration for SEMAILBOX peripheral structure. 813 extern const sl_peripheral_val_t sl_peripheral_val_semailbox; 814 815 // External declaration for SEMAPHORE0 peripheral structure. 816 extern const sl_peripheral_val_t sl_peripheral_val_semaphore0; 817 818 // External declaration for SEMAPHORE1 peripheral structure. 819 extern const sl_peripheral_val_t sl_peripheral_val_semaphore1; 820 821 // External declaration for SEPORTAL peripheral structure. 822 extern const sl_peripheral_val_t sl_peripheral_val_seportal; 823 824 // External declaration for SEPUF peripheral structure. 825 extern const sl_peripheral_val_t sl_peripheral_val_sepuf; 826 827 // External declaration for SMU peripheral structure. 828 extern const sl_peripheral_val_t sl_peripheral_val_smu; 829 830 // External declaration for SOCPLL0 peripheral structure. 831 extern const sl_peripheral_val_t sl_peripheral_val_socpll0; 832 833 // External declaration for SYMCRYPTO peripheral structure. 834 extern const sl_peripheral_val_t sl_peripheral_val_symcrypto; 835 836 // External declaration for SYSCFG peripheral structure. 837 extern const sl_peripheral_val_t sl_peripheral_val_syscfg; 838 839 // External declaration for SYSRTC0 peripheral structure. 840 extern const sl_peripheral_val_t sl_peripheral_val_sysrtc0; 841 842 // External declaration for TIMER0 peripheral structure. 843 extern const sl_peripheral_val_t sl_peripheral_val_timer0; 844 845 // External declaration for TIMER1 peripheral structure. 846 extern const sl_peripheral_val_t sl_peripheral_val_timer1; 847 848 // External declaration for TIMER2 peripheral structure. 849 extern const sl_peripheral_val_t sl_peripheral_val_timer2; 850 851 // External declaration for TIMER3 peripheral structure. 852 extern const sl_peripheral_val_t sl_peripheral_val_timer3; 853 854 // External declaration for TIMER4 peripheral structure. 855 extern const sl_peripheral_val_t sl_peripheral_val_timer4; 856 857 // External declaration for TIMER5 peripheral structure. 858 extern const sl_peripheral_val_t sl_peripheral_val_timer5; 859 860 // External declaration for TIMER6 peripheral structure. 861 extern const sl_peripheral_val_t sl_peripheral_val_timer6; 862 863 // External declaration for TIMER7 peripheral structure. 864 extern const sl_peripheral_val_t sl_peripheral_val_timer7; 865 866 // External declaration for TIMER8 peripheral structure. 867 extern const sl_peripheral_val_t sl_peripheral_val_timer8; 868 869 // External declaration for TIMER9 peripheral structure. 870 extern const sl_peripheral_val_t sl_peripheral_val_timer9; 871 872 // External declaration for ULFRCO peripheral structure. 873 extern const sl_peripheral_val_t sl_peripheral_val_ulfrco; 874 875 // External declaration for USART0 peripheral structure. 876 extern const sl_peripheral_val_t sl_peripheral_val_usart0; 877 878 // External declaration for USART1 peripheral structure. 879 extern const sl_peripheral_val_t sl_peripheral_val_usart1; 880 881 // External declaration for USART2 peripheral structure. 882 extern const sl_peripheral_val_t sl_peripheral_val_usart2; 883 884 // External declaration for USB peripheral structure. 885 extern const sl_peripheral_val_t sl_peripheral_val_usb; 886 887 // External declaration for USBAHB peripheral structure. 888 extern const sl_peripheral_val_t sl_peripheral_val_usbahb; 889 890 // External declaration for USBPLL0 peripheral structure. 891 extern const sl_peripheral_val_t sl_peripheral_val_usbpll0; 892 893 // External declaration for VDAC0 peripheral structure. 894 extern const sl_peripheral_val_t sl_peripheral_val_vdac0; 895 896 // External declaration for VDAC1 peripheral structure. 897 extern const sl_peripheral_val_t sl_peripheral_val_vdac1; 898 899 // External declaration for WDOG0 peripheral structure. 900 extern const sl_peripheral_val_t sl_peripheral_val_wdog0; 901 902 // External declaration for WDOG1 peripheral structure. 903 extern const sl_peripheral_val_t sl_peripheral_val_wdog1; 904 905 /// @endcond 906 907 // ---------------------------------------------------------------------------- 908 // FUNCTIONS 909 910 /***************************************************************************//** 911 * The base address getter for ACMP. 912 * 913 * @param peripheral A pointer to peripheral. 914 * 915 * @return The base address of the peripheral. 916 ******************************************************************************/ sl_device_peripheral_acmp_get_base_addr(const sl_peripheral_t peripheral)917inline ACMP_TypeDef *sl_device_peripheral_acmp_get_base_addr(const sl_peripheral_t peripheral) 918 { 919 return (ACMP_TypeDef *)peripheral->base; 920 } 921 922 /***************************************************************************//** 923 * The base address getter for ADC. 924 * 925 * @param peripheral A pointer to peripheral. 926 * 927 * @return The base address of the peripheral. 928 ******************************************************************************/ sl_device_peripheral_adc_get_base_addr(const sl_peripheral_t peripheral)929inline ADC_TypeDef *sl_device_peripheral_adc_get_base_addr(const sl_peripheral_t peripheral) 930 { 931 return (ADC_TypeDef *)peripheral->base; 932 } 933 934 /***************************************************************************//** 935 * The base address getter for AES. 936 * 937 * @param peripheral A pointer to peripheral. 938 * 939 * @return The base address of the peripheral. 940 ******************************************************************************/ sl_device_peripheral_aes_get_base_addr(const sl_peripheral_t peripheral)941inline AES_TypeDef *sl_device_peripheral_aes_get_base_addr(const sl_peripheral_t peripheral) 942 { 943 return (AES_TypeDef *)peripheral->base; 944 } 945 946 /***************************************************************************//** 947 * The base address getter for AMUXCP. 948 * 949 * @param peripheral A pointer to peripheral. 950 * 951 * @return The base address of the peripheral. 952 ******************************************************************************/ sl_device_peripheral_amuxcp_get_base_addr(const sl_peripheral_t peripheral)953inline AMUXCP_TypeDef *sl_device_peripheral_amuxcp_get_base_addr(const sl_peripheral_t peripheral) 954 { 955 return (AMUXCP_TypeDef *)peripheral->base; 956 } 957 958 /***************************************************************************//** 959 * The base address getter for BUFC. 960 * 961 * @param peripheral A pointer to peripheral. 962 * 963 * @return The base address of the peripheral. 964 ******************************************************************************/ sl_device_peripheral_bufc_get_base_addr(const sl_peripheral_t peripheral)965inline BUFC_TypeDef *sl_device_peripheral_bufc_get_base_addr(const sl_peripheral_t peripheral) 966 { 967 return (BUFC_TypeDef *)peripheral->base; 968 } 969 970 /***************************************************************************//** 971 * The base address getter for BURAM. 972 * 973 * @param peripheral A pointer to peripheral. 974 * 975 * @return The base address of the peripheral. 976 ******************************************************************************/ sl_device_peripheral_buram_get_base_addr(const sl_peripheral_t peripheral)977inline BURAM_TypeDef *sl_device_peripheral_buram_get_base_addr(const sl_peripheral_t peripheral) 978 { 979 return (BURAM_TypeDef *)peripheral->base; 980 } 981 982 /***************************************************************************//** 983 * The base address getter for BURTC. 984 * 985 * @param peripheral A pointer to peripheral. 986 * 987 * @return The base address of the peripheral. 988 ******************************************************************************/ sl_device_peripheral_burtc_get_base_addr(const sl_peripheral_t peripheral)989inline BURTC_TypeDef *sl_device_peripheral_burtc_get_base_addr(const sl_peripheral_t peripheral) 990 { 991 return (BURTC_TypeDef *)peripheral->base; 992 } 993 994 /***************************************************************************//** 995 * The base address getter for CMU. 996 * 997 * @param peripheral A pointer to peripheral. 998 * 999 * @return The base address of the peripheral. 1000 ******************************************************************************/ sl_device_peripheral_cmu_get_base_addr(const sl_peripheral_t peripheral)1001inline CMU_TypeDef *sl_device_peripheral_cmu_get_base_addr(const sl_peripheral_t peripheral) 1002 { 1003 return (CMU_TypeDef *)peripheral->base; 1004 } 1005 1006 /***************************************************************************//** 1007 * The base address getter for CRYPTOACC. 1008 * 1009 * @param peripheral A pointer to peripheral. 1010 * 1011 * @return The base address of the peripheral. 1012 ******************************************************************************/ sl_device_peripheral_cryptoacc_get_base_addr(const sl_peripheral_t peripheral)1013inline CRYPTOACC_TypeDef *sl_device_peripheral_cryptoacc_get_base_addr(const sl_peripheral_t peripheral) 1014 { 1015 return (CRYPTOACC_TypeDef *)peripheral->base; 1016 } 1017 1018 /***************************************************************************//** 1019 * The base address getter for CRYPTOACC_PKCTRL. 1020 * 1021 * @param peripheral A pointer to peripheral. 1022 * 1023 * @return The base address of the peripheral. 1024 ******************************************************************************/ sl_device_peripheral_cryptoacc_pkctrl_get_base_addr(const sl_peripheral_t peripheral)1025inline CRYPTOACC_PKCTRL_TypeDef *sl_device_peripheral_cryptoacc_pkctrl_get_base_addr(const sl_peripheral_t peripheral) 1026 { 1027 return (CRYPTOACC_PKCTRL_TypeDef *)peripheral->base; 1028 } 1029 1030 /***************************************************************************//** 1031 * The base address getter for CRYPTOACC_RNGCTRL. 1032 * 1033 * @param peripheral A pointer to peripheral. 1034 * 1035 * @return The base address of the peripheral. 1036 ******************************************************************************/ sl_device_peripheral_cryptoacc_rngctrl_get_base_addr(const sl_peripheral_t peripheral)1037inline CRYPTOACC_RNGCTRL_TypeDef *sl_device_peripheral_cryptoacc_rngctrl_get_base_addr(const sl_peripheral_t peripheral) 1038 { 1039 return (CRYPTOACC_RNGCTRL_TypeDef *)peripheral->base; 1040 } 1041 1042 /***************************************************************************//** 1043 * The base address getter for DCDC. 1044 * 1045 * @param peripheral A pointer to peripheral. 1046 * 1047 * @return The base address of the peripheral. 1048 ******************************************************************************/ sl_device_peripheral_dcdc_get_base_addr(const sl_peripheral_t peripheral)1049inline DCDC_TypeDef *sl_device_peripheral_dcdc_get_base_addr(const sl_peripheral_t peripheral) 1050 { 1051 return (DCDC_TypeDef *)peripheral->base; 1052 } 1053 1054 /***************************************************************************//** 1055 * The base address getter for DEVINFO. 1056 * 1057 * @param peripheral A pointer to peripheral. 1058 * 1059 * @return The base address of the peripheral. 1060 ******************************************************************************/ sl_device_peripheral_devinfo_get_base_addr(const sl_peripheral_t peripheral)1061inline DEVINFO_TypeDef *sl_device_peripheral_devinfo_get_base_addr(const sl_peripheral_t peripheral) 1062 { 1063 return (DEVINFO_TypeDef *)peripheral->base; 1064 } 1065 1066 /***************************************************************************//** 1067 * The base address getter for DPLL. 1068 * 1069 * @param peripheral A pointer to peripheral. 1070 * 1071 * @return The base address of the peripheral. 1072 ******************************************************************************/ sl_device_peripheral_dpll_get_base_addr(const sl_peripheral_t peripheral)1073inline DPLL_TypeDef *sl_device_peripheral_dpll_get_base_addr(const sl_peripheral_t peripheral) 1074 { 1075 return (DPLL_TypeDef *)peripheral->base; 1076 } 1077 1078 /***************************************************************************//** 1079 * The base address getter for EMU. 1080 * 1081 * @param peripheral A pointer to peripheral. 1082 * 1083 * @return The base address of the peripheral. 1084 ******************************************************************************/ sl_device_peripheral_emu_get_base_addr(const sl_peripheral_t peripheral)1085inline EMU_TypeDef *sl_device_peripheral_emu_get_base_addr(const sl_peripheral_t peripheral) 1086 { 1087 return (EMU_TypeDef *)peripheral->base; 1088 } 1089 1090 /***************************************************************************//** 1091 * The base address getter for EMU_CFGNS. 1092 * 1093 * @param peripheral A pointer to peripheral. 1094 * 1095 * @return The base address of the peripheral. 1096 ******************************************************************************/ sl_device_peripheral_emu_cfgns_get_base_addr(const sl_peripheral_t peripheral)1097inline EMU_CFGNS_TypeDef *sl_device_peripheral_emu_cfgns_get_base_addr(const sl_peripheral_t peripheral) 1098 { 1099 return (EMU_CFGNS_TypeDef *)peripheral->base; 1100 } 1101 1102 /***************************************************************************//** 1103 * The base address getter for ETAMPDET. 1104 * 1105 * @param peripheral A pointer to peripheral. 1106 * 1107 * @return The base address of the peripheral. 1108 ******************************************************************************/ sl_device_peripheral_etampdet_get_base_addr(const sl_peripheral_t peripheral)1109inline ETAMPDET_TypeDef *sl_device_peripheral_etampdet_get_base_addr(const sl_peripheral_t peripheral) 1110 { 1111 return (ETAMPDET_TypeDef *)peripheral->base; 1112 } 1113 1114 /***************************************************************************//** 1115 * The base address getter for EUSART. 1116 * 1117 * @param peripheral A pointer to peripheral. 1118 * 1119 * @return The base address of the peripheral. 1120 ******************************************************************************/ sl_device_peripheral_eusart_get_base_addr(const sl_peripheral_t peripheral)1121inline EUSART_TypeDef *sl_device_peripheral_eusart_get_base_addr(const sl_peripheral_t peripheral) 1122 { 1123 return (EUSART_TypeDef *)peripheral->base; 1124 } 1125 1126 /***************************************************************************//** 1127 * The base address getter for FSRCO. 1128 * 1129 * @param peripheral A pointer to peripheral. 1130 * 1131 * @return The base address of the peripheral. 1132 ******************************************************************************/ sl_device_peripheral_fsrco_get_base_addr(const sl_peripheral_t peripheral)1133inline FSRCO_TypeDef *sl_device_peripheral_fsrco_get_base_addr(const sl_peripheral_t peripheral) 1134 { 1135 return (FSRCO_TypeDef *)peripheral->base; 1136 } 1137 1138 /***************************************************************************//** 1139 * The base address getter for GPCRC. 1140 * 1141 * @param peripheral A pointer to peripheral. 1142 * 1143 * @return The base address of the peripheral. 1144 ******************************************************************************/ sl_device_peripheral_gpcrc_get_base_addr(const sl_peripheral_t peripheral)1145inline GPCRC_TypeDef *sl_device_peripheral_gpcrc_get_base_addr(const sl_peripheral_t peripheral) 1146 { 1147 return (GPCRC_TypeDef *)peripheral->base; 1148 } 1149 1150 /***************************************************************************//** 1151 * The base address getter for GPIO. 1152 * 1153 * @param peripheral A pointer to peripheral. 1154 * 1155 * @return The base address of the peripheral. 1156 ******************************************************************************/ sl_device_peripheral_gpio_get_base_addr(const sl_peripheral_t peripheral)1157inline GPIO_TypeDef *sl_device_peripheral_gpio_get_base_addr(const sl_peripheral_t peripheral) 1158 { 1159 return (GPIO_TypeDef *)peripheral->base; 1160 } 1161 1162 /***************************************************************************//** 1163 * The base address getter for HFRCO. 1164 * 1165 * @param peripheral A pointer to peripheral. 1166 * 1167 * @return The base address of the peripheral. 1168 ******************************************************************************/ sl_device_peripheral_hfrco_get_base_addr(const sl_peripheral_t peripheral)1169inline HFRCO_TypeDef *sl_device_peripheral_hfrco_get_base_addr(const sl_peripheral_t peripheral) 1170 { 1171 return (HFRCO_TypeDef *)peripheral->base; 1172 } 1173 1174 /***************************************************************************//** 1175 * The base address getter for HFXO. 1176 * 1177 * @param peripheral A pointer to peripheral. 1178 * 1179 * @return The base address of the peripheral. 1180 ******************************************************************************/ sl_device_peripheral_hfxo_get_base_addr(const sl_peripheral_t peripheral)1181inline HFXO_TypeDef *sl_device_peripheral_hfxo_get_base_addr(const sl_peripheral_t peripheral) 1182 { 1183 return (HFXO_TypeDef *)peripheral->base; 1184 } 1185 1186 /***************************************************************************//** 1187 * The base address getter for HOSTPORTAL. 1188 * 1189 * @param peripheral A pointer to peripheral. 1190 * 1191 * @return The base address of the peripheral. 1192 ******************************************************************************/ sl_device_peripheral_hostportal_get_base_addr(const sl_peripheral_t peripheral)1193inline HOSTPORTAL_TypeDef *sl_device_peripheral_hostportal_get_base_addr(const sl_peripheral_t peripheral) 1194 { 1195 return (HOSTPORTAL_TypeDef *)peripheral->base; 1196 } 1197 1198 /***************************************************************************//** 1199 * The base address getter for HYDRARAM. 1200 * 1201 * @param peripheral A pointer to peripheral. 1202 * 1203 * @return The base address of the peripheral. 1204 ******************************************************************************/ sl_device_peripheral_hydraram_get_base_addr(const sl_peripheral_t peripheral)1205inline HYDRARAM_TypeDef *sl_device_peripheral_hydraram_get_base_addr(const sl_peripheral_t peripheral) 1206 { 1207 return (HYDRARAM_TypeDef *)peripheral->base; 1208 } 1209 1210 /***************************************************************************//** 1211 * The base address getter for I2C. 1212 * 1213 * @param peripheral A pointer to peripheral. 1214 * 1215 * @return The base address of the peripheral. 1216 ******************************************************************************/ sl_device_peripheral_i2c_get_base_addr(const sl_peripheral_t peripheral)1217inline I2C_TypeDef *sl_device_peripheral_i2c_get_base_addr(const sl_peripheral_t peripheral) 1218 { 1219 return (I2C_TypeDef *)peripheral->base; 1220 } 1221 1222 /***************************************************************************//** 1223 * The base address getter for IADC. 1224 * 1225 * @param peripheral A pointer to peripheral. 1226 * 1227 * @return The base address of the peripheral. 1228 ******************************************************************************/ sl_device_peripheral_iadc_get_base_addr(const sl_peripheral_t peripheral)1229inline IADC_TypeDef *sl_device_peripheral_iadc_get_base_addr(const sl_peripheral_t peripheral) 1230 { 1231 return (IADC_TypeDef *)peripheral->base; 1232 } 1233 1234 /***************************************************************************//** 1235 * The base address getter for ICACHE. 1236 * 1237 * @param peripheral A pointer to peripheral. 1238 * 1239 * @return The base address of the peripheral. 1240 ******************************************************************************/ sl_device_peripheral_icache_get_base_addr(const sl_peripheral_t peripheral)1241inline ICACHE_TypeDef *sl_device_peripheral_icache_get_base_addr(const sl_peripheral_t peripheral) 1242 { 1243 return (ICACHE_TypeDef *)peripheral->base; 1244 } 1245 1246 /***************************************************************************//** 1247 * The base address getter for KEYSCAN. 1248 * 1249 * @param peripheral A pointer to peripheral. 1250 * 1251 * @return The base address of the peripheral. 1252 ******************************************************************************/ sl_device_peripheral_keyscan_get_base_addr(const sl_peripheral_t peripheral)1253inline KEYSCAN_TypeDef *sl_device_peripheral_keyscan_get_base_addr(const sl_peripheral_t peripheral) 1254 { 1255 return (KEYSCAN_TypeDef *)peripheral->base; 1256 } 1257 1258 /***************************************************************************//** 1259 * The base address getter for L2CACHE. 1260 * 1261 * @param peripheral A pointer to peripheral. 1262 * 1263 * @return The base address of the peripheral. 1264 ******************************************************************************/ sl_device_peripheral_l2cache_get_base_addr(const sl_peripheral_t peripheral)1265inline L2CACHE_TypeDef *sl_device_peripheral_l2cache_get_base_addr(const sl_peripheral_t peripheral) 1266 { 1267 return (L2CACHE_TypeDef *)peripheral->base; 1268 } 1269 1270 /***************************************************************************//** 1271 * The base address getter for LCD. 1272 * 1273 * @param peripheral A pointer to peripheral. 1274 * 1275 * @return The base address of the peripheral. 1276 ******************************************************************************/ sl_device_peripheral_lcd_get_base_addr(const sl_peripheral_t peripheral)1277inline LCD_TypeDef *sl_device_peripheral_lcd_get_base_addr(const sl_peripheral_t peripheral) 1278 { 1279 return (LCD_TypeDef *)peripheral->base; 1280 } 1281 1282 /***************************************************************************//** 1283 * The base address getter for LCDRF. 1284 * 1285 * @param peripheral A pointer to peripheral. 1286 * 1287 * @return The base address of the peripheral. 1288 ******************************************************************************/ sl_device_peripheral_lcdrf_get_base_addr(const sl_peripheral_t peripheral)1289inline LCDRF_TypeDef *sl_device_peripheral_lcdrf_get_base_addr(const sl_peripheral_t peripheral) 1290 { 1291 return (LCDRF_TypeDef *)peripheral->base; 1292 } 1293 1294 /***************************************************************************//** 1295 * The base address getter for LDMA. 1296 * 1297 * @param peripheral A pointer to peripheral. 1298 * 1299 * @return The base address of the peripheral. 1300 ******************************************************************************/ sl_device_peripheral_ldma_get_base_addr(const sl_peripheral_t peripheral)1301inline LDMA_TypeDef *sl_device_peripheral_ldma_get_base_addr(const sl_peripheral_t peripheral) 1302 { 1303 return (LDMA_TypeDef *)peripheral->base; 1304 } 1305 1306 /***************************************************************************//** 1307 * The base address getter for LDMAXBAR. 1308 * 1309 * @param peripheral A pointer to peripheral. 1310 * 1311 * @return The base address of the peripheral. 1312 ******************************************************************************/ sl_device_peripheral_ldmaxbar_get_base_addr(const sl_peripheral_t peripheral)1313inline LDMAXBAR_TypeDef *sl_device_peripheral_ldmaxbar_get_base_addr(const sl_peripheral_t peripheral) 1314 { 1315 return (LDMAXBAR_TypeDef *)peripheral->base; 1316 } 1317 1318 /***************************************************************************//** 1319 * The base address getter for LEDDRV. 1320 * 1321 * @param peripheral A pointer to peripheral. 1322 * 1323 * @return The base address of the peripheral. 1324 ******************************************************************************/ sl_device_peripheral_leddrv_get_base_addr(const sl_peripheral_t peripheral)1325inline LEDDRV_TypeDef *sl_device_peripheral_leddrv_get_base_addr(const sl_peripheral_t peripheral) 1326 { 1327 return (LEDDRV_TypeDef *)peripheral->base; 1328 } 1329 1330 /***************************************************************************//** 1331 * The base address getter for LESENSE. 1332 * 1333 * @param peripheral A pointer to peripheral. 1334 * 1335 * @return The base address of the peripheral. 1336 ******************************************************************************/ sl_device_peripheral_lesense_get_base_addr(const sl_peripheral_t peripheral)1337inline LESENSE_TypeDef *sl_device_peripheral_lesense_get_base_addr(const sl_peripheral_t peripheral) 1338 { 1339 return (LESENSE_TypeDef *)peripheral->base; 1340 } 1341 1342 /***************************************************************************//** 1343 * The base address getter for LETIMER. 1344 * 1345 * @param peripheral A pointer to peripheral. 1346 * 1347 * @return The base address of the peripheral. 1348 ******************************************************************************/ sl_device_peripheral_letimer_get_base_addr(const sl_peripheral_t peripheral)1349inline LETIMER_TypeDef *sl_device_peripheral_letimer_get_base_addr(const sl_peripheral_t peripheral) 1350 { 1351 return (LETIMER_TypeDef *)peripheral->base; 1352 } 1353 1354 /***************************************************************************//** 1355 * The base address getter for LFRCO. 1356 * 1357 * @param peripheral A pointer to peripheral. 1358 * 1359 * @return The base address of the peripheral. 1360 ******************************************************************************/ sl_device_peripheral_lfrco_get_base_addr(const sl_peripheral_t peripheral)1361inline LFRCO_TypeDef *sl_device_peripheral_lfrco_get_base_addr(const sl_peripheral_t peripheral) 1362 { 1363 return (LFRCO_TypeDef *)peripheral->base; 1364 } 1365 1366 /***************************************************************************//** 1367 * The base address getter for LFXO. 1368 * 1369 * @param peripheral A pointer to peripheral. 1370 * 1371 * @return The base address of the peripheral. 1372 ******************************************************************************/ sl_device_peripheral_lfxo_get_base_addr(const sl_peripheral_t peripheral)1373inline LFXO_TypeDef *sl_device_peripheral_lfxo_get_base_addr(const sl_peripheral_t peripheral) 1374 { 1375 return (LFXO_TypeDef *)peripheral->base; 1376 } 1377 1378 /***************************************************************************//** 1379 * The base address getter for LPWAES. 1380 * 1381 * @param peripheral A pointer to peripheral. 1382 * 1383 * @return The base address of the peripheral. 1384 ******************************************************************************/ sl_device_peripheral_lpwaes_get_base_addr(const sl_peripheral_t peripheral)1385inline LPWAES_TypeDef *sl_device_peripheral_lpwaes_get_base_addr(const sl_peripheral_t peripheral) 1386 { 1387 return (LPWAES_TypeDef *)peripheral->base; 1388 } 1389 1390 /***************************************************************************//** 1391 * The base address getter for LPW0PORTAL. 1392 * 1393 * @param peripheral A pointer to peripheral. 1394 * 1395 * @return The base address of the peripheral. 1396 ******************************************************************************/ sl_device_peripheral_lpw0portal_get_base_addr(const sl_peripheral_t peripheral)1397inline LPW0PORTAL_TypeDef *sl_device_peripheral_lpw0portal_get_base_addr(const sl_peripheral_t peripheral) 1398 { 1399 return (LPW0PORTAL_TypeDef *)peripheral->base; 1400 } 1401 1402 /***************************************************************************//** 1403 * The base address getter for LVGD. 1404 * 1405 * @param peripheral A pointer to peripheral. 1406 * 1407 * @return The base address of the peripheral. 1408 ******************************************************************************/ sl_device_peripheral_lvgd_get_base_addr(const sl_peripheral_t peripheral)1409inline LVGD_TypeDef *sl_device_peripheral_lvgd_get_base_addr(const sl_peripheral_t peripheral) 1410 { 1411 return (LVGD_TypeDef *)peripheral->base; 1412 } 1413 1414 /***************************************************************************//** 1415 * The base address getter for MAILBOX. 1416 * 1417 * @param peripheral A pointer to peripheral. 1418 * 1419 * @return The base address of the peripheral. 1420 ******************************************************************************/ sl_device_peripheral_mailbox_get_base_addr(const sl_peripheral_t peripheral)1421inline MAILBOX_TypeDef *sl_device_peripheral_mailbox_get_base_addr(const sl_peripheral_t peripheral) 1422 { 1423 return (MAILBOX_TypeDef *)peripheral->base; 1424 } 1425 1426 /***************************************************************************//** 1427 * The base address getter for MPAHBRAM. 1428 * 1429 * @param peripheral A pointer to peripheral. 1430 * 1431 * @return The base address of the peripheral. 1432 ******************************************************************************/ sl_device_peripheral_mpahbram_get_base_addr(const sl_peripheral_t peripheral)1433inline MPAHBRAM_TypeDef *sl_device_peripheral_mpahbram_get_base_addr(const sl_peripheral_t peripheral) 1434 { 1435 return (MPAHBRAM_TypeDef *)peripheral->base; 1436 } 1437 1438 /***************************************************************************//** 1439 * The base address getter for MSC. 1440 * 1441 * @param peripheral A pointer to peripheral. 1442 * 1443 * @return The base address of the peripheral. 1444 ******************************************************************************/ sl_device_peripheral_msc_get_base_addr(const sl_peripheral_t peripheral)1445inline MSC_TypeDef *sl_device_peripheral_msc_get_base_addr(const sl_peripheral_t peripheral) 1446 { 1447 return (MSC_TypeDef *)peripheral->base; 1448 } 1449 1450 /***************************************************************************//** 1451 * The base address getter for MVP. 1452 * 1453 * @param peripheral A pointer to peripheral. 1454 * 1455 * @return The base address of the peripheral. 1456 ******************************************************************************/ sl_device_peripheral_mvp_get_base_addr(const sl_peripheral_t peripheral)1457inline MVP_TypeDef *sl_device_peripheral_mvp_get_base_addr(const sl_peripheral_t peripheral) 1458 { 1459 return (MVP_TypeDef *)peripheral->base; 1460 } 1461 1462 /***************************************************************************//** 1463 * The base address getter for PCNT. 1464 * 1465 * @param peripheral A pointer to peripheral. 1466 * 1467 * @return The base address of the peripheral. 1468 ******************************************************************************/ sl_device_peripheral_pcnt_get_base_addr(const sl_peripheral_t peripheral)1469inline PCNT_TypeDef *sl_device_peripheral_pcnt_get_base_addr(const sl_peripheral_t peripheral) 1470 { 1471 return (PCNT_TypeDef *)peripheral->base; 1472 } 1473 1474 /***************************************************************************//** 1475 * The base address getter for PDM. 1476 * 1477 * @param peripheral A pointer to peripheral. 1478 * 1479 * @return The base address of the peripheral. 1480 ******************************************************************************/ sl_device_peripheral_pdm_get_base_addr(const sl_peripheral_t peripheral)1481inline PDM_TypeDef *sl_device_peripheral_pdm_get_base_addr(const sl_peripheral_t peripheral) 1482 { 1483 return (PDM_TypeDef *)peripheral->base; 1484 } 1485 1486 /***************************************************************************//** 1487 * The base address getter for PFMXPPRF. 1488 * 1489 * @param peripheral A pointer to peripheral. 1490 * 1491 * @return The base address of the peripheral. 1492 ******************************************************************************/ sl_device_peripheral_pfmxpprf_get_base_addr(const sl_peripheral_t peripheral)1493inline PFMXPPRF_TypeDef *sl_device_peripheral_pfmxpprf_get_base_addr(const sl_peripheral_t peripheral) 1494 { 1495 return (PFMXPPRF_TypeDef *)peripheral->base; 1496 } 1497 1498 /***************************************************************************//** 1499 * The base address getter for PIXELRZ. 1500 * 1501 * @param peripheral A pointer to peripheral. 1502 * 1503 * @return The base address of the peripheral. 1504 ******************************************************************************/ sl_device_peripheral_pixelrz_get_base_addr(const sl_peripheral_t peripheral)1505inline PIXELRZ_TypeDef *sl_device_peripheral_pixelrz_get_base_addr(const sl_peripheral_t peripheral) 1506 { 1507 return (PIXELRZ_TypeDef *)peripheral->base; 1508 } 1509 1510 /***************************************************************************//** 1511 * The base address getter for PRS. 1512 * 1513 * @param peripheral A pointer to peripheral. 1514 * 1515 * @return The base address of the peripheral. 1516 ******************************************************************************/ sl_device_peripheral_prs_get_base_addr(const sl_peripheral_t peripheral)1517inline PRS_TypeDef *sl_device_peripheral_prs_get_base_addr(const sl_peripheral_t peripheral) 1518 { 1519 return (PRS_TypeDef *)peripheral->base; 1520 } 1521 1522 /***************************************************************************//** 1523 * The base address getter for RFFPLL. 1524 * 1525 * @param peripheral A pointer to peripheral. 1526 * 1527 * @return The base address of the peripheral. 1528 ******************************************************************************/ sl_device_peripheral_rffpll_get_base_addr(const sl_peripheral_t peripheral)1529inline RFFPLL_TypeDef *sl_device_peripheral_rffpll_get_base_addr(const sl_peripheral_t peripheral) 1530 { 1531 return (RFFPLL_TypeDef *)peripheral->base; 1532 } 1533 1534 /***************************************************************************//** 1535 * The base address getter for RPA. 1536 * 1537 * @param peripheral A pointer to peripheral. 1538 * 1539 * @return The base address of the peripheral. 1540 ******************************************************************************/ sl_device_peripheral_rpa_get_base_addr(const sl_peripheral_t peripheral)1541inline RPA_TypeDef *sl_device_peripheral_rpa_get_base_addr(const sl_peripheral_t peripheral) 1542 { 1543 return (RPA_TypeDef *)peripheral->base; 1544 } 1545 1546 /***************************************************************************//** 1547 * The base address getter for RTCC. 1548 * 1549 * @param peripheral A pointer to peripheral. 1550 * 1551 * @return The base address of the peripheral. 1552 ******************************************************************************/ sl_device_peripheral_rtcc_get_base_addr(const sl_peripheral_t peripheral)1553inline RTCC_TypeDef *sl_device_peripheral_rtcc_get_base_addr(const sl_peripheral_t peripheral) 1554 { 1555 return (RTCC_TypeDef *)peripheral->base; 1556 } 1557 1558 /***************************************************************************//** 1559 * The base address getter for SCRATCHPAD. 1560 * 1561 * @param peripheral A pointer to peripheral. 1562 * 1563 * @return The base address of the peripheral. 1564 ******************************************************************************/ sl_device_peripheral_scratchpad_get_base_addr(const sl_peripheral_t peripheral)1565inline SCRATCHPAD_TypeDef *sl_device_peripheral_scratchpad_get_base_addr(const sl_peripheral_t peripheral) 1566 { 1567 return (SCRATCHPAD_TypeDef *)peripheral->base; 1568 } 1569 1570 /***************************************************************************//** 1571 * The base address getter for SEMAILBOX_AHBHOST. 1572 * 1573 * @param peripheral A pointer to peripheral. 1574 * 1575 * @return The base address of the peripheral. 1576 ******************************************************************************/ sl_device_peripheral_semailbox_ahbhost_get_base_addr(const sl_peripheral_t peripheral)1577inline SEMAILBOX_AHBHOST_TypeDef *sl_device_peripheral_semailbox_ahbhost_get_base_addr(const sl_peripheral_t peripheral) 1578 { 1579 return (SEMAILBOX_AHBHOST_TypeDef *)peripheral->base; 1580 } 1581 1582 /***************************************************************************//** 1583 * The base address getter for SEMAILBOX_HOST. 1584 * 1585 * @param peripheral A pointer to peripheral. 1586 * 1587 * @return The base address of the peripheral. 1588 ******************************************************************************/ sl_device_peripheral_semailbox_host_get_base_addr(const sl_peripheral_t peripheral)1589inline SEMAILBOX_HOST_TypeDef *sl_device_peripheral_semailbox_host_get_base_addr(const sl_peripheral_t peripheral) 1590 { 1591 return (SEMAILBOX_HOST_TypeDef *)peripheral->base; 1592 } 1593 1594 /***************************************************************************//** 1595 * The base address getter for SEMAPHORE. 1596 * 1597 * @param peripheral A pointer to peripheral. 1598 * 1599 * @return The base address of the peripheral. 1600 ******************************************************************************/ sl_device_peripheral_semaphore_get_base_addr(const sl_peripheral_t peripheral)1601inline SEMAPHORE_TypeDef *sl_device_peripheral_semaphore_get_base_addr(const sl_peripheral_t peripheral) 1602 { 1603 return (SEMAPHORE_TypeDef *)peripheral->base; 1604 } 1605 1606 /***************************************************************************//** 1607 * The base address getter for SEPORTAL. 1608 * 1609 * @param peripheral A pointer to peripheral. 1610 * 1611 * @return The base address of the peripheral. 1612 ******************************************************************************/ sl_device_peripheral_seportal_get_base_addr(const sl_peripheral_t peripheral)1613inline SEPORTAL_TypeDef *sl_device_peripheral_seportal_get_base_addr(const sl_peripheral_t peripheral) 1614 { 1615 return (SEPORTAL_TypeDef *)peripheral->base; 1616 } 1617 1618 /***************************************************************************//** 1619 * The base address getter for SEPUF_APBCFG. 1620 * 1621 * @param peripheral A pointer to peripheral. 1622 * 1623 * @return The base address of the peripheral. 1624 ******************************************************************************/ sl_device_peripheral_sepuf_apbcfg_get_base_addr(const sl_peripheral_t peripheral)1625inline SEPUF_APBCFG_TypeDef *sl_device_peripheral_sepuf_apbcfg_get_base_addr(const sl_peripheral_t peripheral) 1626 { 1627 return (SEPUF_APBCFG_TypeDef *)peripheral->base; 1628 } 1629 1630 /***************************************************************************//** 1631 * The base address getter for SMU. 1632 * 1633 * @param peripheral A pointer to peripheral. 1634 * 1635 * @return The base address of the peripheral. 1636 ******************************************************************************/ sl_device_peripheral_smu_get_base_addr(const sl_peripheral_t peripheral)1637inline SMU_TypeDef *sl_device_peripheral_smu_get_base_addr(const sl_peripheral_t peripheral) 1638 { 1639 return (SMU_TypeDef *)peripheral->base; 1640 } 1641 1642 /***************************************************************************//** 1643 * The base address getter for SOCPLL. 1644 * 1645 * @param peripheral A pointer to peripheral. 1646 * 1647 * @return The base address of the peripheral. 1648 ******************************************************************************/ sl_device_peripheral_socpll_get_base_addr(const sl_peripheral_t peripheral)1649inline SOCPLL_TypeDef *sl_device_peripheral_socpll_get_base_addr(const sl_peripheral_t peripheral) 1650 { 1651 return (SOCPLL_TypeDef *)peripheral->base; 1652 } 1653 1654 /***************************************************************************//** 1655 * The base address getter for SYMCRYPTO. 1656 * 1657 * @param peripheral A pointer to peripheral. 1658 * 1659 * @return The base address of the peripheral. 1660 ******************************************************************************/ sl_device_peripheral_symcrypto_get_base_addr(const sl_peripheral_t peripheral)1661inline SYMCRYPTO_TypeDef *sl_device_peripheral_symcrypto_get_base_addr(const sl_peripheral_t peripheral) 1662 { 1663 return (SYMCRYPTO_TypeDef *)peripheral->base; 1664 } 1665 1666 /***************************************************************************//** 1667 * The base address getter for SYSCFG. 1668 * 1669 * @param peripheral A pointer to peripheral. 1670 * 1671 * @return The base address of the peripheral. 1672 ******************************************************************************/ sl_device_peripheral_syscfg_get_base_addr(const sl_peripheral_t peripheral)1673inline SYSCFG_TypeDef *sl_device_peripheral_syscfg_get_base_addr(const sl_peripheral_t peripheral) 1674 { 1675 return (SYSCFG_TypeDef *)peripheral->base; 1676 } 1677 1678 /***************************************************************************//** 1679 * The base address getter for SYSCFG_CFGNS. 1680 * 1681 * @param peripheral A pointer to peripheral. 1682 * 1683 * @return The base address of the peripheral. 1684 ******************************************************************************/ sl_device_peripheral_syscfg_cfgns_get_base_addr(const sl_peripheral_t peripheral)1685inline SYSCFG_CFGNS_TypeDef *sl_device_peripheral_syscfg_cfgns_get_base_addr(const sl_peripheral_t peripheral) 1686 { 1687 return (SYSCFG_CFGNS_TypeDef *)peripheral->base; 1688 } 1689 1690 /***************************************************************************//** 1691 * The base address getter for SYSRTC. 1692 * 1693 * @param peripheral A pointer to peripheral. 1694 * 1695 * @return The base address of the peripheral. 1696 ******************************************************************************/ sl_device_peripheral_sysrtc_get_base_addr(const sl_peripheral_t peripheral)1697inline SYSRTC_TypeDef *sl_device_peripheral_sysrtc_get_base_addr(const sl_peripheral_t peripheral) 1698 { 1699 return (SYSRTC_TypeDef *)peripheral->base; 1700 } 1701 1702 /***************************************************************************//** 1703 * The base address getter for TIMER. 1704 * 1705 * @param peripheral A pointer to peripheral. 1706 * 1707 * @return The base address of the peripheral. 1708 ******************************************************************************/ sl_device_peripheral_timer_get_base_addr(const sl_peripheral_t peripheral)1709inline TIMER_TypeDef *sl_device_peripheral_timer_get_base_addr(const sl_peripheral_t peripheral) 1710 { 1711 return (TIMER_TypeDef *)peripheral->base; 1712 } 1713 1714 /***************************************************************************//** 1715 * The base address getter for ULFRCO. 1716 * 1717 * @param peripheral A pointer to peripheral. 1718 * 1719 * @return The base address of the peripheral. 1720 ******************************************************************************/ sl_device_peripheral_ulfrco_get_base_addr(const sl_peripheral_t peripheral)1721inline ULFRCO_TypeDef *sl_device_peripheral_ulfrco_get_base_addr(const sl_peripheral_t peripheral) 1722 { 1723 return (ULFRCO_TypeDef *)peripheral->base; 1724 } 1725 1726 /***************************************************************************//** 1727 * The base address getter for USART. 1728 * 1729 * @param peripheral A pointer to peripheral. 1730 * 1731 * @return The base address of the peripheral. 1732 ******************************************************************************/ sl_device_peripheral_usart_get_base_addr(const sl_peripheral_t peripheral)1733inline USART_TypeDef *sl_device_peripheral_usart_get_base_addr(const sl_peripheral_t peripheral) 1734 { 1735 return (USART_TypeDef *)peripheral->base; 1736 } 1737 1738 /***************************************************************************//** 1739 * The base address getter for USBAHB_AHBS. 1740 * 1741 * @param peripheral A pointer to peripheral. 1742 * 1743 * @return The base address of the peripheral. 1744 ******************************************************************************/ sl_device_peripheral_usbahb_ahbs_get_base_addr(const sl_peripheral_t peripheral)1745inline USBAHB_AHBS_TypeDef *sl_device_peripheral_usbahb_ahbs_get_base_addr(const sl_peripheral_t peripheral) 1746 { 1747 return (USBAHB_AHBS_TypeDef *)peripheral->base; 1748 } 1749 1750 /***************************************************************************//** 1751 * The base address getter for USBPLL. 1752 * 1753 * @param peripheral A pointer to peripheral. 1754 * 1755 * @return The base address of the peripheral. 1756 ******************************************************************************/ sl_device_peripheral_usbpll_get_base_addr(const sl_peripheral_t peripheral)1757inline USBPLL_TypeDef *sl_device_peripheral_usbpll_get_base_addr(const sl_peripheral_t peripheral) 1758 { 1759 return (USBPLL_TypeDef *)peripheral->base; 1760 } 1761 1762 /***************************************************************************//** 1763 * The base address getter for USB_APBS. 1764 * 1765 * @param peripheral A pointer to peripheral. 1766 * 1767 * @return The base address of the peripheral. 1768 ******************************************************************************/ sl_device_peripheral_usb_apbs_get_base_addr(const sl_peripheral_t peripheral)1769inline USB_APBS_TypeDef *sl_device_peripheral_usb_apbs_get_base_addr(const sl_peripheral_t peripheral) 1770 { 1771 return (USB_APBS_TypeDef *)peripheral->base; 1772 } 1773 1774 /***************************************************************************//** 1775 * The base address getter for VDAC. 1776 * 1777 * @param peripheral A pointer to peripheral. 1778 * 1779 * @return The base address of the peripheral. 1780 ******************************************************************************/ sl_device_peripheral_vdac_get_base_addr(const sl_peripheral_t peripheral)1781inline VDAC_TypeDef *sl_device_peripheral_vdac_get_base_addr(const sl_peripheral_t peripheral) 1782 { 1783 return (VDAC_TypeDef *)peripheral->base; 1784 } 1785 1786 /***************************************************************************//** 1787 * The base address getter for WDOG. 1788 * 1789 * @param peripheral A pointer to peripheral. 1790 * 1791 * @return The base address of the peripheral. 1792 ******************************************************************************/ sl_device_peripheral_wdog_get_base_addr(const sl_peripheral_t peripheral)1793inline WDOG_TypeDef *sl_device_peripheral_wdog_get_base_addr(const sl_peripheral_t peripheral) 1794 { 1795 return (WDOG_TypeDef *)peripheral->base; 1796 } 1797 1798 /***************************************************************************//** 1799 * The clock branch getter. 1800 * 1801 * @param peripheral A pointer to peripheral. 1802 * 1803 * @return The clock branch of the peripheral. 1804 ******************************************************************************/ SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DEVICE_PERIPHERAL,SL_CODE_CLASS_TIME_CRITICAL)1805SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DEVICE_PERIPHERAL, SL_CODE_CLASS_TIME_CRITICAL) 1806 inline sl_clock_branch_t sl_device_peripheral_get_clock_branch(const sl_peripheral_t peripheral) 1807 { 1808 return peripheral->clk_branch; 1809 } 1810 1811 /***************************************************************************//** 1812 * The bus clock getter. 1813 * 1814 * @param peripheral A pointer to peripheral. 1815 * 1816 * @return The bus clock of the peripheral. 1817 ******************************************************************************/ sl_device_peripheral_get_bus_clock(const sl_peripheral_t peripheral)1818inline sl_bus_clock_t sl_device_peripheral_get_bus_clock(const sl_peripheral_t peripheral) 1819 { 1820 return peripheral->bus_clock; 1821 } 1822 1823 /** @} (end addtogroup device_peripheral) */ 1824 1825 #ifdef __cplusplus 1826 } 1827 #endif 1828 1829 #endif // SL_DEVICE_PERIPHERAL_H 1830