aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S')
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33.h41408
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33_features.h490
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/all_lib_device_MIMXRT685S_cm33.cmake131
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI.FLMbin0 -> 22844 bytes
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI_S.FLMbin0 -> 22860 bytes
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6xx.dbgconf18
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_CMSIS.cmake15
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_startup.cmake16
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_clock.cmake16
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_inputmux_connections.cmake15
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_power.cmake16
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_reset.cmake16
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.c1552
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.h1203
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.c107
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.h96
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.c222
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.h726
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_inputmux_connections.h540
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.c1087
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.h579
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.c164
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.h232
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/fsl_device_registers.h44
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash.ld244
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_ns.ld235
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_s.ld255
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram.ld232
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_ns.ld223
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_s.ld244
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S888
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.c758
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.cpp758
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.c564
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.h287
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.c199
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.h67
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.c60
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.h33
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.c62
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.h52
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.c222
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.h119
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/template/RTE_Device.h240
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.c1085
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.h292
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/utility_shell.cmake18
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.x585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xbn585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xn585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xr61
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xu61
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/memmap.xmm91
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/specs36
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.x585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xbn585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xn585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xr61
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xu61
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/memmap.xmm74
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/specs36
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.x585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xbn585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xn585
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xr61
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xu61
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/memmap.xmm78
-rwxr-xr-xlib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/specs36
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.x585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xbn585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xn585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xr61
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xu61
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/memmap.xmm91
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/specs36
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.x585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xbn585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xn585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xr61
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xu61
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/memmap.xmm74
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/specs36
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.x585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xbn585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xn585
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xr61
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xu61
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/memmap.xmm78
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/specs36
89 files changed, 67794 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33.h
new file mode 100644
index 000000000..d054063d2
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33.h
@@ -0,0 +1,41408 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compilers: GNU C Compiler
8** IAR ANSI C/C++ Compiler for ARM
9** Keil ARM C/C++ Compiler
10** MCUXpresso Compiler
11**
12** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
13** Version: rev. 2.0, 2019-11-12
14** Build: b201019
15**
16** Abstract:
17** CMSIS Peripheral Access Layer for MIMXRT685S_cm33
18**
19** Copyright 1997-2016 Freescale Semiconductor, Inc.
20** Copyright 2016-2020 NXP
21** All rights reserved.
22**
23** SPDX-License-Identifier: BSD-3-Clause
24**
25** http: www.nxp.com
26** mail: [email protected]
27**
28** Revisions:
29** - rev. 1.0 (2018-06-19)
30** Initial version.
31** - rev. 2.0 (2019-11-12)
32** Base on rev 0.95 RM (B0 Header)
33**
34** ###################################################################
35*/
36
37/*!
38 * @file MIMXRT685S_cm33.h
39 * @version 2.0
40 * @date 2019-11-12
41 * @brief CMSIS Peripheral Access Layer for MIMXRT685S_cm33
42 *
43 * CMSIS Peripheral Access Layer for MIMXRT685S_cm33
44 */
45
46#ifndef _MIMXRT685S_CM33_H_
47#define _MIMXRT685S_CM33_H_ /**< Symbol preventing repeated inclusion */
48
49/** Memory map major version (memory maps with equal major version number are
50 * compatible) */
51#define MCU_MEM_MAP_VERSION 0x0200U
52/** Memory map minor version */
53#define MCU_MEM_MAP_VERSION_MINOR 0x0000U
54
55
56/* ----------------------------------------------------------------------------
57 -- Interrupt vector numbers
58 ---------------------------------------------------------------------------- */
59
60/*!
61 * @addtogroup Interrupt_vector_numbers Interrupt vector numbers
62 * @{
63 */
64
65/** Interrupt Number Definitions */
66#define NUMBER_OF_INT_VECTORS 76 /**< Number of interrupts in the Vector table */
67
68typedef enum IRQn {
69 /* Auxiliary constants */
70 NotAvail_IRQn = -128, /**< Not available device specific interrupt */
71
72 /* Core interrupts */
73 NonMaskableInt_IRQn = -14, /**< Non Maskable Interrupt */
74 HardFault_IRQn = -13, /**< Cortex-M33 SV Hard Fault Interrupt */
75 MemoryManagement_IRQn = -12, /**< Cortex-M33 Memory Management Interrupt */
76 BusFault_IRQn = -11, /**< Cortex-M33 Bus Fault Interrupt */
77 UsageFault_IRQn = -10, /**< Cortex-M33 Usage Fault Interrupt */
78 SecureFault_IRQn = -9, /**< Cortex-M33 Secure Fault Interrupt */
79 SVCall_IRQn = -5, /**< Cortex-M33 SV Call Interrupt */
80 DebugMonitor_IRQn = -4, /**< Cortex-M33 Debug Monitor Interrupt */
81 PendSV_IRQn = -2, /**< Cortex-M33 Pend SV Interrupt */
82 SysTick_IRQn = -1, /**< Cortex-M33 System Tick Interrupt */
83
84 /* Device specific interrupts */
85 WDT0_IRQn = 0, /**< Windowed watchdog timer 0 (CM33 watchdog) */
86 DMA0_IRQn = 1, /**< DMA controller 0 (secure or CM33 DMA) */
87 GPIO_INTA_IRQn = 2, /**< GPIO interrupt A */
88 GPIO_INTB_IRQn = 3, /**< GPIO interrupt B */
89 PIN_INT0_IRQn = 4, /**< Pin interrupt 0 or pattern match engine slice 0 int */
90 PIN_INT1_IRQn = 5, /**< Pin interrupt 1 or pattern match engine slice 1 int */
91 PIN_INT2_IRQn = 6, /**< Pin interrupt 2 or pattern match engine slice 2 int */
92 PIN_INT3_IRQn = 7, /**< Pin interrupt 3 or pattern match engine slice 3 int */
93 UTICK0_IRQn = 8, /**< Micro-tick Timer */
94 MRT0_IRQn = 9, /**< Multi-Rate Timer */
95 CTIMER0_IRQn = 10, /**< Standard counter/timer CTIMER0 */
96 CTIMER1_IRQn = 11, /**< Standard counter/timer CTIMER1 */
97 SCT0_IRQn = 12, /**< SCTimer/PWM */
98 CTIMER3_IRQn = 13, /**< Standard counter/timer CTIMER3 */
99 FLEXCOMM0_IRQn = 14, /**< Flexcomm Interface 0 (USART, SPI, I2C, I2S) */
100 FLEXCOMM1_IRQn = 15, /**< Flexcomm Interface 1 (USART, SPI, I2C, I2S) */
101 FLEXCOMM2_IRQn = 16, /**< Flexcomm Interface 2 (USART, SPI, I2C, I2S) */
102 FLEXCOMM3_IRQn = 17, /**< Flexcomm Interface 3 (USART, SPI, I2C, I2S) */
103 FLEXCOMM4_IRQn = 18, /**< Flexcomm Interface 4 (USART, SPI, I2C, I2S) */
104 FLEXCOMM5_IRQn = 19, /**< Flexcomm Interface 5 (USART, SPI, I2C, I2S) */
105 FLEXCOMM14_IRQn = 20, /**< Flexcomm Interface 14 (SPI only) */
106 FLEXCOMM15_IRQn = 21, /**< Flexcomm Interface 15 (I2C only) */
107 ADC0_IRQn = 22, /**< ADC0 */
108 Reserved39_IRQn = 23, /**< Reserved interrupt */
109 ACMP_IRQn = 24, /**< Analog comparator */
110 DMIC0_IRQn = 25, /**< Digital microphone and DMIC subsystem */
111 Reserved42_IRQn = 26, /**< Reserved interrupt */
112 HYPERVISOR_IRQn = 27, /**< Hypervisor */
113 SECUREVIOLATION_IRQn = 28, /**< Secure violation */
114 HWVAD0_IRQn = 29, /**< Hardware Voice Activity Detector */
115 Reserved46_IRQn = 30, /**< Reserved interrupt */
116 RNG_IRQn = 31, /**< Random number Generator */
117 RTC_IRQn = 32, /**< RTC alarm and wake-up */
118 DSPWAKE_IRQn = 33, /**< Wake-up from DSP */
119 MU_A_IRQn = 34, /**< Messaging Unit port A for CM33 */
120 PIN_INT4_IRQn = 35, /**< Pin interrupt 4 or pattern match engine slice 4 int */
121 PIN_INT5_IRQn = 36, /**< Pin interrupt 5 or pattern match engine slice 5 int */
122 PIN_INT6_IRQn = 37, /**< Pin interrupt 6 or pattern match engine slice 6 int */
123 PIN_INT7_IRQn = 38, /**< Pin interrupt 7 or pattern match engine slice 7 int */
124 CTIMER2_IRQn = 39, /**< Standard counter/timer CTIMER2 */
125 CTIMER4_IRQn = 40, /**< Standard counter/timer CTIMER4 */
126 OS_EVENT_IRQn = 41, /**< OS event timer */
127 FLEXSPI_IRQn = 42, /**< FLEXSPI interface */
128 FLEXCOMM6_IRQn = 43, /**< Flexcomm Interface 6 (USART, SPI, I2C, I2S) */
129 FLEXCOMM7_IRQn = 44, /**< Flexcomm Interface 7 (USART, SPI, I2C, I2S) */
130 USDHC0_IRQn = 45, /**< USDHC0 (Enhanced SDHC) interrupt request */
131 USDHC1_IRQn = 46, /**< USDHC1 (Enhanced SDHC) interrupt request */
132 SGPIO_INTA_IRQn = 47, /**< Secure GPIO interrupt A */
133 SGPIO_INTB_IRQn = 48, /**< Secure GPIO interrupt B */
134 I3C0_IRQn = 49, /**< I3C interface 0 */
135 USB_IRQn = 50, /**< High-speed USB device/host */
136 USB_WAKEUP_IRQn = 51, /**< USB Activity Wake-up Interrupt */
137 WDT1_IRQn = 52, /**< Windowed watchdog timer 1 (HiFi 4 watchdog) */
138 USBPHY_DCD_IRQn = 53, /**< USBPHY DCD */
139 DMA1_IRQn = 54, /**< DMA controller 1 (non-secure or HiFi 4 DMA) */
140 PUF_IRQn = 55, /**< Physical Unclonable Function */
141 POWERQUAD_IRQn = 56, /**< PowerQuad math coprocessor */
142 CASPER_IRQn = 57, /**< Casper cryptographic coprocessor */
143 PMC_PMIC_IRQn = 58, /**< Power management IC */
144 HASHCRYPT_IRQn = 59 /**< Hash-AES unit */
145} IRQn_Type;
146
147/*!
148 * @}
149 */ /* end of group Interrupt_vector_numbers */
150
151
152/* ----------------------------------------------------------------------------
153 -- Cortex M33 Core Configuration
154 ---------------------------------------------------------------------------- */
155
156/*!
157 * @addtogroup Cortex_Core_Configuration Cortex M33 Core Configuration
158 * @{
159 */
160
161#define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
162#define __NVIC_PRIO_BITS 3 /**< Number of priority bits implemented in the NVIC */
163#define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
164#define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
165#define __DSP_PRESENT 1 /**< Defines if Armv8-M Mainline core supports DSP instructions */
166#define __SAUREGION_PRESENT 1 /**< Defines if an SAU is present or not */
167
168#include "core_cm33.h" /* Core Peripheral Access Layer */
169#include "system_MIMXRT685S_cm33.h" /* Device specific configuration file */
170
171/*!
172 * @}
173 */ /* end of group Cortex_Core_Configuration */
174
175
176/* ----------------------------------------------------------------------------
177 -- Device Peripheral Access Layer
178 ---------------------------------------------------------------------------- */
179
180/*!
181 * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
182 * @{
183 */
184
185
186/*
187** Start of section using anonymous unions
188*/
189
190#if defined(__ARMCC_VERSION)
191 #if (__ARMCC_VERSION >= 6010050)
192 #pragma clang diagnostic push
193 #else
194 #pragma push
195 #pragma anon_unions
196 #endif
197#elif defined(__GNUC__)
198 /* anonymous unions are enabled by default */
199#elif defined(__IAR_SYSTEMS_ICC__)
200 #pragma language=extended
201#else
202 #error Not supported compiler type
203#endif
204
205/* ----------------------------------------------------------------------------
206 -- ADC Peripheral Access Layer
207 ---------------------------------------------------------------------------- */
208
209/*!
210 * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
211 * @{
212 */
213
214/** ADC - Register Layout Typedef */
215typedef struct {
216 uint8_t RESERVED_0[4];
217 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
218 uint8_t RESERVED_1[8];
219 __IO uint32_t CTRL; /**< ADC Control Register, offset: 0x10 */
220 __IO uint32_t STAT; /**< ADC Status Register, offset: 0x14 */
221 __IO uint32_t IE; /**< Interrupt Enable Register, offset: 0x18 */
222 __IO uint32_t DE; /**< DMA Enable Register, offset: 0x1C */
223 __IO uint32_t CFG; /**< ADC Configuration Register, offset: 0x20 */
224 __IO uint32_t PAUSE; /**< ADC Pause Register, offset: 0x24 */
225 uint8_t RESERVED_2[8];
226 __IO uint32_t FCTRL; /**< ADC FIFO Control Register, offset: 0x30 */
227 __IO uint32_t SWTRIG; /**< Software Trigger Register, offset: 0x34 */
228 uint8_t RESERVED_3[136];
229 __IO uint32_t TCTRL[16]; /**< Trigger Control Register, array offset: 0xC0, array step: 0x4 */
230 struct { /* offset: 0x100, array step: 0x8 */
231 __IO uint32_t CMDL; /**< ADC Command Low Buffer Register, array offset: 0x100, array step: 0x8 */
232 __IO uint32_t CMDH; /**< ADC Command High Buffer Register, array offset: 0x104, array step: 0x8 */
233 } CMD[15];
234 uint8_t RESERVED_4[136];
235 __IO uint32_t CV[4]; /**< Compare Value Register, array offset: 0x200, array step: 0x4 */
236 uint8_t RESERVED_5[240];
237 __I uint32_t RESFIFO; /**< ADC Data Result FIFO Register, offset: 0x300 */
238} ADC_Type;
239
240/* ----------------------------------------------------------------------------
241 -- ADC Register Masks
242 ---------------------------------------------------------------------------- */
243
244/*!
245 * @addtogroup ADC_Register_Masks ADC Register Masks
246 * @{
247 */
248
249/*! @name PARAM - Parameter Register */
250/*! @{ */
251#define ADC_PARAM_TRIG_NUM_MASK (0xFFU)
252#define ADC_PARAM_TRIG_NUM_SHIFT (0U)
253/*! TRIG_NUM - Trigger Number
254 */
255#define ADC_PARAM_TRIG_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_TRIG_NUM_SHIFT)) & ADC_PARAM_TRIG_NUM_MASK)
256#define ADC_PARAM_FIFOSIZE_MASK (0xFF00U)
257#define ADC_PARAM_FIFOSIZE_SHIFT (8U)
258/*! FIFOSIZE - Result FIFO Depth
259 * 0b00000001..Result FIFO depth = 1 dataword.
260 * 0b00000100..Result FIFO depth = 4 datawords.
261 * 0b00001000..Result FIFO depth = 8 datawords.
262 * 0b00010000..Result FIFO depth = 16 datawords.
263 * 0b00100000..Result FIFO depth = 32 datawords.
264 * 0b01000000..Result FIFO depth = 64 datawords.
265 */
266#define ADC_PARAM_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_FIFOSIZE_SHIFT)) & ADC_PARAM_FIFOSIZE_MASK)
267#define ADC_PARAM_CV_NUM_MASK (0xFF0000U)
268#define ADC_PARAM_CV_NUM_SHIFT (16U)
269/*! CV_NUM - Compare Value Number
270 */
271#define ADC_PARAM_CV_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CV_NUM_SHIFT)) & ADC_PARAM_CV_NUM_MASK)
272#define ADC_PARAM_CMD_NUM_MASK (0xFF000000U)
273#define ADC_PARAM_CMD_NUM_SHIFT (24U)
274/*! CMD_NUM - Command Buffer Number
275 */
276#define ADC_PARAM_CMD_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CMD_NUM_SHIFT)) & ADC_PARAM_CMD_NUM_MASK)
277/*! @} */
278
279/*! @name CTRL - ADC Control Register */
280/*! @{ */
281#define ADC_CTRL_ADCEN_MASK (0x1U)
282#define ADC_CTRL_ADCEN_SHIFT (0U)
283/*! ADCEN - ADC Enable
284 * 0b0..ADC is disabled.
285 * 0b1..ADC is enabled.
286 */
287#define ADC_CTRL_ADCEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_ADCEN_SHIFT)) & ADC_CTRL_ADCEN_MASK)
288#define ADC_CTRL_RST_MASK (0x2U)
289#define ADC_CTRL_RST_SHIFT (1U)
290/*! RST - Software Reset
291 * 0b0..ADC logic is not reset.
292 * 0b1..ADC logic is reset.
293 */
294#define ADC_CTRL_RST(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RST_SHIFT)) & ADC_CTRL_RST_MASK)
295#define ADC_CTRL_DOZEN_MASK (0x4U)
296#define ADC_CTRL_DOZEN_SHIFT (2U)
297/*! DOZEN - Doze Enable
298 * 0b0..ADC is enabled in Doze mode.
299 * 0b1..ADC is disabled in Doze mode.
300 */
301#define ADC_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_DOZEN_SHIFT)) & ADC_CTRL_DOZEN_MASK)
302#define ADC_CTRL_RSTFIFO_MASK (0x100U)
303#define ADC_CTRL_RSTFIFO_SHIFT (8U)
304/*! RSTFIFO - Reset FIFO
305 * 0b0..No effect.
306 * 0b1..FIFO is reset.
307 */
308#define ADC_CTRL_RSTFIFO(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RSTFIFO_SHIFT)) & ADC_CTRL_RSTFIFO_MASK)
309/*! @} */
310
311/*! @name STAT - ADC Status Register */
312/*! @{ */
313#define ADC_STAT_RDY_MASK (0x1U)
314#define ADC_STAT_RDY_SHIFT (0U)
315/*! RDY - Result FIFO Ready Flag
316 * 0b0..Result FIFO data level not above watermark level.
317 * 0b1..Result FIFO holding data above watermark level.
318 */
319#define ADC_STAT_RDY(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_RDY_SHIFT)) & ADC_STAT_RDY_MASK)
320#define ADC_STAT_FOF_MASK (0x2U)
321#define ADC_STAT_FOF_SHIFT (1U)
322/*! FOF - Result FIFO Overflow Flag
323 * 0b0..No result FIFO overflow has occurred since the last time the flag was cleared.
324 * 0b1..At least one result FIFO overflow has occurred since the last time the flag was cleared.
325 */
326#define ADC_STAT_FOF(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_FOF_SHIFT)) & ADC_STAT_FOF_MASK)
327#define ADC_STAT_TRGACT_MASK (0xF0000U)
328#define ADC_STAT_TRGACT_SHIFT (16U)
329/*! TRGACT - Trigger Active
330 * 0b0000..Command (sequence) associated with Trigger 0 currently being executed.
331 * 0b0001..Command (sequence) associated with Trigger 1 currently being executed.
332 * 0b1111..Command (sequence) associated with Trigger 15 currently being executed.
333 */
334#define ADC_STAT_TRGACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_TRGACT_SHIFT)) & ADC_STAT_TRGACT_MASK)
335#define ADC_STAT_CMDACT_MASK (0xF000000U)
336#define ADC_STAT_CMDACT_SHIFT (24U)
337/*! CMDACT - Command Active
338 * 0b0000..No command is currently in progress.
339 * 0b0001..Command 1 currently being executed.
340 * 0b0010..Command 2 currently being executed.
341 * 0b1111..Command 15 currently being executed.
342 */
343#define ADC_STAT_CMDACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_CMDACT_SHIFT)) & ADC_STAT_CMDACT_MASK)
344/*! @} */
345
346/*! @name IE - Interrupt Enable Register */
347/*! @{ */
348#define ADC_IE_FWMIE_MASK (0x1U)
349#define ADC_IE_FWMIE_SHIFT (0U)
350/*! FWMIE - FIFO Watermark Interrupt Enable
351 * 0b0..FIFO watermark interrupts are not enabled.
352 * 0b1..FIFO watermark interrupts are enabled.
353 */
354#define ADC_IE_FWMIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FWMIE_SHIFT)) & ADC_IE_FWMIE_MASK)
355#define ADC_IE_FOFIE_MASK (0x2U)
356#define ADC_IE_FOFIE_SHIFT (1U)
357/*! FOFIE - Result FIFO Overflow Interrupt Enable
358 * 0b0..FIFO overflow interrupts are not enabled.
359 * 0b1..FIFO overflow interrupts are enabled.
360 */
361#define ADC_IE_FOFIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FOFIE_SHIFT)) & ADC_IE_FOFIE_MASK)
362/*! @} */
363
364/*! @name DE - DMA Enable Register */
365/*! @{ */
366#define ADC_DE_FWMDE_MASK (0x1U)
367#define ADC_DE_FWMDE_SHIFT (0U)
368/*! FWMDE - FIFO Watermark DMA Enable
369 * 0b0..DMA request disabled.
370 * 0b1..DMA request enabled.
371 */
372#define ADC_DE_FWMDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_DE_FWMDE_SHIFT)) & ADC_DE_FWMDE_MASK)
373/*! @} */
374
375/*! @name CFG - ADC Configuration Register */
376/*! @{ */
377#define ADC_CFG_TPRICTRL_MASK (0x1U)
378#define ADC_CFG_TPRICTRL_SHIFT (0U)
379/*! TPRICTRL - ADC trigger priority control
380 * 0b0..If a higher priority trigger is detected during command processing, the current conversion is aborted and
381 * the new command specified by the trigger is started.
382 * 0b1..If a higher priority trigger is received during command processing, the current conversion is completed
383 * (including averaging iterations and compare function if enabled) and stored to the RESFIFO before the
384 * higher priority trigger/command is initiated.
385 */
386#define ADC_CFG_TPRICTRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_TPRICTRL_SHIFT)) & ADC_CFG_TPRICTRL_MASK)
387#define ADC_CFG_PWRSEL_MASK (0x30U)
388#define ADC_CFG_PWRSEL_SHIFT (4U)
389/*! PWRSEL - Power Configuration Select
390 * 0b00..Lowest power setting.
391 * 0b01..Next lowest power setting.
392 * 0b10......
393 * 0b11..Highest power setting.
394 */
395#define ADC_CFG_PWRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWRSEL_SHIFT)) & ADC_CFG_PWRSEL_MASK)
396#define ADC_CFG_REFSEL_MASK (0xC0U)
397#define ADC_CFG_REFSEL_SHIFT (6U)
398/*! REFSEL - Voltage Reference Selection
399 * 0b00..(Default) Option 1 setting.
400 * 0b01..Option 2 setting.
401 * 0b10..Option 3 setting.
402 * 0b11..Reserved
403 */
404#define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK)
405#define ADC_CFG_PUDLY_MASK (0xFF0000U)
406#define ADC_CFG_PUDLY_SHIFT (16U)
407/*! PUDLY - Power Up Delay
408 */
409#define ADC_CFG_PUDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PUDLY_SHIFT)) & ADC_CFG_PUDLY_MASK)
410#define ADC_CFG_PWREN_MASK (0x10000000U)
411#define ADC_CFG_PWREN_SHIFT (28U)
412/*! PWREN - ADC Analog Pre-Enable
413 * 0b0..ADC analog circuits are only enabled while conversions are active. Performance is affected due to analog startup delays.
414 * 0b1..ADC analog circuits are pre-enabled and ready to execute conversions without startup delays (at the cost
415 * of higher DC current consumption). When PWREN is set, the power up delay is enforced such that any
416 * detected trigger does not begin ADC operation until the power up delay time has passed.
417 */
418#define ADC_CFG_PWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWREN_SHIFT)) & ADC_CFG_PWREN_MASK)
419/*! @} */
420
421/*! @name PAUSE - ADC Pause Register */
422/*! @{ */
423#define ADC_PAUSE_PAUSEDLY_MASK (0x1FFU)
424#define ADC_PAUSE_PAUSEDLY_SHIFT (0U)
425/*! PAUSEDLY - Pause Delay
426 */
427#define ADC_PAUSE_PAUSEDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEDLY_SHIFT)) & ADC_PAUSE_PAUSEDLY_MASK)
428#define ADC_PAUSE_PAUSEEN_MASK (0x80000000U)
429#define ADC_PAUSE_PAUSEEN_SHIFT (31U)
430/*! PAUSEEN - PAUSE Option Enable
431 * 0b0..Pause operation disabled
432 * 0b1..Pause operation enabled
433 */
434#define ADC_PAUSE_PAUSEEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEEN_SHIFT)) & ADC_PAUSE_PAUSEEN_MASK)
435/*! @} */
436
437/*! @name FCTRL - ADC FIFO Control Register */
438/*! @{ */
439#define ADC_FCTRL_FCOUNT_MASK (0x1FU)
440#define ADC_FCTRL_FCOUNT_SHIFT (0U)
441/*! FCOUNT - Result FIFO counter
442 */
443#define ADC_FCTRL_FCOUNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FCOUNT_SHIFT)) & ADC_FCTRL_FCOUNT_MASK)
444#define ADC_FCTRL_FWMARK_MASK (0xF0000U)
445#define ADC_FCTRL_FWMARK_SHIFT (16U)
446/*! FWMARK - Watermark level selection
447 */
448#define ADC_FCTRL_FWMARK(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FWMARK_SHIFT)) & ADC_FCTRL_FWMARK_MASK)
449/*! @} */
450
451/*! @name SWTRIG - Software Trigger Register */
452/*! @{ */
453#define ADC_SWTRIG_SWT0_MASK (0x1U)
454#define ADC_SWTRIG_SWT0_SHIFT (0U)
455/*! SWT0 - Software trigger 0 event
456 * 0b0..No trigger 0 event generated.
457 * 0b1..Trigger 0 event generated.
458 */
459#define ADC_SWTRIG_SWT0(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT0_SHIFT)) & ADC_SWTRIG_SWT0_MASK)
460#define ADC_SWTRIG_SWT1_MASK (0x2U)
461#define ADC_SWTRIG_SWT1_SHIFT (1U)
462/*! SWT1 - Software trigger 1 event
463 * 0b0..No trigger 1 event generated.
464 * 0b1..Trigger 1 event generated.
465 */
466#define ADC_SWTRIG_SWT1(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT1_SHIFT)) & ADC_SWTRIG_SWT1_MASK)
467#define ADC_SWTRIG_SWT2_MASK (0x4U)
468#define ADC_SWTRIG_SWT2_SHIFT (2U)
469/*! SWT2 - Software trigger 2 event
470 * 0b0..No trigger 2 event generated.
471 * 0b1..Trigger 2 event generated.
472 */
473#define ADC_SWTRIG_SWT2(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT2_SHIFT)) & ADC_SWTRIG_SWT2_MASK)
474#define ADC_SWTRIG_SWT3_MASK (0x8U)
475#define ADC_SWTRIG_SWT3_SHIFT (3U)
476/*! SWT3 - Software trigger 3 event
477 * 0b0..No trigger 3 event generated.
478 * 0b1..Trigger 3 event generated.
479 */
480#define ADC_SWTRIG_SWT3(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT3_SHIFT)) & ADC_SWTRIG_SWT3_MASK)
481#define ADC_SWTRIG_SWT4_MASK (0x10U)
482#define ADC_SWTRIG_SWT4_SHIFT (4U)
483/*! SWT4 - Software trigger 4 event
484 * 0b0..No trigger 4 event generated.
485 * 0b1..Trigger 4 event generated.
486 */
487#define ADC_SWTRIG_SWT4(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT4_SHIFT)) & ADC_SWTRIG_SWT4_MASK)
488#define ADC_SWTRIG_SWT5_MASK (0x20U)
489#define ADC_SWTRIG_SWT5_SHIFT (5U)
490/*! SWT5 - Software trigger 5 event
491 * 0b0..No trigger 5 event generated.
492 * 0b1..Trigger 5 event generated.
493 */
494#define ADC_SWTRIG_SWT5(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT5_SHIFT)) & ADC_SWTRIG_SWT5_MASK)
495#define ADC_SWTRIG_SWT6_MASK (0x40U)
496#define ADC_SWTRIG_SWT6_SHIFT (6U)
497/*! SWT6 - Software trigger 6 event
498 * 0b0..No trigger 6 event generated.
499 * 0b1..Trigger 6 event generated.
500 */
501#define ADC_SWTRIG_SWT6(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT6_SHIFT)) & ADC_SWTRIG_SWT6_MASK)
502#define ADC_SWTRIG_SWT7_MASK (0x80U)
503#define ADC_SWTRIG_SWT7_SHIFT (7U)
504/*! SWT7 - Software trigger 7 event
505 * 0b0..No trigger 7 event generated.
506 * 0b1..Trigger 7 event generated.
507 */
508#define ADC_SWTRIG_SWT7(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT7_SHIFT)) & ADC_SWTRIG_SWT7_MASK)
509#define ADC_SWTRIG_SWT8_MASK (0x100U)
510#define ADC_SWTRIG_SWT8_SHIFT (8U)
511/*! SWT8 - Software trigger 8 event
512 * 0b0..No trigger 8 event generated.
513 * 0b1..Trigger 8 event generated.
514 */
515#define ADC_SWTRIG_SWT8(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT8_SHIFT)) & ADC_SWTRIG_SWT8_MASK)
516#define ADC_SWTRIG_SWT9_MASK (0x200U)
517#define ADC_SWTRIG_SWT9_SHIFT (9U)
518/*! SWT9 - Software trigger 9 event
519 * 0b0..No trigger 9 event generated.
520 * 0b1..Trigger 9 event generated.
521 */
522#define ADC_SWTRIG_SWT9(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT9_SHIFT)) & ADC_SWTRIG_SWT9_MASK)
523#define ADC_SWTRIG_SWT10_MASK (0x400U)
524#define ADC_SWTRIG_SWT10_SHIFT (10U)
525/*! SWT10 - Software trigger 10 event
526 * 0b0..No trigger 10 event generated.
527 * 0b1..Trigger 10 event generated.
528 */
529#define ADC_SWTRIG_SWT10(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT10_SHIFT)) & ADC_SWTRIG_SWT10_MASK)
530#define ADC_SWTRIG_SWT11_MASK (0x800U)
531#define ADC_SWTRIG_SWT11_SHIFT (11U)
532/*! SWT11 - Software trigger 11 event
533 * 0b0..No trigger 11 event generated.
534 * 0b1..Trigger 11 event generated.
535 */
536#define ADC_SWTRIG_SWT11(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT11_SHIFT)) & ADC_SWTRIG_SWT11_MASK)
537#define ADC_SWTRIG_SWT12_MASK (0x1000U)
538#define ADC_SWTRIG_SWT12_SHIFT (12U)
539/*! SWT12 - Software trigger 12 event
540 * 0b0..No trigger 12 event generated.
541 * 0b1..Trigger 12 event generated.
542 */
543#define ADC_SWTRIG_SWT12(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT12_SHIFT)) & ADC_SWTRIG_SWT12_MASK)
544#define ADC_SWTRIG_SWT13_MASK (0x2000U)
545#define ADC_SWTRIG_SWT13_SHIFT (13U)
546/*! SWT13 - Software trigger 13 event
547 * 0b0..No trigger 13 event generated.
548 * 0b1..Trigger 13 event generated.
549 */
550#define ADC_SWTRIG_SWT13(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT13_SHIFT)) & ADC_SWTRIG_SWT13_MASK)
551#define ADC_SWTRIG_SWT14_MASK (0x4000U)
552#define ADC_SWTRIG_SWT14_SHIFT (14U)
553/*! SWT14 - Software trigger 14 event
554 * 0b0..No trigger 14 event generated.
555 * 0b1..Trigger 14 event generated.
556 */
557#define ADC_SWTRIG_SWT14(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT14_SHIFT)) & ADC_SWTRIG_SWT14_MASK)
558#define ADC_SWTRIG_SWT15_MASK (0x8000U)
559#define ADC_SWTRIG_SWT15_SHIFT (15U)
560/*! SWT15 - Software trigger 15 event
561 * 0b0..No trigger 15 event generated.
562 * 0b1..Trigger 15 event generated.
563 */
564#define ADC_SWTRIG_SWT15(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT15_SHIFT)) & ADC_SWTRIG_SWT15_MASK)
565/*! @} */
566
567/*! @name TCTRL - Trigger Control Register */
568/*! @{ */
569#define ADC_TCTRL_HTEN_MASK (0x1U)
570#define ADC_TCTRL_HTEN_SHIFT (0U)
571/*! HTEN - Trigger enable
572 * 0b0..Hardware trigger source disabled
573 * 0b1..Hardware trigger source enabled
574 */
575#define ADC_TCTRL_HTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_HTEN_SHIFT)) & ADC_TCTRL_HTEN_MASK)
576#define ADC_TCTRL_TPRI_MASK (0xF00U)
577#define ADC_TCTRL_TPRI_SHIFT (8U)
578/*! TPRI - Trigger priority setting
579 * 0b0000..Set to highest priority, Level 1
580 * 0b0001-0b1110..Set to corresponding priority level
581 * 0b1111..Set to lowest priority, Level 16
582 */
583#define ADC_TCTRL_TPRI(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TPRI_SHIFT)) & ADC_TCTRL_TPRI_MASK)
584#define ADC_TCTRL_TDLY_MASK (0xF0000U)
585#define ADC_TCTRL_TDLY_SHIFT (16U)
586/*! TDLY - Trigger delay select
587 */
588#define ADC_TCTRL_TDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TDLY_SHIFT)) & ADC_TCTRL_TDLY_MASK)
589#define ADC_TCTRL_TCMD_MASK (0xF000000U)
590#define ADC_TCTRL_TCMD_SHIFT (24U)
591/*! TCMD - Trigger command select
592 * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
593 * 0b0001..CMD1 is executed
594 * 0b0010-0b1110..Corresponding CMD is executed
595 * 0b1111..CMD15 is executed
596 */
597#define ADC_TCTRL_TCMD(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TCMD_SHIFT)) & ADC_TCTRL_TCMD_MASK)
598/*! @} */
599
600/* The count of ADC_TCTRL */
601#define ADC_TCTRL_COUNT (16U)
602
603/*! @name CMDL - ADC Command Low Buffer Register */
604/*! @{ */
605#define ADC_CMDL_ADCH_MASK (0x1FU)
606#define ADC_CMDL_ADCH_SHIFT (0U)
607/*! ADCH - Input channel select
608 * 0b00000..Select CH0A or CH0B or CH0A/CH0B pair.
609 * 0b00001..Select CH1A or CH1B or CH1A/CH1B pair.
610 * 0b00010..Select CH2A or CH2B or CH2A/CH2B pair.
611 * 0b00011..Select CH3A or CH3B or CH3A/CH3B pair.
612 * 0b00100-0b11101..Select corresponding channel CHnA or CHnB or CHnA/CHnB pair.
613 * 0b11110..Select CH30A or CH30B or CH30A/CH30B pair.
614 * 0b11111..Select CH31A or CH31B or CH31A/CH31B pair.
615 */
616#define ADC_CMDL_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ADCH_SHIFT)) & ADC_CMDL_ADCH_MASK)
617#define ADC_CMDL_ABSEL_MASK (0x20U)
618#define ADC_CMDL_ABSEL_SHIFT (5U)
619/*! ABSEL - A-side vs. B-side Select
620 * 0b0..When DIFF=0b0, the associated A-side channel is converted as single-ended. When DIFF=0b1, the ADC result is (CHnA-CHnB).
621 * 0b1..When DIFF=0b0, the associated B-side channel is converted as single-ended. When DIFF=0b1, the ADC result is (CHnB-CHnA).
622 */
623#define ADC_CMDL_ABSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ABSEL_SHIFT)) & ADC_CMDL_ABSEL_MASK)
624#define ADC_CMDL_DIFF_MASK (0x40U)
625#define ADC_CMDL_DIFF_SHIFT (6U)
626/*! DIFF - Differential Mode Enable
627 * 0b0..Single-ended mode.
628 * 0b1..Differential mode.
629 */
630#define ADC_CMDL_DIFF(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_DIFF_SHIFT)) & ADC_CMDL_DIFF_MASK)
631#define ADC_CMDL_CSCALE_MASK (0x2000U)
632#define ADC_CMDL_CSCALE_SHIFT (13U)
633/*! CSCALE - Channel Scale
634 * 0b0..Scale selected analog channel (Factor of 30/64)
635 * 0b1..(Default) Full scale (Factor of 1)
636 */
637#define ADC_CMDL_CSCALE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_CSCALE_SHIFT)) & ADC_CMDL_CSCALE_MASK)
638/*! @} */
639
640/* The count of ADC_CMDL */
641#define ADC_CMDL_COUNT (15U)
642
643/*! @name CMDH - ADC Command High Buffer Register */
644/*! @{ */
645#define ADC_CMDH_CMPEN_MASK (0x3U)
646#define ADC_CMDH_CMPEN_SHIFT (0U)
647/*! CMPEN - Compare Function Enable
648 * 0b00..Compare disabled.
649 * 0b01..Reserved
650 * 0b10..Compare enabled. Store on true.
651 * 0b11..Compare enabled. Repeat channel acquisition (sample/convert/compare) until true.
652 */
653#define ADC_CMDH_CMPEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_CMPEN_SHIFT)) & ADC_CMDH_CMPEN_MASK)
654#define ADC_CMDH_LWI_MASK (0x80U)
655#define ADC_CMDH_LWI_SHIFT (7U)
656/*! LWI - Loop with Increment
657 * 0b0..Auto channel increment disabled
658 * 0b1..Auto channel increment enabled
659 */
660#define ADC_CMDH_LWI(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LWI_SHIFT)) & ADC_CMDH_LWI_MASK)
661#define ADC_CMDH_STS_MASK (0x700U)
662#define ADC_CMDH_STS_SHIFT (8U)
663/*! STS - Sample Time Select
664 * 0b000..Minimum sample time of 3 ADCK cycles.
665 * 0b001..3 + 2^1 ADCK cycles; 5 ADCK cycles total sample time.
666 * 0b010..3 + 2^2 ADCK cycles; 7 ADCK cycles total sample time.
667 * 0b011..3 + 2^3 ADCK cycles; 11 ADCK cycles total sample time.
668 * 0b100..3 + 2^4 ADCK cycles; 19 ADCK cycles total sample time.
669 * 0b101..3 + 2^5 ADCK cycles; 35 ADCK cycles total sample time.
670 * 0b110..3 + 2^6 ADCK cycles; 67 ADCK cycles total sample time.
671 * 0b111..3 + 2^7 ADCK cycles; 131 ADCK cycles total sample time.
672 */
673#define ADC_CMDH_STS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_STS_SHIFT)) & ADC_CMDH_STS_MASK)
674#define ADC_CMDH_AVGS_MASK (0x7000U)
675#define ADC_CMDH_AVGS_SHIFT (12U)
676/*! AVGS - Hardware Average Select
677 * 0b000..Single conversion.
678 * 0b001..2 conversions averaged.
679 * 0b010..4 conversions averaged.
680 * 0b011..8 conversions averaged.
681 * 0b100..16 conversions averaged.
682 * 0b101..32 conversions averaged.
683 * 0b110..64 conversions averaged.
684 * 0b111..128 conversions averaged.
685 */
686#define ADC_CMDH_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_AVGS_SHIFT)) & ADC_CMDH_AVGS_MASK)
687#define ADC_CMDH_LOOP_MASK (0xF0000U)
688#define ADC_CMDH_LOOP_SHIFT (16U)
689/*! LOOP - Loop Count Select
690 * 0b0000..Looping not enabled. Command executes 1 time.
691 * 0b0001..Loop 1 time. Command executes 2 times.
692 * 0b0010..Loop 2 times. Command executes 3 times.
693 * 0b0011-0b1110..Loop corresponding number of times. Command executes LOOP+1 times.
694 * 0b1111..Loop 15 times. Command executes 16 times.
695 */
696#define ADC_CMDH_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LOOP_SHIFT)) & ADC_CMDH_LOOP_MASK)
697#define ADC_CMDH_NEXT_MASK (0xF000000U)
698#define ADC_CMDH_NEXT_SHIFT (24U)
699/*! NEXT - Next Command Select
700 * 0b0000..No next command defined. Terminate conversions at completion of current command. If lower priority
701 * trigger pending, begin command associated with lower priority trigger.
702 * 0b0001..Select CMD1 command buffer register as next command.
703 * 0b0010-0b1110..Select corresponding CMD command buffer register as next command
704 * 0b1111..Select CMD15 command buffer register as next command.
705 */
706#define ADC_CMDH_NEXT(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_NEXT_SHIFT)) & ADC_CMDH_NEXT_MASK)
707/*! @} */
708
709/* The count of ADC_CMDH */
710#define ADC_CMDH_COUNT (15U)
711
712/*! @name CV - Compare Value Register */
713/*! @{ */
714#define ADC_CV_CVL_MASK (0xFFFFU)
715#define ADC_CV_CVL_SHIFT (0U)
716/*! CVL - Compare Value Low.
717 */
718#define ADC_CV_CVL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVL_SHIFT)) & ADC_CV_CVL_MASK)
719#define ADC_CV_CVH_MASK (0xFFFF0000U)
720#define ADC_CV_CVH_SHIFT (16U)
721/*! CVH - Compare Value High.
722 */
723#define ADC_CV_CVH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVH_SHIFT)) & ADC_CV_CVH_MASK)
724/*! @} */
725
726/* The count of ADC_CV */
727#define ADC_CV_COUNT (4U)
728
729/*! @name RESFIFO - ADC Data Result FIFO Register */
730/*! @{ */
731#define ADC_RESFIFO_D_MASK (0xFFFFU)
732#define ADC_RESFIFO_D_SHIFT (0U)
733/*! D - Data result
734 */
735#define ADC_RESFIFO_D(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_D_SHIFT)) & ADC_RESFIFO_D_MASK)
736#define ADC_RESFIFO_TSRC_MASK (0xF0000U)
737#define ADC_RESFIFO_TSRC_SHIFT (16U)
738/*! TSRC - Trigger Source
739 * 0b0000..Trigger source 0 initiated this conversion.
740 * 0b0001..Trigger source 1 initiated this conversion.
741 * 0b0010-0b1110..Corresponding trigger source initiated this conversion.
742 * 0b1111..Trigger source 15 initiated this conversion.
743 */
744#define ADC_RESFIFO_TSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_TSRC_SHIFT)) & ADC_RESFIFO_TSRC_MASK)
745#define ADC_RESFIFO_LOOPCNT_MASK (0xF00000U)
746#define ADC_RESFIFO_LOOPCNT_SHIFT (20U)
747/*! LOOPCNT - Loop count value
748 * 0b0000..Result is from initial conversion in command.
749 * 0b0001..Result is from second conversion in command.
750 * 0b0010-0b1110..Result is from LOOPCNT+1 conversion in command.
751 * 0b1111..Result is from 16th conversion in command.
752 */
753#define ADC_RESFIFO_LOOPCNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_LOOPCNT_SHIFT)) & ADC_RESFIFO_LOOPCNT_MASK)
754#define ADC_RESFIFO_CMDSRC_MASK (0xF000000U)
755#define ADC_RESFIFO_CMDSRC_SHIFT (24U)
756/*! CMDSRC - Command Buffer Source
757 * 0b0000..Not a valid value CMDSRC value for a dataword in RESFIFO. 0x0 is only found in initial FIFO state
758 * prior to an ADC conversion result dataword being stored to a RESFIFO buffer.
759 * 0b0001..CMD1 buffer used as control settings for this conversion.
760 * 0b0010-0b1110..Corresponding command buffer used as control settings for this conversion.
761 * 0b1111..CMD15 buffer used as control settings for this conversion.
762 */
763#define ADC_RESFIFO_CMDSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_CMDSRC_SHIFT)) & ADC_RESFIFO_CMDSRC_MASK)
764#define ADC_RESFIFO_VALID_MASK (0x80000000U)
765#define ADC_RESFIFO_VALID_SHIFT (31U)
766/*! VALID - FIFO entry is valid
767 * 0b0..FIFO is empty. Discard any read from RESFIFO.
768 * 0b1..FIFO record read from RESFIFO is valid.
769 */
770#define ADC_RESFIFO_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_VALID_SHIFT)) & ADC_RESFIFO_VALID_MASK)
771/*! @} */
772
773
774/*!
775 * @}
776 */ /* end of group ADC_Register_Masks */
777
778
779/* ADC - Peripheral instance base addresses */
780#if (__ARM_FEATURE_CMSE & 0x2)
781 /** Peripheral ADC0 base address */
782 #define ADC0_BASE (0x5013A000u)
783 /** Peripheral ADC0 base address */
784 #define ADC0_BASE_NS (0x4013A000u)
785 /** Peripheral ADC0 base pointer */
786 #define ADC0 ((ADC_Type *)ADC0_BASE)
787 /** Peripheral ADC0 base pointer */
788 #define ADC0_NS ((ADC_Type *)ADC0_BASE_NS)
789 /** Array initializer of ADC peripheral base addresses */
790 #define ADC_BASE_ADDRS { ADC0_BASE }
791 /** Array initializer of ADC peripheral base pointers */
792 #define ADC_BASE_PTRS { ADC0 }
793 /** Array initializer of ADC peripheral base addresses */
794 #define ADC_BASE_ADDRS_NS { ADC0_BASE_NS }
795 /** Array initializer of ADC peripheral base pointers */
796 #define ADC_BASE_PTRS_NS { ADC0_NS }
797#else
798 /** Peripheral ADC0 base address */
799 #define ADC0_BASE (0x4013A000u)
800 /** Peripheral ADC0 base pointer */
801 #define ADC0 ((ADC_Type *)ADC0_BASE)
802 /** Array initializer of ADC peripheral base addresses */
803 #define ADC_BASE_ADDRS { ADC0_BASE }
804 /** Array initializer of ADC peripheral base pointers */
805 #define ADC_BASE_PTRS { ADC0 }
806#endif
807/** Interrupt vectors for the ADC peripheral type */
808#define ADC_IRQS { ADC0_IRQn }
809
810/*!
811 * @}
812 */ /* end of group ADC_Peripheral_Access_Layer */
813
814
815/* ----------------------------------------------------------------------------
816 -- AHB_SECURE_CTRL Peripheral Access Layer
817 ---------------------------------------------------------------------------- */
818
819/*!
820 * @addtogroup AHB_SECURE_CTRL_Peripheral_Access_Layer AHB_SECURE_CTRL Peripheral Access Layer
821 * @{
822 */
823
824/** AHB_SECURE_CTRL - Register Layout Typedef */
825typedef struct {
826 uint8_t RESERVED_0[16];
827 __IO uint32_t ROM_MEM_RULE[4]; /**< Memory ROM Rule(n) Register, array offset: 0x10, array step: 0x4 */
828 uint8_t RESERVED_1[16];
829 __IO uint32_t FLEXSPI0_REGION0_RULE[4]; /**< FLEXSPI0 Region 0 Rule(n) Register, array offset: 0x30, array step: 0x4 */
830 __IO uint32_t FLEXSPI0_REGION1_RULE0; /**< FLEXSPI0 Region 1 Rule 0 Register, offset: 0x40 */
831 uint8_t RESERVED_2[12];
832 __IO uint32_t FLEXSPI0_REGION2_RULE0; /**< FLEXSPI0 Region 2 Rule 0 Register, offset: 0x50 */
833 uint8_t RESERVED_3[12];
834 __IO uint32_t FLEXSPI0_REGION3_RULE0; /**< FLEXSPI0 Region 3 Rule 0 Register, offset: 0x60 */
835 uint8_t RESERVED_4[12];
836 __IO uint32_t FLEXSPI0_REGION4_RULE0; /**< FLEXSPI0 Region 4 Rule 0 Register, offset: 0x70 */
837 uint8_t RESERVED_5[28];
838 __IO uint32_t RAM00_RULE[4]; /**< SRAM Partition 00 Rule(n) Register, array offset: 0x90, array step: 0x4 */
839 __IO uint32_t RAM01_RULE[4]; /**< SRAM Partition 01 Rule(n) Register, array offset: 0xA0, array step: 0x4 */
840 uint8_t RESERVED_6[16];
841 __IO uint32_t RAM02_RULE[4]; /**< SRAM Partition 02 Rule(n) Register, array offset: 0xC0, array step: 0x4 */
842 __IO uint32_t RAM03_RULE[4]; /**< SRAM Partition 03 Rule(n) Register, array offset: 0xD0, array step: 0x4 */
843 uint8_t RESERVED_7[16];
844 __IO uint32_t RAM04_RULE[4]; /**< SRAM Partition 04 Rule(n) Register, array offset: 0xF0, array step: 0x4 */
845 __IO uint32_t RAM05_RULE[4]; /**< SRAM Partition 05 Rule(n) Register, array offset: 0x100, array step: 0x4 */
846 __IO uint32_t RAM06_RULE[4]; /**< SRAM Partition 06 Rule(n) Register, array offset: 0x110, array step: 0x4 */
847 __IO uint32_t RAM07_RULE[4]; /**< SRAM Partition 07 Rule(n) Register, array offset: 0x120, array step: 0x4 */
848 uint8_t RESERVED_8[16];
849 __IO uint32_t RAM08_RULE[4]; /**< SRAM Partition 08 Rule(n) Register, array offset: 0x140, array step: 0x4 */
850 __IO uint32_t RAM09_RULE[4]; /**< SRAM Partition 09 Rule(n) Register, array offset: 0x150, array step: 0x4 */
851 __IO uint32_t RAM10_RULE[4]; /**< SRAM Partition 10 Rule(n) Register, array offset: 0x160, array step: 0x4 */
852 __IO uint32_t RAM11_RULE[4]; /**< SRAM Partition 11 Rule(n) Register, array offset: 0x170, array step: 0x4 */
853 uint8_t RESERVED_9[16];
854 __IO uint32_t RAM12_RULE[4]; /**< SRAM Partition 12 Rule(n) Register, array offset: 0x190, array step: 0x4 */
855 __IO uint32_t RAM13_RULE[4]; /**< SRAM Partition 13 Rule(n) Register, array offset: 0x1A0, array step: 0x4 */
856 __IO uint32_t RAM14_RULE[4]; /**< SRAM Partition 14 Rule(n) Register, array offset: 0x1B0, array step: 0x4 */
857 __IO uint32_t RAM15_RULE[4]; /**< SRAM Partition 15 Rule(n) Register, array offset: 0x1C0, array step: 0x4 */
858 uint8_t RESERVED_10[16];
859 __IO uint32_t RAM16_RULE[4]; /**< SRAM Partition 16 Rule(n) Register, array offset: 0x1E0, array step: 0x4 */
860 __IO uint32_t RAM17_RULE[4]; /**< SRAM Partition 17 Rule(n) Register, array offset: 0x1F0, array step: 0x4 */
861 __IO uint32_t RAM18_RULE[4]; /**< SRAM Partition 18 Rule(n) Register, array offset: 0x200, array step: 0x4 */
862 __IO uint32_t RAM19_RULE[4]; /**< SRAM Partition 19 Rule(n) Register, array offset: 0x210, array step: 0x4 */
863 uint8_t RESERVED_11[16];
864 __IO uint32_t RAM20_RULE[4]; /**< SRAM Partition 20 Rule(n) Register, array offset: 0x230, array step: 0x4 */
865 __IO uint32_t RAM21_RULE[4]; /**< SRAM Partition 21 Rule(n) Register, array offset: 0x240, array step: 0x4 */
866 __IO uint32_t RAM22_RULE[4]; /**< SRAM Partition 22 Rule(n) Register, array offset: 0x250, array step: 0x4 */
867 __IO uint32_t RAM23_RULE[4]; /**< SRAM Partition 23 Rule(n) Register, array offset: 0x260, array step: 0x4 */
868 uint8_t RESERVED_12[16];
869 __IO uint32_t RAM24_RULE[4]; /**< SRAM Partition 24 Rule(n) Register, array offset: 0x280, array step: 0x4 */
870 __IO uint32_t RAM25_RULE[4]; /**< SRAM Partition 25 Rule(n) Register, array offset: 0x290, array step: 0x4 */
871 __IO uint32_t RAM26_RULE[4]; /**< SRAM Partition 26 Rule(n) Register, array offset: 0x2A0, array step: 0x4 */
872 __IO uint32_t RAM27_RULE[4]; /**< SRAM Partition 27 Rule(n) Register, array offset: 0x2B0, array step: 0x4 */
873 uint8_t RESERVED_13[16];
874 __IO uint32_t RAM28_RULE[4]; /**< SRAM Partition 28 Rule(n) Register, array offset: 0x2D0, array step: 0x4 */
875 __IO uint32_t RAM29_RULE[4]; /**< SRAM Partition 29 Rule(n) Register, array offset: 0x2E0, array step: 0x4 */
876 uint8_t RESERVED_14[48];
877 __IO uint32_t PIF_HIFI4_X_MEM_RULE0; /**< Security access rules for HiFi 4 memory sectors (0x24000000--0x240FFFFF). Each sector is 32 Kbytes, there're 4 sectors in total., offset: 0x320 */
878 uint8_t RESERVED_15[28];
879 __IO uint32_t APB_GRP0_MEM_RULE0; /**< Security access rules for APB Bridge 0 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x340 */
880 __IO uint32_t APB_GRP0_MEM_RULE1; /**< Security access rules for APB Bridge 0 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x344 */
881 uint8_t RESERVED_16[8];
882 __IO uint32_t APB_GRP1_MEM_RULE0; /**< Security access rules for APB Bridge 1 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x350 */
883 __IO uint32_t APB_GRP1_MEM_RULE1; /**< Security access rules for APB Bridge 1 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x354 */
884 __IO uint32_t APB_GRP1_MEM_RULE2; /**< Security access rules for APB Bridge 1 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x358 */
885 uint8_t RESERVED_17[4];
886 __IO uint32_t AHB_PERIPH0_SLAVE_RULE0; /**< Security access rules for AHB peripheral slaves area 0x40100000--0x4010FFFF, offset: 0x360 */
887 uint8_t RESERVED_18[12];
888 __IO uint32_t AIPS_BRIDGE0_MEM_RULE0; /**< 0x40110000--0x4011FFFF, offset: 0x370 */
889 uint8_t RESERVED_19[12];
890 __IO uint32_t AHB_PERIPH1_SLAVE_RULE0; /**< the memory map is 0x40120000--0x40127FFF, offset: 0x380 */
891 uint8_t RESERVED_20[28];
892 __IO uint32_t AIPS_BRIDGE1_MEM_RULE0; /**< Security access rules for AIPS Bridge peripherals. Each AIPS bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x3A0 */
893 __IO uint32_t AIPS_BRIDGE1_MEM_RULE1; /**< Security access rules for AIPS Bridge peripherals. Each AIPS bridge sector is 4 Kbytes, there're 16 sectors in total., offset: 0x3A4 */
894 uint8_t RESERVED_21[8];
895 __IO uint32_t AHB_PERIPH2_SLAVE_RULE0; /**< Security access rules for AHB peripheral slaves area 0x40140000--0x4014BFFF, offset: 0x3B0 */
896 uint8_t RESERVED_22[12];
897 __IO uint32_t SECURITY_CTRL_MEM_RULE0; /**< 0x40148000--0x4014BFFF, offset: 0x3C0 */
898 uint8_t RESERVED_23[12];
899 __IO uint32_t AHB_PERIPH3_SLAVE_RULE0; /**< Security access rules for AHB peripheral slaves area 0x40150000--0x40158FFF, offset: 0x3D0 */
900 uint8_t RESERVED_24[2604];
901 __I uint32_t SEC_VIO_ADDR[18]; /**< most recent security violation address for AHB layer n, array offset: 0xE00, array step: 0x4 */
902 uint8_t RESERVED_25[56];
903 __I uint32_t SEC_VIO_MISC_INFO[18]; /**< most recent security violation miscellaneous information for AHB layer n, array offset: 0xE80, array step: 0x4 */
904 uint8_t RESERVED_26[56];
905 __IO uint32_t SEC_VIO_INFO_VALID; /**< security violation address/information registers valid flags, offset: 0xF00 */
906 uint8_t RESERVED_27[124];
907 __IO uint32_t SEC_GPIO_MASK0; /**< Secure GPIO mask for port 0 pins. This register is used to block leakage of Secure interface (GPIOs, I2C, UART configured as secure peripherals) pin states to non-secure world., offset: 0xF80 */
908 __IO uint32_t SEC_GPIO_MASK1; /**< Secure GPIO mask for port 1 pins., offset: 0xF84 */
909 __IO uint32_t SEC_GPIO_MASK2; /**< Secure GPIO mask for port 2 pins., offset: 0xF88 */
910 __IO uint32_t SEC_GPIO_MASK3; /**< Secure GPIO mask for port 3 pins., offset: 0xF8C */
911 __IO uint32_t SEC_GPIO_MASK4; /**< Secure GPIO mask for port 4 pins., offset: 0xF90 */
912 __IO uint32_t SEC_GPIO_MASK5; /**< Secure GPIO mask for port 5 pins., offset: 0xF94 */
913 __IO uint32_t SEC_GPIO_MASK6; /**< Secure GPIO mask for port 6 pins., offset: 0xF98 */
914 __IO uint32_t SEC_GPIO_MASK7; /**< Secure GPIO mask for port 7 pins., offset: 0xF9C */
915 __IO uint32_t SEC_DSP_INT_MASK; /**< secure general purpose register 8 used to mask interrupts to DSP for security purpose, offset: 0xFA0 */
916 uint8_t RESERVED_28[24];
917 __IO uint32_t SEC_MASK_LOCK; /**< sec_gp_reg write-lock bits, offset: 0xFBC */
918 uint8_t RESERVED_29[16];
919 __IO uint32_t MASTER_SEC_LEVEL; /**< master secure level register, offset: 0xFD0 */
920 __IO uint32_t MASTER_SEC_LEVEL_ANTI_POL; /**< master secure level anti-pole register, offset: 0xFD4 */
921 uint8_t RESERVED_30[20];
922 __IO uint32_t CM33_LOCK_REG; /**< m33 lock control register, offset: 0xFEC */
923 uint8_t RESERVED_31[8];
924 __IO uint32_t MISC_CTRL_DP_REG; /**< secure control duplicate register, offset: 0xFF8 */
925 __IO uint32_t MISC_CTRL_REG; /**< secure control register, offset: 0xFFC */
926} AHB_SECURE_CTRL_Type;
927
928/* ----------------------------------------------------------------------------
929 -- AHB_SECURE_CTRL Register Masks
930 ---------------------------------------------------------------------------- */
931
932/*!
933 * @addtogroup AHB_SECURE_CTRL_Register_Masks AHB_SECURE_CTRL Register Masks
934 * @{
935 */
936
937/*! @name ROM_MEM_RULE - Memory ROM Rule(n) Register */
938/*! @{ */
939#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE0_MASK (0x3U)
940#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE0_SHIFT (0U)
941/*! RULE0 - Rule 0
942 * 0b00..Non-secure and non-privilege user access allowed
943 * 0b01..Non-secure and privilege access allowed
944 * 0b10..Secure and non-privilege user access allowed
945 * 0b11..Secure and privilege user access allowed
946 */
947#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE0_MASK)
948#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE1_MASK (0x30U)
949#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE1_SHIFT (4U)
950/*! RULE1 - Rule 1
951 * 0b00..Non-secure and non-privilege user access allowed
952 * 0b01..Non-secure and privilege access allowed
953 * 0b10..Secure and non-privilege user access allowed
954 * 0b11..Secure and privilege user access allowed
955 */
956#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE1_MASK)
957#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE2_MASK (0x300U)
958#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE2_SHIFT (8U)
959/*! RULE2 - Rule 2
960 * 0b00..Non-secure and non-privilege user access allowed
961 * 0b01..Non-secure and privilege access allowed
962 * 0b10..Secure and non-privilege user access allowed
963 * 0b11..Secure and privilege user access allowed
964 */
965#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE2_MASK)
966#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE3_MASK (0x3000U)
967#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE3_SHIFT (12U)
968/*! RULE3 - Rule 3
969 * 0b00..Non-secure and non-privilege user access allowed
970 * 0b01..Non-secure and privilege access allowed
971 * 0b10..Secure and non-privilege user access allowed
972 * 0b11..Secure and privilege user access allowed
973 */
974#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE3_MASK)
975#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE4_MASK (0x30000U)
976#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE4_SHIFT (16U)
977/*! RULE4 - Rule 4
978 * 0b00..Non-secure and non-privilege user access allowed
979 * 0b01..Non-secure and privilege access allowed
980 * 0b10..Secure and non-privilege user access allowed
981 * 0b11..Secure and privilege user access allowed
982 */
983#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE4_MASK)
984#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE5_MASK (0x300000U)
985#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE5_SHIFT (20U)
986/*! RULE5 - Rule 5
987 * 0b00..Non-secure and non-privilege user access allowed
988 * 0b01..Non-secure and privilege access allowed
989 * 0b10..Secure and non-privilege user access allowed
990 * 0b11..Secure and privilege user access allowed
991 */
992#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE5_MASK)
993#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE6_MASK (0x3000000U)
994#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE6_SHIFT (24U)
995/*! RULE6 - Rule 6
996 * 0b00..Non-secure and non-privilege user access allowed
997 * 0b01..Non-secure and privilege access allowed
998 * 0b10..Secure and non-privilege user access allowed
999 * 0b11..Secure and privilege user access allowed
1000 */
1001#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE6_MASK)
1002#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE7_MASK (0x30000000U)
1003#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE7_SHIFT (28U)
1004/*! RULE7 - Rule 7
1005 * 0b00..Non-secure and non-privilege user access allowed
1006 * 0b01..Non-secure and privilege access allowed
1007 * 0b10..Secure and non-privilege user access allowed
1008 * 0b11..Secure and privilege user access allowed
1009 */
1010#define AHB_SECURE_CTRL_ROM_MEM_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_ROM_MEM_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_ROM_MEM_RULE_RULE7_MASK)
1011/*! @} */
1012
1013/* The count of AHB_SECURE_CTRL_ROM_MEM_RULE */
1014#define AHB_SECURE_CTRL_ROM_MEM_RULE_COUNT (4U)
1015
1016/*! @name FLEXSPI0_REGION0_RULE - FLEXSPI0 Region 0 Rule(n) Register */
1017/*! @{ */
1018#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE0_MASK (0x3U)
1019#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE0_SHIFT (0U)
1020/*! RULE0 - Rule 0
1021 * 0b00..Non-secure and non-privilege user access allowed
1022 * 0b01..Non-secure and privilege access allowed
1023 * 0b10..Secure and non-privilege user access allowed
1024 * 0b11..Secure and privilege user access allowed
1025 */
1026#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE0_MASK)
1027#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE1_MASK (0x30U)
1028#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE1_SHIFT (4U)
1029/*! RULE1 - Rule 1
1030 * 0b00..Non-secure and non-privilege user access allowed
1031 * 0b01..Non-secure and privilege access allowed
1032 * 0b10..Secure and non-privilege user access allowed
1033 * 0b11..Secure and privilege user access allowed
1034 */
1035#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE1_MASK)
1036#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE2_MASK (0x300U)
1037#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE2_SHIFT (8U)
1038/*! RULE2 - Rule 2
1039 * 0b00..Non-secure and non-privilege user access allowed
1040 * 0b01..Non-secure and privilege access allowed
1041 * 0b10..Secure and non-privilege user access allowed
1042 * 0b11..Secure and privilege user access allowed
1043 */
1044#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE2_MASK)
1045#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE3_MASK (0x3000U)
1046#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE3_SHIFT (12U)
1047/*! RULE3 - Rule 3
1048 * 0b00..Non-secure and non-privilege user access allowed
1049 * 0b01..Non-secure and privilege access allowed
1050 * 0b10..Secure and non-privilege user access allowed
1051 * 0b11..Secure and privilege user access allowed
1052 */
1053#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE3_MASK)
1054#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE4_MASK (0x30000U)
1055#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE4_SHIFT (16U)
1056/*! RULE4 - Rule 4
1057 * 0b00..Non-secure and non-privilege user access allowed
1058 * 0b01..Non-secure and privilege access allowed
1059 * 0b10..Secure and non-privilege user access allowed
1060 * 0b11..Secure and privilege user access allowed
1061 */
1062#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE4_MASK)
1063#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE5_MASK (0x300000U)
1064#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE5_SHIFT (20U)
1065/*! RULE5 - Rule 5
1066 * 0b00..Non-secure and non-privilege user access allowed
1067 * 0b01..Non-secure and privilege access allowed
1068 * 0b10..Secure and non-privilege user access allowed
1069 * 0b11..Secure and privilege user access allowed
1070 */
1071#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE5_MASK)
1072#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE6_MASK (0x3000000U)
1073#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE6_SHIFT (24U)
1074/*! RULE6 - Rule 6
1075 * 0b00..Non-secure and non-privilege user access allowed
1076 * 0b01..Non-secure and privilege access allowed
1077 * 0b10..Secure and non-privilege user access allowed
1078 * 0b11..Secure and privilege user access allowed
1079 */
1080#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE6_MASK)
1081#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE7_MASK (0x30000000U)
1082#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE7_SHIFT (28U)
1083/*! RULE7 - Rule 7
1084 * 0b00..Non-secure and non-privilege user access allowed
1085 * 0b01..Non-secure and privilege access allowed
1086 * 0b10..Secure and non-privilege user access allowed
1087 * 0b11..Secure and privilege user access allowed
1088 */
1089#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_RULE7_MASK)
1090/*! @} */
1091
1092/* The count of AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE */
1093#define AHB_SECURE_CTRL_FLEXSPI0_REGION0_RULE_COUNT (4U)
1094
1095/*! @name FLEXSPI0_REGION1_RULE0 - FLEXSPI0 Region 1 Rule 0 Register */
1096/*! @{ */
1097#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE0_MASK (0x3U)
1098#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE0_SHIFT (0U)
1099/*! RULE0 - Rule 0
1100 * 0b00..Non-secure and non-privilege user access allowed
1101 * 0b01..Non-secure and privilege access allowed
1102 * 0b10..Secure and non-privilege user access allowed
1103 * 0b11..Secure and privilege user access allowed
1104 */
1105#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE0_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE0_MASK)
1106#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE1_MASK (0x30U)
1107#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE1_SHIFT (4U)
1108/*! RULE1 - Rule 1
1109 * 0b00..Non-secure and non-privilege user access allowed
1110 * 0b01..Non-secure and privilege access allowed
1111 * 0b10..Secure and non-privilege user access allowed
1112 * 0b11..Secure and privilege user access allowed
1113 */
1114#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE1_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE1_MASK)
1115#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE2_MASK (0x300U)
1116#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE2_SHIFT (8U)
1117/*! RULE2 - Rule 2
1118 * 0b00..Non-secure and non-privilege user access allowed
1119 * 0b01..Non-secure and privilege access allowed
1120 * 0b10..Secure and non-privilege user access allowed
1121 * 0b11..Secure and privilege user access allowed
1122 */
1123#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE2_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE2_MASK)
1124#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE3_MASK (0x3000U)
1125#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE3_SHIFT (12U)
1126/*! RULE3 - Rule 3
1127 * 0b00..Non-secure and non-privilege user access allowed
1128 * 0b01..Non-secure and privilege access allowed
1129 * 0b10..Secure and non-privilege user access allowed
1130 * 0b11..Secure and privilege user access allowed
1131 */
1132#define AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE3_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION1_RULE0_RULE3_MASK)
1133/*! @} */
1134
1135/*! @name FLEXSPI0_REGION2_RULE0 - FLEXSPI0 Region 2 Rule 0 Register */
1136/*! @{ */
1137#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE0_MASK (0x3U)
1138#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE0_SHIFT (0U)
1139/*! RULE0 - Rule 0
1140 * 0b00..Non-secure and non-privilege user access allowed
1141 * 0b01..Non-secure and privilege access allowed
1142 * 0b10..Secure and non-privilege user access allowed
1143 * 0b11..Secure and privilege user access allowed
1144 */
1145#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE0_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE0_MASK)
1146#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE1_MASK (0x30U)
1147#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE1_SHIFT (4U)
1148/*! RULE1 - Rule 1
1149 * 0b00..Non-secure and non-privilege user access allowed
1150 * 0b01..Non-secure and privilege access allowed
1151 * 0b10..Secure and non-privilege user access allowed
1152 * 0b11..Secure and privilege user access allowed
1153 */
1154#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE1_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE1_MASK)
1155#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE2_MASK (0x300U)
1156#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE2_SHIFT (8U)
1157/*! RULE2 - Rule 2
1158 * 0b00..Non-secure and non-privilege user access allowed
1159 * 0b01..Non-secure and privilege access allowed
1160 * 0b10..Secure and non-privilege user access allowed
1161 * 0b11..Secure and privilege user access allowed
1162 */
1163#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE2_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE2_MASK)
1164#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE3_MASK (0x3000U)
1165#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE3_SHIFT (12U)
1166/*! RULE3 - Rule 3
1167 * 0b00..Non-secure and non-privilege user access allowed
1168 * 0b01..Non-secure and privilege access allowed
1169 * 0b10..Secure and non-privilege user access allowed
1170 * 0b11..Secure and privilege user access allowed
1171 */
1172#define AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE3_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION2_RULE0_RULE3_MASK)
1173/*! @} */
1174
1175/*! @name FLEXSPI0_REGION3_RULE0 - FLEXSPI0 Region 3 Rule 0 Register */
1176/*! @{ */
1177#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE0_MASK (0x3U)
1178#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE0_SHIFT (0U)
1179/*! RULE0 - Rule 0
1180 * 0b00..Non-secure and non-privilege user access allowed
1181 * 0b01..Non-secure and privilege access allowed
1182 * 0b10..Secure and non-privilege user access allowed
1183 * 0b11..Secure and privilege user access allowed
1184 */
1185#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE0_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE0_MASK)
1186#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE1_MASK (0x30U)
1187#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE1_SHIFT (4U)
1188/*! RULE1 - Rule 1
1189 * 0b00..Non-secure and non-privilege user access allowed
1190 * 0b01..Non-secure and privilege access allowed
1191 * 0b10..Secure and non-privilege user access allowed
1192 * 0b11..Secure and privilege user access allowed
1193 */
1194#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE1_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE1_MASK)
1195#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE2_MASK (0x300U)
1196#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE2_SHIFT (8U)
1197/*! RULE2 - Rule 2
1198 * 0b00..Non-secure and non-privilege user access allowed
1199 * 0b01..Non-secure and privilege access allowed
1200 * 0b10..Secure and non-privilege user access allowed
1201 * 0b11..Secure and privilege user access allowed
1202 */
1203#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE2_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE2_MASK)
1204#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE3_MASK (0x3000U)
1205#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE3_SHIFT (12U)
1206/*! RULE3 - Rule 3
1207 * 0b00..Non-secure and non-privilege user access allowed
1208 * 0b01..Non-secure and privilege access allowed
1209 * 0b10..Secure and non-privilege user access allowed
1210 * 0b11..Secure and privilege user access allowed
1211 */
1212#define AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE3_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION3_RULE0_RULE3_MASK)
1213/*! @} */
1214
1215/*! @name FLEXSPI0_REGION4_RULE0 - FLEXSPI0 Region 4 Rule 0 Register */
1216/*! @{ */
1217#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE0_MASK (0x3U)
1218#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE0_SHIFT (0U)
1219/*! RULE0 - Rule 0
1220 * 0b00..Non-secure and non-privilege user access allowed
1221 * 0b01..Non-secure and privilege access allowed
1222 * 0b10..Secure and non-privilege user access allowed
1223 * 0b11..Secure and privilege user access allowed
1224 */
1225#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE0_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE0_MASK)
1226#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE1_MASK (0x30U)
1227#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE1_SHIFT (4U)
1228/*! RULE1 - Rule 1
1229 * 0b00..Non-secure and non-privilege user access allowed
1230 * 0b01..Non-secure and privilege access allowed
1231 * 0b10..Secure and non-privilege user access allowed
1232 * 0b11..Secure and privilege user access allowed
1233 */
1234#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE1_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE1_MASK)
1235#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE2_MASK (0x300U)
1236#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE2_SHIFT (8U)
1237/*! RULE2 - Rule 2
1238 * 0b00..Non-secure and non-privilege user access allowed
1239 * 0b01..Non-secure and privilege access allowed
1240 * 0b10..Secure and non-privilege user access allowed
1241 * 0b11..Secure and privilege user access allowed
1242 */
1243#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE2_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE2_MASK)
1244#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE3_MASK (0x3000U)
1245#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE3_SHIFT (12U)
1246/*! RULE3 - Rule 3
1247 * 0b00..Non-secure and non-privilege user access allowed
1248 * 0b01..Non-secure and privilege access allowed
1249 * 0b10..Secure and non-privilege user access allowed
1250 * 0b11..Secure and privilege user access allowed
1251 */
1252#define AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE3_SHIFT)) & AHB_SECURE_CTRL_FLEXSPI0_REGION4_RULE0_RULE3_MASK)
1253/*! @} */
1254
1255/*! @name RAM00_RULE - SRAM Partition 00 Rule(n) Register */
1256/*! @{ */
1257#define AHB_SECURE_CTRL_RAM00_RULE_RULE0_MASK (0x3U)
1258#define AHB_SECURE_CTRL_RAM00_RULE_RULE0_SHIFT (0U)
1259/*! RULE0 - Rule 0
1260 * 0b00..Non-secure and non-privilege user access allowed
1261 * 0b01..Non-secure and privilege access allowed
1262 * 0b10..Secure and non-privilege user access allowed
1263 * 0b11..Secure and privilege user access allowed
1264 */
1265#define AHB_SECURE_CTRL_RAM00_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE0_MASK)
1266#define AHB_SECURE_CTRL_RAM00_RULE_RULE1_MASK (0x30U)
1267#define AHB_SECURE_CTRL_RAM00_RULE_RULE1_SHIFT (4U)
1268/*! RULE1 - Rule 1
1269 * 0b00..Non-secure and non-privilege user access allowed
1270 * 0b01..Non-secure and privilege access allowed
1271 * 0b10..Secure and non-privilege user access allowed
1272 * 0b11..Secure and privilege user access allowed
1273 */
1274#define AHB_SECURE_CTRL_RAM00_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE1_MASK)
1275#define AHB_SECURE_CTRL_RAM00_RULE_RULE2_MASK (0x300U)
1276#define AHB_SECURE_CTRL_RAM00_RULE_RULE2_SHIFT (8U)
1277/*! RULE2 - Rule 2
1278 * 0b00..Non-secure and non-privilege user access allowed
1279 * 0b01..Non-secure and privilege access allowed
1280 * 0b10..Secure and non-privilege user access allowed
1281 * 0b11..Secure and privilege user access allowed
1282 */
1283#define AHB_SECURE_CTRL_RAM00_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE2_MASK)
1284#define AHB_SECURE_CTRL_RAM00_RULE_RULE3_MASK (0x3000U)
1285#define AHB_SECURE_CTRL_RAM00_RULE_RULE3_SHIFT (12U)
1286/*! RULE3 - Rule 3
1287 * 0b00..Non-secure and non-privilege user access allowed
1288 * 0b01..Non-secure and privilege access allowed
1289 * 0b10..Secure and non-privilege user access allowed
1290 * 0b11..Secure and privilege user access allowed
1291 */
1292#define AHB_SECURE_CTRL_RAM00_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE3_MASK)
1293#define AHB_SECURE_CTRL_RAM00_RULE_RULE4_MASK (0x30000U)
1294#define AHB_SECURE_CTRL_RAM00_RULE_RULE4_SHIFT (16U)
1295/*! RULE4 - Rule 4
1296 * 0b00..Non-secure and non-privilege user access allowed
1297 * 0b01..Non-secure and privilege access allowed
1298 * 0b10..Secure and non-privilege user access allowed
1299 * 0b11..Secure and privilege user access allowed
1300 */
1301#define AHB_SECURE_CTRL_RAM00_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE4_MASK)
1302#define AHB_SECURE_CTRL_RAM00_RULE_RULE5_MASK (0x300000U)
1303#define AHB_SECURE_CTRL_RAM00_RULE_RULE5_SHIFT (20U)
1304/*! RULE5 - Rule 5
1305 * 0b00..Non-secure and non-privilege user access allowed
1306 * 0b01..Non-secure and privilege access allowed
1307 * 0b10..Secure and non-privilege user access allowed
1308 * 0b11..Secure and privilege user access allowed
1309 */
1310#define AHB_SECURE_CTRL_RAM00_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE5_MASK)
1311#define AHB_SECURE_CTRL_RAM00_RULE_RULE6_MASK (0x3000000U)
1312#define AHB_SECURE_CTRL_RAM00_RULE_RULE6_SHIFT (24U)
1313/*! RULE6 - Rule 6
1314 * 0b00..Non-secure and non-privilege user access allowed
1315 * 0b01..Non-secure and privilege access allowed
1316 * 0b10..Secure and non-privilege user access allowed
1317 * 0b11..Secure and privilege user access allowed
1318 */
1319#define AHB_SECURE_CTRL_RAM00_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE6_MASK)
1320#define AHB_SECURE_CTRL_RAM00_RULE_RULE7_MASK (0x30000000U)
1321#define AHB_SECURE_CTRL_RAM00_RULE_RULE7_SHIFT (28U)
1322/*! RULE7 - Rule 7
1323 * 0b00..Non-secure and non-privilege user access allowed
1324 * 0b01..Non-secure and privilege access allowed
1325 * 0b10..Secure and non-privilege user access allowed
1326 * 0b11..Secure and privilege user access allowed
1327 */
1328#define AHB_SECURE_CTRL_RAM00_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM00_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM00_RULE_RULE7_MASK)
1329/*! @} */
1330
1331/* The count of AHB_SECURE_CTRL_RAM00_RULE */
1332#define AHB_SECURE_CTRL_RAM00_RULE_COUNT (4U)
1333
1334/*! @name RAM01_RULE - SRAM Partition 01 Rule(n) Register */
1335/*! @{ */
1336#define AHB_SECURE_CTRL_RAM01_RULE_RULE0_MASK (0x3U)
1337#define AHB_SECURE_CTRL_RAM01_RULE_RULE0_SHIFT (0U)
1338/*! RULE0 - Rule 0
1339 * 0b00..Non-secure and non-privilege user access allowed
1340 * 0b01..Non-secure and privilege access allowed
1341 * 0b10..Secure and non-privilege user access allowed
1342 * 0b11..Secure and privilege user access allowed
1343 */
1344#define AHB_SECURE_CTRL_RAM01_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE0_MASK)
1345#define AHB_SECURE_CTRL_RAM01_RULE_RULE1_MASK (0x30U)
1346#define AHB_SECURE_CTRL_RAM01_RULE_RULE1_SHIFT (4U)
1347/*! RULE1 - Rule 1
1348 * 0b00..Non-secure and non-privilege user access allowed
1349 * 0b01..Non-secure and privilege access allowed
1350 * 0b10..Secure and non-privilege user access allowed
1351 * 0b11..Secure and privilege user access allowed
1352 */
1353#define AHB_SECURE_CTRL_RAM01_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE1_MASK)
1354#define AHB_SECURE_CTRL_RAM01_RULE_RULE2_MASK (0x300U)
1355#define AHB_SECURE_CTRL_RAM01_RULE_RULE2_SHIFT (8U)
1356/*! RULE2 - Rule 2
1357 * 0b00..Non-secure and non-privilege user access allowed
1358 * 0b01..Non-secure and privilege access allowed
1359 * 0b10..Secure and non-privilege user access allowed
1360 * 0b11..Secure and privilege user access allowed
1361 */
1362#define AHB_SECURE_CTRL_RAM01_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE2_MASK)
1363#define AHB_SECURE_CTRL_RAM01_RULE_RULE3_MASK (0x3000U)
1364#define AHB_SECURE_CTRL_RAM01_RULE_RULE3_SHIFT (12U)
1365/*! RULE3 - Rule 3
1366 * 0b00..Non-secure and non-privilege user access allowed
1367 * 0b01..Non-secure and privilege access allowed
1368 * 0b10..Secure and non-privilege user access allowed
1369 * 0b11..Secure and privilege user access allowed
1370 */
1371#define AHB_SECURE_CTRL_RAM01_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE3_MASK)
1372#define AHB_SECURE_CTRL_RAM01_RULE_RULE4_MASK (0x30000U)
1373#define AHB_SECURE_CTRL_RAM01_RULE_RULE4_SHIFT (16U)
1374/*! RULE4 - Rule 4
1375 * 0b00..Non-secure and non-privilege user access allowed
1376 * 0b01..Non-secure and privilege access allowed
1377 * 0b10..Secure and non-privilege user access allowed
1378 * 0b11..Secure and privilege user access allowed
1379 */
1380#define AHB_SECURE_CTRL_RAM01_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE4_MASK)
1381#define AHB_SECURE_CTRL_RAM01_RULE_RULE5_MASK (0x300000U)
1382#define AHB_SECURE_CTRL_RAM01_RULE_RULE5_SHIFT (20U)
1383/*! RULE5 - Rule 5
1384 * 0b00..Non-secure and non-privilege user access allowed
1385 * 0b01..Non-secure and privilege access allowed
1386 * 0b10..Secure and non-privilege user access allowed
1387 * 0b11..Secure and privilege user access allowed
1388 */
1389#define AHB_SECURE_CTRL_RAM01_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE5_MASK)
1390#define AHB_SECURE_CTRL_RAM01_RULE_RULE6_MASK (0x3000000U)
1391#define AHB_SECURE_CTRL_RAM01_RULE_RULE6_SHIFT (24U)
1392/*! RULE6 - Rule 6
1393 * 0b00..Non-secure and non-privilege user access allowed
1394 * 0b01..Non-secure and privilege access allowed
1395 * 0b10..Secure and non-privilege user access allowed
1396 * 0b11..Secure and privilege user access allowed
1397 */
1398#define AHB_SECURE_CTRL_RAM01_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE6_MASK)
1399#define AHB_SECURE_CTRL_RAM01_RULE_RULE7_MASK (0x30000000U)
1400#define AHB_SECURE_CTRL_RAM01_RULE_RULE7_SHIFT (28U)
1401/*! RULE7 - Rule 7
1402 * 0b00..Non-secure and non-privilege user access allowed
1403 * 0b01..Non-secure and privilege access allowed
1404 * 0b10..Secure and non-privilege user access allowed
1405 * 0b11..Secure and privilege user access allowed
1406 */
1407#define AHB_SECURE_CTRL_RAM01_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM01_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM01_RULE_RULE7_MASK)
1408/*! @} */
1409
1410/* The count of AHB_SECURE_CTRL_RAM01_RULE */
1411#define AHB_SECURE_CTRL_RAM01_RULE_COUNT (4U)
1412
1413/*! @name RAM02_RULE - SRAM Partition 02 Rule(n) Register */
1414/*! @{ */
1415#define AHB_SECURE_CTRL_RAM02_RULE_RULE0_MASK (0x3U)
1416#define AHB_SECURE_CTRL_RAM02_RULE_RULE0_SHIFT (0U)
1417/*! RULE0 - Rule 0
1418 * 0b00..Non-secure and non-privilege user access allowed
1419 * 0b01..Non-secure and privilege access allowed
1420 * 0b10..Secure and non-privilege user access allowed
1421 * 0b11..Secure and privilege user access allowed
1422 */
1423#define AHB_SECURE_CTRL_RAM02_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE0_MASK)
1424#define AHB_SECURE_CTRL_RAM02_RULE_RULE1_MASK (0x30U)
1425#define AHB_SECURE_CTRL_RAM02_RULE_RULE1_SHIFT (4U)
1426/*! RULE1 - Rule 1
1427 * 0b00..Non-secure and non-privilege user access allowed
1428 * 0b01..Non-secure and privilege access allowed
1429 * 0b10..Secure and non-privilege user access allowed
1430 * 0b11..Secure and privilege user access allowed
1431 */
1432#define AHB_SECURE_CTRL_RAM02_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE1_MASK)
1433#define AHB_SECURE_CTRL_RAM02_RULE_RULE2_MASK (0x300U)
1434#define AHB_SECURE_CTRL_RAM02_RULE_RULE2_SHIFT (8U)
1435/*! RULE2 - Rule 2
1436 * 0b00..Non-secure and non-privilege user access allowed
1437 * 0b01..Non-secure and privilege access allowed
1438 * 0b10..Secure and non-privilege user access allowed
1439 * 0b11..Secure and privilege user access allowed
1440 */
1441#define AHB_SECURE_CTRL_RAM02_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE2_MASK)
1442#define AHB_SECURE_CTRL_RAM02_RULE_RULE3_MASK (0x3000U)
1443#define AHB_SECURE_CTRL_RAM02_RULE_RULE3_SHIFT (12U)
1444/*! RULE3 - Rule 3
1445 * 0b00..Non-secure and non-privilege user access allowed
1446 * 0b01..Non-secure and privilege access allowed
1447 * 0b10..Secure and non-privilege user access allowed
1448 * 0b11..Secure and privilege user access allowed
1449 */
1450#define AHB_SECURE_CTRL_RAM02_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE3_MASK)
1451#define AHB_SECURE_CTRL_RAM02_RULE_RULE4_MASK (0x30000U)
1452#define AHB_SECURE_CTRL_RAM02_RULE_RULE4_SHIFT (16U)
1453/*! RULE4 - Rule 4
1454 * 0b00..Non-secure and non-privilege user access allowed
1455 * 0b01..Non-secure and privilege access allowed
1456 * 0b10..Secure and non-privilege user access allowed
1457 * 0b11..Secure and privilege user access allowed
1458 */
1459#define AHB_SECURE_CTRL_RAM02_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE4_MASK)
1460#define AHB_SECURE_CTRL_RAM02_RULE_RULE5_MASK (0x300000U)
1461#define AHB_SECURE_CTRL_RAM02_RULE_RULE5_SHIFT (20U)
1462/*! RULE5 - Rule 5
1463 * 0b00..Non-secure and non-privilege user access allowed
1464 * 0b01..Non-secure and privilege access allowed
1465 * 0b10..Secure and non-privilege user access allowed
1466 * 0b11..Secure and privilege user access allowed
1467 */
1468#define AHB_SECURE_CTRL_RAM02_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE5_MASK)
1469#define AHB_SECURE_CTRL_RAM02_RULE_RULE6_MASK (0x3000000U)
1470#define AHB_SECURE_CTRL_RAM02_RULE_RULE6_SHIFT (24U)
1471/*! RULE6 - Rule 6
1472 * 0b00..Non-secure and non-privilege user access allowed
1473 * 0b01..Non-secure and privilege access allowed
1474 * 0b10..Secure and non-privilege user access allowed
1475 * 0b11..Secure and privilege user access allowed
1476 */
1477#define AHB_SECURE_CTRL_RAM02_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE6_MASK)
1478#define AHB_SECURE_CTRL_RAM02_RULE_RULE7_MASK (0x30000000U)
1479#define AHB_SECURE_CTRL_RAM02_RULE_RULE7_SHIFT (28U)
1480/*! RULE7 - Rule 7
1481 * 0b00..Non-secure and non-privilege user access allowed
1482 * 0b01..Non-secure and privilege access allowed
1483 * 0b10..Secure and non-privilege user access allowed
1484 * 0b11..Secure and privilege user access allowed
1485 */
1486#define AHB_SECURE_CTRL_RAM02_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM02_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM02_RULE_RULE7_MASK)
1487/*! @} */
1488
1489/* The count of AHB_SECURE_CTRL_RAM02_RULE */
1490#define AHB_SECURE_CTRL_RAM02_RULE_COUNT (4U)
1491
1492/*! @name RAM03_RULE - SRAM Partition 03 Rule(n) Register */
1493/*! @{ */
1494#define AHB_SECURE_CTRL_RAM03_RULE_RULE0_MASK (0x3U)
1495#define AHB_SECURE_CTRL_RAM03_RULE_RULE0_SHIFT (0U)
1496/*! RULE0 - Rule 0
1497 * 0b00..Non-secure and non-privilege user access allowed
1498 * 0b01..Non-secure and privilege access allowed
1499 * 0b10..Secure and non-privilege user access allowed
1500 * 0b11..Secure and privilege user access allowed
1501 */
1502#define AHB_SECURE_CTRL_RAM03_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE0_MASK)
1503#define AHB_SECURE_CTRL_RAM03_RULE_RULE1_MASK (0x30U)
1504#define AHB_SECURE_CTRL_RAM03_RULE_RULE1_SHIFT (4U)
1505/*! RULE1 - Rule 1
1506 * 0b00..Non-secure and non-privilege user access allowed
1507 * 0b01..Non-secure and privilege access allowed
1508 * 0b10..Secure and non-privilege user access allowed
1509 * 0b11..Secure and privilege user access allowed
1510 */
1511#define AHB_SECURE_CTRL_RAM03_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE1_MASK)
1512#define AHB_SECURE_CTRL_RAM03_RULE_RULE2_MASK (0x300U)
1513#define AHB_SECURE_CTRL_RAM03_RULE_RULE2_SHIFT (8U)
1514/*! RULE2 - Rule 2
1515 * 0b00..Non-secure and non-privilege user access allowed
1516 * 0b01..Non-secure and privilege access allowed
1517 * 0b10..Secure and non-privilege user access allowed
1518 * 0b11..Secure and privilege user access allowed
1519 */
1520#define AHB_SECURE_CTRL_RAM03_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE2_MASK)
1521#define AHB_SECURE_CTRL_RAM03_RULE_RULE3_MASK (0x3000U)
1522#define AHB_SECURE_CTRL_RAM03_RULE_RULE3_SHIFT (12U)
1523/*! RULE3 - Rule 3
1524 * 0b00..Non-secure and non-privilege user access allowed
1525 * 0b01..Non-secure and privilege access allowed
1526 * 0b10..Secure and non-privilege user access allowed
1527 * 0b11..Secure and privilege user access allowed
1528 */
1529#define AHB_SECURE_CTRL_RAM03_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE3_MASK)
1530#define AHB_SECURE_CTRL_RAM03_RULE_RULE4_MASK (0x30000U)
1531#define AHB_SECURE_CTRL_RAM03_RULE_RULE4_SHIFT (16U)
1532/*! RULE4 - Rule 4
1533 * 0b00..Non-secure and non-privilege user access allowed
1534 * 0b01..Non-secure and privilege access allowed
1535 * 0b10..Secure and non-privilege user access allowed
1536 * 0b11..Secure and privilege user access allowed
1537 */
1538#define AHB_SECURE_CTRL_RAM03_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE4_MASK)
1539#define AHB_SECURE_CTRL_RAM03_RULE_RULE5_MASK (0x300000U)
1540#define AHB_SECURE_CTRL_RAM03_RULE_RULE5_SHIFT (20U)
1541/*! RULE5 - Rule 5
1542 * 0b00..Non-secure and non-privilege user access allowed
1543 * 0b01..Non-secure and privilege access allowed
1544 * 0b10..Secure and non-privilege user access allowed
1545 * 0b11..Secure and privilege user access allowed
1546 */
1547#define AHB_SECURE_CTRL_RAM03_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE5_MASK)
1548#define AHB_SECURE_CTRL_RAM03_RULE_RULE6_MASK (0x3000000U)
1549#define AHB_SECURE_CTRL_RAM03_RULE_RULE6_SHIFT (24U)
1550/*! RULE6 - Rule 6
1551 * 0b00..Non-secure and non-privilege user access allowed
1552 * 0b01..Non-secure and privilege access allowed
1553 * 0b10..Secure and non-privilege user access allowed
1554 * 0b11..Secure and privilege user access allowed
1555 */
1556#define AHB_SECURE_CTRL_RAM03_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE6_MASK)
1557#define AHB_SECURE_CTRL_RAM03_RULE_RULE7_MASK (0x30000000U)
1558#define AHB_SECURE_CTRL_RAM03_RULE_RULE7_SHIFT (28U)
1559/*! RULE7 - Rule 7
1560 * 0b00..Non-secure and non-privilege user access allowed
1561 * 0b01..Non-secure and privilege access allowed
1562 * 0b10..Secure and non-privilege user access allowed
1563 * 0b11..Secure and privilege user access allowed
1564 */
1565#define AHB_SECURE_CTRL_RAM03_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM03_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM03_RULE_RULE7_MASK)
1566/*! @} */
1567
1568/* The count of AHB_SECURE_CTRL_RAM03_RULE */
1569#define AHB_SECURE_CTRL_RAM03_RULE_COUNT (4U)
1570
1571/*! @name RAM04_RULE - SRAM Partition 04 Rule(n) Register */
1572/*! @{ */
1573#define AHB_SECURE_CTRL_RAM04_RULE_RULE0_MASK (0x3U)
1574#define AHB_SECURE_CTRL_RAM04_RULE_RULE0_SHIFT (0U)
1575/*! RULE0 - Rule 0
1576 * 0b00..Non-secure and non-privilege user access allowed
1577 * 0b01..Non-secure and privilege access allowed
1578 * 0b10..Secure and non-privilege user access allowed
1579 * 0b11..Secure and privilege user access allowed
1580 */
1581#define AHB_SECURE_CTRL_RAM04_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE0_MASK)
1582#define AHB_SECURE_CTRL_RAM04_RULE_RULE1_MASK (0x30U)
1583#define AHB_SECURE_CTRL_RAM04_RULE_RULE1_SHIFT (4U)
1584/*! RULE1 - Rule 1
1585 * 0b00..Non-secure and non-privilege user access allowed
1586 * 0b01..Non-secure and privilege access allowed
1587 * 0b10..Secure and non-privilege user access allowed
1588 * 0b11..Secure and privilege user access allowed
1589 */
1590#define AHB_SECURE_CTRL_RAM04_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE1_MASK)
1591#define AHB_SECURE_CTRL_RAM04_RULE_RULE2_MASK (0x300U)
1592#define AHB_SECURE_CTRL_RAM04_RULE_RULE2_SHIFT (8U)
1593/*! RULE2 - Rule 2
1594 * 0b00..Non-secure and non-privilege user access allowed
1595 * 0b01..Non-secure and privilege access allowed
1596 * 0b10..Secure and non-privilege user access allowed
1597 * 0b11..Secure and privilege user access allowed
1598 */
1599#define AHB_SECURE_CTRL_RAM04_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE2_MASK)
1600#define AHB_SECURE_CTRL_RAM04_RULE_RULE3_MASK (0x3000U)
1601#define AHB_SECURE_CTRL_RAM04_RULE_RULE3_SHIFT (12U)
1602/*! RULE3 - Rule 3
1603 * 0b00..Non-secure and non-privilege user access allowed
1604 * 0b01..Non-secure and privilege access allowed
1605 * 0b10..Secure and non-privilege user access allowed
1606 * 0b11..Secure and privilege user access allowed
1607 */
1608#define AHB_SECURE_CTRL_RAM04_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE3_MASK)
1609#define AHB_SECURE_CTRL_RAM04_RULE_RULE4_MASK (0x30000U)
1610#define AHB_SECURE_CTRL_RAM04_RULE_RULE4_SHIFT (16U)
1611/*! RULE4 - Rule 4
1612 * 0b00..Non-secure and non-privilege user access allowed
1613 * 0b01..Non-secure and privilege access allowed
1614 * 0b10..Secure and non-privilege user access allowed
1615 * 0b11..Secure and privilege user access allowed
1616 */
1617#define AHB_SECURE_CTRL_RAM04_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE4_MASK)
1618#define AHB_SECURE_CTRL_RAM04_RULE_RULE5_MASK (0x300000U)
1619#define AHB_SECURE_CTRL_RAM04_RULE_RULE5_SHIFT (20U)
1620/*! RULE5 - Rule 5
1621 * 0b00..Non-secure and non-privilege user access allowed
1622 * 0b01..Non-secure and privilege access allowed
1623 * 0b10..Secure and non-privilege user access allowed
1624 * 0b11..Secure and privilege user access allowed
1625 */
1626#define AHB_SECURE_CTRL_RAM04_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE5_MASK)
1627#define AHB_SECURE_CTRL_RAM04_RULE_RULE6_MASK (0x3000000U)
1628#define AHB_SECURE_CTRL_RAM04_RULE_RULE6_SHIFT (24U)
1629/*! RULE6 - Rule 6
1630 * 0b00..Non-secure and non-privilege user access allowed
1631 * 0b01..Non-secure and privilege access allowed
1632 * 0b10..Secure and non-privilege user access allowed
1633 * 0b11..Secure and privilege user access allowed
1634 */
1635#define AHB_SECURE_CTRL_RAM04_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE6_MASK)
1636#define AHB_SECURE_CTRL_RAM04_RULE_RULE7_MASK (0x30000000U)
1637#define AHB_SECURE_CTRL_RAM04_RULE_RULE7_SHIFT (28U)
1638/*! RULE7 - Rule 7
1639 * 0b00..Non-secure and non-privilege user access allowed
1640 * 0b01..Non-secure and privilege access allowed
1641 * 0b10..Secure and non-privilege user access allowed
1642 * 0b11..Secure and privilege user access allowed
1643 */
1644#define AHB_SECURE_CTRL_RAM04_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM04_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM04_RULE_RULE7_MASK)
1645/*! @} */
1646
1647/* The count of AHB_SECURE_CTRL_RAM04_RULE */
1648#define AHB_SECURE_CTRL_RAM04_RULE_COUNT (4U)
1649
1650/*! @name RAM05_RULE - SRAM Partition 05 Rule(n) Register */
1651/*! @{ */
1652#define AHB_SECURE_CTRL_RAM05_RULE_RULE0_MASK (0x3U)
1653#define AHB_SECURE_CTRL_RAM05_RULE_RULE0_SHIFT (0U)
1654/*! RULE0 - Rule 0
1655 * 0b00..Non-secure and non-privilege user access allowed
1656 * 0b01..Non-secure and privilege access allowed
1657 * 0b10..Secure and non-privilege user access allowed
1658 * 0b11..Secure and privilege user access allowed
1659 */
1660#define AHB_SECURE_CTRL_RAM05_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE0_MASK)
1661#define AHB_SECURE_CTRL_RAM05_RULE_RULE1_MASK (0x30U)
1662#define AHB_SECURE_CTRL_RAM05_RULE_RULE1_SHIFT (4U)
1663/*! RULE1 - Rule 1
1664 * 0b00..Non-secure and non-privilege user access allowed
1665 * 0b01..Non-secure and privilege access allowed
1666 * 0b10..Secure and non-privilege user access allowed
1667 * 0b11..Secure and privilege user access allowed
1668 */
1669#define AHB_SECURE_CTRL_RAM05_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE1_MASK)
1670#define AHB_SECURE_CTRL_RAM05_RULE_RULE2_MASK (0x300U)
1671#define AHB_SECURE_CTRL_RAM05_RULE_RULE2_SHIFT (8U)
1672/*! RULE2 - Rule 2
1673 * 0b00..Non-secure and non-privilege user access allowed
1674 * 0b01..Non-secure and privilege access allowed
1675 * 0b10..Secure and non-privilege user access allowed
1676 * 0b11..Secure and privilege user access allowed
1677 */
1678#define AHB_SECURE_CTRL_RAM05_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE2_MASK)
1679#define AHB_SECURE_CTRL_RAM05_RULE_RULE3_MASK (0x3000U)
1680#define AHB_SECURE_CTRL_RAM05_RULE_RULE3_SHIFT (12U)
1681/*! RULE3 - Rule 3
1682 * 0b00..Non-secure and non-privilege user access allowed
1683 * 0b01..Non-secure and privilege access allowed
1684 * 0b10..Secure and non-privilege user access allowed
1685 * 0b11..Secure and privilege user access allowed
1686 */
1687#define AHB_SECURE_CTRL_RAM05_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE3_MASK)
1688#define AHB_SECURE_CTRL_RAM05_RULE_RULE4_MASK (0x30000U)
1689#define AHB_SECURE_CTRL_RAM05_RULE_RULE4_SHIFT (16U)
1690/*! RULE4 - Rule 4
1691 * 0b00..Non-secure and non-privilege user access allowed
1692 * 0b01..Non-secure and privilege access allowed
1693 * 0b10..Secure and non-privilege user access allowed
1694 * 0b11..Secure and privilege user access allowed
1695 */
1696#define AHB_SECURE_CTRL_RAM05_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE4_MASK)
1697#define AHB_SECURE_CTRL_RAM05_RULE_RULE5_MASK (0x300000U)
1698#define AHB_SECURE_CTRL_RAM05_RULE_RULE5_SHIFT (20U)
1699/*! RULE5 - Rule 5
1700 * 0b00..Non-secure and non-privilege user access allowed
1701 * 0b01..Non-secure and privilege access allowed
1702 * 0b10..Secure and non-privilege user access allowed
1703 * 0b11..Secure and privilege user access allowed
1704 */
1705#define AHB_SECURE_CTRL_RAM05_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE5_MASK)
1706#define AHB_SECURE_CTRL_RAM05_RULE_RULE6_MASK (0x3000000U)
1707#define AHB_SECURE_CTRL_RAM05_RULE_RULE6_SHIFT (24U)
1708/*! RULE6 - Rule 6
1709 * 0b00..Non-secure and non-privilege user access allowed
1710 * 0b01..Non-secure and privilege access allowed
1711 * 0b10..Secure and non-privilege user access allowed
1712 * 0b11..Secure and privilege user access allowed
1713 */
1714#define AHB_SECURE_CTRL_RAM05_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE6_MASK)
1715#define AHB_SECURE_CTRL_RAM05_RULE_RULE7_MASK (0x30000000U)
1716#define AHB_SECURE_CTRL_RAM05_RULE_RULE7_SHIFT (28U)
1717/*! RULE7 - Rule 7
1718 * 0b00..Non-secure and non-privilege user access allowed
1719 * 0b01..Non-secure and privilege access allowed
1720 * 0b10..Secure and non-privilege user access allowed
1721 * 0b11..Secure and privilege user access allowed
1722 */
1723#define AHB_SECURE_CTRL_RAM05_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM05_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM05_RULE_RULE7_MASK)
1724/*! @} */
1725
1726/* The count of AHB_SECURE_CTRL_RAM05_RULE */
1727#define AHB_SECURE_CTRL_RAM05_RULE_COUNT (4U)
1728
1729/*! @name RAM06_RULE - SRAM Partition 06 Rule(n) Register */
1730/*! @{ */
1731#define AHB_SECURE_CTRL_RAM06_RULE_RULE0_MASK (0x3U)
1732#define AHB_SECURE_CTRL_RAM06_RULE_RULE0_SHIFT (0U)
1733/*! RULE0 - Rule 0
1734 * 0b00..Non-secure and non-privilege user access allowed
1735 * 0b01..Non-secure and privilege access allowed
1736 * 0b10..Secure and non-privilege user access allowed
1737 * 0b11..Secure and privilege user access allowed
1738 */
1739#define AHB_SECURE_CTRL_RAM06_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE0_MASK)
1740#define AHB_SECURE_CTRL_RAM06_RULE_RULE1_MASK (0x30U)
1741#define AHB_SECURE_CTRL_RAM06_RULE_RULE1_SHIFT (4U)
1742/*! RULE1 - Rule 1
1743 * 0b00..Non-secure and non-privilege user access allowed
1744 * 0b01..Non-secure and privilege access allowed
1745 * 0b10..Secure and non-privilege user access allowed
1746 * 0b11..Secure and privilege user access allowed
1747 */
1748#define AHB_SECURE_CTRL_RAM06_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE1_MASK)
1749#define AHB_SECURE_CTRL_RAM06_RULE_RULE2_MASK (0x300U)
1750#define AHB_SECURE_CTRL_RAM06_RULE_RULE2_SHIFT (8U)
1751/*! RULE2 - Rule 2
1752 * 0b00..Non-secure and non-privilege user access allowed
1753 * 0b01..Non-secure and privilege access allowed
1754 * 0b10..Secure and non-privilege user access allowed
1755 * 0b11..Secure and privilege user access allowed
1756 */
1757#define AHB_SECURE_CTRL_RAM06_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE2_MASK)
1758#define AHB_SECURE_CTRL_RAM06_RULE_RULE3_MASK (0x3000U)
1759#define AHB_SECURE_CTRL_RAM06_RULE_RULE3_SHIFT (12U)
1760/*! RULE3 - Rule 3
1761 * 0b00..Non-secure and non-privilege user access allowed
1762 * 0b01..Non-secure and privilege access allowed
1763 * 0b10..Secure and non-privilege user access allowed
1764 * 0b11..Secure and privilege user access allowed
1765 */
1766#define AHB_SECURE_CTRL_RAM06_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE3_MASK)
1767#define AHB_SECURE_CTRL_RAM06_RULE_RULE4_MASK (0x30000U)
1768#define AHB_SECURE_CTRL_RAM06_RULE_RULE4_SHIFT (16U)
1769/*! RULE4 - Rule 4
1770 * 0b00..Non-secure and non-privilege user access allowed
1771 * 0b01..Non-secure and privilege access allowed
1772 * 0b10..Secure and non-privilege user access allowed
1773 * 0b11..Secure and privilege user access allowed
1774 */
1775#define AHB_SECURE_CTRL_RAM06_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE4_MASK)
1776#define AHB_SECURE_CTRL_RAM06_RULE_RULE5_MASK (0x300000U)
1777#define AHB_SECURE_CTRL_RAM06_RULE_RULE5_SHIFT (20U)
1778/*! RULE5 - Rule 5
1779 * 0b00..Non-secure and non-privilege user access allowed
1780 * 0b01..Non-secure and privilege access allowed
1781 * 0b10..Secure and non-privilege user access allowed
1782 * 0b11..Secure and privilege user access allowed
1783 */
1784#define AHB_SECURE_CTRL_RAM06_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE5_MASK)
1785#define AHB_SECURE_CTRL_RAM06_RULE_RULE6_MASK (0x3000000U)
1786#define AHB_SECURE_CTRL_RAM06_RULE_RULE6_SHIFT (24U)
1787/*! RULE6 - Rule 6
1788 * 0b00..Non-secure and non-privilege user access allowed
1789 * 0b01..Non-secure and privilege access allowed
1790 * 0b10..Secure and non-privilege user access allowed
1791 * 0b11..Secure and privilege user access allowed
1792 */
1793#define AHB_SECURE_CTRL_RAM06_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE6_MASK)
1794#define AHB_SECURE_CTRL_RAM06_RULE_RULE7_MASK (0x30000000U)
1795#define AHB_SECURE_CTRL_RAM06_RULE_RULE7_SHIFT (28U)
1796/*! RULE7 - Rule 7
1797 * 0b00..Non-secure and non-privilege user access allowed
1798 * 0b01..Non-secure and privilege access allowed
1799 * 0b10..Secure and non-privilege user access allowed
1800 * 0b11..Secure and privilege user access allowed
1801 */
1802#define AHB_SECURE_CTRL_RAM06_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM06_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM06_RULE_RULE7_MASK)
1803/*! @} */
1804
1805/* The count of AHB_SECURE_CTRL_RAM06_RULE */
1806#define AHB_SECURE_CTRL_RAM06_RULE_COUNT (4U)
1807
1808/*! @name RAM07_RULE - SRAM Partition 07 Rule(n) Register */
1809/*! @{ */
1810#define AHB_SECURE_CTRL_RAM07_RULE_RULE0_MASK (0x3U)
1811#define AHB_SECURE_CTRL_RAM07_RULE_RULE0_SHIFT (0U)
1812/*! RULE0 - Rule 0
1813 * 0b00..Non-secure and non-privilege user access allowed
1814 * 0b01..Non-secure and privilege access allowed
1815 * 0b10..Secure and non-privilege user access allowed
1816 * 0b11..Secure and privilege user access allowed
1817 */
1818#define AHB_SECURE_CTRL_RAM07_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE0_MASK)
1819#define AHB_SECURE_CTRL_RAM07_RULE_RULE1_MASK (0x30U)
1820#define AHB_SECURE_CTRL_RAM07_RULE_RULE1_SHIFT (4U)
1821/*! RULE1 - Rule 1
1822 * 0b00..Non-secure and non-privilege user access allowed
1823 * 0b01..Non-secure and privilege access allowed
1824 * 0b10..Secure and non-privilege user access allowed
1825 * 0b11..Secure and privilege user access allowed
1826 */
1827#define AHB_SECURE_CTRL_RAM07_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE1_MASK)
1828#define AHB_SECURE_CTRL_RAM07_RULE_RULE2_MASK (0x300U)
1829#define AHB_SECURE_CTRL_RAM07_RULE_RULE2_SHIFT (8U)
1830/*! RULE2 - Rule 2
1831 * 0b00..Non-secure and non-privilege user access allowed
1832 * 0b01..Non-secure and privilege access allowed
1833 * 0b10..Secure and non-privilege user access allowed
1834 * 0b11..Secure and privilege user access allowed
1835 */
1836#define AHB_SECURE_CTRL_RAM07_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE2_MASK)
1837#define AHB_SECURE_CTRL_RAM07_RULE_RULE3_MASK (0x3000U)
1838#define AHB_SECURE_CTRL_RAM07_RULE_RULE3_SHIFT (12U)
1839/*! RULE3 - Rule 3
1840 * 0b00..Non-secure and non-privilege user access allowed
1841 * 0b01..Non-secure and privilege access allowed
1842 * 0b10..Secure and non-privilege user access allowed
1843 * 0b11..Secure and privilege user access allowed
1844 */
1845#define AHB_SECURE_CTRL_RAM07_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE3_MASK)
1846#define AHB_SECURE_CTRL_RAM07_RULE_RULE4_MASK (0x30000U)
1847#define AHB_SECURE_CTRL_RAM07_RULE_RULE4_SHIFT (16U)
1848/*! RULE4 - Rule 4
1849 * 0b00..Non-secure and non-privilege user access allowed
1850 * 0b01..Non-secure and privilege access allowed
1851 * 0b10..Secure and non-privilege user access allowed
1852 * 0b11..Secure and privilege user access allowed
1853 */
1854#define AHB_SECURE_CTRL_RAM07_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE4_MASK)
1855#define AHB_SECURE_CTRL_RAM07_RULE_RULE5_MASK (0x300000U)
1856#define AHB_SECURE_CTRL_RAM07_RULE_RULE5_SHIFT (20U)
1857/*! RULE5 - Rule 5
1858 * 0b00..Non-secure and non-privilege user access allowed
1859 * 0b01..Non-secure and privilege access allowed
1860 * 0b10..Secure and non-privilege user access allowed
1861 * 0b11..Secure and privilege user access allowed
1862 */
1863#define AHB_SECURE_CTRL_RAM07_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE5_MASK)
1864#define AHB_SECURE_CTRL_RAM07_RULE_RULE6_MASK (0x3000000U)
1865#define AHB_SECURE_CTRL_RAM07_RULE_RULE6_SHIFT (24U)
1866/*! RULE6 - Rule 6
1867 * 0b00..Non-secure and non-privilege user access allowed
1868 * 0b01..Non-secure and privilege access allowed
1869 * 0b10..Secure and non-privilege user access allowed
1870 * 0b11..Secure and privilege user access allowed
1871 */
1872#define AHB_SECURE_CTRL_RAM07_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE6_MASK)
1873#define AHB_SECURE_CTRL_RAM07_RULE_RULE7_MASK (0x30000000U)
1874#define AHB_SECURE_CTRL_RAM07_RULE_RULE7_SHIFT (28U)
1875/*! RULE7 - Rule 7
1876 * 0b00..Non-secure and non-privilege user access allowed
1877 * 0b01..Non-secure and privilege access allowed
1878 * 0b10..Secure and non-privilege user access allowed
1879 * 0b11..Secure and privilege user access allowed
1880 */
1881#define AHB_SECURE_CTRL_RAM07_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM07_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM07_RULE_RULE7_MASK)
1882/*! @} */
1883
1884/* The count of AHB_SECURE_CTRL_RAM07_RULE */
1885#define AHB_SECURE_CTRL_RAM07_RULE_COUNT (4U)
1886
1887/*! @name RAM08_RULE - SRAM Partition 08 Rule(n) Register */
1888/*! @{ */
1889#define AHB_SECURE_CTRL_RAM08_RULE_RULE0_MASK (0x3U)
1890#define AHB_SECURE_CTRL_RAM08_RULE_RULE0_SHIFT (0U)
1891/*! RULE0 - Rule 0
1892 * 0b00..Non-secure and non-privilege user access allowed
1893 * 0b01..Non-secure and privilege access allowed
1894 * 0b10..Secure and non-privilege user access allowed
1895 * 0b11..Secure and privilege user access allowed
1896 */
1897#define AHB_SECURE_CTRL_RAM08_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE0_MASK)
1898#define AHB_SECURE_CTRL_RAM08_RULE_RULE1_MASK (0x30U)
1899#define AHB_SECURE_CTRL_RAM08_RULE_RULE1_SHIFT (4U)
1900/*! RULE1 - Rule 1
1901 * 0b00..Non-secure and non-privilege user access allowed
1902 * 0b01..Non-secure and privilege access allowed
1903 * 0b10..Secure and non-privilege user access allowed
1904 * 0b11..Secure and privilege user access allowed
1905 */
1906#define AHB_SECURE_CTRL_RAM08_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE1_MASK)
1907#define AHB_SECURE_CTRL_RAM08_RULE_RULE2_MASK (0x300U)
1908#define AHB_SECURE_CTRL_RAM08_RULE_RULE2_SHIFT (8U)
1909/*! RULE2 - Rule 2
1910 * 0b00..Non-secure and non-privilege user access allowed
1911 * 0b01..Non-secure and privilege access allowed
1912 * 0b10..Secure and non-privilege user access allowed
1913 * 0b11..Secure and privilege user access allowed
1914 */
1915#define AHB_SECURE_CTRL_RAM08_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE2_MASK)
1916#define AHB_SECURE_CTRL_RAM08_RULE_RULE3_MASK (0x3000U)
1917#define AHB_SECURE_CTRL_RAM08_RULE_RULE3_SHIFT (12U)
1918/*! RULE3 - Rule 3
1919 * 0b00..Non-secure and non-privilege user access allowed
1920 * 0b01..Non-secure and privilege access allowed
1921 * 0b10..Secure and non-privilege user access allowed
1922 * 0b11..Secure and privilege user access allowed
1923 */
1924#define AHB_SECURE_CTRL_RAM08_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE3_MASK)
1925#define AHB_SECURE_CTRL_RAM08_RULE_RULE4_MASK (0x30000U)
1926#define AHB_SECURE_CTRL_RAM08_RULE_RULE4_SHIFT (16U)
1927/*! RULE4 - Rule 4
1928 * 0b00..Non-secure and non-privilege user access allowed
1929 * 0b01..Non-secure and privilege access allowed
1930 * 0b10..Secure and non-privilege user access allowed
1931 * 0b11..Secure and privilege user access allowed
1932 */
1933#define AHB_SECURE_CTRL_RAM08_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE4_MASK)
1934#define AHB_SECURE_CTRL_RAM08_RULE_RULE5_MASK (0x300000U)
1935#define AHB_SECURE_CTRL_RAM08_RULE_RULE5_SHIFT (20U)
1936/*! RULE5 - Rule 5
1937 * 0b00..Non-secure and non-privilege user access allowed
1938 * 0b01..Non-secure and privilege access allowed
1939 * 0b10..Secure and non-privilege user access allowed
1940 * 0b11..Secure and privilege user access allowed
1941 */
1942#define AHB_SECURE_CTRL_RAM08_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE5_MASK)
1943#define AHB_SECURE_CTRL_RAM08_RULE_RULE6_MASK (0x3000000U)
1944#define AHB_SECURE_CTRL_RAM08_RULE_RULE6_SHIFT (24U)
1945/*! RULE6 - Rule 6
1946 * 0b00..Non-secure and non-privilege user access allowed
1947 * 0b01..Non-secure and privilege access allowed
1948 * 0b10..Secure and non-privilege user access allowed
1949 * 0b11..Secure and privilege user access allowed
1950 */
1951#define AHB_SECURE_CTRL_RAM08_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE6_MASK)
1952#define AHB_SECURE_CTRL_RAM08_RULE_RULE7_MASK (0x30000000U)
1953#define AHB_SECURE_CTRL_RAM08_RULE_RULE7_SHIFT (28U)
1954/*! RULE7 - Rule 7
1955 * 0b00..Non-secure and non-privilege user access allowed
1956 * 0b01..Non-secure and privilege access allowed
1957 * 0b10..Secure and non-privilege user access allowed
1958 * 0b11..Secure and privilege user access allowed
1959 */
1960#define AHB_SECURE_CTRL_RAM08_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM08_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM08_RULE_RULE7_MASK)
1961/*! @} */
1962
1963/* The count of AHB_SECURE_CTRL_RAM08_RULE */
1964#define AHB_SECURE_CTRL_RAM08_RULE_COUNT (4U)
1965
1966/*! @name RAM09_RULE - SRAM Partition 09 Rule(n) Register */
1967/*! @{ */
1968#define AHB_SECURE_CTRL_RAM09_RULE_RULE0_MASK (0x3U)
1969#define AHB_SECURE_CTRL_RAM09_RULE_RULE0_SHIFT (0U)
1970/*! RULE0 - Rule 0
1971 * 0b00..Non-secure and non-privilege user access allowed
1972 * 0b01..Non-secure and privilege access allowed
1973 * 0b10..Secure and non-privilege user access allowed
1974 * 0b11..Secure and privilege user access allowed
1975 */
1976#define AHB_SECURE_CTRL_RAM09_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE0_MASK)
1977#define AHB_SECURE_CTRL_RAM09_RULE_RULE1_MASK (0x30U)
1978#define AHB_SECURE_CTRL_RAM09_RULE_RULE1_SHIFT (4U)
1979/*! RULE1 - Rule 1
1980 * 0b00..Non-secure and non-privilege user access allowed
1981 * 0b01..Non-secure and privilege access allowed
1982 * 0b10..Secure and non-privilege user access allowed
1983 * 0b11..Secure and privilege user access allowed
1984 */
1985#define AHB_SECURE_CTRL_RAM09_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE1_MASK)
1986#define AHB_SECURE_CTRL_RAM09_RULE_RULE2_MASK (0x300U)
1987#define AHB_SECURE_CTRL_RAM09_RULE_RULE2_SHIFT (8U)
1988/*! RULE2 - Rule 2
1989 * 0b00..Non-secure and non-privilege user access allowed
1990 * 0b01..Non-secure and privilege access allowed
1991 * 0b10..Secure and non-privilege user access allowed
1992 * 0b11..Secure and privilege user access allowed
1993 */
1994#define AHB_SECURE_CTRL_RAM09_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE2_MASK)
1995#define AHB_SECURE_CTRL_RAM09_RULE_RULE3_MASK (0x3000U)
1996#define AHB_SECURE_CTRL_RAM09_RULE_RULE3_SHIFT (12U)
1997/*! RULE3 - Rule 3
1998 * 0b00..Non-secure and non-privilege user access allowed
1999 * 0b01..Non-secure and privilege access allowed
2000 * 0b10..Secure and non-privilege user access allowed
2001 * 0b11..Secure and privilege user access allowed
2002 */
2003#define AHB_SECURE_CTRL_RAM09_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE3_MASK)
2004#define AHB_SECURE_CTRL_RAM09_RULE_RULE4_MASK (0x30000U)
2005#define AHB_SECURE_CTRL_RAM09_RULE_RULE4_SHIFT (16U)
2006/*! RULE4 - Rule 4
2007 * 0b00..Non-secure and non-privilege user access allowed
2008 * 0b01..Non-secure and privilege access allowed
2009 * 0b10..Secure and non-privilege user access allowed
2010 * 0b11..Secure and privilege user access allowed
2011 */
2012#define AHB_SECURE_CTRL_RAM09_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE4_MASK)
2013#define AHB_SECURE_CTRL_RAM09_RULE_RULE5_MASK (0x300000U)
2014#define AHB_SECURE_CTRL_RAM09_RULE_RULE5_SHIFT (20U)
2015/*! RULE5 - Rule 5
2016 * 0b00..Non-secure and non-privilege user access allowed
2017 * 0b01..Non-secure and privilege access allowed
2018 * 0b10..Secure and non-privilege user access allowed
2019 * 0b11..Secure and privilege user access allowed
2020 */
2021#define AHB_SECURE_CTRL_RAM09_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE5_MASK)
2022#define AHB_SECURE_CTRL_RAM09_RULE_RULE6_MASK (0x3000000U)
2023#define AHB_SECURE_CTRL_RAM09_RULE_RULE6_SHIFT (24U)
2024/*! RULE6 - Rule 6
2025 * 0b00..Non-secure and non-privilege user access allowed
2026 * 0b01..Non-secure and privilege access allowed
2027 * 0b10..Secure and non-privilege user access allowed
2028 * 0b11..Secure and privilege user access allowed
2029 */
2030#define AHB_SECURE_CTRL_RAM09_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE6_MASK)
2031#define AHB_SECURE_CTRL_RAM09_RULE_RULE7_MASK (0x30000000U)
2032#define AHB_SECURE_CTRL_RAM09_RULE_RULE7_SHIFT (28U)
2033/*! RULE7 - Rule 7
2034 * 0b00..Non-secure and non-privilege user access allowed
2035 * 0b01..Non-secure and privilege access allowed
2036 * 0b10..Secure and non-privilege user access allowed
2037 * 0b11..Secure and privilege user access allowed
2038 */
2039#define AHB_SECURE_CTRL_RAM09_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM09_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM09_RULE_RULE7_MASK)
2040/*! @} */
2041
2042/* The count of AHB_SECURE_CTRL_RAM09_RULE */
2043#define AHB_SECURE_CTRL_RAM09_RULE_COUNT (4U)
2044
2045/*! @name RAM10_RULE - SRAM Partition 10 Rule(n) Register */
2046/*! @{ */
2047#define AHB_SECURE_CTRL_RAM10_RULE_RULE0_MASK (0x3U)
2048#define AHB_SECURE_CTRL_RAM10_RULE_RULE0_SHIFT (0U)
2049/*! RULE0 - Rule 0
2050 * 0b00..Non-secure and non-privilege user access allowed
2051 * 0b01..Non-secure and privilege access allowed
2052 * 0b10..Secure and non-privilege user access allowed
2053 * 0b11..Secure and privilege user access allowed
2054 */
2055#define AHB_SECURE_CTRL_RAM10_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE0_MASK)
2056#define AHB_SECURE_CTRL_RAM10_RULE_RULE1_MASK (0x30U)
2057#define AHB_SECURE_CTRL_RAM10_RULE_RULE1_SHIFT (4U)
2058/*! RULE1 - Rule 1
2059 * 0b00..Non-secure and non-privilege user access allowed
2060 * 0b01..Non-secure and privilege access allowed
2061 * 0b10..Secure and non-privilege user access allowed
2062 * 0b11..Secure and privilege user access allowed
2063 */
2064#define AHB_SECURE_CTRL_RAM10_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE1_MASK)
2065#define AHB_SECURE_CTRL_RAM10_RULE_RULE2_MASK (0x300U)
2066#define AHB_SECURE_CTRL_RAM10_RULE_RULE2_SHIFT (8U)
2067/*! RULE2 - Rule 2
2068 * 0b00..Non-secure and non-privilege user access allowed
2069 * 0b01..Non-secure and privilege access allowed
2070 * 0b10..Secure and non-privilege user access allowed
2071 * 0b11..Secure and privilege user access allowed
2072 */
2073#define AHB_SECURE_CTRL_RAM10_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE2_MASK)
2074#define AHB_SECURE_CTRL_RAM10_RULE_RULE3_MASK (0x3000U)
2075#define AHB_SECURE_CTRL_RAM10_RULE_RULE3_SHIFT (12U)
2076/*! RULE3 - Rule 3
2077 * 0b00..Non-secure and non-privilege user access allowed
2078 * 0b01..Non-secure and privilege access allowed
2079 * 0b10..Secure and non-privilege user access allowed
2080 * 0b11..Secure and privilege user access allowed
2081 */
2082#define AHB_SECURE_CTRL_RAM10_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE3_MASK)
2083#define AHB_SECURE_CTRL_RAM10_RULE_RULE4_MASK (0x30000U)
2084#define AHB_SECURE_CTRL_RAM10_RULE_RULE4_SHIFT (16U)
2085/*! RULE4 - Rule 4
2086 * 0b00..Non-secure and non-privilege user access allowed
2087 * 0b01..Non-secure and privilege access allowed
2088 * 0b10..Secure and non-privilege user access allowed
2089 * 0b11..Secure and privilege user access allowed
2090 */
2091#define AHB_SECURE_CTRL_RAM10_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE4_MASK)
2092#define AHB_SECURE_CTRL_RAM10_RULE_RULE5_MASK (0x300000U)
2093#define AHB_SECURE_CTRL_RAM10_RULE_RULE5_SHIFT (20U)
2094/*! RULE5 - Rule 5
2095 * 0b00..Non-secure and non-privilege user access allowed
2096 * 0b01..Non-secure and privilege access allowed
2097 * 0b10..Secure and non-privilege user access allowed
2098 * 0b11..Secure and privilege user access allowed
2099 */
2100#define AHB_SECURE_CTRL_RAM10_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE5_MASK)
2101#define AHB_SECURE_CTRL_RAM10_RULE_RULE6_MASK (0x3000000U)
2102#define AHB_SECURE_CTRL_RAM10_RULE_RULE6_SHIFT (24U)
2103/*! RULE6 - Rule 6
2104 * 0b00..Non-secure and non-privilege user access allowed
2105 * 0b01..Non-secure and privilege access allowed
2106 * 0b10..Secure and non-privilege user access allowed
2107 * 0b11..Secure and privilege user access allowed
2108 */
2109#define AHB_SECURE_CTRL_RAM10_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE6_MASK)
2110#define AHB_SECURE_CTRL_RAM10_RULE_RULE7_MASK (0x30000000U)
2111#define AHB_SECURE_CTRL_RAM10_RULE_RULE7_SHIFT (28U)
2112/*! RULE7 - Rule 7
2113 * 0b00..Non-secure and non-privilege user access allowed
2114 * 0b01..Non-secure and privilege access allowed
2115 * 0b10..Secure and non-privilege user access allowed
2116 * 0b11..Secure and privilege user access allowed
2117 */
2118#define AHB_SECURE_CTRL_RAM10_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM10_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM10_RULE_RULE7_MASK)
2119/*! @} */
2120
2121/* The count of AHB_SECURE_CTRL_RAM10_RULE */
2122#define AHB_SECURE_CTRL_RAM10_RULE_COUNT (4U)
2123
2124/*! @name RAM11_RULE - SRAM Partition 11 Rule(n) Register */
2125/*! @{ */
2126#define AHB_SECURE_CTRL_RAM11_RULE_RULE0_MASK (0x3U)
2127#define AHB_SECURE_CTRL_RAM11_RULE_RULE0_SHIFT (0U)
2128/*! RULE0 - Rule 0
2129 * 0b00..Non-secure and non-privilege user access allowed
2130 * 0b01..Non-secure and privilege access allowed
2131 * 0b10..Secure and non-privilege user access allowed
2132 * 0b11..Secure and privilege user access allowed
2133 */
2134#define AHB_SECURE_CTRL_RAM11_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE0_MASK)
2135#define AHB_SECURE_CTRL_RAM11_RULE_RULE1_MASK (0x30U)
2136#define AHB_SECURE_CTRL_RAM11_RULE_RULE1_SHIFT (4U)
2137/*! RULE1 - Rule 1
2138 * 0b00..Non-secure and non-privilege user access allowed
2139 * 0b01..Non-secure and privilege access allowed
2140 * 0b10..Secure and non-privilege user access allowed
2141 * 0b11..Secure and privilege user access allowed
2142 */
2143#define AHB_SECURE_CTRL_RAM11_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE1_MASK)
2144#define AHB_SECURE_CTRL_RAM11_RULE_RULE2_MASK (0x300U)
2145#define AHB_SECURE_CTRL_RAM11_RULE_RULE2_SHIFT (8U)
2146/*! RULE2 - Rule 2
2147 * 0b00..Non-secure and non-privilege user access allowed
2148 * 0b01..Non-secure and privilege access allowed
2149 * 0b10..Secure and non-privilege user access allowed
2150 * 0b11..Secure and privilege user access allowed
2151 */
2152#define AHB_SECURE_CTRL_RAM11_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE2_MASK)
2153#define AHB_SECURE_CTRL_RAM11_RULE_RULE3_MASK (0x3000U)
2154#define AHB_SECURE_CTRL_RAM11_RULE_RULE3_SHIFT (12U)
2155/*! RULE3 - Rule 3
2156 * 0b00..Non-secure and non-privilege user access allowed
2157 * 0b01..Non-secure and privilege access allowed
2158 * 0b10..Secure and non-privilege user access allowed
2159 * 0b11..Secure and privilege user access allowed
2160 */
2161#define AHB_SECURE_CTRL_RAM11_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE3_MASK)
2162#define AHB_SECURE_CTRL_RAM11_RULE_RULE4_MASK (0x30000U)
2163#define AHB_SECURE_CTRL_RAM11_RULE_RULE4_SHIFT (16U)
2164/*! RULE4 - Rule 4
2165 * 0b00..Non-secure and non-privilege user access allowed
2166 * 0b01..Non-secure and privilege access allowed
2167 * 0b10..Secure and non-privilege user access allowed
2168 * 0b11..Secure and privilege user access allowed
2169 */
2170#define AHB_SECURE_CTRL_RAM11_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE4_MASK)
2171#define AHB_SECURE_CTRL_RAM11_RULE_RULE5_MASK (0x300000U)
2172#define AHB_SECURE_CTRL_RAM11_RULE_RULE5_SHIFT (20U)
2173/*! RULE5 - Rule 5
2174 * 0b00..Non-secure and non-privilege user access allowed
2175 * 0b01..Non-secure and privilege access allowed
2176 * 0b10..Secure and non-privilege user access allowed
2177 * 0b11..Secure and privilege user access allowed
2178 */
2179#define AHB_SECURE_CTRL_RAM11_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE5_MASK)
2180#define AHB_SECURE_CTRL_RAM11_RULE_RULE6_MASK (0x3000000U)
2181#define AHB_SECURE_CTRL_RAM11_RULE_RULE6_SHIFT (24U)
2182/*! RULE6 - Rule 6
2183 * 0b00..Non-secure and non-privilege user access allowed
2184 * 0b01..Non-secure and privilege access allowed
2185 * 0b10..Secure and non-privilege user access allowed
2186 * 0b11..Secure and privilege user access allowed
2187 */
2188#define AHB_SECURE_CTRL_RAM11_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE6_MASK)
2189#define AHB_SECURE_CTRL_RAM11_RULE_RULE7_MASK (0x30000000U)
2190#define AHB_SECURE_CTRL_RAM11_RULE_RULE7_SHIFT (28U)
2191/*! RULE7 - Rule 7
2192 * 0b00..Non-secure and non-privilege user access allowed
2193 * 0b01..Non-secure and privilege access allowed
2194 * 0b10..Secure and non-privilege user access allowed
2195 * 0b11..Secure and privilege user access allowed
2196 */
2197#define AHB_SECURE_CTRL_RAM11_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM11_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM11_RULE_RULE7_MASK)
2198/*! @} */
2199
2200/* The count of AHB_SECURE_CTRL_RAM11_RULE */
2201#define AHB_SECURE_CTRL_RAM11_RULE_COUNT (4U)
2202
2203/*! @name RAM12_RULE - SRAM Partition 12 Rule(n) Register */
2204/*! @{ */
2205#define AHB_SECURE_CTRL_RAM12_RULE_RULE0_MASK (0x3U)
2206#define AHB_SECURE_CTRL_RAM12_RULE_RULE0_SHIFT (0U)
2207/*! RULE0 - Rule 0
2208 * 0b00..Non-secure and non-privilege user access allowed
2209 * 0b01..Non-secure and privilege access allowed
2210 * 0b10..Secure and non-privilege user access allowed
2211 * 0b11..Secure and privilege user access allowed
2212 */
2213#define AHB_SECURE_CTRL_RAM12_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE0_MASK)
2214#define AHB_SECURE_CTRL_RAM12_RULE_RULE1_MASK (0x30U)
2215#define AHB_SECURE_CTRL_RAM12_RULE_RULE1_SHIFT (4U)
2216/*! RULE1 - Rule 1
2217 * 0b00..Non-secure and non-privilege user access allowed
2218 * 0b01..Non-secure and privilege access allowed
2219 * 0b10..Secure and non-privilege user access allowed
2220 * 0b11..Secure and privilege user access allowed
2221 */
2222#define AHB_SECURE_CTRL_RAM12_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE1_MASK)
2223#define AHB_SECURE_CTRL_RAM12_RULE_RULE2_MASK (0x300U)
2224#define AHB_SECURE_CTRL_RAM12_RULE_RULE2_SHIFT (8U)
2225/*! RULE2 - Rule 2
2226 * 0b00..Non-secure and non-privilege user access allowed
2227 * 0b01..Non-secure and privilege access allowed
2228 * 0b10..Secure and non-privilege user access allowed
2229 * 0b11..Secure and privilege user access allowed
2230 */
2231#define AHB_SECURE_CTRL_RAM12_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE2_MASK)
2232#define AHB_SECURE_CTRL_RAM12_RULE_RULE3_MASK (0x3000U)
2233#define AHB_SECURE_CTRL_RAM12_RULE_RULE3_SHIFT (12U)
2234/*! RULE3 - Rule 3
2235 * 0b00..Non-secure and non-privilege user access allowed
2236 * 0b01..Non-secure and privilege access allowed
2237 * 0b10..Secure and non-privilege user access allowed
2238 * 0b11..Secure and privilege user access allowed
2239 */
2240#define AHB_SECURE_CTRL_RAM12_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE3_MASK)
2241#define AHB_SECURE_CTRL_RAM12_RULE_RULE4_MASK (0x30000U)
2242#define AHB_SECURE_CTRL_RAM12_RULE_RULE4_SHIFT (16U)
2243/*! RULE4 - Rule 4
2244 * 0b00..Non-secure and non-privilege user access allowed
2245 * 0b01..Non-secure and privilege access allowed
2246 * 0b10..Secure and non-privilege user access allowed
2247 * 0b11..Secure and privilege user access allowed
2248 */
2249#define AHB_SECURE_CTRL_RAM12_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE4_MASK)
2250#define AHB_SECURE_CTRL_RAM12_RULE_RULE5_MASK (0x300000U)
2251#define AHB_SECURE_CTRL_RAM12_RULE_RULE5_SHIFT (20U)
2252/*! RULE5 - Rule 5
2253 * 0b00..Non-secure and non-privilege user access allowed
2254 * 0b01..Non-secure and privilege access allowed
2255 * 0b10..Secure and non-privilege user access allowed
2256 * 0b11..Secure and privilege user access allowed
2257 */
2258#define AHB_SECURE_CTRL_RAM12_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE5_MASK)
2259#define AHB_SECURE_CTRL_RAM12_RULE_RULE6_MASK (0x3000000U)
2260#define AHB_SECURE_CTRL_RAM12_RULE_RULE6_SHIFT (24U)
2261/*! RULE6 - Rule 6
2262 * 0b00..Non-secure and non-privilege user access allowed
2263 * 0b01..Non-secure and privilege access allowed
2264 * 0b10..Secure and non-privilege user access allowed
2265 * 0b11..Secure and privilege user access allowed
2266 */
2267#define AHB_SECURE_CTRL_RAM12_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE6_MASK)
2268#define AHB_SECURE_CTRL_RAM12_RULE_RULE7_MASK (0x30000000U)
2269#define AHB_SECURE_CTRL_RAM12_RULE_RULE7_SHIFT (28U)
2270/*! RULE7 - Rule 7
2271 * 0b00..Non-secure and non-privilege user access allowed
2272 * 0b01..Non-secure and privilege access allowed
2273 * 0b10..Secure and non-privilege user access allowed
2274 * 0b11..Secure and privilege user access allowed
2275 */
2276#define AHB_SECURE_CTRL_RAM12_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM12_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM12_RULE_RULE7_MASK)
2277/*! @} */
2278
2279/* The count of AHB_SECURE_CTRL_RAM12_RULE */
2280#define AHB_SECURE_CTRL_RAM12_RULE_COUNT (4U)
2281
2282/*! @name RAM13_RULE - SRAM Partition 13 Rule(n) Register */
2283/*! @{ */
2284#define AHB_SECURE_CTRL_RAM13_RULE_RULE0_MASK (0x3U)
2285#define AHB_SECURE_CTRL_RAM13_RULE_RULE0_SHIFT (0U)
2286/*! RULE0 - Rule 0
2287 * 0b00..Non-secure and non-privilege user access allowed
2288 * 0b01..Non-secure and privilege access allowed
2289 * 0b10..Secure and non-privilege user access allowed
2290 * 0b11..Secure and privilege user access allowed
2291 */
2292#define AHB_SECURE_CTRL_RAM13_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE0_MASK)
2293#define AHB_SECURE_CTRL_RAM13_RULE_RULE1_MASK (0x30U)
2294#define AHB_SECURE_CTRL_RAM13_RULE_RULE1_SHIFT (4U)
2295/*! RULE1 - Rule 1
2296 * 0b00..Non-secure and non-privilege user access allowed
2297 * 0b01..Non-secure and privilege access allowed
2298 * 0b10..Secure and non-privilege user access allowed
2299 * 0b11..Secure and privilege user access allowed
2300 */
2301#define AHB_SECURE_CTRL_RAM13_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE1_MASK)
2302#define AHB_SECURE_CTRL_RAM13_RULE_RULE2_MASK (0x300U)
2303#define AHB_SECURE_CTRL_RAM13_RULE_RULE2_SHIFT (8U)
2304/*! RULE2 - Rule 2
2305 * 0b00..Non-secure and non-privilege user access allowed
2306 * 0b01..Non-secure and privilege access allowed
2307 * 0b10..Secure and non-privilege user access allowed
2308 * 0b11..Secure and privilege user access allowed
2309 */
2310#define AHB_SECURE_CTRL_RAM13_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE2_MASK)
2311#define AHB_SECURE_CTRL_RAM13_RULE_RULE3_MASK (0x3000U)
2312#define AHB_SECURE_CTRL_RAM13_RULE_RULE3_SHIFT (12U)
2313/*! RULE3 - Rule 3
2314 * 0b00..Non-secure and non-privilege user access allowed
2315 * 0b01..Non-secure and privilege access allowed
2316 * 0b10..Secure and non-privilege user access allowed
2317 * 0b11..Secure and privilege user access allowed
2318 */
2319#define AHB_SECURE_CTRL_RAM13_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE3_MASK)
2320#define AHB_SECURE_CTRL_RAM13_RULE_RULE4_MASK (0x30000U)
2321#define AHB_SECURE_CTRL_RAM13_RULE_RULE4_SHIFT (16U)
2322/*! RULE4 - Rule 4
2323 * 0b00..Non-secure and non-privilege user access allowed
2324 * 0b01..Non-secure and privilege access allowed
2325 * 0b10..Secure and non-privilege user access allowed
2326 * 0b11..Secure and privilege user access allowed
2327 */
2328#define AHB_SECURE_CTRL_RAM13_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE4_MASK)
2329#define AHB_SECURE_CTRL_RAM13_RULE_RULE5_MASK (0x300000U)
2330#define AHB_SECURE_CTRL_RAM13_RULE_RULE5_SHIFT (20U)
2331/*! RULE5 - Rule 5
2332 * 0b00..Non-secure and non-privilege user access allowed
2333 * 0b01..Non-secure and privilege access allowed
2334 * 0b10..Secure and non-privilege user access allowed
2335 * 0b11..Secure and privilege user access allowed
2336 */
2337#define AHB_SECURE_CTRL_RAM13_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE5_MASK)
2338#define AHB_SECURE_CTRL_RAM13_RULE_RULE6_MASK (0x3000000U)
2339#define AHB_SECURE_CTRL_RAM13_RULE_RULE6_SHIFT (24U)
2340/*! RULE6 - Rule 6
2341 * 0b00..Non-secure and non-privilege user access allowed
2342 * 0b01..Non-secure and privilege access allowed
2343 * 0b10..Secure and non-privilege user access allowed
2344 * 0b11..Secure and privilege user access allowed
2345 */
2346#define AHB_SECURE_CTRL_RAM13_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE6_MASK)
2347#define AHB_SECURE_CTRL_RAM13_RULE_RULE7_MASK (0x30000000U)
2348#define AHB_SECURE_CTRL_RAM13_RULE_RULE7_SHIFT (28U)
2349/*! RULE7 - Rule 7
2350 * 0b00..Non-secure and non-privilege user access allowed
2351 * 0b01..Non-secure and privilege access allowed
2352 * 0b10..Secure and non-privilege user access allowed
2353 * 0b11..Secure and privilege user access allowed
2354 */
2355#define AHB_SECURE_CTRL_RAM13_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM13_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM13_RULE_RULE7_MASK)
2356/*! @} */
2357
2358/* The count of AHB_SECURE_CTRL_RAM13_RULE */
2359#define AHB_SECURE_CTRL_RAM13_RULE_COUNT (4U)
2360
2361/*! @name RAM14_RULE - SRAM Partition 14 Rule(n) Register */
2362/*! @{ */
2363#define AHB_SECURE_CTRL_RAM14_RULE_RULE0_MASK (0x3U)
2364#define AHB_SECURE_CTRL_RAM14_RULE_RULE0_SHIFT (0U)
2365/*! RULE0 - Rule 0
2366 * 0b00..Non-secure and non-privilege user access allowed
2367 * 0b01..Non-secure and privilege access allowed
2368 * 0b10..Secure and non-privilege user access allowed
2369 * 0b11..Secure and privilege user access allowed
2370 */
2371#define AHB_SECURE_CTRL_RAM14_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE0_MASK)
2372#define AHB_SECURE_CTRL_RAM14_RULE_RULE1_MASK (0x30U)
2373#define AHB_SECURE_CTRL_RAM14_RULE_RULE1_SHIFT (4U)
2374/*! RULE1 - Rule 1
2375 * 0b00..Non-secure and non-privilege user access allowed
2376 * 0b01..Non-secure and privilege access allowed
2377 * 0b10..Secure and non-privilege user access allowed
2378 * 0b11..Secure and privilege user access allowed
2379 */
2380#define AHB_SECURE_CTRL_RAM14_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE1_MASK)
2381#define AHB_SECURE_CTRL_RAM14_RULE_RULE2_MASK (0x300U)
2382#define AHB_SECURE_CTRL_RAM14_RULE_RULE2_SHIFT (8U)
2383/*! RULE2 - Rule 2
2384 * 0b00..Non-secure and non-privilege user access allowed
2385 * 0b01..Non-secure and privilege access allowed
2386 * 0b10..Secure and non-privilege user access allowed
2387 * 0b11..Secure and privilege user access allowed
2388 */
2389#define AHB_SECURE_CTRL_RAM14_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE2_MASK)
2390#define AHB_SECURE_CTRL_RAM14_RULE_RULE3_MASK (0x3000U)
2391#define AHB_SECURE_CTRL_RAM14_RULE_RULE3_SHIFT (12U)
2392/*! RULE3 - Rule 3
2393 * 0b00..Non-secure and non-privilege user access allowed
2394 * 0b01..Non-secure and privilege access allowed
2395 * 0b10..Secure and non-privilege user access allowed
2396 * 0b11..Secure and privilege user access allowed
2397 */
2398#define AHB_SECURE_CTRL_RAM14_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE3_MASK)
2399#define AHB_SECURE_CTRL_RAM14_RULE_RULE4_MASK (0x30000U)
2400#define AHB_SECURE_CTRL_RAM14_RULE_RULE4_SHIFT (16U)
2401/*! RULE4 - Rule 4
2402 * 0b00..Non-secure and non-privilege user access allowed
2403 * 0b01..Non-secure and privilege access allowed
2404 * 0b10..Secure and non-privilege user access allowed
2405 * 0b11..Secure and privilege user access allowed
2406 */
2407#define AHB_SECURE_CTRL_RAM14_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE4_MASK)
2408#define AHB_SECURE_CTRL_RAM14_RULE_RULE5_MASK (0x300000U)
2409#define AHB_SECURE_CTRL_RAM14_RULE_RULE5_SHIFT (20U)
2410/*! RULE5 - Rule 5
2411 * 0b00..Non-secure and non-privilege user access allowed
2412 * 0b01..Non-secure and privilege access allowed
2413 * 0b10..Secure and non-privilege user access allowed
2414 * 0b11..Secure and privilege user access allowed
2415 */
2416#define AHB_SECURE_CTRL_RAM14_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE5_MASK)
2417#define AHB_SECURE_CTRL_RAM14_RULE_RULE6_MASK (0x3000000U)
2418#define AHB_SECURE_CTRL_RAM14_RULE_RULE6_SHIFT (24U)
2419/*! RULE6 - Rule 6
2420 * 0b00..Non-secure and non-privilege user access allowed
2421 * 0b01..Non-secure and privilege access allowed
2422 * 0b10..Secure and non-privilege user access allowed
2423 * 0b11..Secure and privilege user access allowed
2424 */
2425#define AHB_SECURE_CTRL_RAM14_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE6_MASK)
2426#define AHB_SECURE_CTRL_RAM14_RULE_RULE7_MASK (0x30000000U)
2427#define AHB_SECURE_CTRL_RAM14_RULE_RULE7_SHIFT (28U)
2428/*! RULE7 - Rule 7
2429 * 0b00..Non-secure and non-privilege user access allowed
2430 * 0b01..Non-secure and privilege access allowed
2431 * 0b10..Secure and non-privilege user access allowed
2432 * 0b11..Secure and privilege user access allowed
2433 */
2434#define AHB_SECURE_CTRL_RAM14_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM14_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM14_RULE_RULE7_MASK)
2435/*! @} */
2436
2437/* The count of AHB_SECURE_CTRL_RAM14_RULE */
2438#define AHB_SECURE_CTRL_RAM14_RULE_COUNT (4U)
2439
2440/*! @name RAM15_RULE - SRAM Partition 15 Rule(n) Register */
2441/*! @{ */
2442#define AHB_SECURE_CTRL_RAM15_RULE_RULE0_MASK (0x3U)
2443#define AHB_SECURE_CTRL_RAM15_RULE_RULE0_SHIFT (0U)
2444/*! RULE0 - Rule 0
2445 * 0b00..Non-secure and non-privilege user access allowed
2446 * 0b01..Non-secure and privilege access allowed
2447 * 0b10..Secure and non-privilege user access allowed
2448 * 0b11..Secure and privilege user access allowed
2449 */
2450#define AHB_SECURE_CTRL_RAM15_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE0_MASK)
2451#define AHB_SECURE_CTRL_RAM15_RULE_RULE1_MASK (0x30U)
2452#define AHB_SECURE_CTRL_RAM15_RULE_RULE1_SHIFT (4U)
2453/*! RULE1 - Rule 1
2454 * 0b00..Non-secure and non-privilege user access allowed
2455 * 0b01..Non-secure and privilege access allowed
2456 * 0b10..Secure and non-privilege user access allowed
2457 * 0b11..Secure and privilege user access allowed
2458 */
2459#define AHB_SECURE_CTRL_RAM15_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE1_MASK)
2460#define AHB_SECURE_CTRL_RAM15_RULE_RULE2_MASK (0x300U)
2461#define AHB_SECURE_CTRL_RAM15_RULE_RULE2_SHIFT (8U)
2462/*! RULE2 - Rule 2
2463 * 0b00..Non-secure and non-privilege user access allowed
2464 * 0b01..Non-secure and privilege access allowed
2465 * 0b10..Secure and non-privilege user access allowed
2466 * 0b11..Secure and privilege user access allowed
2467 */
2468#define AHB_SECURE_CTRL_RAM15_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE2_MASK)
2469#define AHB_SECURE_CTRL_RAM15_RULE_RULE3_MASK (0x3000U)
2470#define AHB_SECURE_CTRL_RAM15_RULE_RULE3_SHIFT (12U)
2471/*! RULE3 - Rule 3
2472 * 0b00..Non-secure and non-privilege user access allowed
2473 * 0b01..Non-secure and privilege access allowed
2474 * 0b10..Secure and non-privilege user access allowed
2475 * 0b11..Secure and privilege user access allowed
2476 */
2477#define AHB_SECURE_CTRL_RAM15_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE3_MASK)
2478#define AHB_SECURE_CTRL_RAM15_RULE_RULE4_MASK (0x30000U)
2479#define AHB_SECURE_CTRL_RAM15_RULE_RULE4_SHIFT (16U)
2480/*! RULE4 - Rule 4
2481 * 0b00..Non-secure and non-privilege user access allowed
2482 * 0b01..Non-secure and privilege access allowed
2483 * 0b10..Secure and non-privilege user access allowed
2484 * 0b11..Secure and privilege user access allowed
2485 */
2486#define AHB_SECURE_CTRL_RAM15_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE4_MASK)
2487#define AHB_SECURE_CTRL_RAM15_RULE_RULE5_MASK (0x300000U)
2488#define AHB_SECURE_CTRL_RAM15_RULE_RULE5_SHIFT (20U)
2489/*! RULE5 - Rule 5
2490 * 0b00..Non-secure and non-privilege user access allowed
2491 * 0b01..Non-secure and privilege access allowed
2492 * 0b10..Secure and non-privilege user access allowed
2493 * 0b11..Secure and privilege user access allowed
2494 */
2495#define AHB_SECURE_CTRL_RAM15_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE5_MASK)
2496#define AHB_SECURE_CTRL_RAM15_RULE_RULE6_MASK (0x3000000U)
2497#define AHB_SECURE_CTRL_RAM15_RULE_RULE6_SHIFT (24U)
2498/*! RULE6 - Rule 6
2499 * 0b00..Non-secure and non-privilege user access allowed
2500 * 0b01..Non-secure and privilege access allowed
2501 * 0b10..Secure and non-privilege user access allowed
2502 * 0b11..Secure and privilege user access allowed
2503 */
2504#define AHB_SECURE_CTRL_RAM15_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE6_MASK)
2505#define AHB_SECURE_CTRL_RAM15_RULE_RULE7_MASK (0x30000000U)
2506#define AHB_SECURE_CTRL_RAM15_RULE_RULE7_SHIFT (28U)
2507/*! RULE7 - Rule 7
2508 * 0b00..Non-secure and non-privilege user access allowed
2509 * 0b01..Non-secure and privilege access allowed
2510 * 0b10..Secure and non-privilege user access allowed
2511 * 0b11..Secure and privilege user access allowed
2512 */
2513#define AHB_SECURE_CTRL_RAM15_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM15_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM15_RULE_RULE7_MASK)
2514/*! @} */
2515
2516/* The count of AHB_SECURE_CTRL_RAM15_RULE */
2517#define AHB_SECURE_CTRL_RAM15_RULE_COUNT (4U)
2518
2519/*! @name RAM16_RULE - SRAM Partition 16 Rule(n) Register */
2520/*! @{ */
2521#define AHB_SECURE_CTRL_RAM16_RULE_RULE0_MASK (0x3U)
2522#define AHB_SECURE_CTRL_RAM16_RULE_RULE0_SHIFT (0U)
2523/*! RULE0 - Rule 0
2524 * 0b00..Non-secure and non-privilege user access allowed
2525 * 0b01..Non-secure and privilege access allowed
2526 * 0b10..Secure and non-privilege user access allowed
2527 * 0b11..Secure and privilege user access allowed
2528 */
2529#define AHB_SECURE_CTRL_RAM16_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE0_MASK)
2530#define AHB_SECURE_CTRL_RAM16_RULE_RULE1_MASK (0x30U)
2531#define AHB_SECURE_CTRL_RAM16_RULE_RULE1_SHIFT (4U)
2532/*! RULE1 - Rule 1
2533 * 0b00..Non-secure and non-privilege user access allowed
2534 * 0b01..Non-secure and privilege access allowed
2535 * 0b10..Secure and non-privilege user access allowed
2536 * 0b11..Secure and privilege user access allowed
2537 */
2538#define AHB_SECURE_CTRL_RAM16_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE1_MASK)
2539#define AHB_SECURE_CTRL_RAM16_RULE_RULE2_MASK (0x300U)
2540#define AHB_SECURE_CTRL_RAM16_RULE_RULE2_SHIFT (8U)
2541/*! RULE2 - Rule 2
2542 * 0b00..Non-secure and non-privilege user access allowed
2543 * 0b01..Non-secure and privilege access allowed
2544 * 0b10..Secure and non-privilege user access allowed
2545 * 0b11..Secure and privilege user access allowed
2546 */
2547#define AHB_SECURE_CTRL_RAM16_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE2_MASK)
2548#define AHB_SECURE_CTRL_RAM16_RULE_RULE3_MASK (0x3000U)
2549#define AHB_SECURE_CTRL_RAM16_RULE_RULE3_SHIFT (12U)
2550/*! RULE3 - Rule 3
2551 * 0b00..Non-secure and non-privilege user access allowed
2552 * 0b01..Non-secure and privilege access allowed
2553 * 0b10..Secure and non-privilege user access allowed
2554 * 0b11..Secure and privilege user access allowed
2555 */
2556#define AHB_SECURE_CTRL_RAM16_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE3_MASK)
2557#define AHB_SECURE_CTRL_RAM16_RULE_RULE4_MASK (0x30000U)
2558#define AHB_SECURE_CTRL_RAM16_RULE_RULE4_SHIFT (16U)
2559/*! RULE4 - Rule 4
2560 * 0b00..Non-secure and non-privilege user access allowed
2561 * 0b01..Non-secure and privilege access allowed
2562 * 0b10..Secure and non-privilege user access allowed
2563 * 0b11..Secure and privilege user access allowed
2564 */
2565#define AHB_SECURE_CTRL_RAM16_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE4_MASK)
2566#define AHB_SECURE_CTRL_RAM16_RULE_RULE5_MASK (0x300000U)
2567#define AHB_SECURE_CTRL_RAM16_RULE_RULE5_SHIFT (20U)
2568/*! RULE5 - Rule 5
2569 * 0b00..Non-secure and non-privilege user access allowed
2570 * 0b01..Non-secure and privilege access allowed
2571 * 0b10..Secure and non-privilege user access allowed
2572 * 0b11..Secure and privilege user access allowed
2573 */
2574#define AHB_SECURE_CTRL_RAM16_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE5_MASK)
2575#define AHB_SECURE_CTRL_RAM16_RULE_RULE6_MASK (0x3000000U)
2576#define AHB_SECURE_CTRL_RAM16_RULE_RULE6_SHIFT (24U)
2577/*! RULE6 - Rule 6
2578 * 0b00..Non-secure and non-privilege user access allowed
2579 * 0b01..Non-secure and privilege access allowed
2580 * 0b10..Secure and non-privilege user access allowed
2581 * 0b11..Secure and privilege user access allowed
2582 */
2583#define AHB_SECURE_CTRL_RAM16_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE6_MASK)
2584#define AHB_SECURE_CTRL_RAM16_RULE_RULE7_MASK (0x30000000U)
2585#define AHB_SECURE_CTRL_RAM16_RULE_RULE7_SHIFT (28U)
2586/*! RULE7 - Rule 7
2587 * 0b00..Non-secure and non-privilege user access allowed
2588 * 0b01..Non-secure and privilege access allowed
2589 * 0b10..Secure and non-privilege user access allowed
2590 * 0b11..Secure and privilege user access allowed
2591 */
2592#define AHB_SECURE_CTRL_RAM16_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM16_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM16_RULE_RULE7_MASK)
2593/*! @} */
2594
2595/* The count of AHB_SECURE_CTRL_RAM16_RULE */
2596#define AHB_SECURE_CTRL_RAM16_RULE_COUNT (4U)
2597
2598/*! @name RAM17_RULE - SRAM Partition 17 Rule(n) Register */
2599/*! @{ */
2600#define AHB_SECURE_CTRL_RAM17_RULE_RULE0_MASK (0x3U)
2601#define AHB_SECURE_CTRL_RAM17_RULE_RULE0_SHIFT (0U)
2602/*! RULE0 - Rule 0
2603 * 0b00..Non-secure and non-privilege user access allowed
2604 * 0b01..Non-secure and privilege access allowed
2605 * 0b10..Secure and non-privilege user access allowed
2606 * 0b11..Secure and privilege user access allowed
2607 */
2608#define AHB_SECURE_CTRL_RAM17_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE0_MASK)
2609#define AHB_SECURE_CTRL_RAM17_RULE_RULE1_MASK (0x30U)
2610#define AHB_SECURE_CTRL_RAM17_RULE_RULE1_SHIFT (4U)
2611/*! RULE1 - Rule 1
2612 * 0b00..Non-secure and non-privilege user access allowed
2613 * 0b01..Non-secure and privilege access allowed
2614 * 0b10..Secure and non-privilege user access allowed
2615 * 0b11..Secure and privilege user access allowed
2616 */
2617#define AHB_SECURE_CTRL_RAM17_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE1_MASK)
2618#define AHB_SECURE_CTRL_RAM17_RULE_RULE2_MASK (0x300U)
2619#define AHB_SECURE_CTRL_RAM17_RULE_RULE2_SHIFT (8U)
2620/*! RULE2 - Rule 2
2621 * 0b00..Non-secure and non-privilege user access allowed
2622 * 0b01..Non-secure and privilege access allowed
2623 * 0b10..Secure and non-privilege user access allowed
2624 * 0b11..Secure and privilege user access allowed
2625 */
2626#define AHB_SECURE_CTRL_RAM17_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE2_MASK)
2627#define AHB_SECURE_CTRL_RAM17_RULE_RULE3_MASK (0x3000U)
2628#define AHB_SECURE_CTRL_RAM17_RULE_RULE3_SHIFT (12U)
2629/*! RULE3 - Rule 3
2630 * 0b00..Non-secure and non-privilege user access allowed
2631 * 0b01..Non-secure and privilege access allowed
2632 * 0b10..Secure and non-privilege user access allowed
2633 * 0b11..Secure and privilege user access allowed
2634 */
2635#define AHB_SECURE_CTRL_RAM17_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE3_MASK)
2636#define AHB_SECURE_CTRL_RAM17_RULE_RULE4_MASK (0x30000U)
2637#define AHB_SECURE_CTRL_RAM17_RULE_RULE4_SHIFT (16U)
2638/*! RULE4 - Rule 4
2639 * 0b00..Non-secure and non-privilege user access allowed
2640 * 0b01..Non-secure and privilege access allowed
2641 * 0b10..Secure and non-privilege user access allowed
2642 * 0b11..Secure and privilege user access allowed
2643 */
2644#define AHB_SECURE_CTRL_RAM17_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE4_MASK)
2645#define AHB_SECURE_CTRL_RAM17_RULE_RULE5_MASK (0x300000U)
2646#define AHB_SECURE_CTRL_RAM17_RULE_RULE5_SHIFT (20U)
2647/*! RULE5 - Rule 5
2648 * 0b00..Non-secure and non-privilege user access allowed
2649 * 0b01..Non-secure and privilege access allowed
2650 * 0b10..Secure and non-privilege user access allowed
2651 * 0b11..Secure and privilege user access allowed
2652 */
2653#define AHB_SECURE_CTRL_RAM17_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE5_MASK)
2654#define AHB_SECURE_CTRL_RAM17_RULE_RULE6_MASK (0x3000000U)
2655#define AHB_SECURE_CTRL_RAM17_RULE_RULE6_SHIFT (24U)
2656/*! RULE6 - Rule 6
2657 * 0b00..Non-secure and non-privilege user access allowed
2658 * 0b01..Non-secure and privilege access allowed
2659 * 0b10..Secure and non-privilege user access allowed
2660 * 0b11..Secure and privilege user access allowed
2661 */
2662#define AHB_SECURE_CTRL_RAM17_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE6_MASK)
2663#define AHB_SECURE_CTRL_RAM17_RULE_RULE7_MASK (0x30000000U)
2664#define AHB_SECURE_CTRL_RAM17_RULE_RULE7_SHIFT (28U)
2665/*! RULE7 - Rule 7
2666 * 0b00..Non-secure and non-privilege user access allowed
2667 * 0b01..Non-secure and privilege access allowed
2668 * 0b10..Secure and non-privilege user access allowed
2669 * 0b11..Secure and privilege user access allowed
2670 */
2671#define AHB_SECURE_CTRL_RAM17_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM17_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM17_RULE_RULE7_MASK)
2672/*! @} */
2673
2674/* The count of AHB_SECURE_CTRL_RAM17_RULE */
2675#define AHB_SECURE_CTRL_RAM17_RULE_COUNT (4U)
2676
2677/*! @name RAM18_RULE - SRAM Partition 18 Rule(n) Register */
2678/*! @{ */
2679#define AHB_SECURE_CTRL_RAM18_RULE_RULE0_MASK (0x3U)
2680#define AHB_SECURE_CTRL_RAM18_RULE_RULE0_SHIFT (0U)
2681/*! RULE0 - Rule 0
2682 * 0b00..Non-secure and non-privilege user access allowed
2683 * 0b01..Non-secure and privilege access allowed
2684 * 0b10..Secure and non-privilege user access allowed
2685 * 0b11..Secure and privilege user access allowed
2686 */
2687#define AHB_SECURE_CTRL_RAM18_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE0_MASK)
2688#define AHB_SECURE_CTRL_RAM18_RULE_RULE1_MASK (0x30U)
2689#define AHB_SECURE_CTRL_RAM18_RULE_RULE1_SHIFT (4U)
2690/*! RULE1 - Rule 1
2691 * 0b00..Non-secure and non-privilege user access allowed
2692 * 0b01..Non-secure and privilege access allowed
2693 * 0b10..Secure and non-privilege user access allowed
2694 * 0b11..Secure and privilege user access allowed
2695 */
2696#define AHB_SECURE_CTRL_RAM18_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE1_MASK)
2697#define AHB_SECURE_CTRL_RAM18_RULE_RULE2_MASK (0x300U)
2698#define AHB_SECURE_CTRL_RAM18_RULE_RULE2_SHIFT (8U)
2699/*! RULE2 - Rule 2
2700 * 0b00..Non-secure and non-privilege user access allowed
2701 * 0b01..Non-secure and privilege access allowed
2702 * 0b10..Secure and non-privilege user access allowed
2703 * 0b11..Secure and privilege user access allowed
2704 */
2705#define AHB_SECURE_CTRL_RAM18_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE2_MASK)
2706#define AHB_SECURE_CTRL_RAM18_RULE_RULE3_MASK (0x3000U)
2707#define AHB_SECURE_CTRL_RAM18_RULE_RULE3_SHIFT (12U)
2708/*! RULE3 - Rule 3
2709 * 0b00..Non-secure and non-privilege user access allowed
2710 * 0b01..Non-secure and privilege access allowed
2711 * 0b10..Secure and non-privilege user access allowed
2712 * 0b11..Secure and privilege user access allowed
2713 */
2714#define AHB_SECURE_CTRL_RAM18_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE3_MASK)
2715#define AHB_SECURE_CTRL_RAM18_RULE_RULE4_MASK (0x30000U)
2716#define AHB_SECURE_CTRL_RAM18_RULE_RULE4_SHIFT (16U)
2717/*! RULE4 - Rule 4
2718 * 0b00..Non-secure and non-privilege user access allowed
2719 * 0b01..Non-secure and privilege access allowed
2720 * 0b10..Secure and non-privilege user access allowed
2721 * 0b11..Secure and privilege user access allowed
2722 */
2723#define AHB_SECURE_CTRL_RAM18_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE4_MASK)
2724#define AHB_SECURE_CTRL_RAM18_RULE_RULE5_MASK (0x300000U)
2725#define AHB_SECURE_CTRL_RAM18_RULE_RULE5_SHIFT (20U)
2726/*! RULE5 - Rule 5
2727 * 0b00..Non-secure and non-privilege user access allowed
2728 * 0b01..Non-secure and privilege access allowed
2729 * 0b10..Secure and non-privilege user access allowed
2730 * 0b11..Secure and privilege user access allowed
2731 */
2732#define AHB_SECURE_CTRL_RAM18_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE5_MASK)
2733#define AHB_SECURE_CTRL_RAM18_RULE_RULE6_MASK (0x3000000U)
2734#define AHB_SECURE_CTRL_RAM18_RULE_RULE6_SHIFT (24U)
2735/*! RULE6 - Rule 6
2736 * 0b00..Non-secure and non-privilege user access allowed
2737 * 0b01..Non-secure and privilege access allowed
2738 * 0b10..Secure and non-privilege user access allowed
2739 * 0b11..Secure and privilege user access allowed
2740 */
2741#define AHB_SECURE_CTRL_RAM18_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE6_MASK)
2742#define AHB_SECURE_CTRL_RAM18_RULE_RULE7_MASK (0x30000000U)
2743#define AHB_SECURE_CTRL_RAM18_RULE_RULE7_SHIFT (28U)
2744/*! RULE7 - Rule 7
2745 * 0b00..Non-secure and non-privilege user access allowed
2746 * 0b01..Non-secure and privilege access allowed
2747 * 0b10..Secure and non-privilege user access allowed
2748 * 0b11..Secure and privilege user access allowed
2749 */
2750#define AHB_SECURE_CTRL_RAM18_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM18_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM18_RULE_RULE7_MASK)
2751/*! @} */
2752
2753/* The count of AHB_SECURE_CTRL_RAM18_RULE */
2754#define AHB_SECURE_CTRL_RAM18_RULE_COUNT (4U)
2755
2756/*! @name RAM19_RULE - SRAM Partition 19 Rule(n) Register */
2757/*! @{ */
2758#define AHB_SECURE_CTRL_RAM19_RULE_RULE0_MASK (0x3U)
2759#define AHB_SECURE_CTRL_RAM19_RULE_RULE0_SHIFT (0U)
2760/*! RULE0 - Rule 0
2761 * 0b00..Non-secure and non-privilege user access allowed
2762 * 0b01..Non-secure and privilege access allowed
2763 * 0b10..Secure and non-privilege user access allowed
2764 * 0b11..Secure and privilege user access allowed
2765 */
2766#define AHB_SECURE_CTRL_RAM19_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE0_MASK)
2767#define AHB_SECURE_CTRL_RAM19_RULE_RULE1_MASK (0x30U)
2768#define AHB_SECURE_CTRL_RAM19_RULE_RULE1_SHIFT (4U)
2769/*! RULE1 - Rule 1
2770 * 0b00..Non-secure and non-privilege user access allowed
2771 * 0b01..Non-secure and privilege access allowed
2772 * 0b10..Secure and non-privilege user access allowed
2773 * 0b11..Secure and privilege user access allowed
2774 */
2775#define AHB_SECURE_CTRL_RAM19_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE1_MASK)
2776#define AHB_SECURE_CTRL_RAM19_RULE_RULE2_MASK (0x300U)
2777#define AHB_SECURE_CTRL_RAM19_RULE_RULE2_SHIFT (8U)
2778/*! RULE2 - Rule 2
2779 * 0b00..Non-secure and non-privilege user access allowed
2780 * 0b01..Non-secure and privilege access allowed
2781 * 0b10..Secure and non-privilege user access allowed
2782 * 0b11..Secure and privilege user access allowed
2783 */
2784#define AHB_SECURE_CTRL_RAM19_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE2_MASK)
2785#define AHB_SECURE_CTRL_RAM19_RULE_RULE3_MASK (0x3000U)
2786#define AHB_SECURE_CTRL_RAM19_RULE_RULE3_SHIFT (12U)
2787/*! RULE3 - Rule 3
2788 * 0b00..Non-secure and non-privilege user access allowed
2789 * 0b01..Non-secure and privilege access allowed
2790 * 0b10..Secure and non-privilege user access allowed
2791 * 0b11..Secure and privilege user access allowed
2792 */
2793#define AHB_SECURE_CTRL_RAM19_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE3_MASK)
2794#define AHB_SECURE_CTRL_RAM19_RULE_RULE4_MASK (0x30000U)
2795#define AHB_SECURE_CTRL_RAM19_RULE_RULE4_SHIFT (16U)
2796/*! RULE4 - Rule 4
2797 * 0b00..Non-secure and non-privilege user access allowed
2798 * 0b01..Non-secure and privilege access allowed
2799 * 0b10..Secure and non-privilege user access allowed
2800 * 0b11..Secure and privilege user access allowed
2801 */
2802#define AHB_SECURE_CTRL_RAM19_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE4_MASK)
2803#define AHB_SECURE_CTRL_RAM19_RULE_RULE5_MASK (0x300000U)
2804#define AHB_SECURE_CTRL_RAM19_RULE_RULE5_SHIFT (20U)
2805/*! RULE5 - Rule 5
2806 * 0b00..Non-secure and non-privilege user access allowed
2807 * 0b01..Non-secure and privilege access allowed
2808 * 0b10..Secure and non-privilege user access allowed
2809 * 0b11..Secure and privilege user access allowed
2810 */
2811#define AHB_SECURE_CTRL_RAM19_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE5_MASK)
2812#define AHB_SECURE_CTRL_RAM19_RULE_RULE6_MASK (0x3000000U)
2813#define AHB_SECURE_CTRL_RAM19_RULE_RULE6_SHIFT (24U)
2814/*! RULE6 - Rule 6
2815 * 0b00..Non-secure and non-privilege user access allowed
2816 * 0b01..Non-secure and privilege access allowed
2817 * 0b10..Secure and non-privilege user access allowed
2818 * 0b11..Secure and privilege user access allowed
2819 */
2820#define AHB_SECURE_CTRL_RAM19_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE6_MASK)
2821#define AHB_SECURE_CTRL_RAM19_RULE_RULE7_MASK (0x30000000U)
2822#define AHB_SECURE_CTRL_RAM19_RULE_RULE7_SHIFT (28U)
2823/*! RULE7 - Rule 7
2824 * 0b00..Non-secure and non-privilege user access allowed
2825 * 0b01..Non-secure and privilege access allowed
2826 * 0b10..Secure and non-privilege user access allowed
2827 * 0b11..Secure and privilege user access allowed
2828 */
2829#define AHB_SECURE_CTRL_RAM19_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM19_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM19_RULE_RULE7_MASK)
2830/*! @} */
2831
2832/* The count of AHB_SECURE_CTRL_RAM19_RULE */
2833#define AHB_SECURE_CTRL_RAM19_RULE_COUNT (4U)
2834
2835/*! @name RAM20_RULE - SRAM Partition 20 Rule(n) Register */
2836/*! @{ */
2837#define AHB_SECURE_CTRL_RAM20_RULE_RULE0_MASK (0x3U)
2838#define AHB_SECURE_CTRL_RAM20_RULE_RULE0_SHIFT (0U)
2839/*! RULE0 - Rule 0
2840 * 0b00..Non-secure and non-privilege user access allowed
2841 * 0b01..Non-secure and privilege access allowed
2842 * 0b10..Secure and non-privilege user access allowed
2843 * 0b11..Secure and privilege user access allowed
2844 */
2845#define AHB_SECURE_CTRL_RAM20_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE0_MASK)
2846#define AHB_SECURE_CTRL_RAM20_RULE_RULE1_MASK (0x30U)
2847#define AHB_SECURE_CTRL_RAM20_RULE_RULE1_SHIFT (4U)
2848/*! RULE1 - Rule 1
2849 * 0b00..Non-secure and non-privilege user access allowed
2850 * 0b01..Non-secure and privilege access allowed
2851 * 0b10..Secure and non-privilege user access allowed
2852 * 0b11..Secure and privilege user access allowed
2853 */
2854#define AHB_SECURE_CTRL_RAM20_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE1_MASK)
2855#define AHB_SECURE_CTRL_RAM20_RULE_RULE2_MASK (0x300U)
2856#define AHB_SECURE_CTRL_RAM20_RULE_RULE2_SHIFT (8U)
2857/*! RULE2 - Rule 2
2858 * 0b00..Non-secure and non-privilege user access allowed
2859 * 0b01..Non-secure and privilege access allowed
2860 * 0b10..Secure and non-privilege user access allowed
2861 * 0b11..Secure and privilege user access allowed
2862 */
2863#define AHB_SECURE_CTRL_RAM20_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE2_MASK)
2864#define AHB_SECURE_CTRL_RAM20_RULE_RULE3_MASK (0x3000U)
2865#define AHB_SECURE_CTRL_RAM20_RULE_RULE3_SHIFT (12U)
2866/*! RULE3 - Rule 3
2867 * 0b00..Non-secure and non-privilege user access allowed
2868 * 0b01..Non-secure and privilege access allowed
2869 * 0b10..Secure and non-privilege user access allowed
2870 * 0b11..Secure and privilege user access allowed
2871 */
2872#define AHB_SECURE_CTRL_RAM20_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE3_MASK)
2873#define AHB_SECURE_CTRL_RAM20_RULE_RULE4_MASK (0x30000U)
2874#define AHB_SECURE_CTRL_RAM20_RULE_RULE4_SHIFT (16U)
2875/*! RULE4 - Rule 4
2876 * 0b00..Non-secure and non-privilege user access allowed
2877 * 0b01..Non-secure and privilege access allowed
2878 * 0b10..Secure and non-privilege user access allowed
2879 * 0b11..Secure and privilege user access allowed
2880 */
2881#define AHB_SECURE_CTRL_RAM20_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE4_MASK)
2882#define AHB_SECURE_CTRL_RAM20_RULE_RULE5_MASK (0x300000U)
2883#define AHB_SECURE_CTRL_RAM20_RULE_RULE5_SHIFT (20U)
2884/*! RULE5 - Rule 5
2885 * 0b00..Non-secure and non-privilege user access allowed
2886 * 0b01..Non-secure and privilege access allowed
2887 * 0b10..Secure and non-privilege user access allowed
2888 * 0b11..Secure and privilege user access allowed
2889 */
2890#define AHB_SECURE_CTRL_RAM20_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE5_MASK)
2891#define AHB_SECURE_CTRL_RAM20_RULE_RULE6_MASK (0x3000000U)
2892#define AHB_SECURE_CTRL_RAM20_RULE_RULE6_SHIFT (24U)
2893/*! RULE6 - Rule 6
2894 * 0b00..Non-secure and non-privilege user access allowed
2895 * 0b01..Non-secure and privilege access allowed
2896 * 0b10..Secure and non-privilege user access allowed
2897 * 0b11..Secure and privilege user access allowed
2898 */
2899#define AHB_SECURE_CTRL_RAM20_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE6_MASK)
2900#define AHB_SECURE_CTRL_RAM20_RULE_RULE7_MASK (0x30000000U)
2901#define AHB_SECURE_CTRL_RAM20_RULE_RULE7_SHIFT (28U)
2902/*! RULE7 - Rule 7
2903 * 0b00..Non-secure and non-privilege user access allowed
2904 * 0b01..Non-secure and privilege access allowed
2905 * 0b10..Secure and non-privilege user access allowed
2906 * 0b11..Secure and privilege user access allowed
2907 */
2908#define AHB_SECURE_CTRL_RAM20_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM20_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM20_RULE_RULE7_MASK)
2909/*! @} */
2910
2911/* The count of AHB_SECURE_CTRL_RAM20_RULE */
2912#define AHB_SECURE_CTRL_RAM20_RULE_COUNT (4U)
2913
2914/*! @name RAM21_RULE - SRAM Partition 21 Rule(n) Register */
2915/*! @{ */
2916#define AHB_SECURE_CTRL_RAM21_RULE_RULE0_MASK (0x3U)
2917#define AHB_SECURE_CTRL_RAM21_RULE_RULE0_SHIFT (0U)
2918/*! RULE0 - Rule 0
2919 * 0b00..Non-secure and non-privilege user access allowed
2920 * 0b01..Non-secure and privilege access allowed
2921 * 0b10..Secure and non-privilege user access allowed
2922 * 0b11..Secure and privilege user access allowed
2923 */
2924#define AHB_SECURE_CTRL_RAM21_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE0_MASK)
2925#define AHB_SECURE_CTRL_RAM21_RULE_RULE1_MASK (0x30U)
2926#define AHB_SECURE_CTRL_RAM21_RULE_RULE1_SHIFT (4U)
2927/*! RULE1 - Rule 1
2928 * 0b00..Non-secure and non-privilege user access allowed
2929 * 0b01..Non-secure and privilege access allowed
2930 * 0b10..Secure and non-privilege user access allowed
2931 * 0b11..Secure and privilege user access allowed
2932 */
2933#define AHB_SECURE_CTRL_RAM21_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE1_MASK)
2934#define AHB_SECURE_CTRL_RAM21_RULE_RULE2_MASK (0x300U)
2935#define AHB_SECURE_CTRL_RAM21_RULE_RULE2_SHIFT (8U)
2936/*! RULE2 - Rule 2
2937 * 0b00..Non-secure and non-privilege user access allowed
2938 * 0b01..Non-secure and privilege access allowed
2939 * 0b10..Secure and non-privilege user access allowed
2940 * 0b11..Secure and privilege user access allowed
2941 */
2942#define AHB_SECURE_CTRL_RAM21_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE2_MASK)
2943#define AHB_SECURE_CTRL_RAM21_RULE_RULE3_MASK (0x3000U)
2944#define AHB_SECURE_CTRL_RAM21_RULE_RULE3_SHIFT (12U)
2945/*! RULE3 - Rule 3
2946 * 0b00..Non-secure and non-privilege user access allowed
2947 * 0b01..Non-secure and privilege access allowed
2948 * 0b10..Secure and non-privilege user access allowed
2949 * 0b11..Secure and privilege user access allowed
2950 */
2951#define AHB_SECURE_CTRL_RAM21_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE3_MASK)
2952#define AHB_SECURE_CTRL_RAM21_RULE_RULE4_MASK (0x30000U)
2953#define AHB_SECURE_CTRL_RAM21_RULE_RULE4_SHIFT (16U)
2954/*! RULE4 - Rule 4
2955 * 0b00..Non-secure and non-privilege user access allowed
2956 * 0b01..Non-secure and privilege access allowed
2957 * 0b10..Secure and non-privilege user access allowed
2958 * 0b11..Secure and privilege user access allowed
2959 */
2960#define AHB_SECURE_CTRL_RAM21_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE4_MASK)
2961#define AHB_SECURE_CTRL_RAM21_RULE_RULE5_MASK (0x300000U)
2962#define AHB_SECURE_CTRL_RAM21_RULE_RULE5_SHIFT (20U)
2963/*! RULE5 - Rule 5
2964 * 0b00..Non-secure and non-privilege user access allowed
2965 * 0b01..Non-secure and privilege access allowed
2966 * 0b10..Secure and non-privilege user access allowed
2967 * 0b11..Secure and privilege user access allowed
2968 */
2969#define AHB_SECURE_CTRL_RAM21_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE5_MASK)
2970#define AHB_SECURE_CTRL_RAM21_RULE_RULE6_MASK (0x3000000U)
2971#define AHB_SECURE_CTRL_RAM21_RULE_RULE6_SHIFT (24U)
2972/*! RULE6 - Rule 6
2973 * 0b00..Non-secure and non-privilege user access allowed
2974 * 0b01..Non-secure and privilege access allowed
2975 * 0b10..Secure and non-privilege user access allowed
2976 * 0b11..Secure and privilege user access allowed
2977 */
2978#define AHB_SECURE_CTRL_RAM21_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE6_MASK)
2979#define AHB_SECURE_CTRL_RAM21_RULE_RULE7_MASK (0x30000000U)
2980#define AHB_SECURE_CTRL_RAM21_RULE_RULE7_SHIFT (28U)
2981/*! RULE7 - Rule 7
2982 * 0b00..Non-secure and non-privilege user access allowed
2983 * 0b01..Non-secure and privilege access allowed
2984 * 0b10..Secure and non-privilege user access allowed
2985 * 0b11..Secure and privilege user access allowed
2986 */
2987#define AHB_SECURE_CTRL_RAM21_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM21_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM21_RULE_RULE7_MASK)
2988/*! @} */
2989
2990/* The count of AHB_SECURE_CTRL_RAM21_RULE */
2991#define AHB_SECURE_CTRL_RAM21_RULE_COUNT (4U)
2992
2993/*! @name RAM22_RULE - SRAM Partition 22 Rule(n) Register */
2994/*! @{ */
2995#define AHB_SECURE_CTRL_RAM22_RULE_RULE0_MASK (0x3U)
2996#define AHB_SECURE_CTRL_RAM22_RULE_RULE0_SHIFT (0U)
2997/*! RULE0 - Rule 0
2998 * 0b00..Non-secure and non-privilege user access allowed
2999 * 0b01..Non-secure and privilege access allowed
3000 * 0b10..Secure and non-privilege user access allowed
3001 * 0b11..Secure and privilege user access allowed
3002 */
3003#define AHB_SECURE_CTRL_RAM22_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE0_MASK)
3004#define AHB_SECURE_CTRL_RAM22_RULE_RULE1_MASK (0x30U)
3005#define AHB_SECURE_CTRL_RAM22_RULE_RULE1_SHIFT (4U)
3006/*! RULE1 - Rule 1
3007 * 0b00..Non-secure and non-privilege user access allowed
3008 * 0b01..Non-secure and privilege access allowed
3009 * 0b10..Secure and non-privilege user access allowed
3010 * 0b11..Secure and privilege user access allowed
3011 */
3012#define AHB_SECURE_CTRL_RAM22_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE1_MASK)
3013#define AHB_SECURE_CTRL_RAM22_RULE_RULE2_MASK (0x300U)
3014#define AHB_SECURE_CTRL_RAM22_RULE_RULE2_SHIFT (8U)
3015/*! RULE2 - Rule 2
3016 * 0b00..Non-secure and non-privilege user access allowed
3017 * 0b01..Non-secure and privilege access allowed
3018 * 0b10..Secure and non-privilege user access allowed
3019 * 0b11..Secure and privilege user access allowed
3020 */
3021#define AHB_SECURE_CTRL_RAM22_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE2_MASK)
3022#define AHB_SECURE_CTRL_RAM22_RULE_RULE3_MASK (0x3000U)
3023#define AHB_SECURE_CTRL_RAM22_RULE_RULE3_SHIFT (12U)
3024/*! RULE3 - Rule 3
3025 * 0b00..Non-secure and non-privilege user access allowed
3026 * 0b01..Non-secure and privilege access allowed
3027 * 0b10..Secure and non-privilege user access allowed
3028 * 0b11..Secure and privilege user access allowed
3029 */
3030#define AHB_SECURE_CTRL_RAM22_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE3_MASK)
3031#define AHB_SECURE_CTRL_RAM22_RULE_RULE4_MASK (0x30000U)
3032#define AHB_SECURE_CTRL_RAM22_RULE_RULE4_SHIFT (16U)
3033/*! RULE4 - Rule 4
3034 * 0b00..Non-secure and non-privilege user access allowed
3035 * 0b01..Non-secure and privilege access allowed
3036 * 0b10..Secure and non-privilege user access allowed
3037 * 0b11..Secure and privilege user access allowed
3038 */
3039#define AHB_SECURE_CTRL_RAM22_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE4_MASK)
3040#define AHB_SECURE_CTRL_RAM22_RULE_RULE5_MASK (0x300000U)
3041#define AHB_SECURE_CTRL_RAM22_RULE_RULE5_SHIFT (20U)
3042/*! RULE5 - Rule 5
3043 * 0b00..Non-secure and non-privilege user access allowed
3044 * 0b01..Non-secure and privilege access allowed
3045 * 0b10..Secure and non-privilege user access allowed
3046 * 0b11..Secure and privilege user access allowed
3047 */
3048#define AHB_SECURE_CTRL_RAM22_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE5_MASK)
3049#define AHB_SECURE_CTRL_RAM22_RULE_RULE6_MASK (0x3000000U)
3050#define AHB_SECURE_CTRL_RAM22_RULE_RULE6_SHIFT (24U)
3051/*! RULE6 - Rule 6
3052 * 0b00..Non-secure and non-privilege user access allowed
3053 * 0b01..Non-secure and privilege access allowed
3054 * 0b10..Secure and non-privilege user access allowed
3055 * 0b11..Secure and privilege user access allowed
3056 */
3057#define AHB_SECURE_CTRL_RAM22_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE6_MASK)
3058#define AHB_SECURE_CTRL_RAM22_RULE_RULE7_MASK (0x30000000U)
3059#define AHB_SECURE_CTRL_RAM22_RULE_RULE7_SHIFT (28U)
3060/*! RULE7 - Rule 7
3061 * 0b00..Non-secure and non-privilege user access allowed
3062 * 0b01..Non-secure and privilege access allowed
3063 * 0b10..Secure and non-privilege user access allowed
3064 * 0b11..Secure and privilege user access allowed
3065 */
3066#define AHB_SECURE_CTRL_RAM22_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM22_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM22_RULE_RULE7_MASK)
3067/*! @} */
3068
3069/* The count of AHB_SECURE_CTRL_RAM22_RULE */
3070#define AHB_SECURE_CTRL_RAM22_RULE_COUNT (4U)
3071
3072/*! @name RAM23_RULE - SRAM Partition 23 Rule(n) Register */
3073/*! @{ */
3074#define AHB_SECURE_CTRL_RAM23_RULE_RULE0_MASK (0x3U)
3075#define AHB_SECURE_CTRL_RAM23_RULE_RULE0_SHIFT (0U)
3076/*! RULE0 - Rule 0
3077 * 0b00..Non-secure and non-privilege user access allowed
3078 * 0b01..Non-secure and privilege access allowed
3079 * 0b10..Secure and non-privilege user access allowed
3080 * 0b11..Secure and privilege user access allowed
3081 */
3082#define AHB_SECURE_CTRL_RAM23_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE0_MASK)
3083#define AHB_SECURE_CTRL_RAM23_RULE_RULE1_MASK (0x30U)
3084#define AHB_SECURE_CTRL_RAM23_RULE_RULE1_SHIFT (4U)
3085/*! RULE1 - Rule 1
3086 * 0b00..Non-secure and non-privilege user access allowed
3087 * 0b01..Non-secure and privilege access allowed
3088 * 0b10..Secure and non-privilege user access allowed
3089 * 0b11..Secure and privilege user access allowed
3090 */
3091#define AHB_SECURE_CTRL_RAM23_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE1_MASK)
3092#define AHB_SECURE_CTRL_RAM23_RULE_RULE2_MASK (0x300U)
3093#define AHB_SECURE_CTRL_RAM23_RULE_RULE2_SHIFT (8U)
3094/*! RULE2 - Rule 2
3095 * 0b00..Non-secure and non-privilege user access allowed
3096 * 0b01..Non-secure and privilege access allowed
3097 * 0b10..Secure and non-privilege user access allowed
3098 * 0b11..Secure and privilege user access allowed
3099 */
3100#define AHB_SECURE_CTRL_RAM23_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE2_MASK)
3101#define AHB_SECURE_CTRL_RAM23_RULE_RULE3_MASK (0x3000U)
3102#define AHB_SECURE_CTRL_RAM23_RULE_RULE3_SHIFT (12U)
3103/*! RULE3 - Rule 3
3104 * 0b00..Non-secure and non-privilege user access allowed
3105 * 0b01..Non-secure and privilege access allowed
3106 * 0b10..Secure and non-privilege user access allowed
3107 * 0b11..Secure and privilege user access allowed
3108 */
3109#define AHB_SECURE_CTRL_RAM23_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE3_MASK)
3110#define AHB_SECURE_CTRL_RAM23_RULE_RULE4_MASK (0x30000U)
3111#define AHB_SECURE_CTRL_RAM23_RULE_RULE4_SHIFT (16U)
3112/*! RULE4 - Rule 4
3113 * 0b00..Non-secure and non-privilege user access allowed
3114 * 0b01..Non-secure and privilege access allowed
3115 * 0b10..Secure and non-privilege user access allowed
3116 * 0b11..Secure and privilege user access allowed
3117 */
3118#define AHB_SECURE_CTRL_RAM23_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE4_MASK)
3119#define AHB_SECURE_CTRL_RAM23_RULE_RULE5_MASK (0x300000U)
3120#define AHB_SECURE_CTRL_RAM23_RULE_RULE5_SHIFT (20U)
3121/*! RULE5 - Rule 5
3122 * 0b00..Non-secure and non-privilege user access allowed
3123 * 0b01..Non-secure and privilege access allowed
3124 * 0b10..Secure and non-privilege user access allowed
3125 * 0b11..Secure and privilege user access allowed
3126 */
3127#define AHB_SECURE_CTRL_RAM23_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE5_MASK)
3128#define AHB_SECURE_CTRL_RAM23_RULE_RULE6_MASK (0x3000000U)
3129#define AHB_SECURE_CTRL_RAM23_RULE_RULE6_SHIFT (24U)
3130/*! RULE6 - Rule 6
3131 * 0b00..Non-secure and non-privilege user access allowed
3132 * 0b01..Non-secure and privilege access allowed
3133 * 0b10..Secure and non-privilege user access allowed
3134 * 0b11..Secure and privilege user access allowed
3135 */
3136#define AHB_SECURE_CTRL_RAM23_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE6_MASK)
3137#define AHB_SECURE_CTRL_RAM23_RULE_RULE7_MASK (0x30000000U)
3138#define AHB_SECURE_CTRL_RAM23_RULE_RULE7_SHIFT (28U)
3139/*! RULE7 - Rule 7
3140 * 0b00..Non-secure and non-privilege user access allowed
3141 * 0b01..Non-secure and privilege access allowed
3142 * 0b10..Secure and non-privilege user access allowed
3143 * 0b11..Secure and privilege user access allowed
3144 */
3145#define AHB_SECURE_CTRL_RAM23_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM23_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM23_RULE_RULE7_MASK)
3146/*! @} */
3147
3148/* The count of AHB_SECURE_CTRL_RAM23_RULE */
3149#define AHB_SECURE_CTRL_RAM23_RULE_COUNT (4U)
3150
3151/*! @name RAM24_RULE - SRAM Partition 24 Rule(n) Register */
3152/*! @{ */
3153#define AHB_SECURE_CTRL_RAM24_RULE_RULE0_MASK (0x3U)
3154#define AHB_SECURE_CTRL_RAM24_RULE_RULE0_SHIFT (0U)
3155/*! RULE0 - Rule 0
3156 * 0b00..Non-secure and non-privilege user access allowed
3157 * 0b01..Non-secure and privilege access allowed
3158 * 0b10..Secure and non-privilege user access allowed
3159 * 0b11..Secure and privilege user access allowed
3160 */
3161#define AHB_SECURE_CTRL_RAM24_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE0_MASK)
3162#define AHB_SECURE_CTRL_RAM24_RULE_RULE1_MASK (0x30U)
3163#define AHB_SECURE_CTRL_RAM24_RULE_RULE1_SHIFT (4U)
3164/*! RULE1 - Rule 1
3165 * 0b00..Non-secure and non-privilege user access allowed
3166 * 0b01..Non-secure and privilege access allowed
3167 * 0b10..Secure and non-privilege user access allowed
3168 * 0b11..Secure and privilege user access allowed
3169 */
3170#define AHB_SECURE_CTRL_RAM24_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE1_MASK)
3171#define AHB_SECURE_CTRL_RAM24_RULE_RULE2_MASK (0x300U)
3172#define AHB_SECURE_CTRL_RAM24_RULE_RULE2_SHIFT (8U)
3173/*! RULE2 - Rule 2
3174 * 0b00..Non-secure and non-privilege user access allowed
3175 * 0b01..Non-secure and privilege access allowed
3176 * 0b10..Secure and non-privilege user access allowed
3177 * 0b11..Secure and privilege user access allowed
3178 */
3179#define AHB_SECURE_CTRL_RAM24_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE2_MASK)
3180#define AHB_SECURE_CTRL_RAM24_RULE_RULE3_MASK (0x3000U)
3181#define AHB_SECURE_CTRL_RAM24_RULE_RULE3_SHIFT (12U)
3182/*! RULE3 - Rule 3
3183 * 0b00..Non-secure and non-privilege user access allowed
3184 * 0b01..Non-secure and privilege access allowed
3185 * 0b10..Secure and non-privilege user access allowed
3186 * 0b11..Secure and privilege user access allowed
3187 */
3188#define AHB_SECURE_CTRL_RAM24_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE3_MASK)
3189#define AHB_SECURE_CTRL_RAM24_RULE_RULE4_MASK (0x30000U)
3190#define AHB_SECURE_CTRL_RAM24_RULE_RULE4_SHIFT (16U)
3191/*! RULE4 - Rule 4
3192 * 0b00..Non-secure and non-privilege user access allowed
3193 * 0b01..Non-secure and privilege access allowed
3194 * 0b10..Secure and non-privilege user access allowed
3195 * 0b11..Secure and privilege user access allowed
3196 */
3197#define AHB_SECURE_CTRL_RAM24_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE4_MASK)
3198#define AHB_SECURE_CTRL_RAM24_RULE_RULE5_MASK (0x300000U)
3199#define AHB_SECURE_CTRL_RAM24_RULE_RULE5_SHIFT (20U)
3200/*! RULE5 - Rule 5
3201 * 0b00..Non-secure and non-privilege user access allowed
3202 * 0b01..Non-secure and privilege access allowed
3203 * 0b10..Secure and non-privilege user access allowed
3204 * 0b11..Secure and privilege user access allowed
3205 */
3206#define AHB_SECURE_CTRL_RAM24_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE5_MASK)
3207#define AHB_SECURE_CTRL_RAM24_RULE_RULE6_MASK (0x3000000U)
3208#define AHB_SECURE_CTRL_RAM24_RULE_RULE6_SHIFT (24U)
3209/*! RULE6 - Rule 6
3210 * 0b00..Non-secure and non-privilege user access allowed
3211 * 0b01..Non-secure and privilege access allowed
3212 * 0b10..Secure and non-privilege user access allowed
3213 * 0b11..Secure and privilege user access allowed
3214 */
3215#define AHB_SECURE_CTRL_RAM24_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE6_MASK)
3216#define AHB_SECURE_CTRL_RAM24_RULE_RULE7_MASK (0x30000000U)
3217#define AHB_SECURE_CTRL_RAM24_RULE_RULE7_SHIFT (28U)
3218/*! RULE7 - Rule 7
3219 * 0b00..Non-secure and non-privilege user access allowed
3220 * 0b01..Non-secure and privilege access allowed
3221 * 0b10..Secure and non-privilege user access allowed
3222 * 0b11..Secure and privilege user access allowed
3223 */
3224#define AHB_SECURE_CTRL_RAM24_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM24_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM24_RULE_RULE7_MASK)
3225/*! @} */
3226
3227/* The count of AHB_SECURE_CTRL_RAM24_RULE */
3228#define AHB_SECURE_CTRL_RAM24_RULE_COUNT (4U)
3229
3230/*! @name RAM25_RULE - SRAM Partition 25 Rule(n) Register */
3231/*! @{ */
3232#define AHB_SECURE_CTRL_RAM25_RULE_RULE0_MASK (0x3U)
3233#define AHB_SECURE_CTRL_RAM25_RULE_RULE0_SHIFT (0U)
3234/*! RULE0 - Rule 0
3235 * 0b00..Non-secure and non-privilege user access allowed
3236 * 0b01..Non-secure and privilege access allowed
3237 * 0b10..Secure and non-privilege user access allowed
3238 * 0b11..Secure and privilege user access allowed
3239 */
3240#define AHB_SECURE_CTRL_RAM25_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE0_MASK)
3241#define AHB_SECURE_CTRL_RAM25_RULE_RULE1_MASK (0x30U)
3242#define AHB_SECURE_CTRL_RAM25_RULE_RULE1_SHIFT (4U)
3243/*! RULE1 - Rule 1
3244 * 0b00..Non-secure and non-privilege user access allowed
3245 * 0b01..Non-secure and privilege access allowed
3246 * 0b10..Secure and non-privilege user access allowed
3247 * 0b11..Secure and privilege user access allowed
3248 */
3249#define AHB_SECURE_CTRL_RAM25_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE1_MASK)
3250#define AHB_SECURE_CTRL_RAM25_RULE_RULE2_MASK (0x300U)
3251#define AHB_SECURE_CTRL_RAM25_RULE_RULE2_SHIFT (8U)
3252/*! RULE2 - Rule 2
3253 * 0b00..Non-secure and non-privilege user access allowed
3254 * 0b01..Non-secure and privilege access allowed
3255 * 0b10..Secure and non-privilege user access allowed
3256 * 0b11..Secure and privilege user access allowed
3257 */
3258#define AHB_SECURE_CTRL_RAM25_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE2_MASK)
3259#define AHB_SECURE_CTRL_RAM25_RULE_RULE3_MASK (0x3000U)
3260#define AHB_SECURE_CTRL_RAM25_RULE_RULE3_SHIFT (12U)
3261/*! RULE3 - Rule 3
3262 * 0b00..Non-secure and non-privilege user access allowed
3263 * 0b01..Non-secure and privilege access allowed
3264 * 0b10..Secure and non-privilege user access allowed
3265 * 0b11..Secure and privilege user access allowed
3266 */
3267#define AHB_SECURE_CTRL_RAM25_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE3_MASK)
3268#define AHB_SECURE_CTRL_RAM25_RULE_RULE4_MASK (0x30000U)
3269#define AHB_SECURE_CTRL_RAM25_RULE_RULE4_SHIFT (16U)
3270/*! RULE4 - Rule 4
3271 * 0b00..Non-secure and non-privilege user access allowed
3272 * 0b01..Non-secure and privilege access allowed
3273 * 0b10..Secure and non-privilege user access allowed
3274 * 0b11..Secure and privilege user access allowed
3275 */
3276#define AHB_SECURE_CTRL_RAM25_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE4_MASK)
3277#define AHB_SECURE_CTRL_RAM25_RULE_RULE5_MASK (0x300000U)
3278#define AHB_SECURE_CTRL_RAM25_RULE_RULE5_SHIFT (20U)
3279/*! RULE5 - Rule 5
3280 * 0b00..Non-secure and non-privilege user access allowed
3281 * 0b01..Non-secure and privilege access allowed
3282 * 0b10..Secure and non-privilege user access allowed
3283 * 0b11..Secure and privilege user access allowed
3284 */
3285#define AHB_SECURE_CTRL_RAM25_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE5_MASK)
3286#define AHB_SECURE_CTRL_RAM25_RULE_RULE6_MASK (0x3000000U)
3287#define AHB_SECURE_CTRL_RAM25_RULE_RULE6_SHIFT (24U)
3288/*! RULE6 - Rule 6
3289 * 0b00..Non-secure and non-privilege user access allowed
3290 * 0b01..Non-secure and privilege access allowed
3291 * 0b10..Secure and non-privilege user access allowed
3292 * 0b11..Secure and privilege user access allowed
3293 */
3294#define AHB_SECURE_CTRL_RAM25_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE6_MASK)
3295#define AHB_SECURE_CTRL_RAM25_RULE_RULE7_MASK (0x30000000U)
3296#define AHB_SECURE_CTRL_RAM25_RULE_RULE7_SHIFT (28U)
3297/*! RULE7 - Rule 7
3298 * 0b00..Non-secure and non-privilege user access allowed
3299 * 0b01..Non-secure and privilege access allowed
3300 * 0b10..Secure and non-privilege user access allowed
3301 * 0b11..Secure and privilege user access allowed
3302 */
3303#define AHB_SECURE_CTRL_RAM25_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM25_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM25_RULE_RULE7_MASK)
3304/*! @} */
3305
3306/* The count of AHB_SECURE_CTRL_RAM25_RULE */
3307#define AHB_SECURE_CTRL_RAM25_RULE_COUNT (4U)
3308
3309/*! @name RAM26_RULE - SRAM Partition 26 Rule(n) Register */
3310/*! @{ */
3311#define AHB_SECURE_CTRL_RAM26_RULE_RULE0_MASK (0x3U)
3312#define AHB_SECURE_CTRL_RAM26_RULE_RULE0_SHIFT (0U)
3313/*! RULE0 - Rule 0
3314 * 0b00..Non-secure and non-privilege user access allowed
3315 * 0b01..Non-secure and privilege access allowed
3316 * 0b10..Secure and non-privilege user access allowed
3317 * 0b11..Secure and privilege user access allowed
3318 */
3319#define AHB_SECURE_CTRL_RAM26_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE0_MASK)
3320#define AHB_SECURE_CTRL_RAM26_RULE_RULE1_MASK (0x30U)
3321#define AHB_SECURE_CTRL_RAM26_RULE_RULE1_SHIFT (4U)
3322/*! RULE1 - Rule 1
3323 * 0b00..Non-secure and non-privilege user access allowed
3324 * 0b01..Non-secure and privilege access allowed
3325 * 0b10..Secure and non-privilege user access allowed
3326 * 0b11..Secure and privilege user access allowed
3327 */
3328#define AHB_SECURE_CTRL_RAM26_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE1_MASK)
3329#define AHB_SECURE_CTRL_RAM26_RULE_RULE2_MASK (0x300U)
3330#define AHB_SECURE_CTRL_RAM26_RULE_RULE2_SHIFT (8U)
3331/*! RULE2 - Rule 2
3332 * 0b00..Non-secure and non-privilege user access allowed
3333 * 0b01..Non-secure and privilege access allowed
3334 * 0b10..Secure and non-privilege user access allowed
3335 * 0b11..Secure and privilege user access allowed
3336 */
3337#define AHB_SECURE_CTRL_RAM26_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE2_MASK)
3338#define AHB_SECURE_CTRL_RAM26_RULE_RULE3_MASK (0x3000U)
3339#define AHB_SECURE_CTRL_RAM26_RULE_RULE3_SHIFT (12U)
3340/*! RULE3 - Rule 3
3341 * 0b00..Non-secure and non-privilege user access allowed
3342 * 0b01..Non-secure and privilege access allowed
3343 * 0b10..Secure and non-privilege user access allowed
3344 * 0b11..Secure and privilege user access allowed
3345 */
3346#define AHB_SECURE_CTRL_RAM26_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE3_MASK)
3347#define AHB_SECURE_CTRL_RAM26_RULE_RULE4_MASK (0x30000U)
3348#define AHB_SECURE_CTRL_RAM26_RULE_RULE4_SHIFT (16U)
3349/*! RULE4 - Rule 4
3350 * 0b00..Non-secure and non-privilege user access allowed
3351 * 0b01..Non-secure and privilege access allowed
3352 * 0b10..Secure and non-privilege user access allowed
3353 * 0b11..Secure and privilege user access allowed
3354 */
3355#define AHB_SECURE_CTRL_RAM26_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE4_MASK)
3356#define AHB_SECURE_CTRL_RAM26_RULE_RULE5_MASK (0x300000U)
3357#define AHB_SECURE_CTRL_RAM26_RULE_RULE5_SHIFT (20U)
3358/*! RULE5 - Rule 5
3359 * 0b00..Non-secure and non-privilege user access allowed
3360 * 0b01..Non-secure and privilege access allowed
3361 * 0b10..Secure and non-privilege user access allowed
3362 * 0b11..Secure and privilege user access allowed
3363 */
3364#define AHB_SECURE_CTRL_RAM26_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE5_MASK)
3365#define AHB_SECURE_CTRL_RAM26_RULE_RULE6_MASK (0x3000000U)
3366#define AHB_SECURE_CTRL_RAM26_RULE_RULE6_SHIFT (24U)
3367/*! RULE6 - Rule 6
3368 * 0b00..Non-secure and non-privilege user access allowed
3369 * 0b01..Non-secure and privilege access allowed
3370 * 0b10..Secure and non-privilege user access allowed
3371 * 0b11..Secure and privilege user access allowed
3372 */
3373#define AHB_SECURE_CTRL_RAM26_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE6_MASK)
3374#define AHB_SECURE_CTRL_RAM26_RULE_RULE7_MASK (0x30000000U)
3375#define AHB_SECURE_CTRL_RAM26_RULE_RULE7_SHIFT (28U)
3376/*! RULE7 - Rule 7
3377 * 0b00..Non-secure and non-privilege user access allowed
3378 * 0b01..Non-secure and privilege access allowed
3379 * 0b10..Secure and non-privilege user access allowed
3380 * 0b11..Secure and privilege user access allowed
3381 */
3382#define AHB_SECURE_CTRL_RAM26_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM26_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM26_RULE_RULE7_MASK)
3383/*! @} */
3384
3385/* The count of AHB_SECURE_CTRL_RAM26_RULE */
3386#define AHB_SECURE_CTRL_RAM26_RULE_COUNT (4U)
3387
3388/*! @name RAM27_RULE - SRAM Partition 27 Rule(n) Register */
3389/*! @{ */
3390#define AHB_SECURE_CTRL_RAM27_RULE_RULE0_MASK (0x3U)
3391#define AHB_SECURE_CTRL_RAM27_RULE_RULE0_SHIFT (0U)
3392/*! RULE0 - Rule 0
3393 * 0b00..Non-secure and non-privilege user access allowed
3394 * 0b01..Non-secure and privilege access allowed
3395 * 0b10..Secure and non-privilege user access allowed
3396 * 0b11..Secure and privilege user access allowed
3397 */
3398#define AHB_SECURE_CTRL_RAM27_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE0_MASK)
3399#define AHB_SECURE_CTRL_RAM27_RULE_RULE1_MASK (0x30U)
3400#define AHB_SECURE_CTRL_RAM27_RULE_RULE1_SHIFT (4U)
3401/*! RULE1 - Rule 1
3402 * 0b00..Non-secure and non-privilege user access allowed
3403 * 0b01..Non-secure and privilege access allowed
3404 * 0b10..Secure and non-privilege user access allowed
3405 * 0b11..Secure and privilege user access allowed
3406 */
3407#define AHB_SECURE_CTRL_RAM27_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE1_MASK)
3408#define AHB_SECURE_CTRL_RAM27_RULE_RULE2_MASK (0x300U)
3409#define AHB_SECURE_CTRL_RAM27_RULE_RULE2_SHIFT (8U)
3410/*! RULE2 - Rule 2
3411 * 0b00..Non-secure and non-privilege user access allowed
3412 * 0b01..Non-secure and privilege access allowed
3413 * 0b10..Secure and non-privilege user access allowed
3414 * 0b11..Secure and privilege user access allowed
3415 */
3416#define AHB_SECURE_CTRL_RAM27_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE2_MASK)
3417#define AHB_SECURE_CTRL_RAM27_RULE_RULE3_MASK (0x3000U)
3418#define AHB_SECURE_CTRL_RAM27_RULE_RULE3_SHIFT (12U)
3419/*! RULE3 - Rule 3
3420 * 0b00..Non-secure and non-privilege user access allowed
3421 * 0b01..Non-secure and privilege access allowed
3422 * 0b10..Secure and non-privilege user access allowed
3423 * 0b11..Secure and privilege user access allowed
3424 */
3425#define AHB_SECURE_CTRL_RAM27_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE3_MASK)
3426#define AHB_SECURE_CTRL_RAM27_RULE_RULE4_MASK (0x30000U)
3427#define AHB_SECURE_CTRL_RAM27_RULE_RULE4_SHIFT (16U)
3428/*! RULE4 - Rule 4
3429 * 0b00..Non-secure and non-privilege user access allowed
3430 * 0b01..Non-secure and privilege access allowed
3431 * 0b10..Secure and non-privilege user access allowed
3432 * 0b11..Secure and privilege user access allowed
3433 */
3434#define AHB_SECURE_CTRL_RAM27_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE4_MASK)
3435#define AHB_SECURE_CTRL_RAM27_RULE_RULE5_MASK (0x300000U)
3436#define AHB_SECURE_CTRL_RAM27_RULE_RULE5_SHIFT (20U)
3437/*! RULE5 - Rule 5
3438 * 0b00..Non-secure and non-privilege user access allowed
3439 * 0b01..Non-secure and privilege access allowed
3440 * 0b10..Secure and non-privilege user access allowed
3441 * 0b11..Secure and privilege user access allowed
3442 */
3443#define AHB_SECURE_CTRL_RAM27_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE5_MASK)
3444#define AHB_SECURE_CTRL_RAM27_RULE_RULE6_MASK (0x3000000U)
3445#define AHB_SECURE_CTRL_RAM27_RULE_RULE6_SHIFT (24U)
3446/*! RULE6 - Rule 6
3447 * 0b00..Non-secure and non-privilege user access allowed
3448 * 0b01..Non-secure and privilege access allowed
3449 * 0b10..Secure and non-privilege user access allowed
3450 * 0b11..Secure and privilege user access allowed
3451 */
3452#define AHB_SECURE_CTRL_RAM27_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE6_MASK)
3453#define AHB_SECURE_CTRL_RAM27_RULE_RULE7_MASK (0x30000000U)
3454#define AHB_SECURE_CTRL_RAM27_RULE_RULE7_SHIFT (28U)
3455/*! RULE7 - Rule 7
3456 * 0b00..Non-secure and non-privilege user access allowed
3457 * 0b01..Non-secure and privilege access allowed
3458 * 0b10..Secure and non-privilege user access allowed
3459 * 0b11..Secure and privilege user access allowed
3460 */
3461#define AHB_SECURE_CTRL_RAM27_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM27_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM27_RULE_RULE7_MASK)
3462/*! @} */
3463
3464/* The count of AHB_SECURE_CTRL_RAM27_RULE */
3465#define AHB_SECURE_CTRL_RAM27_RULE_COUNT (4U)
3466
3467/*! @name RAM28_RULE - SRAM Partition 28 Rule(n) Register */
3468/*! @{ */
3469#define AHB_SECURE_CTRL_RAM28_RULE_RULE0_MASK (0x3U)
3470#define AHB_SECURE_CTRL_RAM28_RULE_RULE0_SHIFT (0U)
3471/*! RULE0 - Rule 0
3472 * 0b00..Non-secure and non-privilege user access allowed
3473 * 0b01..Non-secure and privilege access allowed
3474 * 0b10..Secure and non-privilege user access allowed
3475 * 0b11..Secure and privilege user access allowed
3476 */
3477#define AHB_SECURE_CTRL_RAM28_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE0_MASK)
3478#define AHB_SECURE_CTRL_RAM28_RULE_RULE1_MASK (0x30U)
3479#define AHB_SECURE_CTRL_RAM28_RULE_RULE1_SHIFT (4U)
3480/*! RULE1 - Rule 1
3481 * 0b00..Non-secure and non-privilege user access allowed
3482 * 0b01..Non-secure and privilege access allowed
3483 * 0b10..Secure and non-privilege user access allowed
3484 * 0b11..Secure and privilege user access allowed
3485 */
3486#define AHB_SECURE_CTRL_RAM28_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE1_MASK)
3487#define AHB_SECURE_CTRL_RAM28_RULE_RULE2_MASK (0x300U)
3488#define AHB_SECURE_CTRL_RAM28_RULE_RULE2_SHIFT (8U)
3489/*! RULE2 - Rule 2
3490 * 0b00..Non-secure and non-privilege user access allowed
3491 * 0b01..Non-secure and privilege access allowed
3492 * 0b10..Secure and non-privilege user access allowed
3493 * 0b11..Secure and privilege user access allowed
3494 */
3495#define AHB_SECURE_CTRL_RAM28_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE2_MASK)
3496#define AHB_SECURE_CTRL_RAM28_RULE_RULE3_MASK (0x3000U)
3497#define AHB_SECURE_CTRL_RAM28_RULE_RULE3_SHIFT (12U)
3498/*! RULE3 - Rule 3
3499 * 0b00..Non-secure and non-privilege user access allowed
3500 * 0b01..Non-secure and privilege access allowed
3501 * 0b10..Secure and non-privilege user access allowed
3502 * 0b11..Secure and privilege user access allowed
3503 */
3504#define AHB_SECURE_CTRL_RAM28_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE3_MASK)
3505#define AHB_SECURE_CTRL_RAM28_RULE_RULE4_MASK (0x30000U)
3506#define AHB_SECURE_CTRL_RAM28_RULE_RULE4_SHIFT (16U)
3507/*! RULE4 - Rule 4
3508 * 0b00..Non-secure and non-privilege user access allowed
3509 * 0b01..Non-secure and privilege access allowed
3510 * 0b10..Secure and non-privilege user access allowed
3511 * 0b11..Secure and privilege user access allowed
3512 */
3513#define AHB_SECURE_CTRL_RAM28_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE4_MASK)
3514#define AHB_SECURE_CTRL_RAM28_RULE_RULE5_MASK (0x300000U)
3515#define AHB_SECURE_CTRL_RAM28_RULE_RULE5_SHIFT (20U)
3516/*! RULE5 - Rule 5
3517 * 0b00..Non-secure and non-privilege user access allowed
3518 * 0b01..Non-secure and privilege access allowed
3519 * 0b10..Secure and non-privilege user access allowed
3520 * 0b11..Secure and privilege user access allowed
3521 */
3522#define AHB_SECURE_CTRL_RAM28_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE5_MASK)
3523#define AHB_SECURE_CTRL_RAM28_RULE_RULE6_MASK (0x3000000U)
3524#define AHB_SECURE_CTRL_RAM28_RULE_RULE6_SHIFT (24U)
3525/*! RULE6 - Rule 6
3526 * 0b00..Non-secure and non-privilege user access allowed
3527 * 0b01..Non-secure and privilege access allowed
3528 * 0b10..Secure and non-privilege user access allowed
3529 * 0b11..Secure and privilege user access allowed
3530 */
3531#define AHB_SECURE_CTRL_RAM28_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE6_MASK)
3532#define AHB_SECURE_CTRL_RAM28_RULE_RULE7_MASK (0x30000000U)
3533#define AHB_SECURE_CTRL_RAM28_RULE_RULE7_SHIFT (28U)
3534/*! RULE7 - Rule 7
3535 * 0b00..Non-secure and non-privilege user access allowed
3536 * 0b01..Non-secure and privilege access allowed
3537 * 0b10..Secure and non-privilege user access allowed
3538 * 0b11..Secure and privilege user access allowed
3539 */
3540#define AHB_SECURE_CTRL_RAM28_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM28_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM28_RULE_RULE7_MASK)
3541/*! @} */
3542
3543/* The count of AHB_SECURE_CTRL_RAM28_RULE */
3544#define AHB_SECURE_CTRL_RAM28_RULE_COUNT (4U)
3545
3546/*! @name RAM29_RULE - SRAM Partition 29 Rule(n) Register */
3547/*! @{ */
3548#define AHB_SECURE_CTRL_RAM29_RULE_RULE0_MASK (0x3U)
3549#define AHB_SECURE_CTRL_RAM29_RULE_RULE0_SHIFT (0U)
3550/*! RULE0 - Rule 0
3551 * 0b00..Non-secure and non-privilege user access allowed
3552 * 0b01..Non-secure and privilege access allowed
3553 * 0b10..Secure and non-privilege user access allowed
3554 * 0b11..Secure and privilege user access allowed
3555 */
3556#define AHB_SECURE_CTRL_RAM29_RULE_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE0_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE0_MASK)
3557#define AHB_SECURE_CTRL_RAM29_RULE_RULE1_MASK (0x30U)
3558#define AHB_SECURE_CTRL_RAM29_RULE_RULE1_SHIFT (4U)
3559/*! RULE1 - Rule 1
3560 * 0b00..Non-secure and non-privilege user access allowed
3561 * 0b01..Non-secure and privilege access allowed
3562 * 0b10..Secure and non-privilege user access allowed
3563 * 0b11..Secure and privilege user access allowed
3564 */
3565#define AHB_SECURE_CTRL_RAM29_RULE_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE1_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE1_MASK)
3566#define AHB_SECURE_CTRL_RAM29_RULE_RULE2_MASK (0x300U)
3567#define AHB_SECURE_CTRL_RAM29_RULE_RULE2_SHIFT (8U)
3568/*! RULE2 - Rule 2
3569 * 0b00..Non-secure and non-privilege user access allowed
3570 * 0b01..Non-secure and privilege access allowed
3571 * 0b10..Secure and non-privilege user access allowed
3572 * 0b11..Secure and privilege user access allowed
3573 */
3574#define AHB_SECURE_CTRL_RAM29_RULE_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE2_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE2_MASK)
3575#define AHB_SECURE_CTRL_RAM29_RULE_RULE3_MASK (0x3000U)
3576#define AHB_SECURE_CTRL_RAM29_RULE_RULE3_SHIFT (12U)
3577/*! RULE3 - Rule 3
3578 * 0b00..Non-secure and non-privilege user access allowed
3579 * 0b01..Non-secure and privilege access allowed
3580 * 0b10..Secure and non-privilege user access allowed
3581 * 0b11..Secure and privilege user access allowed
3582 */
3583#define AHB_SECURE_CTRL_RAM29_RULE_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE3_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE3_MASK)
3584#define AHB_SECURE_CTRL_RAM29_RULE_RULE4_MASK (0x30000U)
3585#define AHB_SECURE_CTRL_RAM29_RULE_RULE4_SHIFT (16U)
3586/*! RULE4 - Rule 4
3587 * 0b00..Non-secure and non-privilege user access allowed
3588 * 0b01..Non-secure and privilege access allowed
3589 * 0b10..Secure and non-privilege user access allowed
3590 * 0b11..Secure and privilege user access allowed
3591 */
3592#define AHB_SECURE_CTRL_RAM29_RULE_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE4_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE4_MASK)
3593#define AHB_SECURE_CTRL_RAM29_RULE_RULE5_MASK (0x300000U)
3594#define AHB_SECURE_CTRL_RAM29_RULE_RULE5_SHIFT (20U)
3595/*! RULE5 - Rule 5
3596 * 0b00..Non-secure and non-privilege user access allowed
3597 * 0b01..Non-secure and privilege access allowed
3598 * 0b10..Secure and non-privilege user access allowed
3599 * 0b11..Secure and privilege user access allowed
3600 */
3601#define AHB_SECURE_CTRL_RAM29_RULE_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE5_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE5_MASK)
3602#define AHB_SECURE_CTRL_RAM29_RULE_RULE6_MASK (0x3000000U)
3603#define AHB_SECURE_CTRL_RAM29_RULE_RULE6_SHIFT (24U)
3604/*! RULE6 - Rule 6
3605 * 0b00..Non-secure and non-privilege user access allowed
3606 * 0b01..Non-secure and privilege access allowed
3607 * 0b10..Secure and non-privilege user access allowed
3608 * 0b11..Secure and privilege user access allowed
3609 */
3610#define AHB_SECURE_CTRL_RAM29_RULE_RULE6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE6_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE6_MASK)
3611#define AHB_SECURE_CTRL_RAM29_RULE_RULE7_MASK (0x30000000U)
3612#define AHB_SECURE_CTRL_RAM29_RULE_RULE7_SHIFT (28U)
3613/*! RULE7 - Rule 7
3614 * 0b00..Non-secure and non-privilege user access allowed
3615 * 0b01..Non-secure and privilege access allowed
3616 * 0b10..Secure and non-privilege user access allowed
3617 * 0b11..Secure and privilege user access allowed
3618 */
3619#define AHB_SECURE_CTRL_RAM29_RULE_RULE7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_RAM29_RULE_RULE7_SHIFT)) & AHB_SECURE_CTRL_RAM29_RULE_RULE7_MASK)
3620/*! @} */
3621
3622/* The count of AHB_SECURE_CTRL_RAM29_RULE */
3623#define AHB_SECURE_CTRL_RAM29_RULE_COUNT (4U)
3624
3625/*! @name PIF_HIFI4_X_MEM_RULE0 - Security access rules for HiFi 4 memory sectors (0x24000000--0x240FFFFF). Each sector is 32 Kbytes, there're 4 sectors in total. */
3626/*! @{ */
3627#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE0_MASK (0x3U)
3628#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE0_SHIFT (0U)
3629/*! RULE0 - secure control rule0. it can be set when check_reg's write_lock is '0'
3630 */
3631#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE0_SHIFT)) & AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE0_MASK)
3632#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE1_MASK (0x30U)
3633#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE1_SHIFT (4U)
3634/*! RULE1 - secure control rule1. it can be set when check_reg's write_lock is '0'
3635 */
3636#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE1_SHIFT)) & AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE1_MASK)
3637#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE4_MASK (0x30000U)
3638#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE4_SHIFT (16U)
3639/*! RULE4 - secure control rule4. it can be set when check_reg's write_lock is '0'
3640 */
3641#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE4_SHIFT)) & AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE4_MASK)
3642#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE5_MASK (0x300000U)
3643#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE5_SHIFT (20U)
3644/*! RULE5 - secure control rule5. it can be set when check_reg's write_lock is '0'
3645 */
3646#define AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE5_SHIFT)) & AHB_SECURE_CTRL_PIF_HIFI4_X_MEM_RULE0_RULE5_MASK)
3647/*! @} */
3648
3649/*! @name APB_GRP0_MEM_RULE0 - Security access rules for APB Bridge 0 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total. */
3650/*! @{ */
3651#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_RSTCTL0_RULE_MASK (0x3U)
3652#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_RSTCTL0_RULE_SHIFT (0U)
3653/*! RSTCTL0_RULE - 0x4000 0000--0x4000 0FFF
3654 */
3655#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_RSTCTL0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_RSTCTL0_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_RSTCTL0_RULE_MASK)
3656#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_CLKCTL0_RULE_MASK (0x30U)
3657#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_CLKCTL0_RULE_SHIFT (4U)
3658/*! CLKCTL0_RULE - 0x4000 1000--0x4000 1FFF
3659 */
3660#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_CLKCTL0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_CLKCTL0_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_CLKCTL0_RULE_MASK)
3661#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_SYSCTL0_RULE_MASK (0x300U)
3662#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_SYSCTL0_RULE_SHIFT (8U)
3663/*! SYSCTL0_RULE - 0x4000 2000--0x4000 2FFF
3664 */
3665#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_SYSCTL0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_SYSCTL0_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_SYSCTL0_RULE_MASK)
3666#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_IOPCTL_RULE_MASK (0x30000U)
3667#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_IOPCTL_RULE_SHIFT (16U)
3668/*! IOPCTL_RULE - 0x4000 4000--0x4000 4FFF
3669 */
3670#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_IOPCTL_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_IOPCTL_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_IOPCTL_RULE_MASK)
3671#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_PUFCTRL_RULE_MASK (0x3000000U)
3672#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_PUFCTRL_RULE_SHIFT (24U)
3673/*! PUFCTRL_RULE - 0x4000 6000--0x4000 6FFF
3674 */
3675#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_PUFCTRL_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_PUFCTRL_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE0_PUFCTRL_RULE_MASK)
3676/*! @} */
3677
3678/*! @name APB_GRP0_MEM_RULE1 - Security access rules for APB Bridge 0 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total. */
3679/*! @{ */
3680#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_WWDT0_RULE_MASK (0x3000000U)
3681#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_WWDT0_RULE_SHIFT (24U)
3682/*! WWDT0_RULE - 0x4000 E000--0x4000 EFFF
3683 */
3684#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_WWDT0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_WWDT0_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_WWDT0_RULE_MASK)
3685#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_UTICK_RULE_MASK (0x30000000U)
3686#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_UTICK_RULE_SHIFT (28U)
3687/*! UTICK_RULE - 0x4000 F000--0x4000 FFFF
3688 */
3689#define AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_UTICK_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_UTICK_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP0_MEM_RULE1_UTICK_RULE_MASK)
3690/*! @} */
3691
3692/*! @name APB_GRP1_MEM_RULE0 - Security access rules for APB Bridge 1 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total. */
3693/*! @{ */
3694#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_RSTCTL1_RULE_MASK (0x3U)
3695#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_RSTCTL1_RULE_SHIFT (0U)
3696/*! RSTCTL1_RULE - 0x4002 0000--0x4002 0FFF
3697 */
3698#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_RSTCTL1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_RSTCTL1_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_RSTCTL1_RULE_MASK)
3699#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_CLKCTL1_RULE_MASK (0x30U)
3700#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_CLKCTL1_RULE_SHIFT (4U)
3701/*! CLKCTL1_RULE - 0x4002 1000--0x4002 1FFF
3702 */
3703#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_CLKCTL1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_CLKCTL1_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_CLKCTL1_RULE_MASK)
3704#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_SYSCTL1_RULE_MASK (0x300U)
3705#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_SYSCTL1_RULE_SHIFT (8U)
3706/*! SYSCTL1_RULE - 0x4002 2000--0x4002 2FFF
3707 */
3708#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_SYSCTL1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_SYSCTL1_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_SYSCTL1_RULE_MASK)
3709#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_GPIO_INTR_CTRL_RULE_MASK (0x300000U)
3710#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_GPIO_INTR_CTRL_RULE_SHIFT (20U)
3711/*! GPIO_INTR_CTRL_RULE - 0x4002 5000--0x4002 5FFF
3712 */
3713#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_GPIO_INTR_CTRL_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_GPIO_INTR_CTRL_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_GPIO_INTR_CTRL_RULE_MASK)
3714#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_PERIPH_INPUT_MUX_RULE_MASK (0x3000000U)
3715#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_PERIPH_INPUT_MUX_RULE_SHIFT (24U)
3716/*! PERIPH_INPUT_MUX_RULE - 0x4002 6000--0x4002 6FFF
3717 */
3718#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_PERIPH_INPUT_MUX_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_PERIPH_INPUT_MUX_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE0_PERIPH_INPUT_MUX_RULE_MASK)
3719/*! @} */
3720
3721/*! @name APB_GRP1_MEM_RULE1 - Security access rules for APB Bridge 1 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total. */
3722/*! @{ */
3723#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT0_RULE_MASK (0x3U)
3724#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT0_RULE_SHIFT (0U)
3725/*! CT32BIT0_RULE - 0x4002 8000--0x4002 8FFF
3726 */
3727#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT0_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT0_RULE_MASK)
3728#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT1_RULE_MASK (0x30U)
3729#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT1_RULE_SHIFT (4U)
3730/*! CT32BIT1_RULE - 0x4002 9000--0x4002 9FFF
3731 */
3732#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT1_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT1_RULE_MASK)
3733#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT2_RULE_MASK (0x300U)
3734#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT2_RULE_SHIFT (8U)
3735/*! CT32BIT2_RULE - 0x4002 A000--0x4002 AFFF
3736 */
3737#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT2_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT2_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT2_RULE_MASK)
3738#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT3_RULE_MASK (0x3000U)
3739#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT3_RULE_SHIFT (12U)
3740/*! CT32BIT3_RULE - 0x4002 B000--0x4002 BFFF
3741 */
3742#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT3_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT3_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT3_RULE_MASK)
3743#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT4_RULE_MASK (0x30000U)
3744#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT4_RULE_SHIFT (16U)
3745/*! CT32BIT4_RULE - 0x4002 C000--0x4002 CFFF
3746 */
3747#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT4_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT4_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_CT32BIT4_RULE_MASK)
3748#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_MRT_RULE_MASK (0x300000U)
3749#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_MRT_RULE_SHIFT (20U)
3750/*! MRT_RULE - 0x4002 D000--0x4002 DFFF
3751 */
3752#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_MRT_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_MRT_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_MRT_RULE_MASK)
3753#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_WWDT1_RULE_MASK (0x3000000U)
3754#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_WWDT1_RULE_SHIFT (24U)
3755/*! WWDT1_RULE - 0x4002 E000--0x4002 EFFF
3756 */
3757#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_WWDT1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_WWDT1_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_WWDT1_RULE_MASK)
3758#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_FREQME_RULE_MASK (0x30000000U)
3759#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_FREQME_RULE_SHIFT (28U)
3760/*! FREQME_RULE - 0x4002 F000--0x4002 FFFF
3761 */
3762#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_FREQME_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_FREQME_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE1_FREQME_RULE_MASK)
3763/*! @} */
3764
3765/*! @name APB_GRP1_MEM_RULE2 - Security access rules for APB Bridge 1 peripherals. Each APB bridge sector is 4 Kbytes, there're 16 sectors in total. */
3766/*! @{ */
3767#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_RTC_RULE_MASK (0x3U)
3768#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_RTC_RULE_SHIFT (0U)
3769/*! RTC_RULE - 0x4003 0000--0x4003 0FFF
3770 */
3771#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_RTC_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_RTC_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_RTC_RULE_MASK)
3772#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_I3C0_RULE_MASK (0x3000000U)
3773#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_I3C0_RULE_SHIFT (24U)
3774/*! I3C0_RULE - 0x4003 6000--0x4003 6FFF
3775 */
3776#define AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_I3C0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_I3C0_RULE_SHIFT)) & AHB_SECURE_CTRL_APB_GRP1_MEM_RULE2_I3C0_RULE_MASK)
3777/*! @} */
3778
3779/*! @name AHB_PERIPH0_SLAVE_RULE0 - Security access rules for AHB peripheral slaves area 0x40100000--0x4010FFFF */
3780/*! @{ */
3781#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_HSGPIO_RULE_MASK (0x3U)
3782#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_HSGPIO_RULE_SHIFT (0U)
3783/*! HSGPIO_RULE - 0x40100000--0x40103FFF
3784 */
3785#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_HSGPIO_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_HSGPIO_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_HSGPIO_RULE_MASK)
3786#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA0_RULE_MASK (0x30U)
3787#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA0_RULE_SHIFT (4U)
3788/*! DMA0_RULE - 0x40104000--0x40104FFF
3789 */
3790#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA0_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA0_RULE_MASK)
3791#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA1_RULE_MASK (0x300U)
3792#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA1_RULE_SHIFT (8U)
3793/*! DMA1_RULE - 0x40105000--0x40105FFF
3794 */
3795#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA1_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DMA1_RULE_MASK)
3796#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM0_RULE_MASK (0x3000U)
3797#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM0_RULE_SHIFT (12U)
3798/*! FLEXCOMM0_RULE - 0x40106000--0x40106FFF
3799 */
3800#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM0_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM0_RULE_MASK)
3801#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM1_RULE_MASK (0x30000U)
3802#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM1_RULE_SHIFT (16U)
3803/*! FLEXCOMM1_RULE - 0x40107000--0x40107FFF
3804 */
3805#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM1_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM1_RULE_MASK)
3806#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM2_RULE_MASK (0x300000U)
3807#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM2_RULE_SHIFT (20U)
3808/*! FLEXCOMM2_RULE - 0x40108000--0x40108FFF
3809 */
3810#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM2_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM2_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM2_RULE_MASK)
3811#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM3_RULE_MASK (0x3000000U)
3812#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM3_RULE_SHIFT (24U)
3813/*! FLEXCOMM3_RULE - 0x40109000--0x40109FFF
3814 */
3815#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM3_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM3_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_FLEXCOMM3_RULE_MASK)
3816#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DEBUG_MAILBOX_RULE_MASK (0x30000000U)
3817#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DEBUG_MAILBOX_RULE_SHIFT (28U)
3818/*! DEBUG_MAILBOX_RULE - 0x4010F000--0x4010FFFF
3819 */
3820#define AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DEBUG_MAILBOX_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DEBUG_MAILBOX_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH0_SLAVE_RULE0_DEBUG_MAILBOX_RULE_MASK)
3821/*! @} */
3822
3823/*! @name AIPS_BRIDGE0_MEM_RULE0 - 0x40110000--0x4011FFFF */
3824/*! @{ */
3825#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_M33_RULE_MASK (0x3U)
3826#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_M33_RULE_SHIFT (0U)
3827/*! MU0_M33_RULE - 0x4011 0000--0x4011 0FFF
3828 */
3829#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_M33_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_M33_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_M33_RULE_MASK)
3830#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_DSP_RULE_MASK (0x30U)
3831#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_DSP_RULE_SHIFT (4U)
3832/*! MU0_DSP_RULE - 0x4011 1000--0x4011 1FFF
3833 */
3834#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_DSP_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_DSP_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_MU0_DSP_RULE_MASK)
3835#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_SEMAPHORE_RULE_MASK (0x300U)
3836#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_SEMAPHORE_RULE_SHIFT (8U)
3837/*! SEMAPHORE_RULE - 0x4011 2000--0x4011 2FFF
3838 */
3839#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_SEMAPHORE_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_SEMAPHORE_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_SEMAPHORE_RULE_MASK)
3840#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_M33_RULE_MASK (0x3000U)
3841#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_M33_RULE_SHIFT (12U)
3842/*! OS_EVENT_TIMER_M33_RULE - 0x4011 3000--0x4011 3FFF
3843 */
3844#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_M33_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_M33_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_M33_RULE_MASK)
3845#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_DSP_RULE_MASK (0x30000U)
3846#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_DSP_RULE_SHIFT (16U)
3847/*! OS_EVENT_TIMER_DSP_RULE - 0x4011 4000--0x4011 4FFF
3848 */
3849#define AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_DSP_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_DSP_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE0_MEM_RULE0_OS_EVENT_TIMER_DSP_RULE_MASK)
3850/*! @} */
3851
3852/*! @name AHB_PERIPH1_SLAVE_RULE0 - the memory map is 0x40120000--0x40127FFF */
3853/*! @{ */
3854#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_CRC_RULE_MASK (0x3U)
3855#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_CRC_RULE_SHIFT (0U)
3856/*! CRC_RULE - Security access rules for AHB peripheral slaves area 0x40120000--0x40120FFF
3857 */
3858#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_CRC_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_CRC_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_CRC_RULE_MASK)
3859#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_DMIC_RULE_MASK (0x30U)
3860#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_DMIC_RULE_SHIFT (4U)
3861/*! DMIC_RULE - 0x40121000--0x40121FFF
3862 */
3863#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_DMIC_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_DMIC_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_DMIC_RULE_MASK)
3864#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM4_RULE_MASK (0x300U)
3865#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM4_RULE_SHIFT (8U)
3866/*! FLEXCOMM4_RULE - 0x40122000--0x40122FFF
3867 */
3868#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM4_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM4_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM4_RULE_MASK)
3869#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM5_RULE_MASK (0x3000U)
3870#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM5_RULE_SHIFT (12U)
3871/*! FLEXCOMM5_RULE - 0x40123000--0x40123FFF
3872 */
3873#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM5_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM5_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM5_RULE_MASK)
3874#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM6_RULE_MASK (0x30000U)
3875#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM6_RULE_SHIFT (16U)
3876/*! FLEXCOMM6_RULE - 0x40124000--0x40124FFF
3877 */
3878#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM6_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM6_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM6_RULE_MASK)
3879#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM7_RULE_MASK (0x300000U)
3880#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM7_RULE_SHIFT (20U)
3881/*! FLEXCOMM7_RULE - 0x40125000--0x40125FFF
3882 */
3883#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM7_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM7_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM7_RULE_MASK)
3884#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM14_RULE_MASK (0x3000000U)
3885#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM14_RULE_SHIFT (24U)
3886/*! FLEXCOMM14_RULE - 0x40126000--0x40126FFF
3887 */
3888#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM14_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM14_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM14_RULE_MASK)
3889#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM15_RULE_MASK (0x30000000U)
3890#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM15_RULE_SHIFT (28U)
3891/*! FLEXCOMM15_RULE - 0x40127000--0x40127FFF
3892 */
3893#define AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM15_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM15_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH1_SLAVE_RULE0_FLEXCOMM15_RULE_MASK)
3894/*! @} */
3895
3896/*! @name AIPS_BRIDGE1_MEM_RULE0 - Security access rules for AIPS Bridge peripherals. Each AIPS bridge sector is 4 Kbytes, there're 16 sectors in total. */
3897/*! @{ */
3898#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE0_MASK (0x3U)
3899#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE0_SHIFT (0U)
3900/*! OTP_RULE0 - 0x4013 0000--0x4013 0FFF
3901 */
3902#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE0_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE0_MASK)
3903#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE1_MASK (0x30U)
3904#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE1_SHIFT (4U)
3905/*! OTP_RULE1 - 0x4013 1000--0x4013 1FFF
3906 */
3907#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE1_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE1_MASK)
3908#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE2_MASK (0x300U)
3909#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE2_SHIFT (8U)
3910/*! OTP_RULE2 - 0x4013 2000--0x4013 2FFF
3911 */
3912#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE2_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE2_MASK)
3913#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE3_MASK (0x3000U)
3914#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE3_SHIFT (12U)
3915/*! OTP_RULE3 - 0x4013 3000--0x4013 3FFF
3916 */
3917#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE3_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_OTP_RULE3_MASK)
3918#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_FLEXSPI_AND_OTFAD_RULE_MASK (0x30000U)
3919#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_FLEXSPI_AND_OTFAD_RULE_SHIFT (16U)
3920/*! FLEXSPI_AND_OTFAD_RULE - 0x4013 4000--0x4013 4FFF
3921 */
3922#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_FLEXSPI_AND_OTFAD_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_FLEXSPI_AND_OTFAD_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_FLEXSPI_AND_OTFAD_RULE_MASK)
3923#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO0_RULE_MASK (0x3000000U)
3924#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO0_RULE_SHIFT (24U)
3925/*! SDIO0_RULE - 0x4013 6000--0x4013 6FFF
3926 */
3927#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO0_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO0_RULE_MASK)
3928#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO1_RULE_MASK (0x30000000U)
3929#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO1_RULE_SHIFT (28U)
3930/*! SDIO1_RULE - 0x4013 7000--0x4013 7FFF
3931 */
3932#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO1_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO1_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE0_SDIO1_RULE_MASK)
3933/*! @} */
3934
3935/*! @name AIPS_BRIDGE1_MEM_RULE1 - Security access rules for AIPS Bridge peripherals. Each AIPS bridge sector is 4 Kbytes, there're 16 sectors in total. */
3936/*! @{ */
3937#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_RNG_RULE_MASK (0x3U)
3938#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_RNG_RULE_SHIFT (0U)
3939/*! RNG_RULE - 0x4013 8000--0x4013 8FFF
3940 */
3941#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_RNG_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_RNG_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_RNG_RULE_MASK)
3942#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ACMP0_RULE_MASK (0x30U)
3943#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ACMP0_RULE_SHIFT (4U)
3944/*! ACMP0_RULE - 0x4013 9000--0x4013 9FFF
3945 */
3946#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ACMP0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ACMP0_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ACMP0_RULE_MASK)
3947#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ADC0_RULE_MASK (0x300U)
3948#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ADC0_RULE_SHIFT (8U)
3949/*! ADC0_RULE - 0x4013 A000--0x4013 AFFF
3950 */
3951#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ADC0_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ADC0_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_ADC0_RULE_MASK)
3952#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_USB_HS_PHY_RULE_MASK (0x3000U)
3953#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_USB_HS_PHY_RULE_SHIFT (12U)
3954/*! USB_HS_PHY_RULE - 0x4013 B000--0x4013 BFFF
3955 */
3956#define AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_USB_HS_PHY_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_USB_HS_PHY_RULE_SHIFT)) & AHB_SECURE_CTRL_AIPS_BRIDGE1_MEM_RULE1_USB_HS_PHY_RULE_MASK)
3957/*! @} */
3958
3959/*! @name AHB_PERIPH2_SLAVE_RULE0 - Security access rules for AHB peripheral slaves area 0x40140000--0x4014BFFF */
3960/*! @{ */
3961#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_RAM_RULE_MASK (0x3U)
3962#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_RAM_RULE_SHIFT (0U)
3963/*! USB_HS_RAM_RULE - 0x40140000--0x40143FFF
3964 */
3965#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_RAM_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_RAM_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_RAM_RULE_MASK)
3966#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_DEV_RULE_MASK (0x30U)
3967#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_DEV_RULE_SHIFT (4U)
3968/*! USB_HS_DEV_RULE - 0x40144000--0x40144FFF
3969 */
3970#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_DEV_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_DEV_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_DEV_RULE_MASK)
3971#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_HOST_RULE_MASK (0x300U)
3972#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_HOST_RULE_SHIFT (8U)
3973/*! USB_HS_HOST_RULE - 0x40145000--0x40145FFF
3974 */
3975#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_HOST_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_HOST_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_USB_HS_HOST_RULE_MASK)
3976#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_SCT_RULE_MASK (0x3000U)
3977#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_SCT_RULE_SHIFT (12U)
3978/*! SCT_RULE - 0x40146000--0x40146FFF
3979 */
3980#define AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_SCT_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_SCT_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH2_SLAVE_RULE0_SCT_RULE_MASK)
3981/*! @} */
3982
3983/*! @name SECURITY_CTRL_MEM_RULE0 - 0x40148000--0x4014BFFF */
3984/*! @{ */
3985#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE0_MASK (0x3U)
3986#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE0_SHIFT (0U)
3987/*! RULE0 - secure control rule0. it can be set when check_reg's write_lock is '0'
3988 */
3989#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE0_SHIFT)) & AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE0_MASK)
3990#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE1_MASK (0x30U)
3991#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE1_SHIFT (4U)
3992/*! RULE1 - secure control rule0. it can be set when check_reg's write_lock is '0'
3993 */
3994#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE1_SHIFT)) & AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE1_MASK)
3995#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE2_MASK (0x300U)
3996#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE2_SHIFT (8U)
3997/*! RULE2 - secure control rule0. it can be set when check_reg's write_lock is '0'
3998 */
3999#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE2_SHIFT)) & AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE2_MASK)
4000#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE3_MASK (0x3000U)
4001#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE3_SHIFT (12U)
4002/*! RULE3 - secure control rule0. it can be set when check_reg's write_lock is '0'
4003 */
4004#define AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE3_SHIFT)) & AHB_SECURE_CTRL_SECURITY_CTRL_MEM_RULE0_RULE3_MASK)
4005/*! @} */
4006
4007/*! @name AHB_PERIPH3_SLAVE_RULE0 - Security access rules for AHB peripheral slaves area 0x40150000--0x40158FFF */
4008/*! @{ */
4009#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_PQ_COPRO_RULE_MASK (0x3U)
4010#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_PQ_COPRO_RULE_SHIFT (0U)
4011/*! PQ_COPRO_RULE - 0x40150000--0x40150FFF
4012 */
4013#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_PQ_COPRO_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_PQ_COPRO_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_PQ_COPRO_RULE_MASK)
4014#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_COPRO_RULE_MASK (0x30U)
4015#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_COPRO_RULE_SHIFT (4U)
4016/*! CASPER_COPRO_RULE - 0x40151000--0x40151FFF
4017 */
4018#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_COPRO_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_COPRO_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_COPRO_RULE_MASK)
4019#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_RAM_RULE_MASK (0x300U)
4020#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_RAM_RULE_SHIFT (8U)
4021/*! CASPER_RAM_RULE - 0x40152000--0x40152FFF
4022 */
4023#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_RAM_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_RAM_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_CASPER_RAM_RULE_MASK)
4024#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_SECURE_GPIO_RULE_MASK (0x3000U)
4025#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_SECURE_GPIO_RULE_SHIFT (12U)
4026/*! SECURE_GPIO_RULE - 0x40154000--0x40157FFF
4027 */
4028#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_SECURE_GPIO_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_SECURE_GPIO_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_SECURE_GPIO_RULE_MASK)
4029#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_HASH_RULE_MASK (0x30000U)
4030#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_HASH_RULE_SHIFT (16U)
4031/*! HASH_RULE - 0x40158000--0x40158FFF
4032 */
4033#define AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_HASH_RULE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_HASH_RULE_SHIFT)) & AHB_SECURE_CTRL_AHB_PERIPH3_SLAVE_RULE0_HASH_RULE_MASK)
4034/*! @} */
4035
4036/*! @name SEC_VIO_ADDR - most recent security violation address for AHB layer n */
4037/*! @{ */
4038#define AHB_SECURE_CTRL_SEC_VIO_ADDR_SEC_VIO_ADDR_MASK (0xFFFFFFFFU)
4039#define AHB_SECURE_CTRL_SEC_VIO_ADDR_SEC_VIO_ADDR_SHIFT (0U)
4040/*! SEC_VIO_ADDR - security violation address for AHB layer
4041 */
4042#define AHB_SECURE_CTRL_SEC_VIO_ADDR_SEC_VIO_ADDR(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_ADDR_SEC_VIO_ADDR_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_ADDR_SEC_VIO_ADDR_MASK)
4043/*! @} */
4044
4045/* The count of AHB_SECURE_CTRL_SEC_VIO_ADDR */
4046#define AHB_SECURE_CTRL_SEC_VIO_ADDR_COUNT (18U)
4047
4048/*! @name SEC_VIO_MISC_INFO - most recent security violation miscellaneous information for AHB layer n */
4049/*! @{ */
4050#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_WRITE_MASK (0x1U)
4051#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_WRITE_SHIFT (0U)
4052/*! SEC_VIO_INFO_WRITE - security violation access read/write indicator, 0: read, 1: write
4053 */
4054#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_WRITE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_WRITE_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_WRITE_MASK)
4055#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_DATA_ACCESS_MASK (0x2U)
4056#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_DATA_ACCESS_SHIFT (1U)
4057/*! SEC_VIO_INFO_DATA_ACCESS - security violation access data/code indicator, 0: code, 1
4058 */
4059#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_DATA_ACCESS(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_DATA_ACCESS_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_DATA_ACCESS_MASK)
4060#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SEC_LEVEL_MASK (0xF0U)
4061#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SEC_LEVEL_SHIFT (4U)
4062/*! SEC_VIO_INFO_MASTER_SEC_LEVEL - bit [5:4]: master sec level and privilege level bit [7:6]: anti-pol value for master sec level and privilege level
4063 */
4064#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SEC_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SEC_LEVEL_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SEC_LEVEL_MASK)
4065#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_MASK (0xF00U)
4066#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SHIFT (8U)
4067/*! SEC_VIO_INFO_MASTER - security violation master number
4068 */
4069#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_SEC_VIO_INFO_MASTER_MASK)
4070/*! @} */
4071
4072/* The count of AHB_SECURE_CTRL_SEC_VIO_MISC_INFO */
4073#define AHB_SECURE_CTRL_SEC_VIO_MISC_INFO_COUNT (18U)
4074
4075/*! @name SEC_VIO_INFO_VALID - security violation address/information registers valid flags */
4076/*! @{ */
4077#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID0_MASK (0x1U)
4078#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID0_SHIFT (0U)
4079/*! VIO_INFO_VALID0 - violation information valid flag for AHB layer 0. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4080 */
4081#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID0(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID0_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID0_MASK)
4082#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID1_MASK (0x2U)
4083#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID1_SHIFT (1U)
4084/*! VIO_INFO_VALID1 - violation information valid flag for AHB layer 1. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4085 */
4086#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID1(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID1_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID1_MASK)
4087#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID2_MASK (0x4U)
4088#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID2_SHIFT (2U)
4089/*! VIO_INFO_VALID2 - violation information valid flag for AHB layer 2. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4090 */
4091#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID2(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID2_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID2_MASK)
4092#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID3_MASK (0x8U)
4093#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID3_SHIFT (3U)
4094/*! VIO_INFO_VALID3 - violation information valid flag for AHB layer 3. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4095 */
4096#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID3(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID3_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID3_MASK)
4097#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID4_MASK (0x10U)
4098#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID4_SHIFT (4U)
4099/*! VIO_INFO_VALID4 - violation information valid flag for AHB layer 4. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4100 */
4101#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID4(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID4_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID4_MASK)
4102#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID5_MASK (0x20U)
4103#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID5_SHIFT (5U)
4104/*! VIO_INFO_VALID5 - violation information valid flag for AHB layer 5. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4105 */
4106#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID5(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID5_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID5_MASK)
4107#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID6_MASK (0x40U)
4108#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID6_SHIFT (6U)
4109/*! VIO_INFO_VALID6 - violation information valid flag for AHB layer 6. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4110 */
4111#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID6(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID6_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID6_MASK)
4112#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID7_MASK (0x80U)
4113#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID7_SHIFT (7U)
4114/*! VIO_INFO_VALID7 - violation information valid flag for AHB layer 7. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4115 */
4116#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID7(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID7_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID7_MASK)
4117#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID8_MASK (0x100U)
4118#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID8_SHIFT (8U)
4119/*! VIO_INFO_VALID8 - violation information valid flag for AHB layer 8. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4120 */
4121#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID8(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID8_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID8_MASK)
4122#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID9_MASK (0x200U)
4123#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID9_SHIFT (9U)
4124/*! VIO_INFO_VALID9 - violation information valid flag for AHB layer 9. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4125 */
4126#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID9(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID9_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID9_MASK)
4127#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID10_MASK (0x400U)
4128#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID10_SHIFT (10U)
4129/*! VIO_INFO_VALID10 - violation information valid flag for AHB layer 10. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4130 */
4131#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID10(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID10_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID10_MASK)
4132#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID11_MASK (0x800U)
4133#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID11_SHIFT (11U)
4134/*! VIO_INFO_VALID11 - violation information valid flag for AHB layer 11. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4135 */
4136#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID11(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID11_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID11_MASK)
4137#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID12_MASK (0x1000U)
4138#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID12_SHIFT (12U)
4139/*! VIO_INFO_VALID12 - violation information valid flag for AHB layer 12. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4140 */
4141#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID12(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID12_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID12_MASK)
4142#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID13_MASK (0x2000U)
4143#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID13_SHIFT (13U)
4144/*! VIO_INFO_VALID13 - violation information valid flag for AHB layer 13. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4145 */
4146#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID13(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID13_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID13_MASK)
4147#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID14_MASK (0x4000U)
4148#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID14_SHIFT (14U)
4149/*! VIO_INFO_VALID14 - violation information valid flag for AHB layer 14. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4150 */
4151#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID14(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID14_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID14_MASK)
4152#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID15_MASK (0x8000U)
4153#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID15_SHIFT (15U)
4154/*! VIO_INFO_VALID15 - violation information valid flag for AHB layer 15. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4155 */
4156#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID15(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID15_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID15_MASK)
4157#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID16_MASK (0x10000U)
4158#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID16_SHIFT (16U)
4159/*! VIO_INFO_VALID16 - violation information valid flag for AHB layer 16. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4160 */
4161#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID16(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID16_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID16_MASK)
4162#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID17_MASK (0x20000U)
4163#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID17_SHIFT (17U)
4164/*! VIO_INFO_VALID17 - violation information valid flag for AHB layer 17. 0: not valid. 1: valid (violation occurred). Write 1 to clear.
4165 */
4166#define AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID17(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID17_SHIFT)) & AHB_SECURE_CTRL_SEC_VIO_INFO_VALID_VIO_INFO_VALID17_MASK)
4167/*! @} */
4168
4169/*! @name SEC_GPIO_MASK0 - Secure GPIO mask for port 0 pins. This register is used to block leakage of Secure interface (GPIOs, I2C, UART configured as secure peripherals) pin states to non-secure world. */
4170/*! @{ */
4171#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN0_SEC_MASK_MASK (0x1U)
4172#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN0_SEC_MASK_SHIFT (0U)
4173#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN0_SEC_MASK_MASK)
4174#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN1_SEC_MASK_MASK (0x2U)
4175#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN1_SEC_MASK_SHIFT (1U)
4176#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN1_SEC_MASK_MASK)
4177#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN2_SEC_MASK_MASK (0x4U)
4178#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN2_SEC_MASK_SHIFT (2U)
4179#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN2_SEC_MASK_MASK)
4180#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN3_SEC_MASK_MASK (0x8U)
4181#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN3_SEC_MASK_SHIFT (3U)
4182#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN3_SEC_MASK_MASK)
4183#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN4_SEC_MASK_MASK (0x10U)
4184#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN4_SEC_MASK_SHIFT (4U)
4185#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN4_SEC_MASK_MASK)
4186#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN5_SEC_MASK_MASK (0x20U)
4187#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN5_SEC_MASK_SHIFT (5U)
4188#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN5_SEC_MASK_MASK)
4189#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN6_SEC_MASK_MASK (0x40U)
4190#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN6_SEC_MASK_SHIFT (6U)
4191#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN6_SEC_MASK_MASK)
4192#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN7_SEC_MASK_MASK (0x80U)
4193#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN7_SEC_MASK_SHIFT (7U)
4194#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN7_SEC_MASK_MASK)
4195#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN8_SEC_MASK_MASK (0x100U)
4196#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN8_SEC_MASK_SHIFT (8U)
4197#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN8_SEC_MASK_MASK)
4198#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN9_SEC_MASK_MASK (0x200U)
4199#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN9_SEC_MASK_SHIFT (9U)
4200#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN9_SEC_MASK_MASK)
4201#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN10_SEC_MASK_MASK (0x400U)
4202#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN10_SEC_MASK_SHIFT (10U)
4203#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN10_SEC_MASK_MASK)
4204#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN11_SEC_MASK_MASK (0x800U)
4205#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN11_SEC_MASK_SHIFT (11U)
4206#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN11_SEC_MASK_MASK)
4207#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN12_SEC_MASK_MASK (0x1000U)
4208#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN12_SEC_MASK_SHIFT (12U)
4209#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN12_SEC_MASK_MASK)
4210#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN13_SEC_MASK_MASK (0x2000U)
4211#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN13_SEC_MASK_SHIFT (13U)
4212#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN13_SEC_MASK_MASK)
4213#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN14_SEC_MASK_MASK (0x4000U)
4214#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN14_SEC_MASK_SHIFT (14U)
4215#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN14_SEC_MASK_MASK)
4216#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN15_SEC_MASK_MASK (0x8000U)
4217#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN15_SEC_MASK_SHIFT (15U)
4218#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN15_SEC_MASK_MASK)
4219#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN16_SEC_MASK_MASK (0x10000U)
4220#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN16_SEC_MASK_SHIFT (16U)
4221#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN16_SEC_MASK_MASK)
4222#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN17_SEC_MASK_MASK (0x20000U)
4223#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN17_SEC_MASK_SHIFT (17U)
4224#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN17_SEC_MASK_MASK)
4225#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN18_SEC_MASK_MASK (0x40000U)
4226#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN18_SEC_MASK_SHIFT (18U)
4227#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN18_SEC_MASK_MASK)
4228#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN19_SEC_MASK_MASK (0x80000U)
4229#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN19_SEC_MASK_SHIFT (19U)
4230#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN19_SEC_MASK_MASK)
4231#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN20_SEC_MASK_MASK (0x100000U)
4232#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN20_SEC_MASK_SHIFT (20U)
4233#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN20_SEC_MASK_MASK)
4234#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN21_SEC_MASK_MASK (0x200000U)
4235#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN21_SEC_MASK_SHIFT (21U)
4236#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN21_SEC_MASK_MASK)
4237#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN22_SEC_MASK_MASK (0x400000U)
4238#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN22_SEC_MASK_SHIFT (22U)
4239#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN22_SEC_MASK_MASK)
4240#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN23_SEC_MASK_MASK (0x800000U)
4241#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN23_SEC_MASK_SHIFT (23U)
4242#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN23_SEC_MASK_MASK)
4243#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN24_SEC_MASK_MASK (0x1000000U)
4244#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN24_SEC_MASK_SHIFT (24U)
4245#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN24_SEC_MASK_MASK)
4246#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN25_SEC_MASK_MASK (0x2000000U)
4247#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN25_SEC_MASK_SHIFT (25U)
4248#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN25_SEC_MASK_MASK)
4249#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN26_SEC_MASK_MASK (0x4000000U)
4250#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN26_SEC_MASK_SHIFT (26U)
4251#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN26_SEC_MASK_MASK)
4252#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN27_SEC_MASK_MASK (0x8000000U)
4253#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN27_SEC_MASK_SHIFT (27U)
4254#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN27_SEC_MASK_MASK)
4255#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN28_SEC_MASK_MASK (0x10000000U)
4256#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN28_SEC_MASK_SHIFT (28U)
4257#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN28_SEC_MASK_MASK)
4258#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN29_SEC_MASK_MASK (0x20000000U)
4259#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN29_SEC_MASK_SHIFT (29U)
4260#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN29_SEC_MASK_MASK)
4261#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN30_SEC_MASK_MASK (0x40000000U)
4262#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN30_SEC_MASK_SHIFT (30U)
4263#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN30_SEC_MASK_MASK)
4264#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN31_SEC_MASK_MASK (0x80000000U)
4265#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN31_SEC_MASK_SHIFT (31U)
4266#define AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK0_PIO0_PIN31_SEC_MASK_MASK)
4267/*! @} */
4268
4269/*! @name SEC_GPIO_MASK1 - Secure GPIO mask for port 1 pins. */
4270/*! @{ */
4271#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN0_SEC_MASK_MASK (0x1U)
4272#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN0_SEC_MASK_SHIFT (0U)
4273#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN0_SEC_MASK_MASK)
4274#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN1_SEC_MASK_MASK (0x2U)
4275#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN1_SEC_MASK_SHIFT (1U)
4276#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN1_SEC_MASK_MASK)
4277#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN2_SEC_MASK_MASK (0x4U)
4278#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN2_SEC_MASK_SHIFT (2U)
4279#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN2_SEC_MASK_MASK)
4280#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN3_SEC_MASK_MASK (0x8U)
4281#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN3_SEC_MASK_SHIFT (3U)
4282#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN3_SEC_MASK_MASK)
4283#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN4_SEC_MASK_MASK (0x10U)
4284#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN4_SEC_MASK_SHIFT (4U)
4285#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN4_SEC_MASK_MASK)
4286#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN5_SEC_MASK_MASK (0x20U)
4287#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN5_SEC_MASK_SHIFT (5U)
4288#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN5_SEC_MASK_MASK)
4289#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN6_SEC_MASK_MASK (0x40U)
4290#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN6_SEC_MASK_SHIFT (6U)
4291#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN6_SEC_MASK_MASK)
4292#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN7_SEC_MASK_MASK (0x80U)
4293#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN7_SEC_MASK_SHIFT (7U)
4294#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN7_SEC_MASK_MASK)
4295#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN8_SEC_MASK_MASK (0x100U)
4296#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN8_SEC_MASK_SHIFT (8U)
4297#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN8_SEC_MASK_MASK)
4298#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN9_SEC_MASK_MASK (0x200U)
4299#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN9_SEC_MASK_SHIFT (9U)
4300#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN9_SEC_MASK_MASK)
4301#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN10_SEC_MASK_MASK (0x400U)
4302#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN10_SEC_MASK_SHIFT (10U)
4303#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN10_SEC_MASK_MASK)
4304#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN11_SEC_MASK_MASK (0x800U)
4305#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN11_SEC_MASK_SHIFT (11U)
4306#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN11_SEC_MASK_MASK)
4307#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN12_SEC_MASK_MASK (0x1000U)
4308#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN12_SEC_MASK_SHIFT (12U)
4309#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN12_SEC_MASK_MASK)
4310#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN13_SEC_MASK_MASK (0x2000U)
4311#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN13_SEC_MASK_SHIFT (13U)
4312#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN13_SEC_MASK_MASK)
4313#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN14_SEC_MASK_MASK (0x4000U)
4314#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN14_SEC_MASK_SHIFT (14U)
4315#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN14_SEC_MASK_MASK)
4316#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN15_SEC_MASK_MASK (0x8000U)
4317#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN15_SEC_MASK_SHIFT (15U)
4318#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN15_SEC_MASK_MASK)
4319#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN16_SEC_MASK_MASK (0x10000U)
4320#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN16_SEC_MASK_SHIFT (16U)
4321#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN16_SEC_MASK_MASK)
4322#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN17_SEC_MASK_MASK (0x20000U)
4323#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN17_SEC_MASK_SHIFT (17U)
4324#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN17_SEC_MASK_MASK)
4325#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN18_SEC_MASK_MASK (0x40000U)
4326#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN18_SEC_MASK_SHIFT (18U)
4327#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN18_SEC_MASK_MASK)
4328#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN19_SEC_MASK_MASK (0x80000U)
4329#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN19_SEC_MASK_SHIFT (19U)
4330#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN19_SEC_MASK_MASK)
4331#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN20_SEC_MASK_MASK (0x100000U)
4332#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN20_SEC_MASK_SHIFT (20U)
4333#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN20_SEC_MASK_MASK)
4334#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN21_SEC_MASK_MASK (0x200000U)
4335#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN21_SEC_MASK_SHIFT (21U)
4336#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN21_SEC_MASK_MASK)
4337#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN22_SEC_MASK_MASK (0x400000U)
4338#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN22_SEC_MASK_SHIFT (22U)
4339#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN22_SEC_MASK_MASK)
4340#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN23_SEC_MASK_MASK (0x800000U)
4341#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN23_SEC_MASK_SHIFT (23U)
4342#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN23_SEC_MASK_MASK)
4343#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN24_SEC_MASK_MASK (0x1000000U)
4344#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN24_SEC_MASK_SHIFT (24U)
4345#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN24_SEC_MASK_MASK)
4346#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN25_SEC_MASK_MASK (0x2000000U)
4347#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN25_SEC_MASK_SHIFT (25U)
4348#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN25_SEC_MASK_MASK)
4349#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN26_SEC_MASK_MASK (0x4000000U)
4350#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN26_SEC_MASK_SHIFT (26U)
4351#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN26_SEC_MASK_MASK)
4352#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN27_SEC_MASK_MASK (0x8000000U)
4353#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN27_SEC_MASK_SHIFT (27U)
4354#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN27_SEC_MASK_MASK)
4355#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN28_SEC_MASK_MASK (0x10000000U)
4356#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN28_SEC_MASK_SHIFT (28U)
4357#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN28_SEC_MASK_MASK)
4358#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN29_SEC_MASK_MASK (0x20000000U)
4359#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN29_SEC_MASK_SHIFT (29U)
4360#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN29_SEC_MASK_MASK)
4361#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN30_SEC_MASK_MASK (0x40000000U)
4362#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN30_SEC_MASK_SHIFT (30U)
4363#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN30_SEC_MASK_MASK)
4364#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN31_SEC_MASK_MASK (0x80000000U)
4365#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN31_SEC_MASK_SHIFT (31U)
4366#define AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK1_PIO1_PIN31_SEC_MASK_MASK)
4367/*! @} */
4368
4369/*! @name SEC_GPIO_MASK2 - Secure GPIO mask for port 2 pins. */
4370/*! @{ */
4371#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN0_SEC_MASK_MASK (0x1U)
4372#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN0_SEC_MASK_SHIFT (0U)
4373#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN0_SEC_MASK_MASK)
4374#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN1_SEC_MASK_MASK (0x2U)
4375#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN1_SEC_MASK_SHIFT (1U)
4376#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN1_SEC_MASK_MASK)
4377#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN2_SEC_MASK_MASK (0x4U)
4378#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN2_SEC_MASK_SHIFT (2U)
4379#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN2_SEC_MASK_MASK)
4380#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN3_SEC_MASK_MASK (0x8U)
4381#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN3_SEC_MASK_SHIFT (3U)
4382#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN3_SEC_MASK_MASK)
4383#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN4_SEC_MASK_MASK (0x10U)
4384#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN4_SEC_MASK_SHIFT (4U)
4385#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN4_SEC_MASK_MASK)
4386#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN5_SEC_MASK_MASK (0x20U)
4387#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN5_SEC_MASK_SHIFT (5U)
4388#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN5_SEC_MASK_MASK)
4389#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN6_SEC_MASK_MASK (0x40U)
4390#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN6_SEC_MASK_SHIFT (6U)
4391#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN6_SEC_MASK_MASK)
4392#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN7_SEC_MASK_MASK (0x80U)
4393#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN7_SEC_MASK_SHIFT (7U)
4394#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN7_SEC_MASK_MASK)
4395#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN8_SEC_MASK_MASK (0x100U)
4396#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN8_SEC_MASK_SHIFT (8U)
4397#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN8_SEC_MASK_MASK)
4398#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN9_SEC_MASK_MASK (0x200U)
4399#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN9_SEC_MASK_SHIFT (9U)
4400#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN9_SEC_MASK_MASK)
4401#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN10_SEC_MASK_MASK (0x400U)
4402#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN10_SEC_MASK_SHIFT (10U)
4403#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN10_SEC_MASK_MASK)
4404#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN11_SEC_MASK_MASK (0x800U)
4405#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN11_SEC_MASK_SHIFT (11U)
4406#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN11_SEC_MASK_MASK)
4407#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN12_SEC_MASK_MASK (0x1000U)
4408#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN12_SEC_MASK_SHIFT (12U)
4409#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN12_SEC_MASK_MASK)
4410#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN13_SEC_MASK_MASK (0x2000U)
4411#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN13_SEC_MASK_SHIFT (13U)
4412#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN13_SEC_MASK_MASK)
4413#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN14_SEC_MASK_MASK (0x4000U)
4414#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN14_SEC_MASK_SHIFT (14U)
4415#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN14_SEC_MASK_MASK)
4416#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN15_SEC_MASK_MASK (0x8000U)
4417#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN15_SEC_MASK_SHIFT (15U)
4418#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN15_SEC_MASK_MASK)
4419#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN16_SEC_MASK_MASK (0x10000U)
4420#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN16_SEC_MASK_SHIFT (16U)
4421#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN16_SEC_MASK_MASK)
4422#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN17_SEC_MASK_MASK (0x20000U)
4423#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN17_SEC_MASK_SHIFT (17U)
4424#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN17_SEC_MASK_MASK)
4425#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN18_SEC_MASK_MASK (0x40000U)
4426#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN18_SEC_MASK_SHIFT (18U)
4427#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN18_SEC_MASK_MASK)
4428#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN19_SEC_MASK_MASK (0x80000U)
4429#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN19_SEC_MASK_SHIFT (19U)
4430#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN19_SEC_MASK_MASK)
4431#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN20_SEC_MASK_MASK (0x100000U)
4432#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN20_SEC_MASK_SHIFT (20U)
4433#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN20_SEC_MASK_MASK)
4434#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN21_SEC_MASK_MASK (0x200000U)
4435#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN21_SEC_MASK_SHIFT (21U)
4436#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN21_SEC_MASK_MASK)
4437#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN22_SEC_MASK_MASK (0x400000U)
4438#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN22_SEC_MASK_SHIFT (22U)
4439#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN22_SEC_MASK_MASK)
4440#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN23_SEC_MASK_MASK (0x800000U)
4441#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN23_SEC_MASK_SHIFT (23U)
4442#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN23_SEC_MASK_MASK)
4443#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN24_SEC_MASK_MASK (0x1000000U)
4444#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN24_SEC_MASK_SHIFT (24U)
4445#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN24_SEC_MASK_MASK)
4446#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN25_SEC_MASK_MASK (0x2000000U)
4447#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN25_SEC_MASK_SHIFT (25U)
4448#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN25_SEC_MASK_MASK)
4449#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN26_SEC_MASK_MASK (0x4000000U)
4450#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN26_SEC_MASK_SHIFT (26U)
4451#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN26_SEC_MASK_MASK)
4452#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN27_SEC_MASK_MASK (0x8000000U)
4453#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN27_SEC_MASK_SHIFT (27U)
4454#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN27_SEC_MASK_MASK)
4455#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN28_SEC_MASK_MASK (0x10000000U)
4456#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN28_SEC_MASK_SHIFT (28U)
4457#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN28_SEC_MASK_MASK)
4458#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN29_SEC_MASK_MASK (0x20000000U)
4459#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN29_SEC_MASK_SHIFT (29U)
4460#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN29_SEC_MASK_MASK)
4461#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN30_SEC_MASK_MASK (0x40000000U)
4462#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN30_SEC_MASK_SHIFT (30U)
4463#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN30_SEC_MASK_MASK)
4464#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN31_SEC_MASK_MASK (0x80000000U)
4465#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN31_SEC_MASK_SHIFT (31U)
4466#define AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK2_PIO2_PIN31_SEC_MASK_MASK)
4467/*! @} */
4468
4469/*! @name SEC_GPIO_MASK3 - Secure GPIO mask for port 3 pins. */
4470/*! @{ */
4471#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN0_SEC_MASK_MASK (0x1U)
4472#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN0_SEC_MASK_SHIFT (0U)
4473#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN0_SEC_MASK_MASK)
4474#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN1_SEC_MASK_MASK (0x2U)
4475#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN1_SEC_MASK_SHIFT (1U)
4476#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN1_SEC_MASK_MASK)
4477#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN2_SEC_MASK_MASK (0x4U)
4478#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN2_SEC_MASK_SHIFT (2U)
4479#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN2_SEC_MASK_MASK)
4480#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN3_SEC_MASK_MASK (0x8U)
4481#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN3_SEC_MASK_SHIFT (3U)
4482#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN3_SEC_MASK_MASK)
4483#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN4_SEC_MASK_MASK (0x10U)
4484#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN4_SEC_MASK_SHIFT (4U)
4485#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN4_SEC_MASK_MASK)
4486#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN5_SEC_MASK_MASK (0x20U)
4487#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN5_SEC_MASK_SHIFT (5U)
4488#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN5_SEC_MASK_MASK)
4489#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN6_SEC_MASK_MASK (0x40U)
4490#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN6_SEC_MASK_SHIFT (6U)
4491#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN6_SEC_MASK_MASK)
4492#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN7_SEC_MASK_MASK (0x80U)
4493#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN7_SEC_MASK_SHIFT (7U)
4494#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN7_SEC_MASK_MASK)
4495#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN8_SEC_MASK_MASK (0x100U)
4496#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN8_SEC_MASK_SHIFT (8U)
4497#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN8_SEC_MASK_MASK)
4498#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN9_SEC_MASK_MASK (0x200U)
4499#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN9_SEC_MASK_SHIFT (9U)
4500#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN9_SEC_MASK_MASK)
4501#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN10_SEC_MASK_MASK (0x400U)
4502#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN10_SEC_MASK_SHIFT (10U)
4503#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN10_SEC_MASK_MASK)
4504#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN11_SEC_MASK_MASK (0x800U)
4505#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN11_SEC_MASK_SHIFT (11U)
4506#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN11_SEC_MASK_MASK)
4507#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN12_SEC_MASK_MASK (0x1000U)
4508#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN12_SEC_MASK_SHIFT (12U)
4509#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN12_SEC_MASK_MASK)
4510#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN13_SEC_MASK_MASK (0x2000U)
4511#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN13_SEC_MASK_SHIFT (13U)
4512#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN13_SEC_MASK_MASK)
4513#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN14_SEC_MASK_MASK (0x4000U)
4514#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN14_SEC_MASK_SHIFT (14U)
4515#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN14_SEC_MASK_MASK)
4516#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN15_SEC_MASK_MASK (0x8000U)
4517#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN15_SEC_MASK_SHIFT (15U)
4518#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN15_SEC_MASK_MASK)
4519#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN16_SEC_MASK_MASK (0x10000U)
4520#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN16_SEC_MASK_SHIFT (16U)
4521#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN16_SEC_MASK_MASK)
4522#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN17_SEC_MASK_MASK (0x20000U)
4523#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN17_SEC_MASK_SHIFT (17U)
4524#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN17_SEC_MASK_MASK)
4525#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN18_SEC_MASK_MASK (0x40000U)
4526#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN18_SEC_MASK_SHIFT (18U)
4527#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN18_SEC_MASK_MASK)
4528#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN19_SEC_MASK_MASK (0x80000U)
4529#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN19_SEC_MASK_SHIFT (19U)
4530#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN19_SEC_MASK_MASK)
4531#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN20_SEC_MASK_MASK (0x100000U)
4532#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN20_SEC_MASK_SHIFT (20U)
4533#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN20_SEC_MASK_MASK)
4534#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN21_SEC_MASK_MASK (0x200000U)
4535#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN21_SEC_MASK_SHIFT (21U)
4536#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN21_SEC_MASK_MASK)
4537#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN22_SEC_MASK_MASK (0x400000U)
4538#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN22_SEC_MASK_SHIFT (22U)
4539#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN22_SEC_MASK_MASK)
4540#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN23_SEC_MASK_MASK (0x800000U)
4541#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN23_SEC_MASK_SHIFT (23U)
4542#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN23_SEC_MASK_MASK)
4543#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN24_SEC_MASK_MASK (0x1000000U)
4544#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN24_SEC_MASK_SHIFT (24U)
4545#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN24_SEC_MASK_MASK)
4546#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN25_SEC_MASK_MASK (0x2000000U)
4547#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN25_SEC_MASK_SHIFT (25U)
4548#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN25_SEC_MASK_MASK)
4549#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN26_SEC_MASK_MASK (0x4000000U)
4550#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN26_SEC_MASK_SHIFT (26U)
4551#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN26_SEC_MASK_MASK)
4552#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN27_SEC_MASK_MASK (0x8000000U)
4553#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN27_SEC_MASK_SHIFT (27U)
4554#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN27_SEC_MASK_MASK)
4555#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN28_SEC_MASK_MASK (0x10000000U)
4556#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN28_SEC_MASK_SHIFT (28U)
4557#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN28_SEC_MASK_MASK)
4558#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN29_SEC_MASK_MASK (0x20000000U)
4559#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN29_SEC_MASK_SHIFT (29U)
4560#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN29_SEC_MASK_MASK)
4561#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN30_SEC_MASK_MASK (0x40000000U)
4562#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN30_SEC_MASK_SHIFT (30U)
4563#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN30_SEC_MASK_MASK)
4564#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN31_SEC_MASK_MASK (0x80000000U)
4565#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN31_SEC_MASK_SHIFT (31U)
4566#define AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK3_PIO3_PIN31_SEC_MASK_MASK)
4567/*! @} */
4568
4569/*! @name SEC_GPIO_MASK4 - Secure GPIO mask for port 4 pins. */
4570/*! @{ */
4571#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN0_SEC_MASK_MASK (0x1U)
4572#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN0_SEC_MASK_SHIFT (0U)
4573#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN0_SEC_MASK_MASK)
4574#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN1_SEC_MASK_MASK (0x2U)
4575#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN1_SEC_MASK_SHIFT (1U)
4576#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN1_SEC_MASK_MASK)
4577#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN2_SEC_MASK_MASK (0x4U)
4578#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN2_SEC_MASK_SHIFT (2U)
4579#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN2_SEC_MASK_MASK)
4580#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN3_SEC_MASK_MASK (0x8U)
4581#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN3_SEC_MASK_SHIFT (3U)
4582#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN3_SEC_MASK_MASK)
4583#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN4_SEC_MASK_MASK (0x10U)
4584#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN4_SEC_MASK_SHIFT (4U)
4585#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN4_SEC_MASK_MASK)
4586#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN5_SEC_MASK_MASK (0x20U)
4587#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN5_SEC_MASK_SHIFT (5U)
4588#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN5_SEC_MASK_MASK)
4589#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN6_SEC_MASK_MASK (0x40U)
4590#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN6_SEC_MASK_SHIFT (6U)
4591#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN6_SEC_MASK_MASK)
4592#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN7_SEC_MASK_MASK (0x80U)
4593#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN7_SEC_MASK_SHIFT (7U)
4594#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN7_SEC_MASK_MASK)
4595#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN8_SEC_MASK_MASK (0x100U)
4596#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN8_SEC_MASK_SHIFT (8U)
4597#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN8_SEC_MASK_MASK)
4598#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN9_SEC_MASK_MASK (0x200U)
4599#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN9_SEC_MASK_SHIFT (9U)
4600#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN9_SEC_MASK_MASK)
4601#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN10_SEC_MASK_MASK (0x400U)
4602#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN10_SEC_MASK_SHIFT (10U)
4603#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN10_SEC_MASK_MASK)
4604#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN11_SEC_MASK_MASK (0x800U)
4605#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN11_SEC_MASK_SHIFT (11U)
4606#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN11_SEC_MASK_MASK)
4607#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN12_SEC_MASK_MASK (0x1000U)
4608#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN12_SEC_MASK_SHIFT (12U)
4609#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN12_SEC_MASK_MASK)
4610#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN13_SEC_MASK_MASK (0x2000U)
4611#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN13_SEC_MASK_SHIFT (13U)
4612#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN13_SEC_MASK_MASK)
4613#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN14_SEC_MASK_MASK (0x4000U)
4614#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN14_SEC_MASK_SHIFT (14U)
4615#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN14_SEC_MASK_MASK)
4616#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN15_SEC_MASK_MASK (0x8000U)
4617#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN15_SEC_MASK_SHIFT (15U)
4618#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN15_SEC_MASK_MASK)
4619#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN16_SEC_MASK_MASK (0x10000U)
4620#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN16_SEC_MASK_SHIFT (16U)
4621#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN16_SEC_MASK_MASK)
4622#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN17_SEC_MASK_MASK (0x20000U)
4623#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN17_SEC_MASK_SHIFT (17U)
4624#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN17_SEC_MASK_MASK)
4625#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN18_SEC_MASK_MASK (0x40000U)
4626#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN18_SEC_MASK_SHIFT (18U)
4627#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN18_SEC_MASK_MASK)
4628#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN19_SEC_MASK_MASK (0x80000U)
4629#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN19_SEC_MASK_SHIFT (19U)
4630#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN19_SEC_MASK_MASK)
4631#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN20_SEC_MASK_MASK (0x100000U)
4632#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN20_SEC_MASK_SHIFT (20U)
4633#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN20_SEC_MASK_MASK)
4634#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN21_SEC_MASK_MASK (0x200000U)
4635#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN21_SEC_MASK_SHIFT (21U)
4636#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN21_SEC_MASK_MASK)
4637#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN22_SEC_MASK_MASK (0x400000U)
4638#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN22_SEC_MASK_SHIFT (22U)
4639#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN22_SEC_MASK_MASK)
4640#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN23_SEC_MASK_MASK (0x800000U)
4641#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN23_SEC_MASK_SHIFT (23U)
4642#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN23_SEC_MASK_MASK)
4643#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN24_SEC_MASK_MASK (0x1000000U)
4644#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN24_SEC_MASK_SHIFT (24U)
4645#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN24_SEC_MASK_MASK)
4646#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN25_SEC_MASK_MASK (0x2000000U)
4647#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN25_SEC_MASK_SHIFT (25U)
4648#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN25_SEC_MASK_MASK)
4649#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN26_SEC_MASK_MASK (0x4000000U)
4650#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN26_SEC_MASK_SHIFT (26U)
4651#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN26_SEC_MASK_MASK)
4652#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN27_SEC_MASK_MASK (0x8000000U)
4653#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN27_SEC_MASK_SHIFT (27U)
4654#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN27_SEC_MASK_MASK)
4655#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN28_SEC_MASK_MASK (0x10000000U)
4656#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN28_SEC_MASK_SHIFT (28U)
4657#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN28_SEC_MASK_MASK)
4658#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN29_SEC_MASK_MASK (0x20000000U)
4659#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN29_SEC_MASK_SHIFT (29U)
4660#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN29_SEC_MASK_MASK)
4661#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN30_SEC_MASK_MASK (0x40000000U)
4662#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN30_SEC_MASK_SHIFT (30U)
4663#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN30_SEC_MASK_MASK)
4664#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN31_SEC_MASK_MASK (0x80000000U)
4665#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN31_SEC_MASK_SHIFT (31U)
4666#define AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK4_PIO4_PIN31_SEC_MASK_MASK)
4667/*! @} */
4668
4669/*! @name SEC_GPIO_MASK5 - Secure GPIO mask for port 5 pins. */
4670/*! @{ */
4671#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN0_SEC_MASK_MASK (0x1U)
4672#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN0_SEC_MASK_SHIFT (0U)
4673#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN0_SEC_MASK_MASK)
4674#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN1_SEC_MASK_MASK (0x2U)
4675#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN1_SEC_MASK_SHIFT (1U)
4676#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN1_SEC_MASK_MASK)
4677#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN2_SEC_MASK_MASK (0x4U)
4678#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN2_SEC_MASK_SHIFT (2U)
4679#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN2_SEC_MASK_MASK)
4680#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN3_SEC_MASK_MASK (0x8U)
4681#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN3_SEC_MASK_SHIFT (3U)
4682#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN3_SEC_MASK_MASK)
4683#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN4_SEC_MASK_MASK (0x10U)
4684#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN4_SEC_MASK_SHIFT (4U)
4685#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN4_SEC_MASK_MASK)
4686#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN5_SEC_MASK_MASK (0x20U)
4687#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN5_SEC_MASK_SHIFT (5U)
4688#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN5_SEC_MASK_MASK)
4689#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN6_SEC_MASK_MASK (0x40U)
4690#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN6_SEC_MASK_SHIFT (6U)
4691#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN6_SEC_MASK_MASK)
4692#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN7_SEC_MASK_MASK (0x80U)
4693#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN7_SEC_MASK_SHIFT (7U)
4694#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN7_SEC_MASK_MASK)
4695#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN8_SEC_MASK_MASK (0x100U)
4696#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN8_SEC_MASK_SHIFT (8U)
4697#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN8_SEC_MASK_MASK)
4698#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN9_SEC_MASK_MASK (0x200U)
4699#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN9_SEC_MASK_SHIFT (9U)
4700#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN9_SEC_MASK_MASK)
4701#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN10_SEC_MASK_MASK (0x400U)
4702#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN10_SEC_MASK_SHIFT (10U)
4703#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN10_SEC_MASK_MASK)
4704#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN11_SEC_MASK_MASK (0x800U)
4705#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN11_SEC_MASK_SHIFT (11U)
4706#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN11_SEC_MASK_MASK)
4707#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN12_SEC_MASK_MASK (0x1000U)
4708#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN12_SEC_MASK_SHIFT (12U)
4709#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN12_SEC_MASK_MASK)
4710#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN13_SEC_MASK_MASK (0x2000U)
4711#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN13_SEC_MASK_SHIFT (13U)
4712#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN13_SEC_MASK_MASK)
4713#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN14_SEC_MASK_MASK (0x4000U)
4714#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN14_SEC_MASK_SHIFT (14U)
4715#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN14_SEC_MASK_MASK)
4716#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN15_SEC_MASK_MASK (0x8000U)
4717#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN15_SEC_MASK_SHIFT (15U)
4718#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN15_SEC_MASK_MASK)
4719#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN16_SEC_MASK_MASK (0x10000U)
4720#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN16_SEC_MASK_SHIFT (16U)
4721#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN16_SEC_MASK_MASK)
4722#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN17_SEC_MASK_MASK (0x20000U)
4723#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN17_SEC_MASK_SHIFT (17U)
4724#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN17_SEC_MASK_MASK)
4725#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN18_SEC_MASK_MASK (0x40000U)
4726#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN18_SEC_MASK_SHIFT (18U)
4727#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN18_SEC_MASK_MASK)
4728#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN19_SEC_MASK_MASK (0x80000U)
4729#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN19_SEC_MASK_SHIFT (19U)
4730#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN19_SEC_MASK_MASK)
4731#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN20_SEC_MASK_MASK (0x100000U)
4732#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN20_SEC_MASK_SHIFT (20U)
4733#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN20_SEC_MASK_MASK)
4734#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN21_SEC_MASK_MASK (0x200000U)
4735#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN21_SEC_MASK_SHIFT (21U)
4736#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN21_SEC_MASK_MASK)
4737#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN22_SEC_MASK_MASK (0x400000U)
4738#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN22_SEC_MASK_SHIFT (22U)
4739#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN22_SEC_MASK_MASK)
4740#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN23_SEC_MASK_MASK (0x800000U)
4741#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN23_SEC_MASK_SHIFT (23U)
4742#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN23_SEC_MASK_MASK)
4743#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN24_SEC_MASK_MASK (0x1000000U)
4744#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN24_SEC_MASK_SHIFT (24U)
4745#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN24_SEC_MASK_MASK)
4746#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN25_SEC_MASK_MASK (0x2000000U)
4747#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN25_SEC_MASK_SHIFT (25U)
4748#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN25_SEC_MASK_MASK)
4749#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN26_SEC_MASK_MASK (0x4000000U)
4750#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN26_SEC_MASK_SHIFT (26U)
4751#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN26_SEC_MASK_MASK)
4752#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN27_SEC_MASK_MASK (0x8000000U)
4753#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN27_SEC_MASK_SHIFT (27U)
4754#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN27_SEC_MASK_MASK)
4755#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN28_SEC_MASK_MASK (0x10000000U)
4756#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN28_SEC_MASK_SHIFT (28U)
4757#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN28_SEC_MASK_MASK)
4758#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN29_SEC_MASK_MASK (0x20000000U)
4759#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN29_SEC_MASK_SHIFT (29U)
4760#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN29_SEC_MASK_MASK)
4761#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN30_SEC_MASK_MASK (0x40000000U)
4762#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN30_SEC_MASK_SHIFT (30U)
4763#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN30_SEC_MASK_MASK)
4764#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN31_SEC_MASK_MASK (0x80000000U)
4765#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN31_SEC_MASK_SHIFT (31U)
4766#define AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK5_PIO5_PIN31_SEC_MASK_MASK)
4767/*! @} */
4768
4769/*! @name SEC_GPIO_MASK6 - Secure GPIO mask for port 6 pins. */
4770/*! @{ */
4771#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN0_SEC_MASK_MASK (0x1U)
4772#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN0_SEC_MASK_SHIFT (0U)
4773#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN0_SEC_MASK_MASK)
4774#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN1_SEC_MASK_MASK (0x2U)
4775#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN1_SEC_MASK_SHIFT (1U)
4776#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN1_SEC_MASK_MASK)
4777#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN2_SEC_MASK_MASK (0x4U)
4778#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN2_SEC_MASK_SHIFT (2U)
4779#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN2_SEC_MASK_MASK)
4780#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN3_SEC_MASK_MASK (0x8U)
4781#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN3_SEC_MASK_SHIFT (3U)
4782#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN3_SEC_MASK_MASK)
4783#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN4_SEC_MASK_MASK (0x10U)
4784#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN4_SEC_MASK_SHIFT (4U)
4785#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN4_SEC_MASK_MASK)
4786#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN5_SEC_MASK_MASK (0x20U)
4787#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN5_SEC_MASK_SHIFT (5U)
4788#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN5_SEC_MASK_MASK)
4789#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN6_SEC_MASK_MASK (0x40U)
4790#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN6_SEC_MASK_SHIFT (6U)
4791#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN6_SEC_MASK_MASK)
4792#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN7_SEC_MASK_MASK (0x80U)
4793#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN7_SEC_MASK_SHIFT (7U)
4794#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN7_SEC_MASK_MASK)
4795#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN8_SEC_MASK_MASK (0x100U)
4796#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN8_SEC_MASK_SHIFT (8U)
4797#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN8_SEC_MASK_MASK)
4798#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN9_SEC_MASK_MASK (0x200U)
4799#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN9_SEC_MASK_SHIFT (9U)
4800#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN9_SEC_MASK_MASK)
4801#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN10_SEC_MASK_MASK (0x400U)
4802#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN10_SEC_MASK_SHIFT (10U)
4803#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN10_SEC_MASK_MASK)
4804#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN11_SEC_MASK_MASK (0x800U)
4805#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN11_SEC_MASK_SHIFT (11U)
4806#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN11_SEC_MASK_MASK)
4807#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN12_SEC_MASK_MASK (0x1000U)
4808#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN12_SEC_MASK_SHIFT (12U)
4809#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN12_SEC_MASK_MASK)
4810#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN13_SEC_MASK_MASK (0x2000U)
4811#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN13_SEC_MASK_SHIFT (13U)
4812#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN13_SEC_MASK_MASK)
4813#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN14_SEC_MASK_MASK (0x4000U)
4814#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN14_SEC_MASK_SHIFT (14U)
4815#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN14_SEC_MASK_MASK)
4816#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN15_SEC_MASK_MASK (0x8000U)
4817#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN15_SEC_MASK_SHIFT (15U)
4818#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN15_SEC_MASK_MASK)
4819#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN16_SEC_MASK_MASK (0x10000U)
4820#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN16_SEC_MASK_SHIFT (16U)
4821#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN16_SEC_MASK_MASK)
4822#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN17_SEC_MASK_MASK (0x20000U)
4823#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN17_SEC_MASK_SHIFT (17U)
4824#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN17_SEC_MASK_MASK)
4825#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN18_SEC_MASK_MASK (0x40000U)
4826#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN18_SEC_MASK_SHIFT (18U)
4827#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN18_SEC_MASK_MASK)
4828#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN19_SEC_MASK_MASK (0x80000U)
4829#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN19_SEC_MASK_SHIFT (19U)
4830#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN19_SEC_MASK_MASK)
4831#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN20_SEC_MASK_MASK (0x100000U)
4832#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN20_SEC_MASK_SHIFT (20U)
4833#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN20_SEC_MASK_MASK)
4834#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN21_SEC_MASK_MASK (0x200000U)
4835#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN21_SEC_MASK_SHIFT (21U)
4836#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN21_SEC_MASK_MASK)
4837#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN22_SEC_MASK_MASK (0x400000U)
4838#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN22_SEC_MASK_SHIFT (22U)
4839#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN22_SEC_MASK_MASK)
4840#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN23_SEC_MASK_MASK (0x800000U)
4841#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN23_SEC_MASK_SHIFT (23U)
4842#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN23_SEC_MASK_MASK)
4843#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN24_SEC_MASK_MASK (0x1000000U)
4844#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN24_SEC_MASK_SHIFT (24U)
4845#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN24_SEC_MASK_MASK)
4846#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN25_SEC_MASK_MASK (0x2000000U)
4847#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN25_SEC_MASK_SHIFT (25U)
4848#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN25_SEC_MASK_MASK)
4849#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN26_SEC_MASK_MASK (0x4000000U)
4850#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN26_SEC_MASK_SHIFT (26U)
4851#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN26_SEC_MASK_MASK)
4852#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN27_SEC_MASK_MASK (0x8000000U)
4853#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN27_SEC_MASK_SHIFT (27U)
4854#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN27_SEC_MASK_MASK)
4855#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN28_SEC_MASK_MASK (0x10000000U)
4856#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN28_SEC_MASK_SHIFT (28U)
4857#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN28_SEC_MASK_MASK)
4858#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN29_SEC_MASK_MASK (0x20000000U)
4859#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN29_SEC_MASK_SHIFT (29U)
4860#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN29_SEC_MASK_MASK)
4861#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN30_SEC_MASK_MASK (0x40000000U)
4862#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN30_SEC_MASK_SHIFT (30U)
4863#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN30_SEC_MASK_MASK)
4864#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN31_SEC_MASK_MASK (0x80000000U)
4865#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN31_SEC_MASK_SHIFT (31U)
4866#define AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK6_PIO6_PIN31_SEC_MASK_MASK)
4867/*! @} */
4868
4869/*! @name SEC_GPIO_MASK7 - Secure GPIO mask for port 7 pins. */
4870/*! @{ */
4871#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN0_SEC_MASK_MASK (0x1U)
4872#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN0_SEC_MASK_SHIFT (0U)
4873#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN0_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN0_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN0_SEC_MASK_MASK)
4874#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN1_SEC_MASK_MASK (0x2U)
4875#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN1_SEC_MASK_SHIFT (1U)
4876#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN1_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN1_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN1_SEC_MASK_MASK)
4877#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN2_SEC_MASK_MASK (0x4U)
4878#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN2_SEC_MASK_SHIFT (2U)
4879#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN2_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN2_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN2_SEC_MASK_MASK)
4880#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN3_SEC_MASK_MASK (0x8U)
4881#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN3_SEC_MASK_SHIFT (3U)
4882#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN3_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN3_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN3_SEC_MASK_MASK)
4883#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN4_SEC_MASK_MASK (0x10U)
4884#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN4_SEC_MASK_SHIFT (4U)
4885#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN4_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN4_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN4_SEC_MASK_MASK)
4886#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN5_SEC_MASK_MASK (0x20U)
4887#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN5_SEC_MASK_SHIFT (5U)
4888#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN5_SEC_MASK_MASK)
4889#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN6_SEC_MASK_MASK (0x40U)
4890#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN6_SEC_MASK_SHIFT (6U)
4891#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN6_SEC_MASK_MASK)
4892#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN7_SEC_MASK_MASK (0x80U)
4893#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN7_SEC_MASK_SHIFT (7U)
4894#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN7_SEC_MASK_MASK)
4895#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN8_SEC_MASK_MASK (0x100U)
4896#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN8_SEC_MASK_SHIFT (8U)
4897#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN8_SEC_MASK_MASK)
4898#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN9_SEC_MASK_MASK (0x200U)
4899#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN9_SEC_MASK_SHIFT (9U)
4900#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN9_SEC_MASK_MASK)
4901#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN10_SEC_MASK_MASK (0x400U)
4902#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN10_SEC_MASK_SHIFT (10U)
4903#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN10_SEC_MASK_MASK)
4904#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN11_SEC_MASK_MASK (0x800U)
4905#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN11_SEC_MASK_SHIFT (11U)
4906#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN11_SEC_MASK_MASK)
4907#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN12_SEC_MASK_MASK (0x1000U)
4908#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN12_SEC_MASK_SHIFT (12U)
4909#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN12_SEC_MASK_MASK)
4910#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN13_SEC_MASK_MASK (0x2000U)
4911#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN13_SEC_MASK_SHIFT (13U)
4912#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN13_SEC_MASK_MASK)
4913#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN14_SEC_MASK_MASK (0x4000U)
4914#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN14_SEC_MASK_SHIFT (14U)
4915#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN14_SEC_MASK_MASK)
4916#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN15_SEC_MASK_MASK (0x8000U)
4917#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN15_SEC_MASK_SHIFT (15U)
4918#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN15_SEC_MASK_MASK)
4919#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN16_SEC_MASK_MASK (0x10000U)
4920#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN16_SEC_MASK_SHIFT (16U)
4921#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN16_SEC_MASK_MASK)
4922#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN17_SEC_MASK_MASK (0x20000U)
4923#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN17_SEC_MASK_SHIFT (17U)
4924#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN17_SEC_MASK_MASK)
4925#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN18_SEC_MASK_MASK (0x40000U)
4926#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN18_SEC_MASK_SHIFT (18U)
4927#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN18_SEC_MASK_MASK)
4928#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN19_SEC_MASK_MASK (0x80000U)
4929#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN19_SEC_MASK_SHIFT (19U)
4930#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN19_SEC_MASK_MASK)
4931#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN20_SEC_MASK_MASK (0x100000U)
4932#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN20_SEC_MASK_SHIFT (20U)
4933#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN20_SEC_MASK_MASK)
4934#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN21_SEC_MASK_MASK (0x200000U)
4935#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN21_SEC_MASK_SHIFT (21U)
4936#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN21_SEC_MASK_MASK)
4937#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN22_SEC_MASK_MASK (0x400000U)
4938#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN22_SEC_MASK_SHIFT (22U)
4939#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN22_SEC_MASK_MASK)
4940#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN23_SEC_MASK_MASK (0x800000U)
4941#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN23_SEC_MASK_SHIFT (23U)
4942#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN23_SEC_MASK_MASK)
4943#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN24_SEC_MASK_MASK (0x1000000U)
4944#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN24_SEC_MASK_SHIFT (24U)
4945#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN24_SEC_MASK_MASK)
4946#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN25_SEC_MASK_MASK (0x2000000U)
4947#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN25_SEC_MASK_SHIFT (25U)
4948#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN25_SEC_MASK_MASK)
4949#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN26_SEC_MASK_MASK (0x4000000U)
4950#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN26_SEC_MASK_SHIFT (26U)
4951#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN26_SEC_MASK_MASK)
4952#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN27_SEC_MASK_MASK (0x8000000U)
4953#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN27_SEC_MASK_SHIFT (27U)
4954#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN27_SEC_MASK_MASK)
4955#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN28_SEC_MASK_MASK (0x10000000U)
4956#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN28_SEC_MASK_SHIFT (28U)
4957#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN28_SEC_MASK_MASK)
4958#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN29_SEC_MASK_MASK (0x20000000U)
4959#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN29_SEC_MASK_SHIFT (29U)
4960#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN29_SEC_MASK_MASK)
4961#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN30_SEC_MASK_MASK (0x40000000U)
4962#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN30_SEC_MASK_SHIFT (30U)
4963#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN30_SEC_MASK_MASK)
4964#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN31_SEC_MASK_MASK (0x80000000U)
4965#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN31_SEC_MASK_SHIFT (31U)
4966#define AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_GPIO_MASK7_PIO7_PIN31_SEC_MASK_MASK)
4967/*! @} */
4968
4969/*! @name SEC_DSP_INT_MASK - secure general purpose register 8 used to mask interrupts to DSP for security purpose */
4970/*! @{ */
4971#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR5_SEC_MASK_MASK (0x20U)
4972#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR5_SEC_MASK_SHIFT (5U)
4973/*! DSP_INTR5_SEC_MASK - 0: INTR5 is invisible to DSP, 1: INTR5 is visible to DSP
4974 */
4975#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR5_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR5_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR5_SEC_MASK_MASK)
4976#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR6_SEC_MASK_MASK (0x40U)
4977#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR6_SEC_MASK_SHIFT (6U)
4978/*! DSP_INTR6_SEC_MASK - 0: INTR6 is invisible to DSP, 1: INTR6 is visible to DSP
4979 */
4980#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR6_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR6_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR6_SEC_MASK_MASK)
4981#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR7_SEC_MASK_MASK (0x80U)
4982#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR7_SEC_MASK_SHIFT (7U)
4983/*! DSP_INTR7_SEC_MASK - 0: INTR7 is invisible to DSP, 1: INTR7 is visible to DSP
4984 */
4985#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR7_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR7_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR7_SEC_MASK_MASK)
4986#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR8_SEC_MASK_MASK (0x100U)
4987#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR8_SEC_MASK_SHIFT (8U)
4988/*! DSP_INTR8_SEC_MASK - 0: INTR8 is invisible to DSP, 1: INTR8 is visible to DSP
4989 */
4990#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR8_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR8_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR8_SEC_MASK_MASK)
4991#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR9_SEC_MASK_MASK (0x200U)
4992#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR9_SEC_MASK_SHIFT (9U)
4993/*! DSP_INTR9_SEC_MASK - 0: INTR9 is invisible to DSP, 1: INTR9 is visible to DSP
4994 */
4995#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR9_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR9_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR9_SEC_MASK_MASK)
4996#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR10_SEC_MASK_MASK (0x400U)
4997#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR10_SEC_MASK_SHIFT (10U)
4998/*! DSP_INTR10_SEC_MASK - 0: INTR10 is invisible to DSP, 1: INTR10 is visible to DSP
4999 */
5000#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR10_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR10_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR10_SEC_MASK_MASK)
5001#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR11_SEC_MASK_MASK (0x800U)
5002#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR11_SEC_MASK_SHIFT (11U)
5003/*! DSP_INTR11_SEC_MASK - 0: INTR11 is invisible to DSP, 1: INTR11 is visible to DSP
5004 */
5005#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR11_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR11_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR11_SEC_MASK_MASK)
5006#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR12_SEC_MASK_MASK (0x1000U)
5007#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR12_SEC_MASK_SHIFT (12U)
5008/*! DSP_INTR12_SEC_MASK - 0: INTR12 is invisible to DSP, 1: INTR12 is visible to DSP
5009 */
5010#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR12_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR12_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR12_SEC_MASK_MASK)
5011#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR13_SEC_MASK_MASK (0x2000U)
5012#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR13_SEC_MASK_SHIFT (13U)
5013/*! DSP_INTR13_SEC_MASK - 0: INTR13 is invisible to DSP, 1: INTR13 is visible to DSP
5014 */
5015#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR13_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR13_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR13_SEC_MASK_MASK)
5016#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR14_SEC_MASK_MASK (0x4000U)
5017#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR14_SEC_MASK_SHIFT (14U)
5018/*! DSP_INTR14_SEC_MASK - 0: INTR14 is invisible to DSP, 1: INTR14 is visible to DSP
5019 */
5020#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR14_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR14_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR14_SEC_MASK_MASK)
5021#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR15_SEC_MASK_MASK (0x8000U)
5022#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR15_SEC_MASK_SHIFT (15U)
5023/*! DSP_INTR15_SEC_MASK - 0: INTR15 is invisible to DSP, 1: INTR15 is visible to DSP
5024 */
5025#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR15_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR15_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR15_SEC_MASK_MASK)
5026#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR16_SEC_MASK_MASK (0x10000U)
5027#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR16_SEC_MASK_SHIFT (16U)
5028/*! DSP_INTR16_SEC_MASK - 0: INTR16 is invisible to DSP, 1: INTR16 is visible to DSP
5029 */
5030#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR16_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR16_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR16_SEC_MASK_MASK)
5031#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR17_SEC_MASK_MASK (0x20000U)
5032#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR17_SEC_MASK_SHIFT (17U)
5033/*! DSP_INTR17_SEC_MASK - 0: INTR17 is invisible to DSP, 1: INTR17 is visible to DSP
5034 */
5035#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR17_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR17_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR17_SEC_MASK_MASK)
5036#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR18_SEC_MASK_MASK (0x40000U)
5037#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR18_SEC_MASK_SHIFT (18U)
5038/*! DSP_INTR18_SEC_MASK - 0: INTR18 is invisible to DSP, 1: INTR18 is visible to DSP
5039 */
5040#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR18_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR18_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR18_SEC_MASK_MASK)
5041#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR19_SEC_MASK_MASK (0x80000U)
5042#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR19_SEC_MASK_SHIFT (19U)
5043/*! DSP_INTR19_SEC_MASK - 0: INTR19 is invisible to DSP, 1: INTR19 is visible to DSP
5044 */
5045#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR19_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR19_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR19_SEC_MASK_MASK)
5046#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR20_SEC_MASK_MASK (0x100000U)
5047#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR20_SEC_MASK_SHIFT (20U)
5048/*! DSP_INTR20_SEC_MASK - 0: INTR20 is invisible to DSP, 1: INTR20 is visible to DSP
5049 */
5050#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR20_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR20_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR20_SEC_MASK_MASK)
5051#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR21_SEC_MASK_MASK (0x200000U)
5052#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR21_SEC_MASK_SHIFT (21U)
5053/*! DSP_INTR21_SEC_MASK - 0: INTR21 is invisible to DSP, 1: INTR21 is visible to DSP
5054 */
5055#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR21_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR21_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR21_SEC_MASK_MASK)
5056#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR22_SEC_MASK_MASK (0x400000U)
5057#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR22_SEC_MASK_SHIFT (22U)
5058/*! DSP_INTR22_SEC_MASK - 0: INTR22 is invisible to DSP, 1: INTR22 is visible to DSP
5059 */
5060#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR22_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR22_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR22_SEC_MASK_MASK)
5061#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR23_SEC_MASK_MASK (0x800000U)
5062#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR23_SEC_MASK_SHIFT (23U)
5063/*! DSP_INTR23_SEC_MASK - 0: INTR23 is invisible to DSP, 1: INTR23 is visible to DSP
5064 */
5065#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR23_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR23_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR23_SEC_MASK_MASK)
5066#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR24_SEC_MASK_MASK (0x1000000U)
5067#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR24_SEC_MASK_SHIFT (24U)
5068/*! DSP_INTR24_SEC_MASK - 0: INTR24 is invisible to DSP, 1: INTR24 is visible to DSP
5069 */
5070#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR24_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR24_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR24_SEC_MASK_MASK)
5071#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR25_SEC_MASK_MASK (0x2000000U)
5072#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR25_SEC_MASK_SHIFT (25U)
5073/*! DSP_INTR25_SEC_MASK - 0: INTR25 is invisible to DSP, 1: INTR25 is visible to DSP
5074 */
5075#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR25_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR25_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR25_SEC_MASK_MASK)
5076#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR26_SEC_MASK_MASK (0x4000000U)
5077#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR26_SEC_MASK_SHIFT (26U)
5078/*! DSP_INTR26_SEC_MASK - 0: INTR26 is invisible to DSP, 1: INTR26 is visible to DSP
5079 */
5080#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR26_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR26_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR26_SEC_MASK_MASK)
5081#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR27_SEC_MASK_MASK (0x8000000U)
5082#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR27_SEC_MASK_SHIFT (27U)
5083/*! DSP_INTR27_SEC_MASK - 0: INTR27 is invisible to DSP, 1: INTR27 is visible to DSP
5084 */
5085#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR27_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR27_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR27_SEC_MASK_MASK)
5086#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR28_SEC_MASK_MASK (0x10000000U)
5087#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR28_SEC_MASK_SHIFT (28U)
5088/*! DSP_INTR28_SEC_MASK - 0: INTR28 is invisible to DSP, 1: INTR28 is visible to DSP
5089 */
5090#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR28_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR28_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR28_SEC_MASK_MASK)
5091#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR29_SEC_MASK_MASK (0x20000000U)
5092#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR29_SEC_MASK_SHIFT (29U)
5093/*! DSP_INTR29_SEC_MASK - 0: INTR29 is invisible to DSP, 1: INTR29 is visible to DSP
5094 */
5095#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR29_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR29_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR29_SEC_MASK_MASK)
5096#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR30_SEC_MASK_MASK (0x40000000U)
5097#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR30_SEC_MASK_SHIFT (30U)
5098/*! DSP_INTR30_SEC_MASK - 0: INTR30 is invisible to DSP, 1: INTR30 is visible to DSP
5099 */
5100#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR30_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR30_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR30_SEC_MASK_MASK)
5101#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR31_SEC_MASK_MASK (0x80000000U)
5102#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR31_SEC_MASK_SHIFT (31U)
5103/*! DSP_INTR31_SEC_MASK - 0: INTR31 is invisible to DSP, 1: INTR31 is visible to DSP
5104 */
5105#define AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR31_SEC_MASK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR31_SEC_MASK_SHIFT)) & AHB_SECURE_CTRL_SEC_DSP_INT_MASK_DSP_INTR31_SEC_MASK_MASK)
5106/*! @} */
5107
5108/*! @name SEC_MASK_LOCK - sec_gp_reg write-lock bits */
5109/*! @{ */
5110#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK0_LOCK_MASK (0x3U)
5111#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK0_LOCK_SHIFT (0U)
5112/*! SEC_GPIO_MASK0_LOCK - SEC_GPIO_MASK0 register write-lock.
5113 * 0b10..Writable.
5114 * 0b01..Restrictive mode.
5115 */
5116#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK0_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK0_LOCK_MASK)
5117#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK1_LOCK_MASK (0xCU)
5118#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK1_LOCK_SHIFT (2U)
5119/*! SEC_GPIO_MASK1_LOCK - SEC_GPIO_MASK1 register write-lock.
5120 * 0b10..Writable.
5121 * 0b01..Restrictive mode.
5122 */
5123#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK1_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK1_LOCK_MASK)
5124#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK2_LOCK_MASK (0x30U)
5125#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK2_LOCK_SHIFT (4U)
5126/*! SEC_GPIO_MASK2_LOCK - SEC_GPIO_MASK2 register write-lock.
5127 * 0b10..Writable.
5128 * 0b01..Restrictive mode.
5129 */
5130#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK2_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK2_LOCK_MASK)
5131#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK3_LOCK_MASK (0xC0U)
5132#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK3_LOCK_SHIFT (6U)
5133/*! SEC_GPIO_MASK3_LOCK - SEC_GPIO_MASK3 register write-lock.
5134 * 0b10..Writable.
5135 * 0b01..Restrictive mode.
5136 */
5137#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK3_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK3_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK3_LOCK_MASK)
5138#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK4_LOCK_MASK (0x300U)
5139#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK4_LOCK_SHIFT (8U)
5140/*! SEC_GPIO_MASK4_LOCK - SEC_GPIO_MASK4 register write-lock.
5141 * 0b10..Writable.
5142 * 0b01..Restrictive mode.
5143 */
5144#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK4_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK4_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK4_LOCK_MASK)
5145#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK5_LOCK_MASK (0xC00U)
5146#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK5_LOCK_SHIFT (10U)
5147/*! SEC_GPIO_MASK5_LOCK - SEC_GPIO_MASK5 register write-lock.
5148 * 0b10..Writable.
5149 * 0b01..Restrictive mode.
5150 */
5151#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK5_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK5_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK5_LOCK_MASK)
5152#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK6_LOCK_MASK (0x3000U)
5153#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK6_LOCK_SHIFT (12U)
5154/*! SEC_GPIO_MASK6_LOCK - SEC_GPIO_MASK6 register write-lock.
5155 * 0b10..Writable.
5156 * 0b01..Restrictive mode.
5157 */
5158#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK6_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK6_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK6_LOCK_MASK)
5159#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK7_LOCK_MASK (0xC000U)
5160#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK7_LOCK_SHIFT (14U)
5161/*! SEC_GPIO_MASK7_LOCK - SEC_GPIO_MASK7 register write-lock.
5162 * 0b10..Writable.
5163 * 0b01..Restrictive mode.
5164 */
5165#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK7_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK7_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_GPIO_MASK7_LOCK_MASK)
5166#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_DSP_INT_LOCK_MASK (0x30000U)
5167#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_DSP_INT_LOCK_SHIFT (16U)
5168/*! SEC_DSP_INT_LOCK - SEC_DSP_INT_MASK register write-lock.
5169 * 0b10..Writable.
5170 * 0b01..Restrictive mode.
5171 */
5172#define AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_DSP_INT_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_DSP_INT_LOCK_SHIFT)) & AHB_SECURE_CTRL_SEC_MASK_LOCK_SEC_DSP_INT_LOCK_MASK)
5173/*! @} */
5174
5175/*! @name MASTER_SEC_LEVEL - master secure level register */
5176/*! @{ */
5177#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_POWERQUAD_SEC_MASK (0x30U)
5178#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_POWERQUAD_SEC_SHIFT (4U)
5179/*! POWERQUAD_SEC - POWERQUAD master secure level control.
5180 * 0b00..Non-secure and Non-priviledge user access allowed.
5181 * 0b01..Non-secure and Privilege access allowed.
5182 * 0b10..Secure and Non-priviledge user access allowed.
5183 * 0b11..Secure and Priviledge user access allowed.
5184 */
5185#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_POWERQUAD_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_POWERQUAD_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_POWERQUAD_SEC_MASK)
5186#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DSP_SEC_MASK (0xC0U)
5187#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DSP_SEC_SHIFT (6U)
5188/*! DSP_SEC - DSP master secure level control.
5189 * 0b00..Non-secure and Non-priviledge user access allowed.
5190 * 0b01..Non-secure and Privilege access allowed.
5191 * 0b10..Secure and Non-priviledge user access allowed.
5192 * 0b11..Secure and Priviledge user access allowed.
5193 */
5194#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DSP_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DSP_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DSP_SEC_MASK)
5195#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA0_SEC_MASK (0x300U)
5196#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA0_SEC_SHIFT (8U)
5197/*! DMA0_SEC - DMA0 master secure level control.
5198 * 0b00..Non-secure and Non-priviledge user access allowed.
5199 * 0b01..Non-secure and Privilege access allowed.
5200 * 0b10..Secure and Non-priviledge user access allowed.
5201 * 0b11..Secure and Priviledge user access allowed.
5202 */
5203#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA0_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA0_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA0_SEC_MASK)
5204#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA1_SEC_MASK (0xC00U)
5205#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA1_SEC_SHIFT (10U)
5206/*! DMA1_SEC - DMA1 master secure level control.
5207 * 0b00..Non-secure and Non-priviledge user access allowed.
5208 * 0b01..Non-secure and Privilege access allowed.
5209 * 0b10..Secure and Non-priviledge user access allowed.
5210 * 0b11..Secure and Priviledge user access allowed.
5211 */
5212#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA1_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA1_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_DMA1_SEC_MASK)
5213#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO0_SEC_MASK (0x3000U)
5214#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO0_SEC_SHIFT (12U)
5215/*! SDIO0_SEC - SDIO0 master secure level control.
5216 * 0b00..Non-secure and Non-priviledge user access allowed.
5217 * 0b01..Non-secure and Privilege access allowed.
5218 * 0b10..Secure and Non-priviledge user access allowed.
5219 * 0b11..Secure and Priviledge user access allowed.
5220 */
5221#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO0_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO0_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO0_SEC_MASK)
5222#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO1_SEC_MASK (0xC000U)
5223#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO1_SEC_SHIFT (14U)
5224/*! SDIO1_SEC - SDIO1 master secure level control.
5225 * 0b00..Non-secure and Non-priviledge user access allowed.
5226 * 0b01..Non-secure and Privilege access allowed.
5227 * 0b10..Secure and Non-priviledge user access allowed.
5228 * 0b11..Secure and Priviledge user access allowed.
5229 */
5230#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO1_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO1_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_SDIO1_SEC_MASK)
5231#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_MASTER_SEC_LEVEL_LOCK_MASK (0xC0000000U)
5232#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_MASTER_SEC_LEVEL_LOCK_SHIFT (30U)
5233/*! MASTER_SEC_LEVEL_LOCK - MASTER_SEC_LEVEL register write-lock.
5234 * 0b10..Writable.
5235 * 0b01..Restrictive mode.
5236 */
5237#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_MASTER_SEC_LEVEL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_MASTER_SEC_LEVEL_LOCK_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_MASTER_SEC_LEVEL_LOCK_MASK)
5238/*! @} */
5239
5240/*! @name MASTER_SEC_LEVEL_ANTI_POL - master secure level anti-pole register */
5241/*! @{ */
5242#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_POWERQUAD_SEC_MASK (0x30U)
5243#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_POWERQUAD_SEC_SHIFT (4U)
5244/*! POWERQUAD_SEC - POWERQUAD master secure level control anti-pole value (i.e It must be written
5245 * with the inverted value of the corresponding field in master_sec_reg).
5246 * 0b11..Non-secure and Non-priviledge user access allowed.
5247 * 0b10..Non-secure and Privilege access allowed.
5248 * 0b01..Secure and Non-priviledge user access allowed.
5249 * 0b00..Secure and Priviledge user access allowed.
5250 */
5251#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_POWERQUAD_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_POWERQUAD_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_POWERQUAD_SEC_MASK)
5252#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DSP_SEC_MASK (0xC0U)
5253#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DSP_SEC_SHIFT (6U)
5254/*! DSP_SEC - DSP master secure level control anti-pole value (i.e It must be written with the
5255 * inverted value of the corresponding field in master_sec_reg).
5256 * 0b11..Non-secure and Non-priviledge user access allowed.
5257 * 0b10..Non-secure and Privilege access allowed.
5258 * 0b01..Secure and Non-priviledge user access allowed.
5259 * 0b00..Secure and Priviledge user access allowed.
5260 */
5261#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DSP_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DSP_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DSP_SEC_MASK)
5262#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA0_SEC_MASK (0x300U)
5263#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA0_SEC_SHIFT (8U)
5264/*! DMA0_SEC - DMA0 master secure level control anti-pole value (i.e It must be written with the
5265 * inverted value of the corresponding field in master_sec_reg).
5266 * 0b11..Non-secure and Non-priviledge user access allowed.
5267 * 0b10..Non-secure and Privilege access allowed.
5268 * 0b01..Secure and Non-priviledge user access allowed.
5269 * 0b00..Secure and Priviledge user access allowed.
5270 */
5271#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA0_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA0_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA0_SEC_MASK)
5272#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA1_SEC_MASK (0xC00U)
5273#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA1_SEC_SHIFT (10U)
5274/*! DMA1_SEC - DMA1 master secure level control anti-pole value (i.e It must be written with the
5275 * inverted value of the corresponding field in master_sec_reg).
5276 * 0b11..Non-secure and Non-priviledge user access allowed.
5277 * 0b10..Non-secure and Privilege access allowed.
5278 * 0b01..Secure and Non-priviledge user access allowed.
5279 * 0b00..Secure and Priviledge user access allowed.
5280 */
5281#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA1_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA1_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_DMA1_SEC_MASK)
5282#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO0_SEC_MASK (0x3000U)
5283#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO0_SEC_SHIFT (12U)
5284/*! SDIO0_SEC - SDIO0 master secure level control anti-pole value (i.e It must be written with the
5285 * inverted value of the corresponding field in master_sec_reg).
5286 * 0b11..Non-secure and Non-priviledge user access allowed.
5287 * 0b10..Non-secure and Privilege access allowed.
5288 * 0b01..Secure and Non-priviledge user access allowed.
5289 * 0b00..Secure and Priviledge user access allowed.
5290 */
5291#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO0_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO0_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO0_SEC_MASK)
5292#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO1_SEC_MASK (0xC000U)
5293#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO1_SEC_SHIFT (14U)
5294/*! SDIO1_SEC - SDIO1 master secure level control anti-pole value (i.e It must be written with the
5295 * inverted value of the corresponding field in master_sec_reg).
5296 * 0b11..Non-secure and Non-priviledge user access allowed.
5297 * 0b10..Non-secure and Privilege access allowed.
5298 * 0b01..Secure and Non-priviledge user access allowed.
5299 * 0b00..Secure and Priviledge user access allowed.
5300 */
5301#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO1_SEC(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO1_SEC_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_SDIO1_SEC_MASK)
5302#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_MASTER_SEC_LEVEL_ANTI_POLE_LOCK_MASK (0xC0000000U)
5303#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_MASTER_SEC_LEVEL_ANTI_POLE_LOCK_SHIFT (30U)
5304/*! MASTER_SEC_LEVEL_ANTI_POLE_LOCK - MASTER_SEC_LEVEL_ANTI_POL register write-lock.
5305 * 0b10..Writable.
5306 * 0b01..Restrictive mode.
5307 */
5308#define AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_MASTER_SEC_LEVEL_ANTI_POLE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_MASTER_SEC_LEVEL_ANTI_POLE_LOCK_SHIFT)) & AHB_SECURE_CTRL_MASTER_SEC_LEVEL_ANTI_POL_MASTER_SEC_LEVEL_ANTI_POLE_LOCK_MASK)
5309/*! @} */
5310
5311/*! @name CM33_LOCK_REG - m33 lock control register */
5312/*! @{ */
5313#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_VTOR_MASK (0x3U)
5314#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_VTOR_SHIFT (0U)
5315/*! LOCK_NS_VTOR - m33 LOCKNSVTOR write-lock.
5316 * 0b10..Writable.
5317 * 0b01..Restrictive mode.
5318 */
5319#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_VTOR(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_VTOR_SHIFT)) & AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_VTOR_MASK)
5320#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_MPU_MASK (0xCU)
5321#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_MPU_SHIFT (2U)
5322/*! LOCK_NS_MPU - m33 LOCKNSMPU write-lock.
5323 * 0b10..Writable.
5324 * 0b01..Restricted mode.
5325 */
5326#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_MPU(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_MPU_SHIFT)) & AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_NS_MPU_MASK)
5327#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_VTOR_MASK (0x30U)
5328#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_VTOR_SHIFT (4U)
5329/*! LOCK_S_VTOR - m33 LOCKSVTOR write-lock.
5330 * 0b10..Writable.
5331 * 0b01..Restricted mode.
5332 */
5333#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_VTOR(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_VTOR_SHIFT)) & AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_VTOR_MASK)
5334#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_MPU_MASK (0xC0U)
5335#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_MPU_SHIFT (6U)
5336/*! LOCK_S_MPU - m33 LOCKSMPU write-lock.
5337 * 0b10..Writable.
5338 * 0b01..Restricted mode.
5339 */
5340#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_MPU(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_MPU_SHIFT)) & AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_S_MPU_MASK)
5341#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_SAU_MASK (0x300U)
5342#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_SAU_SHIFT (8U)
5343/*! LOCK_SAU - m33 LOCKSAU write-lock.
5344 * 0b10..Writable.
5345 * 0b01..Restricted mode.
5346 */
5347#define AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_SAU(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_SAU_SHIFT)) & AHB_SECURE_CTRL_CM33_LOCK_REG_LOCK_SAU_MASK)
5348#define AHB_SECURE_CTRL_CM33_LOCK_REG_CM33_LOCK_REG_LOCK_MASK (0xC0000000U)
5349#define AHB_SECURE_CTRL_CM33_LOCK_REG_CM33_LOCK_REG_LOCK_SHIFT (30U)
5350/*! CM33_LOCK_REG_LOCK - CM33_LOCK_REG_LOCK write-lock.
5351 * 0b10..Writable.
5352 * 0b01..Restricted mode.
5353 */
5354#define AHB_SECURE_CTRL_CM33_LOCK_REG_CM33_LOCK_REG_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_CM33_LOCK_REG_CM33_LOCK_REG_LOCK_SHIFT)) & AHB_SECURE_CTRL_CM33_LOCK_REG_CM33_LOCK_REG_LOCK_MASK)
5355/*! @} */
5356
5357/*! @name MISC_CTRL_DP_REG - secure control duplicate register */
5358/*! @{ */
5359#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_WRITE_LOCK_MASK (0x3U)
5360#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_WRITE_LOCK_SHIFT (0U)
5361/*! WRITE_LOCK - Write lock.
5362 * 0b10..Secure control registers can be written.
5363 * 0b01..Restrictive mode.
5364 */
5365#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_WRITE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_WRITE_LOCK_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_WRITE_LOCK_MASK)
5366#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_SECURE_CHECKING_MASK (0xCU)
5367#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_SECURE_CHECKING_SHIFT (2U)
5368/*! ENABLE_SECURE_CHECKING - AHB bus matrix enable secure checking.
5369 * 0b10..Disable check.
5370 * 0b01..Restrictive mode.
5371 */
5372#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_SECURE_CHECKING(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_SECURE_CHECKING_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_SECURE_CHECKING_MASK)
5373#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_S_PRIV_CHECK_MASK (0x30U)
5374#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_S_PRIV_CHECK_SHIFT (4U)
5375/*! ENABLE_S_PRIV_CHECK - AHB bus matrix enable secure privilege check.
5376 * 0b10..Disable check.
5377 * 0b01..Restrictive mode.
5378 */
5379#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_S_PRIV_CHECK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_S_PRIV_CHECK_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_S_PRIV_CHECK_MASK)
5380#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_NS_PRIV_CHECK_MASK (0xC0U)
5381#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_NS_PRIV_CHECK_SHIFT (6U)
5382/*! ENABLE_NS_PRIV_CHECK - AHB bus matrix enable non-secure privilege check.
5383 * 0b10..Disable check.
5384 * 0b01..Restrictive mode.
5385 */
5386#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_NS_PRIV_CHECK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_NS_PRIV_CHECK_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_ENABLE_NS_PRIV_CHECK_MASK)
5387#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_VIOLATION_ABORT_MASK (0x300U)
5388#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_VIOLATION_ABORT_SHIFT (8U)
5389/*! DISABLE_VIOLATION_ABORT - Disable secure violation abort.
5390 * 0b10..Violation causes abort.
5391 * 0b01..Violation assert secure_violation_irq.
5392 */
5393#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_VIOLATION_ABORT(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_VIOLATION_ABORT_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_VIOLATION_ABORT_MASK)
5394#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_MASK (0xC00U)
5395#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_SHIFT (10U)
5396/*! DISABLE_SIMPLE_MASTER_STRICT_MODE - Disable simple master strict mode.
5397 * 0b10..Simple master in strict mode.
5398 * 0b01..Simple master in tier mode.
5399 */
5400#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_MASK)
5401#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SMART_MASTER_STRICT_MODE_MASK (0x3000U)
5402#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SMART_MASTER_STRICT_MODE_SHIFT (12U)
5403/*! DISABLE_SMART_MASTER_STRICT_MODE - Disable smart master strict mode.
5404 * 0b10..Smart master in strict mode.
5405 * 0b01..Smart master in tier mode.
5406 */
5407#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SMART_MASTER_STRICT_MODE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SMART_MASTER_STRICT_MODE_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_DISABLE_SMART_MASTER_STRICT_MODE_MASK)
5408#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_IDAU_ALL_NS_MASK (0xC000U)
5409#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_IDAU_ALL_NS_SHIFT (14U)
5410/*! IDAU_ALL_NS - Disable IDAU.
5411 * 0b10..IDAU is enabled.
5412 * 0b01..IDAU is disabled.
5413 */
5414#define AHB_SECURE_CTRL_MISC_CTRL_DP_REG_IDAU_ALL_NS(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_DP_REG_IDAU_ALL_NS_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_DP_REG_IDAU_ALL_NS_MASK)
5415/*! @} */
5416
5417/*! @name MISC_CTRL_REG - secure control register */
5418/*! @{ */
5419#define AHB_SECURE_CTRL_MISC_CTRL_REG_WRITE_LOCK_MASK (0x3U)
5420#define AHB_SECURE_CTRL_MISC_CTRL_REG_WRITE_LOCK_SHIFT (0U)
5421/*! WRITE_LOCK - Write lock.
5422 * 0b10..Secure control registers can be written.
5423 * 0b01..Restrictive mode.
5424 */
5425#define AHB_SECURE_CTRL_MISC_CTRL_REG_WRITE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_WRITE_LOCK_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_WRITE_LOCK_MASK)
5426#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_SECURE_CHECKING_MASK (0xCU)
5427#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_SECURE_CHECKING_SHIFT (2U)
5428/*! ENABLE_SECURE_CHECKING - AHB bus matrix enable secure checking.
5429 * 0b10..Disable check.
5430 * 0b01..Restrictive mode.
5431 */
5432#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_SECURE_CHECKING(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_SECURE_CHECKING_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_SECURE_CHECKING_MASK)
5433#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_S_PRIV_CHECK_MASK (0x30U)
5434#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_S_PRIV_CHECK_SHIFT (4U)
5435/*! ENABLE_S_PRIV_CHECK - AHB bus matrix enable secure privilege check.
5436 * 0b10..Disable check.
5437 * 0b01..Restrictive mode.
5438 */
5439#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_S_PRIV_CHECK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_S_PRIV_CHECK_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_S_PRIV_CHECK_MASK)
5440#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_NS_PRIV_CHECK_MASK (0xC0U)
5441#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_NS_PRIV_CHECK_SHIFT (6U)
5442/*! ENABLE_NS_PRIV_CHECK - AHB bus matrix enable non-secure privilege check.
5443 * 0b10..Disable check.
5444 * 0b01..Restrictive mode.
5445 */
5446#define AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_NS_PRIV_CHECK(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_NS_PRIV_CHECK_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_ENABLE_NS_PRIV_CHECK_MASK)
5447#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_VIOLATION_ABORT_MASK (0x300U)
5448#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_VIOLATION_ABORT_SHIFT (8U)
5449/*! DISABLE_VIOLATION_ABORT - Disable secure violation abort.
5450 * 0b10..Violation causes abort.
5451 * 0b01..Violation assert secure_violation_irq.
5452 */
5453#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_VIOLATION_ABORT(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_VIOLATION_ABORT_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_VIOLATION_ABORT_MASK)
5454#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_MASK (0xC00U)
5455#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_SHIFT (10U)
5456/*! DISABLE_SIMPLE_MASTER_STRICT_MODE - Disable simple master strict mode.
5457 * 0b10..Simple master in strict mode.
5458 * 0b01..Simple master in tier mode.
5459 */
5460#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SIMPLE_MASTER_STRICT_MODE_MASK)
5461#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SMART_MASTER_STRICT_MODE_MASK (0x3000U)
5462#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SMART_MASTER_STRICT_MODE_SHIFT (12U)
5463/*! DISABLE_SMART_MASTER_STRICT_MODE - Disable smart master strict mode.
5464 * 0b10..Smart master in strict mode.
5465 * 0b01..Smart master in tier mode.
5466 */
5467#define AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SMART_MASTER_STRICT_MODE(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SMART_MASTER_STRICT_MODE_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_DISABLE_SMART_MASTER_STRICT_MODE_MASK)
5468#define AHB_SECURE_CTRL_MISC_CTRL_REG_IDAU_ALL_NS_MASK (0xC000U)
5469#define AHB_SECURE_CTRL_MISC_CTRL_REG_IDAU_ALL_NS_SHIFT (14U)
5470/*! IDAU_ALL_NS - Disable IDAU.
5471 * 0b10..IDAU is enabled.
5472 * 0b01..IDAU is disabled.
5473 */
5474#define AHB_SECURE_CTRL_MISC_CTRL_REG_IDAU_ALL_NS(x) (((uint32_t)(((uint32_t)(x)) << AHB_SECURE_CTRL_MISC_CTRL_REG_IDAU_ALL_NS_SHIFT)) & AHB_SECURE_CTRL_MISC_CTRL_REG_IDAU_ALL_NS_MASK)
5475/*! @} */
5476
5477
5478/*!
5479 * @}
5480 */ /* end of group AHB_SECURE_CTRL_Register_Masks */
5481
5482
5483/* AHB_SECURE_CTRL - Peripheral instance base addresses */
5484#if (__ARM_FEATURE_CMSE & 0x2)
5485 /** Peripheral AHB_SECURE_CTRL base address */
5486 #define AHB_SECURE_CTRL_BASE (0x50148000u)
5487 /** Peripheral AHB_SECURE_CTRL base address */
5488 #define AHB_SECURE_CTRL_BASE_NS (0x40148000u)
5489 /** Peripheral AHB_SECURE_CTRL base pointer */
5490 #define AHB_SECURE_CTRL ((AHB_SECURE_CTRL_Type *)AHB_SECURE_CTRL_BASE)
5491 /** Peripheral AHB_SECURE_CTRL base pointer */
5492 #define AHB_SECURE_CTRL_NS ((AHB_SECURE_CTRL_Type *)AHB_SECURE_CTRL_BASE_NS)
5493 /** Array initializer of AHB_SECURE_CTRL peripheral base addresses */
5494 #define AHB_SECURE_CTRL_BASE_ADDRS { AHB_SECURE_CTRL_BASE }
5495 /** Array initializer of AHB_SECURE_CTRL peripheral base pointers */
5496 #define AHB_SECURE_CTRL_BASE_PTRS { AHB_SECURE_CTRL }
5497 /** Array initializer of AHB_SECURE_CTRL peripheral base addresses */
5498 #define AHB_SECURE_CTRL_BASE_ADDRS_NS { AHB_SECURE_CTRL_BASE_NS }
5499 /** Array initializer of AHB_SECURE_CTRL peripheral base pointers */
5500 #define AHB_SECURE_CTRL_BASE_PTRS_NS { AHB_SECURE_CTRL_NS }
5501#else
5502 /** Peripheral AHB_SECURE_CTRL base address */
5503 #define AHB_SECURE_CTRL_BASE (0x40148000u)
5504 /** Peripheral AHB_SECURE_CTRL base pointer */
5505 #define AHB_SECURE_CTRL ((AHB_SECURE_CTRL_Type *)AHB_SECURE_CTRL_BASE)
5506 /** Array initializer of AHB_SECURE_CTRL peripheral base addresses */
5507 #define AHB_SECURE_CTRL_BASE_ADDRS { AHB_SECURE_CTRL_BASE }
5508 /** Array initializer of AHB_SECURE_CTRL peripheral base pointers */
5509 #define AHB_SECURE_CTRL_BASE_PTRS { AHB_SECURE_CTRL }
5510#endif
5511
5512/*!
5513 * @}
5514 */ /* end of group AHB_SECURE_CTRL_Peripheral_Access_Layer */
5515
5516
5517/* ----------------------------------------------------------------------------
5518 -- CACHE64_CTRL Peripheral Access Layer
5519 ---------------------------------------------------------------------------- */
5520
5521/*!
5522 * @addtogroup CACHE64_CTRL_Peripheral_Access_Layer CACHE64_CTRL Peripheral Access Layer
5523 * @{
5524 */
5525
5526/** CACHE64_CTRL - Register Layout Typedef */
5527typedef struct {
5528 uint8_t RESERVED_0[2048];
5529 __IO uint32_t CCR; /**< Cache control register, offset: 0x800 */
5530 __IO uint32_t CLCR; /**< Cache line control register, offset: 0x804 */
5531 __IO uint32_t CSAR; /**< Cache search address register, offset: 0x808 */
5532 __IO uint32_t CCVR; /**< Cache read/write value register, offset: 0x80C */
5533} CACHE64_CTRL_Type;
5534
5535/* ----------------------------------------------------------------------------
5536 -- CACHE64_CTRL Register Masks
5537 ---------------------------------------------------------------------------- */
5538
5539/*!
5540 * @addtogroup CACHE64_CTRL_Register_Masks CACHE64_CTRL Register Masks
5541 * @{
5542 */
5543
5544/*! @name CCR - Cache control register */
5545/*! @{ */
5546#define CACHE64_CTRL_CCR_ENCACHE_MASK (0x1U)
5547#define CACHE64_CTRL_CCR_ENCACHE_SHIFT (0U)
5548/*! ENCACHE - Cache enable
5549 * 0b0..Cache disabled
5550 * 0b1..Cache enabled
5551 */
5552#define CACHE64_CTRL_CCR_ENCACHE(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_ENCACHE_SHIFT)) & CACHE64_CTRL_CCR_ENCACHE_MASK)
5553#define CACHE64_CTRL_CCR_ENWRBUF_MASK (0x2U)
5554#define CACHE64_CTRL_CCR_ENWRBUF_SHIFT (1U)
5555/*! ENWRBUF - Enable Write Buffer
5556 * 0b0..Write buffer disabled
5557 * 0b1..Write buffer enabled
5558 */
5559#define CACHE64_CTRL_CCR_ENWRBUF(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_ENWRBUF_SHIFT)) & CACHE64_CTRL_CCR_ENWRBUF_MASK)
5560#define CACHE64_CTRL_CCR_INVW0_MASK (0x1000000U)
5561#define CACHE64_CTRL_CCR_INVW0_SHIFT (24U)
5562/*! INVW0 - Invalidate Way 0
5563 * 0b0..No operation
5564 * 0b1..When setting the GO bit, invalidate all lines in way 0.
5565 */
5566#define CACHE64_CTRL_CCR_INVW0(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_INVW0_SHIFT)) & CACHE64_CTRL_CCR_INVW0_MASK)
5567#define CACHE64_CTRL_CCR_PUSHW0_MASK (0x2000000U)
5568#define CACHE64_CTRL_CCR_PUSHW0_SHIFT (25U)
5569/*! PUSHW0 - Push Way 0
5570 * 0b0..No operation
5571 * 0b1..When setting the GO bit, push all modified lines in way 0
5572 */
5573#define CACHE64_CTRL_CCR_PUSHW0(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_PUSHW0_SHIFT)) & CACHE64_CTRL_CCR_PUSHW0_MASK)
5574#define CACHE64_CTRL_CCR_INVW1_MASK (0x4000000U)
5575#define CACHE64_CTRL_CCR_INVW1_SHIFT (26U)
5576/*! INVW1 - Invalidate Way 1
5577 * 0b0..No operation
5578 * 0b1..When setting the GO bit, invalidate all lines in way 1
5579 */
5580#define CACHE64_CTRL_CCR_INVW1(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_INVW1_SHIFT)) & CACHE64_CTRL_CCR_INVW1_MASK)
5581#define CACHE64_CTRL_CCR_PUSHW1_MASK (0x8000000U)
5582#define CACHE64_CTRL_CCR_PUSHW1_SHIFT (27U)
5583/*! PUSHW1 - Push Way 1
5584 * 0b0..No operation
5585 * 0b1..When setting the GO bit, push all modified lines in way 1
5586 */
5587#define CACHE64_CTRL_CCR_PUSHW1(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_PUSHW1_SHIFT)) & CACHE64_CTRL_CCR_PUSHW1_MASK)
5588#define CACHE64_CTRL_CCR_GO_MASK (0x80000000U)
5589#define CACHE64_CTRL_CCR_GO_SHIFT (31U)
5590/*! GO - Initiate Cache Command
5591 * 0b0..Write: no effect. Read: no cache command active.
5592 * 0b1..Write: initiate command indicated by bits 27-24. Read: cache command active.
5593 */
5594#define CACHE64_CTRL_CCR_GO(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCR_GO_SHIFT)) & CACHE64_CTRL_CCR_GO_MASK)
5595/*! @} */
5596
5597/*! @name CLCR - Cache line control register */
5598/*! @{ */
5599#define CACHE64_CTRL_CLCR_LGO_MASK (0x1U)
5600#define CACHE64_CTRL_CLCR_LGO_SHIFT (0U)
5601/*! LGO - Initiate Cache Line Command
5602 * 0b0..Write: no effect. Read: no line command active.
5603 * 0b1..Write: initiate line command indicated by bits 27-24. Read: line command active.
5604 */
5605#define CACHE64_CTRL_CLCR_LGO(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LGO_SHIFT)) & CACHE64_CTRL_CLCR_LGO_MASK)
5606#define CACHE64_CTRL_CLCR_CACHEADDR_MASK (0x3FFCU)
5607#define CACHE64_CTRL_CLCR_CACHEADDR_SHIFT (2U)
5608/*! CACHEADDR - Cache address
5609 */
5610#define CACHE64_CTRL_CLCR_CACHEADDR(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_CACHEADDR_SHIFT)) & CACHE64_CTRL_CLCR_CACHEADDR_MASK)
5611#define CACHE64_CTRL_CLCR_WSEL_MASK (0x4000U)
5612#define CACHE64_CTRL_CLCR_WSEL_SHIFT (14U)
5613/*! WSEL - Way select
5614 * 0b0..Way 0
5615 * 0b1..Way 1
5616 */
5617#define CACHE64_CTRL_CLCR_WSEL(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_WSEL_SHIFT)) & CACHE64_CTRL_CLCR_WSEL_MASK)
5618#define CACHE64_CTRL_CLCR_TDSEL_MASK (0x10000U)
5619#define CACHE64_CTRL_CLCR_TDSEL_SHIFT (16U)
5620/*! TDSEL - Tag/Data Select
5621 * 0b0..Data
5622 * 0b1..Tag
5623 */
5624#define CACHE64_CTRL_CLCR_TDSEL(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_TDSEL_SHIFT)) & CACHE64_CTRL_CLCR_TDSEL_MASK)
5625#define CACHE64_CTRL_CLCR_LCIVB_MASK (0x100000U)
5626#define CACHE64_CTRL_CLCR_LCIVB_SHIFT (20U)
5627/*! LCIVB - Line Command Initial Valid Bit
5628 */
5629#define CACHE64_CTRL_CLCR_LCIVB(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LCIVB_SHIFT)) & CACHE64_CTRL_CLCR_LCIVB_MASK)
5630#define CACHE64_CTRL_CLCR_LCIMB_MASK (0x200000U)
5631#define CACHE64_CTRL_CLCR_LCIMB_SHIFT (21U)
5632/*! LCIMB - Line Command Initial Modified Bit
5633 */
5634#define CACHE64_CTRL_CLCR_LCIMB(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LCIMB_SHIFT)) & CACHE64_CTRL_CLCR_LCIMB_MASK)
5635#define CACHE64_CTRL_CLCR_LCWAY_MASK (0x400000U)
5636#define CACHE64_CTRL_CLCR_LCWAY_SHIFT (22U)
5637/*! LCWAY - Line Command Way
5638 */
5639#define CACHE64_CTRL_CLCR_LCWAY(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LCWAY_SHIFT)) & CACHE64_CTRL_CLCR_LCWAY_MASK)
5640#define CACHE64_CTRL_CLCR_LCMD_MASK (0x3000000U)
5641#define CACHE64_CTRL_CLCR_LCMD_SHIFT (24U)
5642/*! LCMD - Line Command
5643 * 0b00..Search and read or write
5644 * 0b01..Invalidate
5645 * 0b10..Push
5646 * 0b11..Clear
5647 */
5648#define CACHE64_CTRL_CLCR_LCMD(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LCMD_SHIFT)) & CACHE64_CTRL_CLCR_LCMD_MASK)
5649#define CACHE64_CTRL_CLCR_LADSEL_MASK (0x4000000U)
5650#define CACHE64_CTRL_CLCR_LADSEL_SHIFT (26U)
5651/*! LADSEL - Line Address Select
5652 * 0b0..Cache address
5653 * 0b1..Physical address
5654 */
5655#define CACHE64_CTRL_CLCR_LADSEL(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LADSEL_SHIFT)) & CACHE64_CTRL_CLCR_LADSEL_MASK)
5656#define CACHE64_CTRL_CLCR_LACC_MASK (0x8000000U)
5657#define CACHE64_CTRL_CLCR_LACC_SHIFT (27U)
5658/*! LACC - Line access type
5659 * 0b0..Read
5660 * 0b1..Write
5661 */
5662#define CACHE64_CTRL_CLCR_LACC(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CLCR_LACC_SHIFT)) & CACHE64_CTRL_CLCR_LACC_MASK)
5663/*! @} */
5664
5665/*! @name CSAR - Cache search address register */
5666/*! @{ */
5667#define CACHE64_CTRL_CSAR_LGO_MASK (0x1U)
5668#define CACHE64_CTRL_CSAR_LGO_SHIFT (0U)
5669/*! LGO - Initiate Cache Line Command
5670 * 0b0..Write: no effect. Read: no line command active.
5671 * 0b1..Write: initiate line command indicated by bits CLCR[27:24]. Read: line command active.
5672 */
5673#define CACHE64_CTRL_CSAR_LGO(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CSAR_LGO_SHIFT)) & CACHE64_CTRL_CSAR_LGO_MASK)
5674#define CACHE64_CTRL_CSAR_PHYADDR27_1_MASK (0xFFFFFFEU)
5675#define CACHE64_CTRL_CSAR_PHYADDR27_1_SHIFT (1U)
5676/*! PHYADDR27_1 - Physical Address
5677 */
5678#define CACHE64_CTRL_CSAR_PHYADDR27_1(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CSAR_PHYADDR27_1_SHIFT)) & CACHE64_CTRL_CSAR_PHYADDR27_1_MASK)
5679#define CACHE64_CTRL_CSAR_PHYADDR31_29_MASK (0xE0000000U)
5680#define CACHE64_CTRL_CSAR_PHYADDR31_29_SHIFT (29U)
5681/*! PHYADDR31_29 - Physical Address
5682 */
5683#define CACHE64_CTRL_CSAR_PHYADDR31_29(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CSAR_PHYADDR31_29_SHIFT)) & CACHE64_CTRL_CSAR_PHYADDR31_29_MASK)
5684/*! @} */
5685
5686/*! @name CCVR - Cache read/write value register */
5687/*! @{ */
5688#define CACHE64_CTRL_CCVR_DATA_MASK (0xFFFFFFFFU)
5689#define CACHE64_CTRL_CCVR_DATA_SHIFT (0U)
5690/*! DATA - Cache read/write Data
5691 */
5692#define CACHE64_CTRL_CCVR_DATA(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_CTRL_CCVR_DATA_SHIFT)) & CACHE64_CTRL_CCVR_DATA_MASK)
5693/*! @} */
5694
5695
5696/*!
5697 * @}
5698 */ /* end of group CACHE64_CTRL_Register_Masks */
5699
5700
5701/* CACHE64_CTRL - Peripheral instance base addresses */
5702#if (__ARM_FEATURE_CMSE & 0x2)
5703 /** Peripheral CACHE64 base address */
5704 #define CACHE64_BASE (0x50033000u)
5705 /** Peripheral CACHE64 base address */
5706 #define CACHE64_BASE_NS (0x40033000u)
5707 /** Peripheral CACHE64 base pointer */
5708 #define CACHE64 ((CACHE64_CTRL_Type *)CACHE64_BASE)
5709 /** Peripheral CACHE64 base pointer */
5710 #define CACHE64_NS ((CACHE64_CTRL_Type *)CACHE64_BASE_NS)
5711 /** Array initializer of CACHE64_CTRL peripheral base addresses */
5712 #define CACHE64_CTRL_BASE_ADDRS { CACHE64_BASE }
5713 /** Array initializer of CACHE64_CTRL peripheral base pointers */
5714 #define CACHE64_CTRL_BASE_PTRS { CACHE64 }
5715 /** Array initializer of CACHE64_CTRL peripheral base addresses */
5716 #define CACHE64_CTRL_BASE_ADDRS_NS { CACHE64_BASE_NS }
5717 /** Array initializer of CACHE64_CTRL peripheral base pointers */
5718 #define CACHE64_CTRL_BASE_PTRS_NS { CACHE64_NS }
5719#else
5720 /** Peripheral CACHE64 base address */
5721 #define CACHE64_BASE (0x40033000u)
5722 /** Peripheral CACHE64 base pointer */
5723 #define CACHE64 ((CACHE64_CTRL_Type *)CACHE64_BASE)
5724 /** Array initializer of CACHE64_CTRL peripheral base addresses */
5725 #define CACHE64_CTRL_BASE_ADDRS { CACHE64_BASE }
5726 /** Array initializer of CACHE64_CTRL peripheral base pointers */
5727 #define CACHE64_CTRL_BASE_PTRS { CACHE64 }
5728#endif
5729#if (__ARM_FEATURE_CMSE & 0x2)
5730/** CACHE64_CTRL physical memory base address */
5731 #define CACHE64_CTRL_PHYMEM_BASES { 0x18000000u }
5732/** CACHE64_CTRL physical memory size */
5733 #define CACHE64_CTRL_PHYMEM_SIZES { 0x08000000u }
5734/** CACHE64_CTRL physical memory base address */
5735 #define CACHE64_CTRL_PHYMEM_BASES_NS { 0x08000000u }
5736/** CACHE64_CTRL physical memory size */
5737 #define CACHE64_CTRL_PHYMEM_SIZES_NS { 0x08000000u }
5738#else
5739/** CACHE64_CTRL physical memory base address */
5740 #define CACHE64_CTRL_PHYMEM_BASES { 0x08000000u }
5741/** CACHE64_CTRL physical memory size */
5742 #define CACHE64_CTRL_PHYMEM_SIZES { 0x08000000u }
5743#endif
5744/* Backward compatibility */
5745#define CACHE64_CTRL_CSAR_PHYADDR_MASK (CACHE64_CTRL_CSAR_PHYADDR27_1_MASK | CACHE64_CTRL_CSAR_PHYADDR31_29_MASK)
5746
5747
5748/*!
5749 * @}
5750 */ /* end of group CACHE64_CTRL_Peripheral_Access_Layer */
5751
5752
5753/* ----------------------------------------------------------------------------
5754 -- CACHE64_POLSEL Peripheral Access Layer
5755 ---------------------------------------------------------------------------- */
5756
5757/*!
5758 * @addtogroup CACHE64_POLSEL_Peripheral_Access_Layer CACHE64_POLSEL Peripheral Access Layer
5759 * @{
5760 */
5761
5762/** CACHE64_POLSEL - Register Layout Typedef */
5763typedef struct {
5764 uint8_t RESERVED_0[20];
5765 __IO uint32_t REG0_TOP; /**< Region 0 Top Boundary, offset: 0x14 */
5766 __IO uint32_t REG1_TOP; /**< Region 1 Top Boundary, offset: 0x18 */
5767 __IO uint32_t POLSEL; /**< Policy Select, offset: 0x1C */
5768} CACHE64_POLSEL_Type;
5769
5770/* ----------------------------------------------------------------------------
5771 -- CACHE64_POLSEL Register Masks
5772 ---------------------------------------------------------------------------- */
5773
5774/*!
5775 * @addtogroup CACHE64_POLSEL_Register_Masks CACHE64_POLSEL Register Masks
5776 * @{
5777 */
5778
5779/*! @name REG0_TOP - Region 0 Top Boundary */
5780/*! @{ */
5781#define CACHE64_POLSEL_REG0_TOP_REG0_TOP_MASK (0x7FFFC00U)
5782#define CACHE64_POLSEL_REG0_TOP_REG0_TOP_SHIFT (10U)
5783/*! REG0_TOP - Upper limit of Region 0
5784 */
5785#define CACHE64_POLSEL_REG0_TOP_REG0_TOP(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_POLSEL_REG0_TOP_REG0_TOP_SHIFT)) & CACHE64_POLSEL_REG0_TOP_REG0_TOP_MASK)
5786/*! @} */
5787
5788/*! @name REG1_TOP - Region 1 Top Boundary */
5789/*! @{ */
5790#define CACHE64_POLSEL_REG1_TOP_REG1_TOP_MASK (0x7FFFC00U)
5791#define CACHE64_POLSEL_REG1_TOP_REG1_TOP_SHIFT (10U)
5792/*! REG1_TOP - Upper limit of Region 1
5793 */
5794#define CACHE64_POLSEL_REG1_TOP_REG1_TOP(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_POLSEL_REG1_TOP_REG1_TOP_SHIFT)) & CACHE64_POLSEL_REG1_TOP_REG1_TOP_MASK)
5795/*! @} */
5796
5797/*! @name POLSEL - Policy Select */
5798/*! @{ */
5799#define CACHE64_POLSEL_POLSEL_REG0_POLICY_MASK (0x3U)
5800#define CACHE64_POLSEL_POLSEL_REG0_POLICY_SHIFT (0U)
5801/*! REG0_POLICY - Policy Select for Region 0
5802 * 0b00..Non-cache
5803 * 0b01..Write-thru
5804 * 0b10..Write-back
5805 * 0b11..Invalid
5806 */
5807#define CACHE64_POLSEL_POLSEL_REG0_POLICY(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_POLSEL_POLSEL_REG0_POLICY_SHIFT)) & CACHE64_POLSEL_POLSEL_REG0_POLICY_MASK)
5808#define CACHE64_POLSEL_POLSEL_REG1_POLICY_MASK (0xCU)
5809#define CACHE64_POLSEL_POLSEL_REG1_POLICY_SHIFT (2U)
5810/*! REG1_POLICY - Policy Select for Region 0
5811 * 0b00..Non-cache
5812 * 0b01..Write-thru
5813 * 0b10..Write-back
5814 * 0b11..Invalid
5815 */
5816#define CACHE64_POLSEL_POLSEL_REG1_POLICY(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_POLSEL_POLSEL_REG1_POLICY_SHIFT)) & CACHE64_POLSEL_POLSEL_REG1_POLICY_MASK)
5817#define CACHE64_POLSEL_POLSEL_REG02_POLICY_MASK (0x30U)
5818#define CACHE64_POLSEL_POLSEL_REG02_POLICY_SHIFT (4U)
5819/*! REG02_POLICY - Policy Select for Region 0
5820 * 0b00..Non-cache
5821 * 0b01..Write-thru
5822 * 0b10..Write-back
5823 * 0b11..Invalid
5824 */
5825#define CACHE64_POLSEL_POLSEL_REG02_POLICY(x) (((uint32_t)(((uint32_t)(x)) << CACHE64_POLSEL_POLSEL_REG02_POLICY_SHIFT)) & CACHE64_POLSEL_POLSEL_REG02_POLICY_MASK)
5826/*! @} */
5827
5828
5829/*!
5830 * @}
5831 */ /* end of group CACHE64_POLSEL_Register_Masks */
5832
5833
5834/* CACHE64_POLSEL - Peripheral instance base addresses */
5835#if (__ARM_FEATURE_CMSE & 0x2)
5836 /** Peripheral CACHE64_POLSEL base address */
5837 #define CACHE64_POLSEL_BASE (0x50033000u)
5838 /** Peripheral CACHE64_POLSEL base address */
5839 #define CACHE64_POLSEL_BASE_NS (0x40033000u)
5840 /** Peripheral CACHE64_POLSEL base pointer */
5841 #define CACHE64_POLSEL ((CACHE64_POLSEL_Type *)CACHE64_POLSEL_BASE)
5842 /** Peripheral CACHE64_POLSEL base pointer */
5843 #define CACHE64_POLSEL_NS ((CACHE64_POLSEL_Type *)CACHE64_POLSEL_BASE_NS)
5844 /** Array initializer of CACHE64_POLSEL peripheral base addresses */
5845 #define CACHE64_POLSEL_BASE_ADDRS { CACHE64_POLSEL_BASE }
5846 /** Array initializer of CACHE64_POLSEL peripheral base pointers */
5847 #define CACHE64_POLSEL_BASE_PTRS { CACHE64_POLSEL }
5848 /** Array initializer of CACHE64_POLSEL peripheral base addresses */
5849 #define CACHE64_POLSEL_BASE_ADDRS_NS { CACHE64_POLSEL_BASE_NS }
5850 /** Array initializer of CACHE64_POLSEL peripheral base pointers */
5851 #define CACHE64_POLSEL_BASE_PTRS_NS { CACHE64_POLSEL_NS }
5852#else
5853 /** Peripheral CACHE64_POLSEL base address */
5854 #define CACHE64_POLSEL_BASE (0x40033000u)
5855 /** Peripheral CACHE64_POLSEL base pointer */
5856 #define CACHE64_POLSEL ((CACHE64_POLSEL_Type *)CACHE64_POLSEL_BASE)
5857 /** Array initializer of CACHE64_POLSEL peripheral base addresses */
5858 #define CACHE64_POLSEL_BASE_ADDRS { CACHE64_POLSEL_BASE }
5859 /** Array initializer of CACHE64_POLSEL peripheral base pointers */
5860 #define CACHE64_POLSEL_BASE_PTRS { CACHE64_POLSEL }
5861#endif
5862
5863/*!
5864 * @}
5865 */ /* end of group CACHE64_POLSEL_Peripheral_Access_Layer */
5866
5867
5868/* ----------------------------------------------------------------------------
5869 -- CASPER Peripheral Access Layer
5870 ---------------------------------------------------------------------------- */
5871
5872/*!
5873 * @addtogroup CASPER_Peripheral_Access_Layer CASPER Peripheral Access Layer
5874 * @{
5875 */
5876
5877/** CASPER - Register Layout Typedef */
5878typedef struct {
5879 __IO uint32_t CTRL0; /**< Contains the offsets of AB and CD in the RAM., offset: 0x0 */
5880 __IO uint32_t CTRL1; /**< Contains the opcode mode, iteration count, and result offset (in RAM) and also launches the accelerator. Note: with CP version: CTRL0 and CRTL1 can be written in one go with MCRR., offset: 0x4 */
5881 uint8_t RESERVED_0[4];
5882 __IO uint32_t STATUS; /**< Indicates operational status and would contain the carry bit if used., offset: 0xC */
5883 __IO uint32_t INTENSET; /**< Sets interrupts, offset: 0x10 */
5884 __IO uint32_t INTENCLR; /**< Clears interrupts, offset: 0x14 */
5885 __I uint32_t INTSTAT; /**< Interrupt status bits (mask of INTENSET and STATUS), offset: 0x18 */
5886 uint8_t RESERVED_1[4];
5887 __IO uint32_t AREG; /**< A register, offset: 0x20 */
5888 __IO uint32_t BREG; /**< B register, offset: 0x24 */
5889 __IO uint32_t CREG; /**< C register, offset: 0x28 */
5890 __IO uint32_t DREG; /**< D register, offset: 0x2C */
5891 __IO uint32_t RES0; /**< Result register 0, offset: 0x30 */
5892 __IO uint32_t RES1; /**< Result register 1, offset: 0x34 */
5893 __IO uint32_t RES2; /**< Result register 2, offset: 0x38 */
5894 __IO uint32_t RES3; /**< Result register 3, offset: 0x3C */
5895 uint8_t RESERVED_2[32];
5896 __IO uint32_t MASK; /**< Optional mask register, offset: 0x60 */
5897 __IO uint32_t REMASK; /**< Optional re-mask register, offset: 0x64 */
5898 uint8_t RESERVED_3[24];
5899 __IO uint32_t LOCK; /**< Security lock register, offset: 0x80 */
5900} CASPER_Type;
5901
5902/* ----------------------------------------------------------------------------
5903 -- CASPER Register Masks
5904 ---------------------------------------------------------------------------- */
5905
5906/*!
5907 * @addtogroup CASPER_Register_Masks CASPER Register Masks
5908 * @{
5909 */
5910
5911/*! @name CTRL0 - Contains the offsets of AB and CD in the RAM. */
5912/*! @{ */
5913#define CASPER_CTRL0_ABBPAIR_MASK (0x1U)
5914#define CASPER_CTRL0_ABBPAIR_SHIFT (0U)
5915/*! ABBPAIR - Which bank-pair the offset ABOFF is within. This must be 0 if only 2-up
5916 * 0b0..Bank-pair 0 (1st)
5917 * 0b1..Bank-pair 1 (2nd)
5918 */
5919#define CASPER_CTRL0_ABBPAIR(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL0_ABBPAIR_SHIFT)) & CASPER_CTRL0_ABBPAIR_MASK)
5920#define CASPER_CTRL0_ABOFF_MASK (0x4U)
5921#define CASPER_CTRL0_ABOFF_SHIFT (2U)
5922/*! ABOFF - Word or DWord Offset of AB values, with B at [2]=0 and A at [2]=1 as far as the code
5923 * sees (normally will be an interleaved bank so only sequential to AHB). Word offset only allowed
5924 * if 32 bit operation. Ideally not in the same RAM as the CD values if 4-up
5925 */
5926#define CASPER_CTRL0_ABOFF(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL0_ABOFF_SHIFT)) & CASPER_CTRL0_ABOFF_MASK)
5927#define CASPER_CTRL0_CDBPAIR_MASK (0x10000U)
5928#define CASPER_CTRL0_CDBPAIR_SHIFT (16U)
5929/*! CDBPAIR - Which bank-pair the offset CDOFF is within. This must be 0 if only 2-up
5930 * 0b0..Bank-pair 0 (1st)
5931 * 0b1..Bank-pair 1 (2nd)
5932 */
5933#define CASPER_CTRL0_CDBPAIR(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL0_CDBPAIR_SHIFT)) & CASPER_CTRL0_CDBPAIR_MASK)
5934#define CASPER_CTRL0_CDOFF_MASK (0x1FFC0000U)
5935#define CASPER_CTRL0_CDOFF_SHIFT (18U)
5936/*! CDOFF - Word or DWord Offset of CD, with D at [2]=0 and C at [2]=1 as far as the code sees
5937 * (normally will be an interleaved bank so only sequential to AHB). Word offset only allowed if 32
5938 * bit operation. Ideally not in the same RAM as the AB values
5939 */
5940#define CASPER_CTRL0_CDOFF(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL0_CDOFF_SHIFT)) & CASPER_CTRL0_CDOFF_MASK)
5941/*! @} */
5942
5943/*! @name CTRL1 - Contains the opcode mode, iteration count, and result offset (in RAM) and also launches the accelerator. Note: with CP version: CTRL0 and CRTL1 can be written in one go with MCRR. */
5944/*! @{ */
5945#define CASPER_CTRL1_ITER_MASK (0xFFU)
5946#define CASPER_CTRL1_ITER_SHIFT (0U)
5947/*! ITER - Iteration counter. Is number_cycles - 1. write 0 means Does one cycle - does not iterate.
5948 */
5949#define CASPER_CTRL1_ITER(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL1_ITER_SHIFT)) & CASPER_CTRL1_ITER_MASK)
5950#define CASPER_CTRL1_MODE_MASK (0xFF00U)
5951#define CASPER_CTRL1_MODE_SHIFT (8U)
5952/*! MODE - Operation mode to perform. write 0 means Accelerator is inactive. write others means accelerator is active.
5953 */
5954#define CASPER_CTRL1_MODE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL1_MODE_SHIFT)) & CASPER_CTRL1_MODE_MASK)
5955#define CASPER_CTRL1_RESBPAIR_MASK (0x10000U)
5956#define CASPER_CTRL1_RESBPAIR_SHIFT (16U)
5957/*! RESBPAIR - Which bank-pair the offset RESOFF is within. This must be 0 if only 2-up. Ideally
5958 * this is not the same bank as ABBPAIR (when 4-up supported)
5959 * 0b0..Bank-pair 0 (1st)
5960 * 0b1..Bank-pair 1 (2nd)
5961 */
5962#define CASPER_CTRL1_RESBPAIR(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL1_RESBPAIR_SHIFT)) & CASPER_CTRL1_RESBPAIR_MASK)
5963#define CASPER_CTRL1_RESOFF_MASK (0x1FFC0000U)
5964#define CASPER_CTRL1_RESOFF_SHIFT (18U)
5965/*! RESOFF - Word or DWord Offset of result. Word offset only allowed if 32 bit operation. Ideally
5966 * not in the same RAM as the AB and CD values
5967 */
5968#define CASPER_CTRL1_RESOFF(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL1_RESOFF_SHIFT)) & CASPER_CTRL1_RESOFF_MASK)
5969#define CASPER_CTRL1_CSKIP_MASK (0xC0000000U)
5970#define CASPER_CTRL1_CSKIP_SHIFT (30U)
5971/*! CSKIP - Skip rules on Carry if needed. This operation will be skipped based on Carry value (from previous operation) if not 0:
5972 * 0b00..No Skip
5973 * 0b01..Skip if Carry is 1
5974 * 0b10..Skip if Carry is 0
5975 * 0b11..Set CTRLOFF to CDOFF and Skip
5976 */
5977#define CASPER_CTRL1_CSKIP(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CTRL1_CSKIP_SHIFT)) & CASPER_CTRL1_CSKIP_MASK)
5978/*! @} */
5979
5980/*! @name STATUS - Indicates operational status and would contain the carry bit if used. */
5981/*! @{ */
5982#define CASPER_STATUS_DONE_MASK (0x1U)
5983#define CASPER_STATUS_DONE_SHIFT (0U)
5984/*! DONE - Indicates if the accelerator has finished an operation. Write 1 to clear, or write CTRL1 to clear.
5985 * 0b0..Busy or just cleared
5986 * 0b1..Completed last operation
5987 */
5988#define CASPER_STATUS_DONE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_STATUS_DONE_SHIFT)) & CASPER_STATUS_DONE_MASK)
5989#define CASPER_STATUS_CARRY_MASK (0x10U)
5990#define CASPER_STATUS_CARRY_SHIFT (4U)
5991/*! CARRY - Last carry value if operation produced a carry bit
5992 * 0b0..Carry was 0 or no carry
5993 * 0b1..Carry was 1
5994 */
5995#define CASPER_STATUS_CARRY(x) (((uint32_t)(((uint32_t)(x)) << CASPER_STATUS_CARRY_SHIFT)) & CASPER_STATUS_CARRY_MASK)
5996#define CASPER_STATUS_BUSY_MASK (0x20U)
5997#define CASPER_STATUS_BUSY_SHIFT (5U)
5998/*! BUSY - Indicates if the accelerator is busy performing an operation
5999 * 0b0..Not busy - is idle
6000 * 0b1..Is busy
6001 */
6002#define CASPER_STATUS_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CASPER_STATUS_BUSY_SHIFT)) & CASPER_STATUS_BUSY_MASK)
6003/*! @} */
6004
6005/*! @name INTENSET - Sets interrupts */
6006/*! @{ */
6007#define CASPER_INTENSET_DONE_MASK (0x1U)
6008#define CASPER_INTENSET_DONE_SHIFT (0U)
6009/*! DONE - Set if the accelerator should interrupt when done.
6010 * 0b0..Do not interrupt when done
6011 * 0b1..Interrupt when done
6012 */
6013#define CASPER_INTENSET_DONE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_INTENSET_DONE_SHIFT)) & CASPER_INTENSET_DONE_MASK)
6014/*! @} */
6015
6016/*! @name INTENCLR - Clears interrupts */
6017/*! @{ */
6018#define CASPER_INTENCLR_DONE_MASK (0x1U)
6019#define CASPER_INTENCLR_DONE_SHIFT (0U)
6020/*! DONE - Written to clear an interrupt set with INTENSET.
6021 * 0b0..If written 0, ignored
6022 * 0b1..If written 1, do not Interrupt when done
6023 */
6024#define CASPER_INTENCLR_DONE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_INTENCLR_DONE_SHIFT)) & CASPER_INTENCLR_DONE_MASK)
6025/*! @} */
6026
6027/*! @name INTSTAT - Interrupt status bits (mask of INTENSET and STATUS) */
6028/*! @{ */
6029#define CASPER_INTSTAT_DONE_MASK (0x1U)
6030#define CASPER_INTSTAT_DONE_SHIFT (0U)
6031/*! DONE - If set, interrupt is caused by accelerator being done.
6032 * 0b0..Not caused by accelerator being done
6033 * 0b1..Caused by accelerator being done
6034 */
6035#define CASPER_INTSTAT_DONE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_INTSTAT_DONE_SHIFT)) & CASPER_INTSTAT_DONE_MASK)
6036/*! @} */
6037
6038/*! @name AREG - A register */
6039/*! @{ */
6040#define CASPER_AREG_REG_VALUE_MASK (0xFFFFFFFFU)
6041#define CASPER_AREG_REG_VALUE_SHIFT (0U)
6042/*! REG_VALUE - Register to be fed into Multiplier. Is not normally written or read by application,
6043 * but is available when accelerator not busy.
6044 */
6045#define CASPER_AREG_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_AREG_REG_VALUE_SHIFT)) & CASPER_AREG_REG_VALUE_MASK)
6046/*! @} */
6047
6048/*! @name BREG - B register */
6049/*! @{ */
6050#define CASPER_BREG_REG_VALUE_MASK (0xFFFFFFFFU)
6051#define CASPER_BREG_REG_VALUE_SHIFT (0U)
6052/*! REG_VALUE - Register to be fed into Multiplier. Is not normally written or read by application,
6053 * but is available when accelerator not busy.
6054 */
6055#define CASPER_BREG_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_BREG_REG_VALUE_SHIFT)) & CASPER_BREG_REG_VALUE_MASK)
6056/*! @} */
6057
6058/*! @name CREG - C register */
6059/*! @{ */
6060#define CASPER_CREG_REG_VALUE_MASK (0xFFFFFFFFU)
6061#define CASPER_CREG_REG_VALUE_SHIFT (0U)
6062/*! REG_VALUE - Register to be fed into Multiplier. Is not normally written or read by application,
6063 * but is available when accelerator not busy.
6064 */
6065#define CASPER_CREG_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_CREG_REG_VALUE_SHIFT)) & CASPER_CREG_REG_VALUE_MASK)
6066/*! @} */
6067
6068/*! @name DREG - D register */
6069/*! @{ */
6070#define CASPER_DREG_REG_VALUE_MASK (0xFFFFFFFFU)
6071#define CASPER_DREG_REG_VALUE_SHIFT (0U)
6072/*! REG_VALUE - Register to be fed into Multiplier. Is not normally written or read by application,
6073 * but is available when accelerator not busy.
6074 */
6075#define CASPER_DREG_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_DREG_REG_VALUE_SHIFT)) & CASPER_DREG_REG_VALUE_MASK)
6076/*! @} */
6077
6078/*! @name RES0 - Result register 0 */
6079/*! @{ */
6080#define CASPER_RES0_REG_VALUE_MASK (0xFFFFFFFFU)
6081#define CASPER_RES0_REG_VALUE_SHIFT (0U)
6082/*! REG_VALUE - Register to hold working result (from multiplier, adder/xor, etc). Is not normally
6083 * written or read by application, but is available when accelerator not busy.
6084 */
6085#define CASPER_RES0_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_RES0_REG_VALUE_SHIFT)) & CASPER_RES0_REG_VALUE_MASK)
6086/*! @} */
6087
6088/*! @name RES1 - Result register 1 */
6089/*! @{ */
6090#define CASPER_RES1_REG_VALUE_MASK (0xFFFFFFFFU)
6091#define CASPER_RES1_REG_VALUE_SHIFT (0U)
6092/*! REG_VALUE - Register to hold working result (from multiplier, adder/xor, etc). Is not normally
6093 * written or read by application, but is available when accelerator not busy.
6094 */
6095#define CASPER_RES1_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_RES1_REG_VALUE_SHIFT)) & CASPER_RES1_REG_VALUE_MASK)
6096/*! @} */
6097
6098/*! @name RES2 - Result register 2 */
6099/*! @{ */
6100#define CASPER_RES2_REG_VALUE_MASK (0xFFFFFFFFU)
6101#define CASPER_RES2_REG_VALUE_SHIFT (0U)
6102/*! REG_VALUE - Register to hold working result (from multiplier, adder/xor, etc). Is not normally
6103 * written or read by application, but is available when accelerator not busy.
6104 */
6105#define CASPER_RES2_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_RES2_REG_VALUE_SHIFT)) & CASPER_RES2_REG_VALUE_MASK)
6106/*! @} */
6107
6108/*! @name RES3 - Result register 3 */
6109/*! @{ */
6110#define CASPER_RES3_REG_VALUE_MASK (0xFFFFFFFFU)
6111#define CASPER_RES3_REG_VALUE_SHIFT (0U)
6112/*! REG_VALUE - Register to hold working result (from multiplier, adder/xor, etc). Is not normally
6113 * written or read by application, but is available when accelerator not busy.
6114 */
6115#define CASPER_RES3_REG_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CASPER_RES3_REG_VALUE_SHIFT)) & CASPER_RES3_REG_VALUE_MASK)
6116/*! @} */
6117
6118/*! @name MASK - Optional mask register */
6119/*! @{ */
6120#define CASPER_MASK_MASK_MASK (0xFFFFFFFFU)
6121#define CASPER_MASK_MASK_SHIFT (0U)
6122/*! MASK - Mask to apply as side channel countermeasure. 0: No mask to be used. N: Mask to XOR onto values
6123 */
6124#define CASPER_MASK_MASK(x) (((uint32_t)(((uint32_t)(x)) << CASPER_MASK_MASK_SHIFT)) & CASPER_MASK_MASK_MASK)
6125/*! @} */
6126
6127/*! @name REMASK - Optional re-mask register */
6128/*! @{ */
6129#define CASPER_REMASK_MASK_MASK (0xFFFFFFFFU)
6130#define CASPER_REMASK_MASK_SHIFT (0U)
6131/*! MASK - Mask to apply as side channel countermeasure. 0: No mask to be used. N: Mask to XOR onto values
6132 */
6133#define CASPER_REMASK_MASK(x) (((uint32_t)(((uint32_t)(x)) << CASPER_REMASK_MASK_SHIFT)) & CASPER_REMASK_MASK_MASK)
6134/*! @} */
6135
6136/*! @name LOCK - Security lock register */
6137/*! @{ */
6138#define CASPER_LOCK_LOCK_MASK (0x1U)
6139#define CASPER_LOCK_LOCK_SHIFT (0U)
6140/*! LOCK - Reads back with security level locked to, or 0. Writes as 0 to unlock, 1 to lock.
6141 * 0b0..unlock
6142 * 0b1..Lock to current security level
6143 */
6144#define CASPER_LOCK_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CASPER_LOCK_LOCK_SHIFT)) & CASPER_LOCK_LOCK_MASK)
6145#define CASPER_LOCK_KEY_MASK (0x1FFF0U)
6146#define CASPER_LOCK_KEY_SHIFT (4U)
6147/*! KEY - Must be written as 0x73D to change the register.
6148 * 0b0011100111101..If set during write, will allow lock or unlock
6149 */
6150#define CASPER_LOCK_KEY(x) (((uint32_t)(((uint32_t)(x)) << CASPER_LOCK_KEY_SHIFT)) & CASPER_LOCK_KEY_MASK)
6151/*! @} */
6152
6153
6154/*!
6155 * @}
6156 */ /* end of group CASPER_Register_Masks */
6157
6158
6159/* CASPER - Peripheral instance base addresses */
6160#if (__ARM_FEATURE_CMSE & 0x2)
6161 /** Peripheral CASPER base address */
6162 #define CASPER_BASE (0x50151000u)
6163 /** Peripheral CASPER base address */
6164 #define CASPER_BASE_NS (0x40151000u)
6165 /** Peripheral CASPER base pointer */
6166 #define CASPER ((CASPER_Type *)CASPER_BASE)
6167 /** Peripheral CASPER base pointer */
6168 #define CASPER_NS ((CASPER_Type *)CASPER_BASE_NS)
6169 /** Array initializer of CASPER peripheral base addresses */
6170 #define CASPER_BASE_ADDRS { CASPER_BASE }
6171 /** Array initializer of CASPER peripheral base pointers */
6172 #define CASPER_BASE_PTRS { CASPER }
6173 /** Array initializer of CASPER peripheral base addresses */
6174 #define CASPER_BASE_ADDRS_NS { CASPER_BASE_NS }
6175 /** Array initializer of CASPER peripheral base pointers */
6176 #define CASPER_BASE_PTRS_NS { CASPER_NS }
6177#else
6178 /** Peripheral CASPER base address */
6179 #define CASPER_BASE (0x40151000u)
6180 /** Peripheral CASPER base pointer */
6181 #define CASPER ((CASPER_Type *)CASPER_BASE)
6182 /** Array initializer of CASPER peripheral base addresses */
6183 #define CASPER_BASE_ADDRS { CASPER_BASE }
6184 /** Array initializer of CASPER peripheral base pointers */
6185 #define CASPER_BASE_PTRS { CASPER }
6186#endif
6187/** Interrupt vectors for the CASPER peripheral type */
6188#define CASPER_IRQS { CASPER_IRQn }
6189
6190/*!
6191 * @}
6192 */ /* end of group CASPER_Peripheral_Access_Layer */
6193
6194
6195/* ----------------------------------------------------------------------------
6196 -- CLKCTL0 Peripheral Access Layer
6197 ---------------------------------------------------------------------------- */
6198
6199/*!
6200 * @addtogroup CLKCTL0_Peripheral_Access_Layer CLKCTL0 Peripheral Access Layer
6201 * @{
6202 */
6203
6204/** CLKCTL0 - Register Layout Typedef */
6205typedef struct {
6206 uint8_t RESERVED_0[16];
6207 __IO uint32_t PSCCTL0; /**< clock control register 0, offset: 0x10 */
6208 __IO uint32_t PSCCTL1; /**< clock control register 1, offset: 0x14 */
6209 __IO uint32_t PSCCTL2; /**< clock control register 2, offset: 0x18 */
6210 uint8_t RESERVED_1[36];
6211 __O uint32_t PSCCTL0_SET; /**< clock set register 0, offset: 0x40 */
6212 __O uint32_t PSCCTL1_SET; /**< clock set register 1, offset: 0x44 */
6213 __O uint32_t PSCCTL2_SET; /**< clock set register 2, offset: 0x48 */
6214 uint8_t RESERVED_2[36];
6215 __O uint32_t PSCCTL0_CLR; /**< clock clear register 0, offset: 0x70 */
6216 __O uint32_t PSCCTL1_CLR; /**< clock clear register 1, offset: 0x74 */
6217 __O uint32_t PSCCTL2_CLR; /**< clock clear register 2, offset: 0x78 */
6218 uint8_t RESERVED_3[132];
6219 __IO uint32_t FFROCTL0; /**< FFRO control 0, offset: 0x100 */
6220 __IO uint32_t FFROCTL1; /**< FFRO control 1, offset: 0x104 */
6221 uint8_t RESERVED_4[88];
6222 __IO uint32_t SYSOSCCTL0; /**< system oscillator control 0, offset: 0x160 */
6223 uint8_t RESERVED_5[4];
6224 __IO uint32_t SYSOSCBYPASS; /**< system oscillator bypass, offset: 0x168 */
6225 uint8_t RESERVED_6[36];
6226 __IO uint32_t LPOSCCTL0; /**< low power oscillator control 0, offset: 0x190 */
6227 uint8_t RESERVED_7[44];
6228 __IO uint32_t OSC32KHZCTL0; /**< 32k oscillator control0, offset: 0x1C0 */
6229 uint8_t RESERVED_8[60];
6230 __IO uint32_t SYSPLL0CLKSEL; /**< system pll0 clock selection, offset: 0x200 */
6231 __IO uint32_t SYSPLL0CTL0; /**< system pll0 control0, offset: 0x204 */
6232 uint8_t RESERVED_9[4];
6233 __IO uint32_t SYSPLL0LOCKTIMEDIV2; /**< system pll0 lock time, offset: 0x20C */
6234 __IO uint32_t SYSPLL0NUM; /**< system pll0 number, offset: 0x210 */
6235 __IO uint32_t SYSPLL0DENOM; /**< system pll0 denom, offset: 0x214 */
6236 __IO uint32_t SYSPLL0PFD; /**< sys pll0 PFD, offset: 0x218 */
6237 uint8_t RESERVED_10[36];
6238 __IO uint32_t MAINPLLCLKDIV; /**< main pll clk divider, offset: 0x240 */
6239 __IO uint32_t DSPPLLCLKDIV; /**< dsp pll clk divider, offset: 0x244 */
6240 __IO uint32_t AUX0PLLCLKDIV; /**< aux0 pll clk divider, offset: 0x248 */
6241 __IO uint32_t AUX1PLLCLKDIV; /**< aux1 pll clk divider, offset: 0x24C */
6242 uint8_t RESERVED_11[432];
6243 __IO uint32_t SYSCPUAHBCLKDIV; /**< system cpu AHB clock divider, offset: 0x400 */
6244 uint8_t RESERVED_12[44];
6245 __IO uint32_t MAINCLKSELA; /**< main clock selection A, offset: 0x430 */
6246 __IO uint32_t MAINCLKSELB; /**< main clock selection B, offset: 0x434 */
6247 uint8_t RESERVED_13[200];
6248 __IO uint32_t PFCDIV[2]; /**< PFC divider register N, array offset: 0x500, array step: 0x4 */
6249 uint8_t RESERVED_14[280];
6250 __IO uint32_t FLEXSPIFCLKSEL; /**< FlexSPI FCLK selection, offset: 0x620 */
6251 __IO uint32_t FLEXSPIFCLKDIV; /**< FlexSPI FCLK divider, offset: 0x624 */
6252 uint8_t RESERVED_15[24];
6253 __IO uint32_t SCTFCLKSEL; /**< SCT FCLK selection, offset: 0x640 */
6254 __IO uint32_t SCTFCLKDIV; /**< SCT fclk divider, offset: 0x644 */
6255 uint8_t RESERVED_16[24];
6256 __IO uint32_t USBHSFCLKSEL; /**< USBHS Fclk selection, offset: 0x660 */
6257 __IO uint32_t USBHSFCLKDIV; /**< USBHS Fclk divider, offset: 0x664 */
6258 uint8_t RESERVED_17[24];
6259 __IO uint32_t SDIO0FCLKSEL; /**< SDIO0 FCLK selection, offset: 0x680 */
6260 __IO uint32_t SDIO0FCLKDIV; /**< SDIO0 FCLK divider, offset: 0x684 */
6261 uint8_t RESERVED_18[8];
6262 __IO uint32_t SDIO1FCLKSEL; /**< SDIO1 FCLK selection, offset: 0x690 */
6263 __IO uint32_t SDIO1FCLKDIV; /**< SDIO1 FCLK divider, offset: 0x694 */
6264 uint8_t RESERVED_19[56];
6265 __IO uint32_t ADC0FCLKSEL0; /**< ADC0 fclk selection 0, offset: 0x6D0 */
6266 __IO uint32_t ADC0FCLKSEL1; /**< ADC0 fclk selection 1, offset: 0x6D4 */
6267 __IO uint32_t ADC0FCLKDIV; /**< ADC0 fclk divider, offset: 0x6D8 */
6268 uint8_t RESERVED_20[36];
6269 __IO uint32_t UTICKFCLKSEL; /**< UTICK fclk selection, offset: 0x700 */
6270 uint8_t RESERVED_21[28];
6271 __IO uint32_t WDT0FCLKSEL; /**< wdt clock selection, offset: 0x720 */
6272 uint8_t RESERVED_22[12];
6273 __IO uint32_t WAKECLK32KHZSEL; /**< 32k wake clock selection, offset: 0x730 */
6274 __IO uint32_t WAKECLK32KHZDIV; /**< 32k wake clock divider, offset: 0x734 */
6275 uint8_t RESERVED_23[40];
6276 __IO uint32_t SYSTICKFCLKSEL; /**< system tick fclk selection, offset: 0x760 */
6277 __IO uint32_t SYSTICKFCLKDIV; /**< system tick fclk divider, offset: 0x764 */
6278} CLKCTL0_Type;
6279
6280/* ----------------------------------------------------------------------------
6281 -- CLKCTL0 Register Masks
6282 ---------------------------------------------------------------------------- */
6283
6284/*!
6285 * @addtogroup CLKCTL0_Register_Masks CLKCTL0 Register Masks
6286 * @{
6287 */
6288
6289/*! @name PSCCTL0 - clock control register 0 */
6290/*! @{ */
6291#define CLKCTL0_PSCCTL0_ROM_CTL_128KB_MASK (0x4U)
6292#define CLKCTL0_PSCCTL0_ROM_CTL_128KB_SHIFT (2U)
6293/*! ROM_CTL_128KB - 128KB ROM control
6294 * 0b0..Disable Clock
6295 * 0b1..Enable Clock
6296 */
6297#define CLKCTL0_PSCCTL0_ROM_CTL_128KB(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_ROM_CTL_128KB_SHIFT)) & CLKCTL0_PSCCTL0_ROM_CTL_128KB_MASK)
6298#define CLKCTL0_PSCCTL0_POWERQUAD_CLK_MASK (0x100U)
6299#define CLKCTL0_PSCCTL0_POWERQUAD_CLK_SHIFT (8U)
6300/*! POWERQUAD_CLK - powerquad clock control
6301 * 0b0..Disable Clock
6302 * 0b1..Enable Clock
6303 */
6304#define CLKCTL0_PSCCTL0_POWERQUAD_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_POWERQUAD_CLK_SHIFT)) & CLKCTL0_PSCCTL0_POWERQUAD_CLK_MASK)
6305#define CLKCTL0_PSCCTL0_CASPER_CLK_MASK (0x200U)
6306#define CLKCTL0_PSCCTL0_CASPER_CLK_SHIFT (9U)
6307/*! CASPER_CLK - CAPSER clock control
6308 * 0b0..Disable Clock
6309 * 0b1..Enable Clock
6310 */
6311#define CLKCTL0_PSCCTL0_CASPER_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CASPER_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CASPER_CLK_MASK)
6312#define CLKCTL0_PSCCTL0_HASHCRYPT_CLK_MASK (0x400U)
6313#define CLKCTL0_PSCCTL0_HASHCRYPT_CLK_SHIFT (10U)
6314/*! HASHCRYPT_CLK - HASHCRYPT clock control
6315 * 0b0..Disable Clock
6316 * 0b1..Enable Clock
6317 */
6318#define CLKCTL0_PSCCTL0_HASHCRYPT_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_HASHCRYPT_CLK_SHIFT)) & CLKCTL0_PSCCTL0_HASHCRYPT_CLK_MASK)
6319#define CLKCTL0_PSCCTL0_PUF_CLK_MASK (0x800U)
6320#define CLKCTL0_PSCCTL0_PUF_CLK_SHIFT (11U)
6321/*! PUF_CLK - PUF clock control
6322 * 0b0..Disable Clock
6323 * 0b1..Enable Clock
6324 */
6325#define CLKCTL0_PSCCTL0_PUF_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_PUF_CLK_SHIFT)) & CLKCTL0_PSCCTL0_PUF_CLK_MASK)
6326#define CLKCTL0_PSCCTL0_RNG_CLK_MASK (0x1000U)
6327#define CLKCTL0_PSCCTL0_RNG_CLK_SHIFT (12U)
6328/*! RNG_CLK - RNG clock control
6329 * 0b0..Disable Clock
6330 * 0b1..Enable Clock
6331 */
6332#define CLKCTL0_PSCCTL0_RNG_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_RNG_CLK_SHIFT)) & CLKCTL0_PSCCTL0_RNG_CLK_MASK)
6333#define CLKCTL0_PSCCTL0_FLEXSPI_OTFAD_CLK_MASK (0x10000U)
6334#define CLKCTL0_PSCCTL0_FLEXSPI_OTFAD_CLK_SHIFT (16U)
6335/*! FLEXSPI_OTFAD_CLK - FLEXSPI clock control
6336 * 0b0..Disable Clock
6337 * 0b1..Enable Clock
6338 */
6339#define CLKCTL0_PSCCTL0_FLEXSPI_OTFAD_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_FLEXSPI_OTFAD_CLK_SHIFT)) & CLKCTL0_PSCCTL0_FLEXSPI_OTFAD_CLK_MASK)
6340#define CLKCTL0_PSCCTL0_OTP_CLK_MASK (0x20000U)
6341#define CLKCTL0_PSCCTL0_OTP_CLK_SHIFT (17U)
6342/*! OTP_CLK - OTP clock control
6343 * 0b0..Disable Clock
6344 * 0b1..Enable Clock
6345 */
6346#define CLKCTL0_PSCCTL0_OTP_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_OTP_CLK_SHIFT)) & CLKCTL0_PSCCTL0_OTP_CLK_MASK)
6347#define CLKCTL0_PSCCTL0_USBHS_PHY_CLK_MASK (0x100000U)
6348#define CLKCTL0_PSCCTL0_USBHS_PHY_CLK_SHIFT (20U)
6349/*! USBHS_PHY_CLK - USB PHY clock control
6350 * 0b0..Disable Clock
6351 * 0b1..Enable Clock
6352 */
6353#define CLKCTL0_PSCCTL0_USBHS_PHY_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_USBHS_PHY_CLK_SHIFT)) & CLKCTL0_PSCCTL0_USBHS_PHY_CLK_MASK)
6354#define CLKCTL0_PSCCTL0_USBHS_DEVICE_CLK_MASK (0x200000U)
6355#define CLKCTL0_PSCCTL0_USBHS_DEVICE_CLK_SHIFT (21U)
6356/*! USBHS_DEVICE_CLK - USB DEVICE clock control
6357 * 0b0..Disable Clock
6358 * 0b1..Enable Clock
6359 */
6360#define CLKCTL0_PSCCTL0_USBHS_DEVICE_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_USBHS_DEVICE_CLK_SHIFT)) & CLKCTL0_PSCCTL0_USBHS_DEVICE_CLK_MASK)
6361#define CLKCTL0_PSCCTL0_USBHS_HOST_CLK_MASK (0x400000U)
6362#define CLKCTL0_PSCCTL0_USBHS_HOST_CLK_SHIFT (22U)
6363/*! USBHS_HOST_CLK - USB HOST clock control
6364 * 0b0..Disable Clock
6365 * 0b1..Enable Clock
6366 */
6367#define CLKCTL0_PSCCTL0_USBHS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_USBHS_HOST_CLK_SHIFT)) & CLKCTL0_PSCCTL0_USBHS_HOST_CLK_MASK)
6368#define CLKCTL0_PSCCTL0_USBHS_SRAM_CLK_MASK (0x800000U)
6369#define CLKCTL0_PSCCTL0_USBHS_SRAM_CLK_SHIFT (23U)
6370/*! USBHS_SRAM_CLK - USBHS RAM clock control
6371 * 0b0..Disable Clock
6372 * 0b1..Enable Clock
6373 */
6374#define CLKCTL0_PSCCTL0_USBHS_SRAM_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_USBHS_SRAM_CLK_SHIFT)) & CLKCTL0_PSCCTL0_USBHS_SRAM_CLK_MASK)
6375#define CLKCTL0_PSCCTL0_SCT_CLK_MASK (0x1000000U)
6376#define CLKCTL0_PSCCTL0_SCT_CLK_SHIFT (24U)
6377/*! SCT_CLK - SCT clock control
6378 * 0b0..Disable Clock
6379 * 0b1..Enable Clock
6380 */
6381#define CLKCTL0_PSCCTL0_SCT_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SCT_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SCT_CLK_MASK)
6382/*! @} */
6383
6384/*! @name PSCCTL1 - clock control register 1 */
6385/*! @{ */
6386#define CLKCTL0_PSCCTL1_SDIO0_CLK_MASK (0x4U)
6387#define CLKCTL0_PSCCTL1_SDIO0_CLK_SHIFT (2U)
6388/*! SDIO0_CLK - SDIO0 clock control
6389 * 0b0..Disable Clock
6390 * 0b1..Enable Clock
6391 */
6392#define CLKCTL0_PSCCTL1_SDIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SDIO0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SDIO0_CLK_MASK)
6393#define CLKCTL0_PSCCTL1_SDIO1_CLK_MASK (0x8U)
6394#define CLKCTL0_PSCCTL1_SDIO1_CLK_SHIFT (3U)
6395/*! SDIO1_CLK - SDIO1 clock control
6396 * 0b0..Disable Clock
6397 * 0b1..Enable Clock
6398 */
6399#define CLKCTL0_PSCCTL1_SDIO1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SDIO1_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SDIO1_CLK_MASK)
6400#define CLKCTL0_PSCCTL1_ACMP0_CLK_MASK (0x8000U)
6401#define CLKCTL0_PSCCTL1_ACMP0_CLK_SHIFT (15U)
6402/*! ACMP0_CLK - Analog comparator clock control
6403 * 0b0..Disable Clock
6404 * 0b1..Enable Clock
6405 */
6406#define CLKCTL0_PSCCTL1_ACMP0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_ACMP0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_ACMP0_CLK_MASK)
6407#define CLKCTL0_PSCCTL1_ADC0_CLK_MASK (0x10000U)
6408#define CLKCTL0_PSCCTL1_ADC0_CLK_SHIFT (16U)
6409/*! ADC0_CLK - ADC clock control
6410 * 0b0..Disable Clock
6411 * 0b1..Enable Clock
6412 */
6413#define CLKCTL0_PSCCTL1_ADC0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_ADC0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_ADC0_CLK_MASK)
6414#define CLKCTL0_PSCCTL1_SHSGPIO0_CLK_MASK (0x1000000U)
6415#define CLKCTL0_PSCCTL1_SHSGPIO0_CLK_SHIFT (24U)
6416/*! SHSGPIO0_CLK - SHSGPIO0 clock control
6417 * 0b0..Disable Clock
6418 * 0b1..Enable Clock
6419 */
6420#define CLKCTL0_PSCCTL1_SHSGPIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SHSGPIO0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SHSGPIO0_CLK_MASK)
6421/*! @} */
6422
6423/*! @name PSCCTL2 - clock control register 2 */
6424/*! @{ */
6425#define CLKCTL0_PSCCTL2_UTICK0_CLK_MASK (0x1U)
6426#define CLKCTL0_PSCCTL2_UTICK0_CLK_SHIFT (0U)
6427/*! UTICK0_CLK - utick clock control
6428 * 0b0..Disable Clock
6429 * 0b1..Enable Clock
6430 */
6431#define CLKCTL0_PSCCTL2_UTICK0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL2_UTICK0_CLK_SHIFT)) & CLKCTL0_PSCCTL2_UTICK0_CLK_MASK)
6432#define CLKCTL0_PSCCTL2_WWDT0_CLK_MASK (0x2U)
6433#define CLKCTL0_PSCCTL2_WWDT0_CLK_SHIFT (1U)
6434/*! WWDT0_CLK - wdt clock control
6435 * 0b0..Disable Clock
6436 * 0b1..Enable Clock
6437 */
6438#define CLKCTL0_PSCCTL2_WWDT0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL2_WWDT0_CLK_SHIFT)) & CLKCTL0_PSCCTL2_WWDT0_CLK_MASK)
6439/*! @} */
6440
6441/*! @name PSCCTL0_SET - clock set register 0 */
6442/*! @{ */
6443#define CLKCTL0_PSCCTL0_SET_ROM_CTL_128KB_CLK_MASK (0x4U)
6444#define CLKCTL0_PSCCTL0_SET_ROM_CTL_128KB_CLK_SHIFT (2U)
6445/*! ROM_CTL_128KB_CLK - 128KB ROM controller clock set
6446 * 0b0..No Effect
6447 * 0b1..Sets the PSCCTL0 Bit
6448 */
6449#define CLKCTL0_PSCCTL0_SET_ROM_CTL_128KB_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_ROM_CTL_128KB_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_ROM_CTL_128KB_CLK_MASK)
6450#define CLKCTL0_PSCCTL0_SET_POWERQUAD_CLK_MASK (0x100U)
6451#define CLKCTL0_PSCCTL0_SET_POWERQUAD_CLK_SHIFT (8U)
6452/*! POWERQUAD_CLK - powerquad clock set
6453 * 0b0..No Effect
6454 * 0b1..Sets the PSCCTL0 Bit
6455 */
6456#define CLKCTL0_PSCCTL0_SET_POWERQUAD_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_POWERQUAD_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_POWERQUAD_CLK_MASK)
6457#define CLKCTL0_PSCCTL0_SET_CASPER_CLK_MASK (0x200U)
6458#define CLKCTL0_PSCCTL0_SET_CASPER_CLK_SHIFT (9U)
6459/*! CASPER_CLK - CAPSER clock set
6460 * 0b0..No Effect
6461 * 0b1..Sets the PSCCTL0 Bit
6462 */
6463#define CLKCTL0_PSCCTL0_SET_CASPER_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_CASPER_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_CASPER_CLK_MASK)
6464#define CLKCTL0_PSCCTL0_SET_HASHCRYPT_CLK_MASK (0x400U)
6465#define CLKCTL0_PSCCTL0_SET_HASHCRYPT_CLK_SHIFT (10U)
6466/*! HASHCRYPT_CLK - HASHCRYPT clock set
6467 * 0b0..No Effect
6468 * 0b1..Sets the PSCCTL0 Bit
6469 */
6470#define CLKCTL0_PSCCTL0_SET_HASHCRYPT_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_HASHCRYPT_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_HASHCRYPT_CLK_MASK)
6471#define CLKCTL0_PSCCTL0_SET_PUF_CLK_MASK (0x800U)
6472#define CLKCTL0_PSCCTL0_SET_PUF_CLK_SHIFT (11U)
6473/*! PUF_CLK - PUF clock set
6474 * 0b0..No Effect
6475 * 0b1..Sets the PSCCTL0 Bit
6476 */
6477#define CLKCTL0_PSCCTL0_SET_PUF_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_PUF_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_PUF_CLK_MASK)
6478#define CLKCTL0_PSCCTL0_SET_RNG_CLK_MASK (0x1000U)
6479#define CLKCTL0_PSCCTL0_SET_RNG_CLK_SHIFT (12U)
6480/*! RNG_CLK - RNG clock set
6481 * 0b0..No Effect
6482 * 0b1..Sets the PSCCTL0 Bit
6483 */
6484#define CLKCTL0_PSCCTL0_SET_RNG_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_RNG_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_RNG_CLK_MASK)
6485#define CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK_MASK (0x10000U)
6486#define CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK_SHIFT (16U)
6487/*! FLEXSPI_OTFAD_CLK - FLEXSPI clock set
6488 * 0b0..No Effect
6489 * 0b1..Sets the PSCCTL0 Bit
6490 */
6491#define CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK_MASK)
6492#define CLKCTL0_PSCCTL0_SET_OTP_CLK_MASK (0x20000U)
6493#define CLKCTL0_PSCCTL0_SET_OTP_CLK_SHIFT (17U)
6494/*! OTP_CLK - OTP clock set
6495 * 0b0..No Effect
6496 * 0b1..Sets the PSCCTL0 Bit
6497 */
6498#define CLKCTL0_PSCCTL0_SET_OTP_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_OTP_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_OTP_CLK_MASK)
6499#define CLKCTL0_PSCCTL0_SET_USBHS_PHY_CLK_MASK (0x100000U)
6500#define CLKCTL0_PSCCTL0_SET_USBHS_PHY_CLK_SHIFT (20U)
6501/*! USBHS_PHY_CLK - USB PHY clock set
6502 * 0b0..No Effect
6503 * 0b1..Sets the PSCCTL0 Bit
6504 */
6505#define CLKCTL0_PSCCTL0_SET_USBHS_PHY_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_USBHS_PHY_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_USBHS_PHY_CLK_MASK)
6506#define CLKCTL0_PSCCTL0_SET_USBHS_DEVICE_CLK_MASK (0x200000U)
6507#define CLKCTL0_PSCCTL0_SET_USBHS_DEVICE_CLK_SHIFT (21U)
6508/*! USBHS_DEVICE_CLK - USB DEVICE clock set
6509 * 0b0..No Effect
6510 * 0b1..Sets the PSCCTL0 Bit
6511 */
6512#define CLKCTL0_PSCCTL0_SET_USBHS_DEVICE_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_USBHS_DEVICE_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_USBHS_DEVICE_CLK_MASK)
6513#define CLKCTL0_PSCCTL0_SET_USBHS_HOST_CLK_MASK (0x400000U)
6514#define CLKCTL0_PSCCTL0_SET_USBHS_HOST_CLK_SHIFT (22U)
6515/*! USBHS_HOST_CLK - USB HOST clock set
6516 * 0b0..No Effect
6517 * 0b1..Sets the PSCCTL0 Bit
6518 */
6519#define CLKCTL0_PSCCTL0_SET_USBHS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_USBHS_HOST_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_USBHS_HOST_CLK_MASK)
6520#define CLKCTL0_PSCCTL0_SET_USBHS_SRAM_CLK_MASK (0x800000U)
6521#define CLKCTL0_PSCCTL0_SET_USBHS_SRAM_CLK_SHIFT (23U)
6522/*! USBHS_SRAM_CLK - USBHS RAM clock set
6523 * 0b0..No Effect
6524 * 0b1..Sets the PSCCTL0 Bit
6525 */
6526#define CLKCTL0_PSCCTL0_SET_USBHS_SRAM_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_USBHS_SRAM_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_USBHS_SRAM_CLK_MASK)
6527#define CLKCTL0_PSCCTL0_SET_SCT_CLK_MASK (0x1000000U)
6528#define CLKCTL0_PSCCTL0_SET_SCT_CLK_SHIFT (24U)
6529/*! SCT_CLK - SCT clock set
6530 * 0b0..No Effect
6531 * 0b1..Sets the PSCCTL0 Bit
6532 */
6533#define CLKCTL0_PSCCTL0_SET_SCT_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_SET_SCT_CLK_SHIFT)) & CLKCTL0_PSCCTL0_SET_SCT_CLK_MASK)
6534/*! @} */
6535
6536/*! @name PSCCTL1_SET - clock set register 1 */
6537/*! @{ */
6538#define CLKCTL0_PSCCTL1_SET_SDIO0_CLK_MASK (0x4U)
6539#define CLKCTL0_PSCCTL1_SET_SDIO0_CLK_SHIFT (2U)
6540/*! SDIO0_CLK - SDIO0 clock set
6541 * 0b0..No Effect
6542 * 0b1..Sets the PSCCTL1 Bit
6543 */
6544#define CLKCTL0_PSCCTL1_SET_SDIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SET_SDIO0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SET_SDIO0_CLK_MASK)
6545#define CLKCTL0_PSCCTL1_SET_SDIO1_CLK_MASK (0x8U)
6546#define CLKCTL0_PSCCTL1_SET_SDIO1_CLK_SHIFT (3U)
6547/*! SDIO1_CLK - SDIO1 clock set
6548 * 0b0..No Effect
6549 * 0b1..Sets the PSCCTL1 Bit
6550 */
6551#define CLKCTL0_PSCCTL1_SET_SDIO1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SET_SDIO1_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SET_SDIO1_CLK_MASK)
6552#define CLKCTL0_PSCCTL1_SET_ACMP0_CLK_MASK (0x8000U)
6553#define CLKCTL0_PSCCTL1_SET_ACMP0_CLK_SHIFT (15U)
6554/*! ACMP0_CLK - Analog comparator clock set
6555 * 0b0..No Effect
6556 * 0b1..Sets the PSCCTL1 Bit
6557 */
6558#define CLKCTL0_PSCCTL1_SET_ACMP0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SET_ACMP0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SET_ACMP0_CLK_MASK)
6559#define CLKCTL0_PSCCTL1_SET_ADC0_CLK_MASK (0x10000U)
6560#define CLKCTL0_PSCCTL1_SET_ADC0_CLK_SHIFT (16U)
6561/*! ADC0_CLK - ADC clock set
6562 * 0b0..No Effect
6563 * 0b1..Sets the PSCCTL1 Bit
6564 */
6565#define CLKCTL0_PSCCTL1_SET_ADC0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SET_ADC0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SET_ADC0_CLK_MASK)
6566#define CLKCTL0_PSCCTL1_SET_SHSGPIO0_CLK_MASK (0x1000000U)
6567#define CLKCTL0_PSCCTL1_SET_SHSGPIO0_CLK_SHIFT (24U)
6568/*! SHSGPIO0_CLK - SHSGPIO0 clock set
6569 * 0b0..No Effect
6570 * 0b1..Sets the PSCCTL1 Bit
6571 */
6572#define CLKCTL0_PSCCTL1_SET_SHSGPIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_SET_SHSGPIO0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_SET_SHSGPIO0_CLK_MASK)
6573/*! @} */
6574
6575/*! @name PSCCTL2_SET - clock set register 2 */
6576/*! @{ */
6577#define CLKCTL0_PSCCTL2_SET_UTICK0_CLK_MASK (0x1U)
6578#define CLKCTL0_PSCCTL2_SET_UTICK0_CLK_SHIFT (0U)
6579/*! UTICK0_CLK - utick clock set
6580 * 0b0..No Effect
6581 * 0b1..Sets the PSCCTL2 Bit
6582 */
6583#define CLKCTL0_PSCCTL2_SET_UTICK0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL2_SET_UTICK0_CLK_SHIFT)) & CLKCTL0_PSCCTL2_SET_UTICK0_CLK_MASK)
6584#define CLKCTL0_PSCCTL2_SET_WWDT0_CLK_MASK (0x2U)
6585#define CLKCTL0_PSCCTL2_SET_WWDT0_CLK_SHIFT (1U)
6586/*! WWDT0_CLK - wdt clock set
6587 * 0b0..No Effect
6588 * 0b1..Sets the PSCCTL2 Bit
6589 */
6590#define CLKCTL0_PSCCTL2_SET_WWDT0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL2_SET_WWDT0_CLK_SHIFT)) & CLKCTL0_PSCCTL2_SET_WWDT0_CLK_MASK)
6591/*! @} */
6592
6593/*! @name PSCCTL0_CLR - clock clear register 0 */
6594/*! @{ */
6595#define CLKCTL0_PSCCTL0_CLR_ROM_CTL_128KB_CLK_MASK (0x4U)
6596#define CLKCTL0_PSCCTL0_CLR_ROM_CTL_128KB_CLK_SHIFT (2U)
6597/*! ROM_CTL_128KB_CLK - ROM controller clock clear
6598 * 0b0..No Effect
6599 * 0b1..Clears the PSCCTL0 Bit
6600 */
6601#define CLKCTL0_PSCCTL0_CLR_ROM_CTL_128KB_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_ROM_CTL_128KB_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_ROM_CTL_128KB_CLK_MASK)
6602#define CLKCTL0_PSCCTL0_CLR_POWERQUAD_CLK_MASK (0x100U)
6603#define CLKCTL0_PSCCTL0_CLR_POWERQUAD_CLK_SHIFT (8U)
6604/*! POWERQUAD_CLK - powerquad clock clear
6605 * 0b0..No Effect
6606 * 0b1..Clears the PSCCTL0 Bit
6607 */
6608#define CLKCTL0_PSCCTL0_CLR_POWERQUAD_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_POWERQUAD_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_POWERQUAD_CLK_MASK)
6609#define CLKCTL0_PSCCTL0_CLR_CASPER_CLK_MASK (0x200U)
6610#define CLKCTL0_PSCCTL0_CLR_CASPER_CLK_SHIFT (9U)
6611/*! CASPER_CLK - CAPSER clock clear
6612 * 0b0..No Effect
6613 * 0b1..Clears the PSCCTL0 Bit
6614 */
6615#define CLKCTL0_PSCCTL0_CLR_CASPER_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_CASPER_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_CASPER_CLK_MASK)
6616#define CLKCTL0_PSCCTL0_CLR_HASHCRYPT_CLK_MASK (0x400U)
6617#define CLKCTL0_PSCCTL0_CLR_HASHCRYPT_CLK_SHIFT (10U)
6618/*! HASHCRYPT_CLK - HASHCRYPT clock clear
6619 * 0b0..No Effect
6620 * 0b1..Clears the PSCCTL0 Bit
6621 */
6622#define CLKCTL0_PSCCTL0_CLR_HASHCRYPT_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_HASHCRYPT_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_HASHCRYPT_CLK_MASK)
6623#define CLKCTL0_PSCCTL0_CLR_PUF_CLK_MASK (0x800U)
6624#define CLKCTL0_PSCCTL0_CLR_PUF_CLK_SHIFT (11U)
6625/*! PUF_CLK - PUF clock clear
6626 * 0b0..No Effect
6627 * 0b1..Clears the PSCCTL0 Bit
6628 */
6629#define CLKCTL0_PSCCTL0_CLR_PUF_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_PUF_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_PUF_CLK_MASK)
6630#define CLKCTL0_PSCCTL0_CLR_RNG_CLK_MASK (0x1000U)
6631#define CLKCTL0_PSCCTL0_CLR_RNG_CLK_SHIFT (12U)
6632/*! RNG_CLK - RNG clock clear
6633 * 0b0..No Effect
6634 * 0b1..Clears the PSCCTL0 Bit
6635 */
6636#define CLKCTL0_PSCCTL0_CLR_RNG_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_RNG_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_RNG_CLK_MASK)
6637#define CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK_MASK (0x10000U)
6638#define CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK_SHIFT (16U)
6639/*! FLEXSPI_OTFAD_CLK - FLEXSPI clock clear
6640 * 0b0..No Effect
6641 * 0b1..Clears the PSCCTL0 Bit
6642 */
6643#define CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK_MASK)
6644#define CLKCTL0_PSCCTL0_CLR_OTP_CLK_MASK (0x20000U)
6645#define CLKCTL0_PSCCTL0_CLR_OTP_CLK_SHIFT (17U)
6646/*! OTP_CLK - OTP clock clear
6647 * 0b0..No Effect
6648 * 0b1..Clears the PSCCTL0 Bit
6649 */
6650#define CLKCTL0_PSCCTL0_CLR_OTP_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_OTP_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_OTP_CLK_MASK)
6651#define CLKCTL0_PSCCTL0_CLR_USBHS_PHY_CLK_MASK (0x100000U)
6652#define CLKCTL0_PSCCTL0_CLR_USBHS_PHY_CLK_SHIFT (20U)
6653/*! USBHS_PHY_CLK - USB PHY clock clear
6654 * 0b0..No Effect
6655 * 0b1..Clears the PSCCTL0 Bit
6656 */
6657#define CLKCTL0_PSCCTL0_CLR_USBHS_PHY_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_USBHS_PHY_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_USBHS_PHY_CLK_MASK)
6658#define CLKCTL0_PSCCTL0_CLR_USBHS_DEVICE_CLK_MASK (0x200000U)
6659#define CLKCTL0_PSCCTL0_CLR_USBHS_DEVICE_CLK_SHIFT (21U)
6660/*! USBHS_DEVICE_CLK - USB DEVICE clock clear
6661 * 0b0..No Effect
6662 * 0b1..Clears the PSCCTL0 Bit
6663 */
6664#define CLKCTL0_PSCCTL0_CLR_USBHS_DEVICE_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_USBHS_DEVICE_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_USBHS_DEVICE_CLK_MASK)
6665#define CLKCTL0_PSCCTL0_CLR_USBHS_HOST_CLK_MASK (0x400000U)
6666#define CLKCTL0_PSCCTL0_CLR_USBHS_HOST_CLK_SHIFT (22U)
6667/*! USBHS_HOST_CLK - USB HOST clock clear
6668 * 0b0..No Effect
6669 * 0b1..Clears the PSCCTL0 Bit
6670 */
6671#define CLKCTL0_PSCCTL0_CLR_USBHS_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_USBHS_HOST_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_USBHS_HOST_CLK_MASK)
6672#define CLKCTL0_PSCCTL0_CLR_USBHS_SRAM_CLK_MASK (0x800000U)
6673#define CLKCTL0_PSCCTL0_CLR_USBHS_SRAM_CLK_SHIFT (23U)
6674/*! USBHS_SRAM_CLK - USBHS RAM clock clear
6675 * 0b0..No Effect
6676 * 0b1..Clears the PSCCTL0 Bit
6677 */
6678#define CLKCTL0_PSCCTL0_CLR_USBHS_SRAM_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_USBHS_SRAM_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_USBHS_SRAM_CLK_MASK)
6679#define CLKCTL0_PSCCTL0_CLR_SCT_CLK_MASK (0x1000000U)
6680#define CLKCTL0_PSCCTL0_CLR_SCT_CLK_SHIFT (24U)
6681/*! SCT_CLK - SCT clock clear
6682 * 0b0..No Effect
6683 * 0b1..Clears the PSCCTL0 Bit
6684 */
6685#define CLKCTL0_PSCCTL0_CLR_SCT_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL0_CLR_SCT_CLK_SHIFT)) & CLKCTL0_PSCCTL0_CLR_SCT_CLK_MASK)
6686/*! @} */
6687
6688/*! @name PSCCTL1_CLR - clock clear register 1 */
6689/*! @{ */
6690#define CLKCTL0_PSCCTL1_CLR_SDIO0_CLK_MASK (0x4U)
6691#define CLKCTL0_PSCCTL1_CLR_SDIO0_CLK_SHIFT (2U)
6692/*! SDIO0_CLK - SDIO0 clock clear
6693 * 0b0..No Effect
6694 * 0b1..Clears the PSCCTL1 Bit
6695 */
6696#define CLKCTL0_PSCCTL1_CLR_SDIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_CLR_SDIO0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_CLR_SDIO0_CLK_MASK)
6697#define CLKCTL0_PSCCTL1_CLR_SDIO1_CLK_MASK (0x8U)
6698#define CLKCTL0_PSCCTL1_CLR_SDIO1_CLK_SHIFT (3U)
6699/*! SDIO1_CLK - SDIO1 clock clear
6700 * 0b0..No Effect
6701 * 0b1..Clears the PSCCTL1 Bit
6702 */
6703#define CLKCTL0_PSCCTL1_CLR_SDIO1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_CLR_SDIO1_CLK_SHIFT)) & CLKCTL0_PSCCTL1_CLR_SDIO1_CLK_MASK)
6704#define CLKCTL0_PSCCTL1_CLR_ACMP0_CLK_MASK (0x8000U)
6705#define CLKCTL0_PSCCTL1_CLR_ACMP0_CLK_SHIFT (15U)
6706/*! ACMP0_CLK - Analog comparator clock clear
6707 * 0b0..No Effect
6708 * 0b1..Clears the PSCCTL1 Bit
6709 */
6710#define CLKCTL0_PSCCTL1_CLR_ACMP0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_CLR_ACMP0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_CLR_ACMP0_CLK_MASK)
6711#define CLKCTL0_PSCCTL1_CLR_ADC0_CLK_MASK (0x10000U)
6712#define CLKCTL0_PSCCTL1_CLR_ADC0_CLK_SHIFT (16U)
6713/*! ADC0_CLK - ADC clock clear
6714 * 0b0..No Effect
6715 * 0b1..Clears the PSCCTL1 Bit
6716 */
6717#define CLKCTL0_PSCCTL1_CLR_ADC0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_CLR_ADC0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_CLR_ADC0_CLK_MASK)
6718#define CLKCTL0_PSCCTL1_CLR_SHSGPIO0_CLK_MASK (0x1000000U)
6719#define CLKCTL0_PSCCTL1_CLR_SHSGPIO0_CLK_SHIFT (24U)
6720/*! SHSGPIO0_CLK - SHSGPIO0 clock clear
6721 * 0b0..No Effect
6722 * 0b1..Clears the PSCCTL1 Bit
6723 */
6724#define CLKCTL0_PSCCTL1_CLR_SHSGPIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL1_CLR_SHSGPIO0_CLK_SHIFT)) & CLKCTL0_PSCCTL1_CLR_SHSGPIO0_CLK_MASK)
6725/*! @} */
6726
6727/*! @name PSCCTL2_CLR - clock clear register 2 */
6728/*! @{ */
6729#define CLKCTL0_PSCCTL2_CLR_UTICK0_CLK_MASK (0x1U)
6730#define CLKCTL0_PSCCTL2_CLR_UTICK0_CLK_SHIFT (0U)
6731/*! UTICK0_CLK - utick clock clear
6732 * 0b0..No Effect
6733 * 0b1..Clears the PSCCTL2 Bit
6734 */
6735#define CLKCTL0_PSCCTL2_CLR_UTICK0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL2_CLR_UTICK0_CLK_SHIFT)) & CLKCTL0_PSCCTL2_CLR_UTICK0_CLK_MASK)
6736#define CLKCTL0_PSCCTL2_CLR_WWDT0_CLK_MASK (0x2U)
6737#define CLKCTL0_PSCCTL2_CLR_WWDT0_CLK_SHIFT (1U)
6738/*! WWDT0_CLK - wdt clock clear
6739 * 0b0..No Effect
6740 * 0b1..Clears the PSCCTL2 Bit
6741 */
6742#define CLKCTL0_PSCCTL2_CLR_WWDT0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PSCCTL2_CLR_WWDT0_CLK_SHIFT)) & CLKCTL0_PSCCTL2_CLR_WWDT0_CLK_MASK)
6743/*! @} */
6744
6745/*! @name FFROCTL0 - FFRO control 0 */
6746/*! @{ */
6747#define CLKCTL0_FFROCTL0_TRIM_TEMPCO_MASK (0x1FU)
6748#define CLKCTL0_FFROCTL0_TRIM_TEMPCO_SHIFT (0U)
6749/*! TRIM_TEMPCO - Trims temperature compensation of FFRO.
6750 */
6751#define CLKCTL0_FFROCTL0_TRIM_TEMPCO(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FFROCTL0_TRIM_TEMPCO_SHIFT)) & CLKCTL0_FFROCTL0_TRIM_TEMPCO_MASK)
6752#define CLKCTL0_FFROCTL0_TRIM_COARSE_MASK (0x7E0U)
6753#define CLKCTL0_FFROCTL0_TRIM_COARSE_SHIFT (5U)
6754/*! TRIM_COARSE - Trims coarse frequency of FFRO.
6755 */
6756#define CLKCTL0_FFROCTL0_TRIM_COARSE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FFROCTL0_TRIM_COARSE_SHIFT)) & CLKCTL0_FFROCTL0_TRIM_COARSE_MASK)
6757#define CLKCTL0_FFROCTL0_TRIM_FINE_MASK (0x3F800U)
6758#define CLKCTL0_FFROCTL0_TRIM_FINE_SHIFT (11U)
6759/*! TRIM_FINE - Trims fine frequency of FFRO.
6760 */
6761#define CLKCTL0_FFROCTL0_TRIM_FINE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FFROCTL0_TRIM_FINE_SHIFT)) & CLKCTL0_FFROCTL0_TRIM_FINE_MASK)
6762#define CLKCTL0_FFROCTL0_TRIM_RANGE_MASK (0xC0000U)
6763#define CLKCTL0_FFROCTL0_TRIM_RANGE_SHIFT (18U)
6764/*! TRIM_RANGE - Trims frequency range of FFRO.
6765 * 0b00..48MHz.
6766 * 0b01..RESERVED.
6767 * 0b10..RESERVED.
6768 * 0b11..60MHz.
6769 */
6770#define CLKCTL0_FFROCTL0_TRIM_RANGE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FFROCTL0_TRIM_RANGE_SHIFT)) & CLKCTL0_FFROCTL0_TRIM_RANGE_MASK)
6771/*! @} */
6772
6773/*! @name FFROCTL1 - FFRO control 1 */
6774/*! @{ */
6775#define CLKCTL0_FFROCTL1_UPDATE_MASK (0x1U)
6776#define CLKCTL0_FFROCTL1_UPDATE_SHIFT (0U)
6777/*! UPDATE - Update Safe Mode Control. In order to change any of the TRIM values, the user first
6778 * needs to set the update safe mode bit, then proceed to change the respective TRIM values needed,
6779 * followed by clearing the update safe mode bit.
6780 * 0b0..Normal Mode.
6781 * 0b1..Update Safe Mode.
6782 */
6783#define CLKCTL0_FFROCTL1_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FFROCTL1_UPDATE_SHIFT)) & CLKCTL0_FFROCTL1_UPDATE_MASK)
6784/*! @} */
6785
6786/*! @name SYSOSCCTL0 - system oscillator control 0 */
6787/*! @{ */
6788#define CLKCTL0_SYSOSCCTL0_LP_ENABLE_MASK (0x1U)
6789#define CLKCTL0_SYSOSCCTL0_LP_ENABLE_SHIFT (0U)
6790/*! LP_ENABLE - Enable signal for low power mode. . .
6791 * 0b0..High Gain Mode(HP).
6792 * 0b1..Low Power mode (LP).
6793 */
6794#define CLKCTL0_SYSOSCCTL0_LP_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSOSCCTL0_LP_ENABLE_SHIFT)) & CLKCTL0_SYSOSCCTL0_LP_ENABLE_MASK)
6795#define CLKCTL0_SYSOSCCTL0_BYPASS_ENABLE_MASK (0x2U)
6796#define CLKCTL0_SYSOSCCTL0_BYPASS_ENABLE_SHIFT (1U)
6797/*! BYPASS_ENABLE - Enable signal for external bypass clock. . .
6798 * 0b0..Normal Mode.
6799 * 0b1..Bypass Mode.
6800 */
6801#define CLKCTL0_SYSOSCCTL0_BYPASS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSOSCCTL0_BYPASS_ENABLE_SHIFT)) & CLKCTL0_SYSOSCCTL0_BYPASS_ENABLE_MASK)
6802/*! @} */
6803
6804/*! @name SYSOSCBYPASS - system oscillator bypass */
6805/*! @{ */
6806#define CLKCTL0_SYSOSCBYPASS_SEL_MASK (0x7U)
6807#define CLKCTL0_SYSOSCBYPASS_SEL_SHIFT (0U)
6808/*! SEL - Extenal Clock Source Selection.
6809 * 0b000..External XTAL Clock.
6810 * 0b001..Clock IN Clock.
6811 * 0b010..Reserved.
6812 * 0b011..Reserved.
6813 * 0b100..Reserved.
6814 * 0b101..Reserved.
6815 * 0b110..Reserved.
6816 * 0b111..NONE.this may be selected in order to reduce power when no output is needed.
6817 */
6818#define CLKCTL0_SYSOSCBYPASS_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSOSCBYPASS_SEL_SHIFT)) & CLKCTL0_SYSOSCBYPASS_SEL_MASK)
6819/*! @} */
6820
6821/*! @name LPOSCCTL0 - low power oscillator control 0 */
6822/*! @{ */
6823#define CLKCTL0_LPOSCCTL0_CLKRDY_MASK (0x80000000U)
6824#define CLKCTL0_LPOSCCTL0_CLKRDY_SHIFT (31U)
6825/*! CLKRDY - Clock ready flag status. LPOSC clock ready takes 64uS.
6826 */
6827#define CLKCTL0_LPOSCCTL0_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_LPOSCCTL0_CLKRDY_SHIFT)) & CLKCTL0_LPOSCCTL0_CLKRDY_MASK)
6828/*! @} */
6829
6830/*! @name OSC32KHZCTL0 - 32k oscillator control0 */
6831/*! @{ */
6832#define CLKCTL0_OSC32KHZCTL0_ENA32KHZ_MASK (0x1U)
6833#define CLKCTL0_OSC32KHZCTL0_ENA32KHZ_SHIFT (0U)
6834/*! ENA32KHZ - 32KHz Enable.
6835 * 0b0..disable
6836 * 0b1..enable
6837 */
6838#define CLKCTL0_OSC32KHZCTL0_ENA32KHZ(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_OSC32KHZCTL0_ENA32KHZ_SHIFT)) & CLKCTL0_OSC32KHZCTL0_ENA32KHZ_MASK)
6839/*! @} */
6840
6841/*! @name SYSPLL0CLKSEL - system pll0 clock selection */
6842/*! @{ */
6843#define CLKCTL0_SYSPLL0CLKSEL_SEL_MASK (0x7U)
6844#define CLKCTL0_SYSPLL0CLKSEL_SEL_SHIFT (0U)
6845/*! SEL - System PLL Clock Source Selection. . .
6846 * 0b000..SFRO Clock.
6847 * 0b001..SYSXTALIN Clock.
6848 * 0b010..FFRO Clock Divided by 2.
6849 * 0b011..Reserved.
6850 * 0b100..Reserved.
6851 * 0b101..Reserved.
6852 * 0b110..Reserved.
6853 * 0b111..None, this may be selected in order to reduce power when no output is needed.
6854 */
6855#define CLKCTL0_SYSPLL0CLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0CLKSEL_SEL_SHIFT)) & CLKCTL0_SYSPLL0CLKSEL_SEL_MASK)
6856/*! @} */
6857
6858/*! @name SYSPLL0CTL0 - system pll0 control0 */
6859/*! @{ */
6860#define CLKCTL0_SYSPLL0CTL0_BYPASS_MASK (0x1U)
6861#define CLKCTL0_SYSPLL0CTL0_BYPASS_SHIFT (0U)
6862/*! BYPASS - SYSPLL0 BYPASS Mode
6863 * 0b0..PFD output is PFD programmed clock.
6864 * 0b1..PFD output is PLL Input clock. (Bypass)
6865 */
6866#define CLKCTL0_SYSPLL0CTL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0CTL0_BYPASS_SHIFT)) & CLKCTL0_SYSPLL0CTL0_BYPASS_MASK)
6867#define CLKCTL0_SYSPLL0CTL0_RESET_MASK (0x2U)
6868#define CLKCTL0_SYSPLL0CTL0_RESET_SHIFT (1U)
6869/*! RESET - SYSPLL0 Reset:
6870 * 0b0..SYSPLL0 reset is removed.
6871 * 0b1..SYSPLL0 is placed into reset.
6872 */
6873#define CLKCTL0_SYSPLL0CTL0_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0CTL0_RESET_SHIFT)) & CLKCTL0_SYSPLL0CTL0_RESET_MASK)
6874#define CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK (0x2000U)
6875#define CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_SHIFT (13U)
6876/*! HOLDRINGOFF_ENA - Hold Ring Off Control: This bit is used to avoid multi wave within the VCO.
6877 * 0b0..disbale
6878 * 0b1..enable
6879 */
6880#define CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_SHIFT)) & CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK)
6881#define CLKCTL0_SYSPLL0CTL0_MULT_MASK (0xFF0000U)
6882#define CLKCTL0_SYSPLL0CTL0_MULT_SHIFT (16U)
6883/*! MULT - Multiplication Factor for FSYSPLL0_OUTPUT:
6884 * 0b00100001..Div 33
6885 * 0b00011011..Div 27
6886 * 0b00010110..Div 22
6887 * 0b00010100..Div 20
6888 * 0b00010001..Div 17
6889 * 0b00010000..Div 16
6890 */
6891#define CLKCTL0_SYSPLL0CTL0_MULT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0CTL0_MULT_SHIFT)) & CLKCTL0_SYSPLL0CTL0_MULT_MASK)
6892/*! @} */
6893
6894/*! @name SYSPLL0LOCKTIMEDIV2 - system pll0 lock time */
6895/*! @{ */
6896#define CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK (0xFFFFU)
6897#define CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_SHIFT (0U)
6898/*! LOCKTIMEDIV2 - SYSPLL0 Lock Time Divide by 2: Programmed lock time is in uS (micro-seconds) and
6899 * is programmed as half the actual lock time value.
6900 */
6901#define CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_SHIFT)) & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK)
6902/*! @} */
6903
6904/*! @name SYSPLL0NUM - system pll0 number */
6905/*! @{ */
6906#define CLKCTL0_SYSPLL0NUM_NUM_MASK (0x3FFFFFFFU)
6907#define CLKCTL0_SYSPLL0NUM_NUM_SHIFT (0U)
6908/*! NUM - This field contains the numerator of the SYSPLL0 fractional loop divider.
6909 */
6910#define CLKCTL0_SYSPLL0NUM_NUM(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0NUM_NUM_SHIFT)) & CLKCTL0_SYSPLL0NUM_NUM_MASK)
6911/*! @} */
6912
6913/*! @name SYSPLL0DENOM - system pll0 denom */
6914/*! @{ */
6915#define CLKCTL0_SYSPLL0DENOM_DENOM_MASK (0x3FFFFFFFU)
6916#define CLKCTL0_SYSPLL0DENOM_DENOM_SHIFT (0U)
6917/*! DENOM - This field contains the denominator of the SYSPLL0 fractional loop divider.
6918 */
6919#define CLKCTL0_SYSPLL0DENOM_DENOM(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0DENOM_DENOM_SHIFT)) & CLKCTL0_SYSPLL0DENOM_DENOM_MASK)
6920/*! @} */
6921
6922/*! @name SYSPLL0PFD - sys pll0 PFD */
6923/*! @{ */
6924#define CLKCTL0_SYSPLL0PFD_PFD0_MASK (0x3FU)
6925#define CLKCTL0_SYSPLL0PFD_PFD0_SHIFT (0U)
6926/*! PFD0 - PLL Fractional Divider 0: Controls the fractional divider value. Valid PFD values are decimal 12-35.
6927 */
6928#define CLKCTL0_SYSPLL0PFD_PFD0(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD0_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD0_MASK)
6929#define CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_MASK (0x40U)
6930#define CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_SHIFT (6U)
6931/*! PFD0_CLKRDY - PFD0 Clock Ready Status Flag: Read as '1' clock ready. Cleared by writing a '1'.
6932 */
6933#define CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_MASK)
6934#define CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_MASK (0x80U)
6935#define CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_SHIFT (7U)
6936/*! PFD0_CLKGATE - PFD0 Clock Gate: 0: PFD0 clock is not gated. 1: PFD0 clock is gated
6937 * 0b0..PFD0 clock is not gated.
6938 * 0b1..PFD0 clock is gated.
6939 */
6940#define CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_MASK)
6941#define CLKCTL0_SYSPLL0PFD_PFD1_MASK (0x3F00U)
6942#define CLKCTL0_SYSPLL0PFD_PFD1_SHIFT (8U)
6943/*! PFD1 - PLL Fractional Divider 1: Controls the fractional divider value. Valid PFD values are decimal 12-35.
6944 */
6945#define CLKCTL0_SYSPLL0PFD_PFD1(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD1_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD1_MASK)
6946#define CLKCTL0_SYSPLL0PFD_PFD1_CLKRDY_MASK (0x4000U)
6947#define CLKCTL0_SYSPLL0PFD_PFD1_CLKRDY_SHIFT (14U)
6948/*! PFD1_CLKRDY - PFD1 Clock Ready Status Flag: Read as '1' clock ready. Cleared by writing a '1'.
6949 */
6950#define CLKCTL0_SYSPLL0PFD_PFD1_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD1_CLKRDY_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD1_CLKRDY_MASK)
6951#define CLKCTL0_SYSPLL0PFD_PFD1_CLKGATE_MASK (0x8000U)
6952#define CLKCTL0_SYSPLL0PFD_PFD1_CLKGATE_SHIFT (15U)
6953/*! PFD1_CLKGATE - PFD1 Clock Gate: 0: PFD1 clock is not gated. 1: PFD1 clock is gated.
6954 * 0b0..PFD1 clock is not gated.
6955 * 0b1..PFD1 clock is gated.
6956 */
6957#define CLKCTL0_SYSPLL0PFD_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD1_CLKGATE_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD1_CLKGATE_MASK)
6958#define CLKCTL0_SYSPLL0PFD_PFD2_MASK (0x3F0000U)
6959#define CLKCTL0_SYSPLL0PFD_PFD2_SHIFT (16U)
6960/*! PFD2 - PLL Fractional Divider 2: Controls the fractional divider value. Valid PFD values are decimal 12-35.
6961 */
6962#define CLKCTL0_SYSPLL0PFD_PFD2(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD2_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD2_MASK)
6963#define CLKCTL0_SYSPLL0PFD_PFD2_CLKRDY_MASK (0x400000U)
6964#define CLKCTL0_SYSPLL0PFD_PFD2_CLKRDY_SHIFT (22U)
6965/*! PFD2_CLKRDY - PFD2 Clock Ready Status Flag: Read as '1' clock ready. Cleared by writing a '1'.
6966 */
6967#define CLKCTL0_SYSPLL0PFD_PFD2_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD2_CLKRDY_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD2_CLKRDY_MASK)
6968#define CLKCTL0_SYSPLL0PFD_PFD2_CLKGATE_MASK (0x800000U)
6969#define CLKCTL0_SYSPLL0PFD_PFD2_CLKGATE_SHIFT (23U)
6970/*! PFD2_CLKGATE - PFD2 Clock Gate: 0: PFD2 clock is not gated. 1: PFD2 clock is gated.
6971 * 0b0..PFD2 clock is not gated.
6972 * 0b1..PFD2 clock is gated.
6973 */
6974#define CLKCTL0_SYSPLL0PFD_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD2_CLKGATE_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD2_CLKGATE_MASK)
6975#define CLKCTL0_SYSPLL0PFD_PFD3_MASK (0x3F000000U)
6976#define CLKCTL0_SYSPLL0PFD_PFD3_SHIFT (24U)
6977/*! PFD3 - PLL Fractional Divider 3: Controls the fractional divider value. Valid PFD values are decimal 12-35.
6978 */
6979#define CLKCTL0_SYSPLL0PFD_PFD3(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD3_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD3_MASK)
6980#define CLKCTL0_SYSPLL0PFD_PFD3_CLKRDY_MASK (0x40000000U)
6981#define CLKCTL0_SYSPLL0PFD_PFD3_CLKRDY_SHIFT (30U)
6982/*! PFD3_CLKRDY - PFD3 Clock Ready Status Flag: Read as '1' clock ready. Cleared by writing a '1'.
6983 */
6984#define CLKCTL0_SYSPLL0PFD_PFD3_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD3_CLKRDY_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD3_CLKRDY_MASK)
6985#define CLKCTL0_SYSPLL0PFD_PFD3_CLKGATE_MASK (0x80000000U)
6986#define CLKCTL0_SYSPLL0PFD_PFD3_CLKGATE_SHIFT (31U)
6987/*! PFD3_CLKGATE - PFD3 Clock Gate: 0: PFD3 clock is not gated. 1: PFD3 clock is gated.
6988 * 0b0..PFD3 clock is not gated.
6989 * 0b1..PFD3 clock is gated.
6990 */
6991#define CLKCTL0_SYSPLL0PFD_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSPLL0PFD_PFD3_CLKGATE_SHIFT)) & CLKCTL0_SYSPLL0PFD_PFD3_CLKGATE_MASK)
6992/*! @} */
6993
6994/*! @name MAINPLLCLKDIV - main pll clk divider */
6995/*! @{ */
6996#define CLKCTL0_MAINPLLCLKDIV_DIV_MASK (0xFFU)
6997#define CLKCTL0_MAINPLLCLKDIV_DIV_SHIFT (0U)
6998/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
6999 */
7000#define CLKCTL0_MAINPLLCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_MAINPLLCLKDIV_DIV_SHIFT)) & CLKCTL0_MAINPLLCLKDIV_DIV_MASK)
7001#define CLKCTL0_MAINPLLCLKDIV_RESET_MASK (0x20000000U)
7002#define CLKCTL0_MAINPLLCLKDIV_RESET_SHIFT (29U)
7003/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7004 * away rather than completing the previous count.
7005 */
7006#define CLKCTL0_MAINPLLCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_MAINPLLCLKDIV_RESET_SHIFT)) & CLKCTL0_MAINPLLCLKDIV_RESET_MASK)
7007#define CLKCTL0_MAINPLLCLKDIV_HALT_MASK (0x40000000U)
7008#define CLKCTL0_MAINPLLCLKDIV_HALT_SHIFT (30U)
7009/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7010 * changed without the risk of a glitch at the output.
7011 */
7012#define CLKCTL0_MAINPLLCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_MAINPLLCLKDIV_HALT_SHIFT)) & CLKCTL0_MAINPLLCLKDIV_HALT_MASK)
7013#define CLKCTL0_MAINPLLCLKDIV_REQFLAG_MASK (0x80000000U)
7014#define CLKCTL0_MAINPLLCLKDIV_REQFLAG_SHIFT (31U)
7015/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7016 */
7017#define CLKCTL0_MAINPLLCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_MAINPLLCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_MAINPLLCLKDIV_REQFLAG_MASK)
7018/*! @} */
7019
7020/*! @name DSPPLLCLKDIV - dsp pll clk divider */
7021/*! @{ */
7022#define CLKCTL0_DSPPLLCLKDIV_DIV_MASK (0xFFU)
7023#define CLKCTL0_DSPPLLCLKDIV_DIV_SHIFT (0U)
7024/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7025 */
7026#define CLKCTL0_DSPPLLCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_DSPPLLCLKDIV_DIV_SHIFT)) & CLKCTL0_DSPPLLCLKDIV_DIV_MASK)
7027#define CLKCTL0_DSPPLLCLKDIV_RESET_MASK (0x20000000U)
7028#define CLKCTL0_DSPPLLCLKDIV_RESET_SHIFT (29U)
7029/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7030 * away rather than completing the previous count.
7031 */
7032#define CLKCTL0_DSPPLLCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_DSPPLLCLKDIV_RESET_SHIFT)) & CLKCTL0_DSPPLLCLKDIV_RESET_MASK)
7033#define CLKCTL0_DSPPLLCLKDIV_HALT_MASK (0x40000000U)
7034#define CLKCTL0_DSPPLLCLKDIV_HALT_SHIFT (30U)
7035/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7036 * changed without the risk of a glitch at the output.
7037 */
7038#define CLKCTL0_DSPPLLCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_DSPPLLCLKDIV_HALT_SHIFT)) & CLKCTL0_DSPPLLCLKDIV_HALT_MASK)
7039#define CLKCTL0_DSPPLLCLKDIV_REQFLAG_MASK (0x80000000U)
7040#define CLKCTL0_DSPPLLCLKDIV_REQFLAG_SHIFT (31U)
7041/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7042 */
7043#define CLKCTL0_DSPPLLCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_DSPPLLCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_DSPPLLCLKDIV_REQFLAG_MASK)
7044/*! @} */
7045
7046/*! @name AUX0PLLCLKDIV - aux0 pll clk divider */
7047/*! @{ */
7048#define CLKCTL0_AUX0PLLCLKDIV_DIV_MASK (0xFFU)
7049#define CLKCTL0_AUX0PLLCLKDIV_DIV_SHIFT (0U)
7050/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7051 */
7052#define CLKCTL0_AUX0PLLCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX0PLLCLKDIV_DIV_SHIFT)) & CLKCTL0_AUX0PLLCLKDIV_DIV_MASK)
7053#define CLKCTL0_AUX0PLLCLKDIV_RESET_MASK (0x20000000U)
7054#define CLKCTL0_AUX0PLLCLKDIV_RESET_SHIFT (29U)
7055/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7056 * away rather than completing the previous count.
7057 */
7058#define CLKCTL0_AUX0PLLCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX0PLLCLKDIV_RESET_SHIFT)) & CLKCTL0_AUX0PLLCLKDIV_RESET_MASK)
7059#define CLKCTL0_AUX0PLLCLKDIV_HALT_MASK (0x40000000U)
7060#define CLKCTL0_AUX0PLLCLKDIV_HALT_SHIFT (30U)
7061/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7062 * changed without the risk of a glitch at the output.
7063 */
7064#define CLKCTL0_AUX0PLLCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX0PLLCLKDIV_HALT_SHIFT)) & CLKCTL0_AUX0PLLCLKDIV_HALT_MASK)
7065#define CLKCTL0_AUX0PLLCLKDIV_REQFLAG_MASK (0x80000000U)
7066#define CLKCTL0_AUX0PLLCLKDIV_REQFLAG_SHIFT (31U)
7067/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7068 */
7069#define CLKCTL0_AUX0PLLCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX0PLLCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_AUX0PLLCLKDIV_REQFLAG_MASK)
7070/*! @} */
7071
7072/*! @name AUX1PLLCLKDIV - aux1 pll clk divider */
7073/*! @{ */
7074#define CLKCTL0_AUX1PLLCLKDIV_DIV_MASK (0xFFU)
7075#define CLKCTL0_AUX1PLLCLKDIV_DIV_SHIFT (0U)
7076/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7077 */
7078#define CLKCTL0_AUX1PLLCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX1PLLCLKDIV_DIV_SHIFT)) & CLKCTL0_AUX1PLLCLKDIV_DIV_MASK)
7079#define CLKCTL0_AUX1PLLCLKDIV_RESET_MASK (0x20000000U)
7080#define CLKCTL0_AUX1PLLCLKDIV_RESET_SHIFT (29U)
7081/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7082 * away rather than completing the previous count.
7083 */
7084#define CLKCTL0_AUX1PLLCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX1PLLCLKDIV_RESET_SHIFT)) & CLKCTL0_AUX1PLLCLKDIV_RESET_MASK)
7085#define CLKCTL0_AUX1PLLCLKDIV_HALT_MASK (0x40000000U)
7086#define CLKCTL0_AUX1PLLCLKDIV_HALT_SHIFT (30U)
7087/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7088 * changed without the risk of a glitch at the output.
7089 */
7090#define CLKCTL0_AUX1PLLCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX1PLLCLKDIV_HALT_SHIFT)) & CLKCTL0_AUX1PLLCLKDIV_HALT_MASK)
7091#define CLKCTL0_AUX1PLLCLKDIV_REQFLAG_MASK (0x80000000U)
7092#define CLKCTL0_AUX1PLLCLKDIV_REQFLAG_SHIFT (31U)
7093/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7094 */
7095#define CLKCTL0_AUX1PLLCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_AUX1PLLCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_AUX1PLLCLKDIV_REQFLAG_MASK)
7096/*! @} */
7097
7098/*! @name SYSCPUAHBCLKDIV - system cpu AHB clock divider */
7099/*! @{ */
7100#define CLKCTL0_SYSCPUAHBCLKDIV_DIV_MASK (0xFFU)
7101#define CLKCTL0_SYSCPUAHBCLKDIV_DIV_SHIFT (0U)
7102/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7103 */
7104#define CLKCTL0_SYSCPUAHBCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSCPUAHBCLKDIV_DIV_SHIFT)) & CLKCTL0_SYSCPUAHBCLKDIV_DIV_MASK)
7105#define CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG_MASK (0x80000000U)
7106#define CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG_SHIFT (31U)
7107/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7108 */
7109#define CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG_MASK)
7110/*! @} */
7111
7112/*! @name MAINCLKSELA - main clock selection A */
7113/*! @{ */
7114#define CLKCTL0_MAINCLKSELA_SEL_MASK (0x3U)
7115#define CLKCTL0_MAINCLKSELA_SEL_SHIFT (0U)
7116/*! SEL - Control Main 1st Stage Control Clock Source. . .
7117 * 0b00..FFRO Clock Divided by 4.
7118 * 0b01..SYSXTALIN Clock.
7119 * 0b10..Low Power Oscillator Clock (LPOSC).
7120 * 0b11..FFRO Clock.
7121 */
7122#define CLKCTL0_MAINCLKSELA_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_MAINCLKSELA_SEL_SHIFT)) & CLKCTL0_MAINCLKSELA_SEL_MASK)
7123/*! @} */
7124
7125/*! @name MAINCLKSELB - main clock selection B */
7126/*! @{ */
7127#define CLKCTL0_MAINCLKSELB_SEL_MASK (0x3U)
7128#define CLKCTL0_MAINCLKSELB_SEL_SHIFT (0U)
7129/*! SEL - Main Clock Source Selection. . .
7130 * 0b00..MAINCLKSELA 1st Stage Clock.
7131 * 0b01..SFRO Clock.
7132 * 0b10..Main System PLL Clock.
7133 * 0b11..RTC 32KHz Clock.
7134 */
7135#define CLKCTL0_MAINCLKSELB_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_MAINCLKSELB_SEL_SHIFT)) & CLKCTL0_MAINCLKSELB_SEL_MASK)
7136/*! @} */
7137
7138/*! @name PFCDIV - PFC divider register N */
7139/*! @{ */
7140#define CLKCTL0_PFCDIV_DIV_MASK (0xFFU)
7141#define CLKCTL0_PFCDIV_DIV_SHIFT (0U)
7142/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7143 */
7144#define CLKCTL0_PFCDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PFCDIV_DIV_SHIFT)) & CLKCTL0_PFCDIV_DIV_MASK)
7145#define CLKCTL0_PFCDIV_RESET_MASK (0x20000000U)
7146#define CLKCTL0_PFCDIV_RESET_SHIFT (29U)
7147/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7148 * away rather than completing the previous count.
7149 */
7150#define CLKCTL0_PFCDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PFCDIV_RESET_SHIFT)) & CLKCTL0_PFCDIV_RESET_MASK)
7151#define CLKCTL0_PFCDIV_HALT_MASK (0x40000000U)
7152#define CLKCTL0_PFCDIV_HALT_SHIFT (30U)
7153/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
7154 * without the risk of a glitch at the output.
7155 */
7156#define CLKCTL0_PFCDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PFCDIV_HALT_SHIFT)) & CLKCTL0_PFCDIV_HALT_MASK)
7157#define CLKCTL0_PFCDIV_REQFLAG_MASK (0x80000000U)
7158#define CLKCTL0_PFCDIV_REQFLAG_SHIFT (31U)
7159/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7160 */
7161#define CLKCTL0_PFCDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_PFCDIV_REQFLAG_SHIFT)) & CLKCTL0_PFCDIV_REQFLAG_MASK)
7162/*! @} */
7163
7164/* The count of CLKCTL0_PFCDIV */
7165#define CLKCTL0_PFCDIV_COUNT (2U)
7166
7167/*! @name FLEXSPIFCLKSEL - FlexSPI FCLK selection */
7168/*! @{ */
7169#define CLKCTL0_FLEXSPIFCLKSEL_SEL_MASK (0x7U)
7170#define CLKCTL0_FLEXSPIFCLKSEL_SEL_SHIFT (0U)
7171/*! SEL - FlexSPI Functional Clock Source Selection. . .
7172 * 0b000..Main Clock.
7173 * 0b001..Main System PLL Clock.
7174 * 0b010..SYSPLL0 AUX0_PLL_Clock.
7175 * 0b011..FFRO Clock.
7176 * 0b100..SYSPLL0 AUX1_PLL_Clock.
7177 * 0b101..Reserved.
7178 * 0b110..Reserved.
7179 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7180 */
7181#define CLKCTL0_FLEXSPIFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FLEXSPIFCLKSEL_SEL_SHIFT)) & CLKCTL0_FLEXSPIFCLKSEL_SEL_MASK)
7182/*! @} */
7183
7184/*! @name FLEXSPIFCLKDIV - FlexSPI FCLK divider */
7185/*! @{ */
7186#define CLKCTL0_FLEXSPIFCLKDIV_DIV_MASK (0xFFU)
7187#define CLKCTL0_FLEXSPIFCLKDIV_DIV_SHIFT (0U)
7188/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7189 */
7190#define CLKCTL0_FLEXSPIFCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FLEXSPIFCLKDIV_DIV_SHIFT)) & CLKCTL0_FLEXSPIFCLKDIV_DIV_MASK)
7191#define CLKCTL0_FLEXSPIFCLKDIV_RESET_MASK (0x20000000U)
7192#define CLKCTL0_FLEXSPIFCLKDIV_RESET_SHIFT (29U)
7193/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7194 * away rather than completing the previous count.
7195 */
7196#define CLKCTL0_FLEXSPIFCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FLEXSPIFCLKDIV_RESET_SHIFT)) & CLKCTL0_FLEXSPIFCLKDIV_RESET_MASK)
7197#define CLKCTL0_FLEXSPIFCLKDIV_HALT_MASK (0x40000000U)
7198#define CLKCTL0_FLEXSPIFCLKDIV_HALT_SHIFT (30U)
7199/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7200 * changed without the risk of a glitch at the output.
7201 */
7202#define CLKCTL0_FLEXSPIFCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FLEXSPIFCLKDIV_HALT_SHIFT)) & CLKCTL0_FLEXSPIFCLKDIV_HALT_MASK)
7203#define CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_MASK (0x80000000U)
7204#define CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_SHIFT (31U)
7205/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7206 */
7207#define CLKCTL0_FLEXSPIFCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_MASK)
7208/*! @} */
7209
7210/*! @name SCTFCLKSEL - SCT FCLK selection */
7211/*! @{ */
7212#define CLKCTL0_SCTFCLKSEL_SEL_MASK (0x7U)
7213#define CLKCTL0_SCTFCLKSEL_SEL_SHIFT (0U)
7214/*! SEL - SCT Functional Clock Source Selection. . .
7215 * 0b000..Main Clock.
7216 * 0b001..Main System PLL Clock.
7217 * 0b010..SYSPLL0 AUX0_PLL_Clock.
7218 * 0b011..FFRO Clock.
7219 * 0b100..SYSPLL0 AUX1_PLL_Clock.
7220 * 0b101..AUDIO PLL Clock
7221 * 0b110..Reserved.
7222 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7223 */
7224#define CLKCTL0_SCTFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SCTFCLKSEL_SEL_SHIFT)) & CLKCTL0_SCTFCLKSEL_SEL_MASK)
7225/*! @} */
7226
7227/*! @name SCTFCLKDIV - SCT fclk divider */
7228/*! @{ */
7229#define CLKCTL0_SCTFCLKDIV_DIV_MASK (0xFFU)
7230#define CLKCTL0_SCTFCLKDIV_DIV_SHIFT (0U)
7231/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7232 */
7233#define CLKCTL0_SCTFCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SCTFCLKDIV_DIV_SHIFT)) & CLKCTL0_SCTFCLKDIV_DIV_MASK)
7234#define CLKCTL0_SCTFCLKDIV_RESET_MASK (0x20000000U)
7235#define CLKCTL0_SCTFCLKDIV_RESET_SHIFT (29U)
7236/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7237 * away rather than completing the previous count.
7238 */
7239#define CLKCTL0_SCTFCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SCTFCLKDIV_RESET_SHIFT)) & CLKCTL0_SCTFCLKDIV_RESET_MASK)
7240#define CLKCTL0_SCTFCLKDIV_HALT_MASK (0x40000000U)
7241#define CLKCTL0_SCTFCLKDIV_HALT_SHIFT (30U)
7242/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
7243 * without the risk of a glitch at the output.
7244 */
7245#define CLKCTL0_SCTFCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SCTFCLKDIV_HALT_SHIFT)) & CLKCTL0_SCTFCLKDIV_HALT_MASK)
7246#define CLKCTL0_SCTFCLKDIV_REQFLAG_MASK (0x80000000U)
7247#define CLKCTL0_SCTFCLKDIV_REQFLAG_SHIFT (31U)
7248/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7249 */
7250#define CLKCTL0_SCTFCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SCTFCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_SCTFCLKDIV_REQFLAG_MASK)
7251/*! @} */
7252
7253/*! @name USBHSFCLKSEL - USBHS Fclk selection */
7254/*! @{ */
7255#define CLKCTL0_USBHSFCLKSEL_SEL_MASK (0x7U)
7256#define CLKCTL0_USBHSFCLKSEL_SEL_SHIFT (0U)
7257/*! SEL - USB HS Functional Clock Source Selection. . .
7258 * 0b000..XTALIN Clock.
7259 * 0b001..Main Clock.
7260 * 0b010..Reserved.
7261 * 0b011..Reserved.
7262 * 0b100..reserved.
7263 * 0b101..Reserved.
7264 * 0b110..Reserved.
7265 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7266 */
7267#define CLKCTL0_USBHSFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_USBHSFCLKSEL_SEL_SHIFT)) & CLKCTL0_USBHSFCLKSEL_SEL_MASK)
7268/*! @} */
7269
7270/*! @name USBHSFCLKDIV - USBHS Fclk divider */
7271/*! @{ */
7272#define CLKCTL0_USBHSFCLKDIV_DIV_MASK (0xFFU)
7273#define CLKCTL0_USBHSFCLKDIV_DIV_SHIFT (0U)
7274/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7275 */
7276#define CLKCTL0_USBHSFCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_USBHSFCLKDIV_DIV_SHIFT)) & CLKCTL0_USBHSFCLKDIV_DIV_MASK)
7277#define CLKCTL0_USBHSFCLKDIV_RESET_MASK (0x20000000U)
7278#define CLKCTL0_USBHSFCLKDIV_RESET_SHIFT (29U)
7279/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7280 * away rather than completing the previous count.
7281 */
7282#define CLKCTL0_USBHSFCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_USBHSFCLKDIV_RESET_SHIFT)) & CLKCTL0_USBHSFCLKDIV_RESET_MASK)
7283#define CLKCTL0_USBHSFCLKDIV_HALT_MASK (0x40000000U)
7284#define CLKCTL0_USBHSFCLKDIV_HALT_SHIFT (30U)
7285/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
7286 * without the risk of a glitch at the output.
7287 */
7288#define CLKCTL0_USBHSFCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_USBHSFCLKDIV_HALT_SHIFT)) & CLKCTL0_USBHSFCLKDIV_HALT_MASK)
7289#define CLKCTL0_USBHSFCLKDIV_REQFLAG_MASK (0x80000000U)
7290#define CLKCTL0_USBHSFCLKDIV_REQFLAG_SHIFT (31U)
7291/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7292 */
7293#define CLKCTL0_USBHSFCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_USBHSFCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_USBHSFCLKDIV_REQFLAG_MASK)
7294/*! @} */
7295
7296/*! @name SDIO0FCLKSEL - SDIO0 FCLK selection */
7297/*! @{ */
7298#define CLKCTL0_SDIO0FCLKSEL_SEL_MASK (0x7U)
7299#define CLKCTL0_SDIO0FCLKSEL_SEL_SHIFT (0U)
7300/*! SEL - SDIO0 Functional Clock Source Selection. .
7301 * 0b000..Main Clock.
7302 * 0b001..Main System PLL Clock.
7303 * 0b010..SYSPLL0 AUX0_PLL_Clock.
7304 * 0b011..FFRO Clock.
7305 * 0b100..SYSPLL0 AUX1_PLL_Clock.
7306 * 0b101..Reserved.
7307 * 0b110..Reserved.
7308 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7309 */
7310#define CLKCTL0_SDIO0FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO0FCLKSEL_SEL_SHIFT)) & CLKCTL0_SDIO0FCLKSEL_SEL_MASK)
7311/*! @} */
7312
7313/*! @name SDIO0FCLKDIV - SDIO0 FCLK divider */
7314/*! @{ */
7315#define CLKCTL0_SDIO0FCLKDIV_DIV_MASK (0xFFU)
7316#define CLKCTL0_SDIO0FCLKDIV_DIV_SHIFT (0U)
7317/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7318 */
7319#define CLKCTL0_SDIO0FCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO0FCLKDIV_DIV_SHIFT)) & CLKCTL0_SDIO0FCLKDIV_DIV_MASK)
7320#define CLKCTL0_SDIO0FCLKDIV_RESET_MASK (0x20000000U)
7321#define CLKCTL0_SDIO0FCLKDIV_RESET_SHIFT (29U)
7322/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7323 * away rather than completing the previous count.
7324 */
7325#define CLKCTL0_SDIO0FCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO0FCLKDIV_RESET_SHIFT)) & CLKCTL0_SDIO0FCLKDIV_RESET_MASK)
7326#define CLKCTL0_SDIO0FCLKDIV_HALT_MASK (0x40000000U)
7327#define CLKCTL0_SDIO0FCLKDIV_HALT_SHIFT (30U)
7328/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
7329 * without the risk of a glitch at the output.
7330 */
7331#define CLKCTL0_SDIO0FCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO0FCLKDIV_HALT_SHIFT)) & CLKCTL0_SDIO0FCLKDIV_HALT_MASK)
7332#define CLKCTL0_SDIO0FCLKDIV_REQFLAG_MASK (0x80000000U)
7333#define CLKCTL0_SDIO0FCLKDIV_REQFLAG_SHIFT (31U)
7334/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7335 */
7336#define CLKCTL0_SDIO0FCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO0FCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_SDIO0FCLKDIV_REQFLAG_MASK)
7337/*! @} */
7338
7339/*! @name SDIO1FCLKSEL - SDIO1 FCLK selection */
7340/*! @{ */
7341#define CLKCTL0_SDIO1FCLKSEL_SEL_MASK (0x7U)
7342#define CLKCTL0_SDIO1FCLKSEL_SEL_SHIFT (0U)
7343/*! SEL - SDIO1 Functional Clock Source Selection. .
7344 * 0b000..Main Clock.
7345 * 0b001..Main System PLL Clock.
7346 * 0b010..SYSPLL0 AUX0_PLL_Clock.
7347 * 0b011..FFRO Clock.
7348 * 0b100..SYSPLL0 AUX1_PLL_Clock.
7349 * 0b101..Reserved.
7350 * 0b110..Reserved.
7351 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7352 */
7353#define CLKCTL0_SDIO1FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO1FCLKSEL_SEL_SHIFT)) & CLKCTL0_SDIO1FCLKSEL_SEL_MASK)
7354/*! @} */
7355
7356/*! @name SDIO1FCLKDIV - SDIO1 FCLK divider */
7357/*! @{ */
7358#define CLKCTL0_SDIO1FCLKDIV_DIV_MASK (0xFFU)
7359#define CLKCTL0_SDIO1FCLKDIV_DIV_SHIFT (0U)
7360/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7361 */
7362#define CLKCTL0_SDIO1FCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO1FCLKDIV_DIV_SHIFT)) & CLKCTL0_SDIO1FCLKDIV_DIV_MASK)
7363#define CLKCTL0_SDIO1FCLKDIV_RESET_MASK (0x20000000U)
7364#define CLKCTL0_SDIO1FCLKDIV_RESET_SHIFT (29U)
7365/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7366 * away rather than completing the previous count.
7367 */
7368#define CLKCTL0_SDIO1FCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO1FCLKDIV_RESET_SHIFT)) & CLKCTL0_SDIO1FCLKDIV_RESET_MASK)
7369#define CLKCTL0_SDIO1FCLKDIV_HALT_MASK (0x40000000U)
7370#define CLKCTL0_SDIO1FCLKDIV_HALT_SHIFT (30U)
7371/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7372 * changed without the risk of a glitch at the output.
7373 */
7374#define CLKCTL0_SDIO1FCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO1FCLKDIV_HALT_SHIFT)) & CLKCTL0_SDIO1FCLKDIV_HALT_MASK)
7375#define CLKCTL0_SDIO1FCLKDIV_REQFLAG_MASK (0x80000000U)
7376#define CLKCTL0_SDIO1FCLKDIV_REQFLAG_SHIFT (31U)
7377/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7378 */
7379#define CLKCTL0_SDIO1FCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SDIO1FCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_SDIO1FCLKDIV_REQFLAG_MASK)
7380/*! @} */
7381
7382/*! @name ADC0FCLKSEL0 - ADC0 fclk selection 0 */
7383/*! @{ */
7384#define CLKCTL0_ADC0FCLKSEL0_SEL_MASK (0x7U)
7385#define CLKCTL0_ADC0FCLKSEL0_SEL_SHIFT (0U)
7386/*! SEL - Clock Output Select 1st Stage. . .
7387 * 0b000..SFRO Clock.
7388 * 0b001..XTALIN Clock.
7389 * 0b010..Low Power Oscillator Clock (LPOSC).
7390 * 0b011..FFRO Clock.
7391 * 0b100..reserved.
7392 * 0b101..Reserved.
7393 * 0b110..Reserved.
7394 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7395 */
7396#define CLKCTL0_ADC0FCLKSEL0_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_ADC0FCLKSEL0_SEL_SHIFT)) & CLKCTL0_ADC0FCLKSEL0_SEL_MASK)
7397/*! @} */
7398
7399/*! @name ADC0FCLKSEL1 - ADC0 fclk selection 1 */
7400/*! @{ */
7401#define CLKCTL0_ADC0FCLKSEL1_SEL_MASK (0x7U)
7402#define CLKCTL0_ADC0FCLKSEL1_SEL_SHIFT (0U)
7403/*! SEL - ADC Functional Clock Source Selection. . .
7404 * 0b000..ADC0FCLKSEL0 Multiplexed Output.
7405 * 0b001..SYSPLL0 MAIN_CLK (PFD0 Output)
7406 * 0b010..reserved.
7407 * 0b011..SYSPLL0 AUX0_PLL_Clock.
7408 * 0b100..reserved.
7409 * 0b101..SYSPLL0 AUX1_PLL_Clock.
7410 * 0b110..Reserved.
7411 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7412 */
7413#define CLKCTL0_ADC0FCLKSEL1_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_ADC0FCLKSEL1_SEL_SHIFT)) & CLKCTL0_ADC0FCLKSEL1_SEL_MASK)
7414/*! @} */
7415
7416/*! @name ADC0FCLKDIV - ADC0 fclk divider */
7417/*! @{ */
7418#define CLKCTL0_ADC0FCLKDIV_DIV_MASK (0xFFU)
7419#define CLKCTL0_ADC0FCLKDIV_DIV_SHIFT (0U)
7420/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7421 */
7422#define CLKCTL0_ADC0FCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_ADC0FCLKDIV_DIV_SHIFT)) & CLKCTL0_ADC0FCLKDIV_DIV_MASK)
7423#define CLKCTL0_ADC0FCLKDIV_RESET_MASK (0x20000000U)
7424#define CLKCTL0_ADC0FCLKDIV_RESET_SHIFT (29U)
7425/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7426 * away rather than completing the previous count.
7427 */
7428#define CLKCTL0_ADC0FCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_ADC0FCLKDIV_RESET_SHIFT)) & CLKCTL0_ADC0FCLKDIV_RESET_MASK)
7429#define CLKCTL0_ADC0FCLKDIV_HALT_MASK (0x40000000U)
7430#define CLKCTL0_ADC0FCLKDIV_HALT_SHIFT (30U)
7431/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7432 * changed without the risk of a glitch at the output.
7433 */
7434#define CLKCTL0_ADC0FCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_ADC0FCLKDIV_HALT_SHIFT)) & CLKCTL0_ADC0FCLKDIV_HALT_MASK)
7435#define CLKCTL0_ADC0FCLKDIV_REQFLAG_MASK (0x80000000U)
7436#define CLKCTL0_ADC0FCLKDIV_REQFLAG_SHIFT (31U)
7437/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7438 */
7439#define CLKCTL0_ADC0FCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_ADC0FCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_ADC0FCLKDIV_REQFLAG_MASK)
7440/*! @} */
7441
7442/*! @name UTICKFCLKSEL - UTICK fclk selection */
7443/*! @{ */
7444#define CLKCTL0_UTICKFCLKSEL_SEL_MASK (0x7U)
7445#define CLKCTL0_UTICKFCLKSEL_SEL_SHIFT (0U)
7446/*! SEL - uTICK Functional Clock Source Selection. .
7447 * 0b000..Low Power Oscillator Clock (LPOSC).
7448 * 0b001..reserved.
7449 * 0b010..reserved.
7450 * 0b011..reserved.
7451 * 0b100..reserved.
7452 * 0b101..reserved.
7453 * 0b110..Reserved.
7454 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7455 */
7456#define CLKCTL0_UTICKFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_UTICKFCLKSEL_SEL_SHIFT)) & CLKCTL0_UTICKFCLKSEL_SEL_MASK)
7457/*! @} */
7458
7459/*! @name WDT0FCLKSEL - wdt clock selection */
7460/*! @{ */
7461#define CLKCTL0_WDT0FCLKSEL_SEL_MASK (0x7U)
7462#define CLKCTL0_WDT0FCLKSEL_SEL_SHIFT (0U)
7463/*! SEL - WDT0 Functional Clock Source Selection. .
7464 * 0b000..Low Power Oscillator Clock (LPOSC).
7465 * 0b001..reserved.
7466 * 0b010..reserved.
7467 * 0b011..reserved.
7468 * 0b100..reserved.
7469 * 0b101..reserved.
7470 * 0b110..Reserved.
7471 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7472 */
7473#define CLKCTL0_WDT0FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_WDT0FCLKSEL_SEL_SHIFT)) & CLKCTL0_WDT0FCLKSEL_SEL_MASK)
7474/*! @} */
7475
7476/*! @name WAKECLK32KHZSEL - 32k wake clock selection */
7477/*! @{ */
7478#define CLKCTL0_WAKECLK32KHZSEL_SEL_MASK (0x7U)
7479#define CLKCTL0_WAKECLK32KHZSEL_SEL_SHIFT (0U)
7480/*! SEL - 32KHz Wake Clock Low Power Functional Clock Source Selection. . .
7481 * 0b000..32KHz
7482 * 0b001..LPOSC (Divided by 32 by default).
7483 * 0b010..reserved.
7484 * 0b011..reserved.
7485 * 0b100..reserved.
7486 * 0b101..reserved.
7487 * 0b110..Reserved.
7488 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7489 */
7490#define CLKCTL0_WAKECLK32KHZSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_WAKECLK32KHZSEL_SEL_SHIFT)) & CLKCTL0_WAKECLK32KHZSEL_SEL_MASK)
7491/*! @} */
7492
7493/*! @name WAKECLK32KHZDIV - 32k wake clock divider */
7494/*! @{ */
7495#define CLKCTL0_WAKECLK32KHZDIV_HALT_MASK (0x40000000U)
7496#define CLKCTL0_WAKECLK32KHZDIV_HALT_SHIFT (30U)
7497/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7498 * changed without the risk of a glitch at the output.
7499 */
7500#define CLKCTL0_WAKECLK32KHZDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_WAKECLK32KHZDIV_HALT_SHIFT)) & CLKCTL0_WAKECLK32KHZDIV_HALT_MASK)
7501/*! @} */
7502
7503/*! @name SYSTICKFCLKSEL - system tick fclk selection */
7504/*! @{ */
7505#define CLKCTL0_SYSTICKFCLKSEL_SEL_MASK (0x7U)
7506#define CLKCTL0_SYSTICKFCLKSEL_SEL_SHIFT (0U)
7507/*! SEL - SYSTICK Functional Clock Source Selection. . .
7508 * 0b000..Systick Divider Output Clock.
7509 * 0b001..Low Power Oscillator Clock (LPOSC).
7510 * 0b010..32KHz RTC Clock.
7511 * 0b011..SFRO Clock.
7512 * 0b100..reserved.
7513 * 0b101..reserved.
7514 * 0b110..Reserved.
7515 * 0b111..None, this may be selected in order to reduce power when no output is needed.
7516 */
7517#define CLKCTL0_SYSTICKFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSTICKFCLKSEL_SEL_SHIFT)) & CLKCTL0_SYSTICKFCLKSEL_SEL_MASK)
7518/*! @} */
7519
7520/*! @name SYSTICKFCLKDIV - system tick fclk divider */
7521/*! @{ */
7522#define CLKCTL0_SYSTICKFCLKDIV_DIV_MASK (0xFFU)
7523#define CLKCTL0_SYSTICKFCLKDIV_DIV_SHIFT (0U)
7524/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
7525 */
7526#define CLKCTL0_SYSTICKFCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSTICKFCLKDIV_DIV_SHIFT)) & CLKCTL0_SYSTICKFCLKDIV_DIV_MASK)
7527#define CLKCTL0_SYSTICKFCLKDIV_RESET_MASK (0x20000000U)
7528#define CLKCTL0_SYSTICKFCLKDIV_RESET_SHIFT (29U)
7529/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
7530 * away rather than completing the previous count.
7531 */
7532#define CLKCTL0_SYSTICKFCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSTICKFCLKDIV_RESET_SHIFT)) & CLKCTL0_SYSTICKFCLKDIV_RESET_MASK)
7533#define CLKCTL0_SYSTICKFCLKDIV_HALT_MASK (0x40000000U)
7534#define CLKCTL0_SYSTICKFCLKDIV_HALT_SHIFT (30U)
7535/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
7536 * changed without the risk of a glitch at the output.
7537 */
7538#define CLKCTL0_SYSTICKFCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSTICKFCLKDIV_HALT_SHIFT)) & CLKCTL0_SYSTICKFCLKDIV_HALT_MASK)
7539#define CLKCTL0_SYSTICKFCLKDIV_REQFLAG_MASK (0x80000000U)
7540#define CLKCTL0_SYSTICKFCLKDIV_REQFLAG_SHIFT (31U)
7541/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
7542 */
7543#define CLKCTL0_SYSTICKFCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL0_SYSTICKFCLKDIV_REQFLAG_SHIFT)) & CLKCTL0_SYSTICKFCLKDIV_REQFLAG_MASK)
7544/*! @} */
7545
7546
7547/*!
7548 * @}
7549 */ /* end of group CLKCTL0_Register_Masks */
7550
7551
7552/* CLKCTL0 - Peripheral instance base addresses */
7553#if (__ARM_FEATURE_CMSE & 0x2)
7554 /** Peripheral CLKCTL0 base address */
7555 #define CLKCTL0_BASE (0x50001000u)
7556 /** Peripheral CLKCTL0 base address */
7557 #define CLKCTL0_BASE_NS (0x40001000u)
7558 /** Peripheral CLKCTL0 base pointer */
7559 #define CLKCTL0 ((CLKCTL0_Type *)CLKCTL0_BASE)
7560 /** Peripheral CLKCTL0 base pointer */
7561 #define CLKCTL0_NS ((CLKCTL0_Type *)CLKCTL0_BASE_NS)
7562 /** Array initializer of CLKCTL0 peripheral base addresses */
7563 #define CLKCTL0_BASE_ADDRS { CLKCTL0_BASE }
7564 /** Array initializer of CLKCTL0 peripheral base pointers */
7565 #define CLKCTL0_BASE_PTRS { CLKCTL0 }
7566 /** Array initializer of CLKCTL0 peripheral base addresses */
7567 #define CLKCTL0_BASE_ADDRS_NS { CLKCTL0_BASE_NS }
7568 /** Array initializer of CLKCTL0 peripheral base pointers */
7569 #define CLKCTL0_BASE_PTRS_NS { CLKCTL0_NS }
7570#else
7571 /** Peripheral CLKCTL0 base address */
7572 #define CLKCTL0_BASE (0x40001000u)
7573 /** Peripheral CLKCTL0 base pointer */
7574 #define CLKCTL0 ((CLKCTL0_Type *)CLKCTL0_BASE)
7575 /** Array initializer of CLKCTL0 peripheral base addresses */
7576 #define CLKCTL0_BASE_ADDRS { CLKCTL0_BASE }
7577 /** Array initializer of CLKCTL0 peripheral base pointers */
7578 #define CLKCTL0_BASE_PTRS { CLKCTL0 }
7579#endif
7580
7581/*!
7582 * @}
7583 */ /* end of group CLKCTL0_Peripheral_Access_Layer */
7584
7585
7586/* ----------------------------------------------------------------------------
7587 -- CLKCTL1 Peripheral Access Layer
7588 ---------------------------------------------------------------------------- */
7589
7590/*!
7591 * @addtogroup CLKCTL1_Peripheral_Access_Layer CLKCTL1 Peripheral Access Layer
7592 * @{
7593 */
7594
7595/** CLKCTL1 - Register Layout Typedef */
7596typedef struct {
7597 uint8_t RESERVED_0[16];
7598 __IO uint32_t PSCCTL0; /**< clock control register 0, offset: 0x10 */
7599 __IO uint32_t PSCCTL1; /**< clock control register 1, offset: 0x14 */
7600 __IO uint32_t PSCCTL2; /**< clock control register 2, offset: 0x18 */
7601 uint8_t RESERVED_1[36];
7602 __O uint32_t PSCCTL0_SET; /**< clock set register 0, offset: 0x40 */
7603 __O uint32_t PSCCTL1_SET; /**< clock set register 1, offset: 0x44 */
7604 __O uint32_t PSCCTL2_SET; /**< clock set register 2, offset: 0x48 */
7605 uint8_t RESERVED_2[36];
7606 __O uint32_t PSCCTL0_CLR; /**< clock clear register 0, offset: 0x70 */
7607 __O uint32_t PSCCTL1_CLR; /**< clock clear register 1, offset: 0x74 */
7608 __O uint32_t PSCCTL2_CLR; /**< clock clear register 2, offset: 0x78 */
7609 uint8_t RESERVED_3[388];
7610 __IO uint32_t AUDIOPLL0CLKSEL; /**< audio pll0 clock selection, offset: 0x200 */
7611 __IO uint32_t AUDIOPLL0CTL0; /**< audio pll0 control0, offset: 0x204 */
7612 uint8_t RESERVED_4[4];
7613 __IO uint32_t AUDIOPLL0LOCKTIMEDIV2; /**< audio pll0 lock time, offset: 0x20C */
7614 __IO uint32_t AUDIOPLL0NUM; /**< audio pll0 number, offset: 0x210 */
7615 __IO uint32_t AUDIOPLL0DENOM; /**< Audio pll0 denom, offset: 0x214 */
7616 __IO uint32_t AUDIOPLL0PFD; /**< audio pll0 PFD, offset: 0x218 */
7617 uint8_t RESERVED_5[36];
7618 __IO uint32_t AUDIOPLLCLKDIV; /**< audio pll0 clock divider, offset: 0x240 */
7619 uint8_t RESERVED_6[444];
7620 __IO uint32_t DSPCPUCLKDIV; /**< DSP cpu clock divider, offset: 0x400 */
7621 __IO uint32_t DSPMAINRAMCLKDIV; /**< DSP main ram clock divider, offset: 0x404 */
7622 uint8_t RESERVED_7[40];
7623 __IO uint32_t DSPCPUCLKSELA; /**< DSP clock selection A, offset: 0x430 */
7624 __IO uint32_t DSPCPUCLKSELB; /**< DSP clock selection B, offset: 0x434 */
7625 uint8_t RESERVED_8[72];
7626 __IO uint32_t OSEVENTFCLKSEL; /**< OS EVENT clock selection, offset: 0x480 */
7627 uint8_t RESERVED_9[124];
7628 struct { /* offset: 0x500, array step: 0x20 */
7629 __IO uint32_t FRGCLKSEL; /**< FRG clock selection register N, array offset: 0x500, array step: 0x20 */
7630 __IO uint32_t FRGCTL; /**< FRG clock controller, array offset: 0x504, array step: 0x20 */
7631 __IO uint32_t FCFCLKSEL; /**< flexcomm clock selection, array offset: 0x508, array step: 0x20 */
7632 uint8_t RESERVED_0[20];
7633 } FLEXCOMM[8];
7634 uint8_t RESERVED_10[192];
7635 __IO uint32_t FRG14CLKSEL; /**< FRG clock selection register 14, offset: 0x6C0 */
7636 __IO uint32_t FRG14CTL; /**< FRG clock controller 14, offset: 0x6C4 */
7637 __IO uint32_t FC14FCLKSEL; /**< flexcomm14 clock selection, offset: 0x6C8 */
7638 uint8_t RESERVED_11[20];
7639 __IO uint32_t FRG15CLKSEL; /**< FRG clock selection register 15, offset: 0x6E0 */
7640 __IO uint32_t FRG15CTL; /**< FRG clock controller 15, offset: 0x6E4 */
7641 __IO uint32_t FC15FCLKSEL; /**< flexcomm15 clock selection, offset: 0x6E8 */
7642 uint8_t RESERVED_12[16];
7643 __IO uint32_t FRGPLLCLKDIV; /**< FRG pll clock divider, offset: 0x6FC */
7644 __IO uint32_t DMIC0FCLKSEL; /**< DMIC0 clk selection, offset: 0x700 */
7645 __IO uint32_t DMIC0FCLKDIV; /**< DMIC clock clock divider, offset: 0x704 */
7646 uint8_t RESERVED_13[24];
7647 __IO uint32_t CT32BITFCLKSEL[5]; /**< ct32bit timer N clock selection, array offset: 0x720, array step: 0x4 */
7648 uint8_t RESERVED_14[12];
7649 __IO uint32_t AUDIOMCLKSEL; /**< audio mclock selection, offset: 0x740 */
7650 __IO uint32_t AUDIOMCLKDIV; /**< audio mclock divider, offset: 0x744 */
7651 uint8_t RESERVED_15[24];
7652 __IO uint32_t CLKOUTSEL0; /**< clock out selection 0, offset: 0x760 */
7653 __IO uint32_t CLKOUTSEL1; /**< clock out selection 1, offset: 0x764 */
7654 __IO uint32_t CLKOUTDIV; /**< clock_out divider, offset: 0x768 */
7655 uint8_t RESERVED_16[20];
7656 __IO uint32_t I3C0FCLKSEL; /**< I3C0 fclk selection, offset: 0x780 */
7657 __IO uint32_t I3C0FCLKSTCSEL; /**< I3C0 fclk STC selection, offset: 0x784 */
7658 __IO uint32_t I3C0FCLKSTCDIV; /**< I3C0 fclk STC divider, offset: 0x788 */
7659 __IO uint32_t I3C0FCLKSDIV; /**< I3C0 fclks divider, offset: 0x78C */
7660 __IO uint32_t I3C0FCLKDIV; /**< I3C0 fclk divider, offset: 0x790 */
7661 uint8_t RESERVED_17[12];
7662 __IO uint32_t WDT1FCLKSEL; /**< WDT1 clock selection, offset: 0x7A0 */
7663 uint8_t RESERVED_18[28];
7664 __IO uint32_t ACMP0FCLKSEL; /**< acomparator 0 clock selection, offset: 0x7C0 */
7665 __IO uint32_t ACMP0FCLKDIV; /**< acomparator 0 fclk divider, offset: 0x7C4 */
7666} CLKCTL1_Type;
7667
7668/* ----------------------------------------------------------------------------
7669 -- CLKCTL1 Register Masks
7670 ---------------------------------------------------------------------------- */
7671
7672/*!
7673 * @addtogroup CLKCTL1_Register_Masks CLKCTL1 Register Masks
7674 * @{
7675 */
7676
7677/*! @name PSCCTL0 - clock control register 0 */
7678/*! @{ */
7679#define CLKCTL1_PSCCTL0_FC0_CLK_MASK (0x100U)
7680#define CLKCTL1_PSCCTL0_FC0_CLK_SHIFT (8U)
7681/*! FC0_CLK - flexcomm 0 clock control
7682 * 0b0..Disable Clock
7683 * 0b1..Enable Clock
7684 */
7685#define CLKCTL1_PSCCTL0_FC0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC0_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC0_CLK_MASK)
7686#define CLKCTL1_PSCCTL0_FC1_CLK_MASK (0x200U)
7687#define CLKCTL1_PSCCTL0_FC1_CLK_SHIFT (9U)
7688/*! FC1_CLK - flexcomm 1 clock control
7689 * 0b0..Disable Clock
7690 * 0b1..Enable Clock
7691 */
7692#define CLKCTL1_PSCCTL0_FC1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC1_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC1_CLK_MASK)
7693#define CLKCTL1_PSCCTL0_FC2_CLK_MASK (0x400U)
7694#define CLKCTL1_PSCCTL0_FC2_CLK_SHIFT (10U)
7695/*! FC2_CLK - flexcomm 2 clock control
7696 * 0b0..Disable Clock
7697 * 0b1..Enable Clock
7698 */
7699#define CLKCTL1_PSCCTL0_FC2_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC2_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC2_CLK_MASK)
7700#define CLKCTL1_PSCCTL0_FC3_CLK_MASK (0x800U)
7701#define CLKCTL1_PSCCTL0_FC3_CLK_SHIFT (11U)
7702/*! FC3_CLK - flexcomm 3 clock control
7703 * 0b0..Disable Clock
7704 * 0b1..Enable Clock
7705 */
7706#define CLKCTL1_PSCCTL0_FC3_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC3_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC3_CLK_MASK)
7707#define CLKCTL1_PSCCTL0_FC4_CLK_MASK (0x1000U)
7708#define CLKCTL1_PSCCTL0_FC4_CLK_SHIFT (12U)
7709/*! FC4_CLK - flexcomm 4 clock control
7710 * 0b0..Disable Clock
7711 * 0b1..Enable Clock
7712 */
7713#define CLKCTL1_PSCCTL0_FC4_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC4_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC4_CLK_MASK)
7714#define CLKCTL1_PSCCTL0_FC5_CLK_MASK (0x2000U)
7715#define CLKCTL1_PSCCTL0_FC5_CLK_SHIFT (13U)
7716/*! FC5_CLK - flexcomm 5 clock control
7717 * 0b0..Disable Clock
7718 * 0b1..Enable Clock
7719 */
7720#define CLKCTL1_PSCCTL0_FC5_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC5_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC5_CLK_MASK)
7721#define CLKCTL1_PSCCTL0_FC6_CLK_MASK (0x4000U)
7722#define CLKCTL1_PSCCTL0_FC6_CLK_SHIFT (14U)
7723/*! FC6_CLK - flexcomm 6 clock control
7724 * 0b0..Disable Clock
7725 * 0b1..Enable Clock
7726 */
7727#define CLKCTL1_PSCCTL0_FC6_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC6_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC6_CLK_MASK)
7728#define CLKCTL1_PSCCTL0_FC7_CLK_MASK (0x8000U)
7729#define CLKCTL1_PSCCTL0_FC7_CLK_SHIFT (15U)
7730/*! FC7_CLK - flexcomm 7 clock control
7731 * 0b0..Disable Clock
7732 * 0b1..Enable Clock
7733 */
7734#define CLKCTL1_PSCCTL0_FC7_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC7_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC7_CLK_MASK)
7735#define CLKCTL1_PSCCTL0_FC14_SPI_CLK_MASK (0x400000U)
7736#define CLKCTL1_PSCCTL0_FC14_SPI_CLK_SHIFT (22U)
7737/*! FC14_SPI_CLK - flexcomm 14 spi clock control
7738 * 0b0..Disable Clock
7739 * 0b1..Enable Clock
7740 */
7741#define CLKCTL1_PSCCTL0_FC14_SPI_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC14_SPI_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC14_SPI_CLK_MASK)
7742#define CLKCTL1_PSCCTL0_FC15_I2C_CLK_MASK (0x800000U)
7743#define CLKCTL1_PSCCTL0_FC15_I2C_CLK_SHIFT (23U)
7744/*! FC15_I2C_CLK - flexcomm 15 i2c clock control
7745 * 0b0..Disable Clock
7746 * 0b1..Enable Clock
7747 */
7748#define CLKCTL1_PSCCTL0_FC15_I2C_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_FC15_I2C_CLK_SHIFT)) & CLKCTL1_PSCCTL0_FC15_I2C_CLK_MASK)
7749#define CLKCTL1_PSCCTL0_DMIC0_CLK_MASK (0x1000000U)
7750#define CLKCTL1_PSCCTL0_DMIC0_CLK_SHIFT (24U)
7751/*! DMIC0_CLK - DMIC0 clock control
7752 * 0b0..Disable Clock
7753 * 0b1..Enable Clock
7754 */
7755#define CLKCTL1_PSCCTL0_DMIC0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_DMIC0_CLK_SHIFT)) & CLKCTL1_PSCCTL0_DMIC0_CLK_MASK)
7756#define CLKCTL1_PSCCTL0_OSEVENT_TIMER_CLK_MASK (0x8000000U)
7757#define CLKCTL1_PSCCTL0_OSEVENT_TIMER_CLK_SHIFT (27U)
7758/*! OSEVENT_TIMER_CLK - OS event timer clock control
7759 * 0b0..Disable Clock
7760 * 0b1..Enable Clock
7761 */
7762#define CLKCTL1_PSCCTL0_OSEVENT_TIMER_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_OSEVENT_TIMER_CLK_SHIFT)) & CLKCTL1_PSCCTL0_OSEVENT_TIMER_CLK_MASK)
7763/*! @} */
7764
7765/*! @name PSCCTL1 - clock control register 1 */
7766/*! @{ */
7767#define CLKCTL1_PSCCTL1_HSGPIO0_CLK_MASK (0x1U)
7768#define CLKCTL1_PSCCTL1_HSGPIO0_CLK_SHIFT (0U)
7769/*! HSGPIO0_CLK - HSGPIO0 clock control
7770 * 0b0..Disable Clock
7771 * 0b1..Enable Clock
7772 */
7773#define CLKCTL1_PSCCTL1_HSGPIO0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO0_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO0_CLK_MASK)
7774#define CLKCTL1_PSCCTL1_HSGPIO1_CLK_MASK (0x2U)
7775#define CLKCTL1_PSCCTL1_HSGPIO1_CLK_SHIFT (1U)
7776/*! HSGPIO1_CLK - HSGPIO1 clock control
7777 * 0b0..Disable Clock
7778 * 0b1..Enable Clock
7779 */
7780#define CLKCTL1_PSCCTL1_HSGPIO1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO1_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO1_CLK_MASK)
7781#define CLKCTL1_PSCCTL1_HSGPIO2_CLK_MASK (0x4U)
7782#define CLKCTL1_PSCCTL1_HSGPIO2_CLK_SHIFT (2U)
7783/*! HSGPIO2_CLK - HSGPIO2 clock control
7784 * 0b0..Disable Clock
7785 * 0b1..Enable Clock
7786 */
7787#define CLKCTL1_PSCCTL1_HSGPIO2_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO2_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO2_CLK_MASK)
7788#define CLKCTL1_PSCCTL1_HSGPIO3_CLK_MASK (0x8U)
7789#define CLKCTL1_PSCCTL1_HSGPIO3_CLK_SHIFT (3U)
7790/*! HSGPIO3_CLK - HSGPIO3 clock control
7791 * 0b0..Disable Clock
7792 * 0b1..Enable Clock
7793 */
7794#define CLKCTL1_PSCCTL1_HSGPIO3_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO3_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO3_CLK_MASK)
7795#define CLKCTL1_PSCCTL1_HSGPIO4_CLK_MASK (0x10U)
7796#define CLKCTL1_PSCCTL1_HSGPIO4_CLK_SHIFT (4U)
7797/*! HSGPIO4_CLK - HSGPIO4 clock control
7798 * 0b0..Disable Clock
7799 * 0b1..Enable Clock
7800 */
7801#define CLKCTL1_PSCCTL1_HSGPIO4_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO4_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO4_CLK_MASK)
7802#define CLKCTL1_PSCCTL1_HSGPIO5_CLK_MASK (0x20U)
7803#define CLKCTL1_PSCCTL1_HSGPIO5_CLK_SHIFT (5U)
7804/*! HSGPIO5_CLK - HSGPIO5 clock control
7805 * 0b0..Disable Clock
7806 * 0b1..Enable Clock
7807 */
7808#define CLKCTL1_PSCCTL1_HSGPIO5_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO5_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO5_CLK_MASK)
7809#define CLKCTL1_PSCCTL1_HSGPIO6_CLK_MASK (0x40U)
7810#define CLKCTL1_PSCCTL1_HSGPIO6_CLK_SHIFT (6U)
7811/*! HSGPIO6_CLK - HSGPIO6 clock control
7812 * 0b0..Disable Clock
7813 * 0b1..Enable Clock
7814 */
7815#define CLKCTL1_PSCCTL1_HSGPIO6_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO6_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO6_CLK_MASK)
7816#define CLKCTL1_PSCCTL1_HSGPIO7_CLK_MASK (0x80U)
7817#define CLKCTL1_PSCCTL1_HSGPIO7_CLK_SHIFT (7U)
7818/*! HSGPIO7_CLK - HSGPIO7 clock control
7819 * 0b0..Disable Clock
7820 * 0b1..Enable Clock
7821 */
7822#define CLKCTL1_PSCCTL1_HSGPIO7_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_HSGPIO7_CLK_SHIFT)) & CLKCTL1_PSCCTL1_HSGPIO7_CLK_MASK)
7823#define CLKCTL1_PSCCTL1_CRC_CLK_MASK (0x10000U)
7824#define CLKCTL1_PSCCTL1_CRC_CLK_SHIFT (16U)
7825/*! CRC_CLK - CRC clock control
7826 * 0b0..Disable Clock
7827 * 0b1..Enable Clock
7828 */
7829#define CLKCTL1_PSCCTL1_CRC_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CRC_CLK_SHIFT)) & CLKCTL1_PSCCTL1_CRC_CLK_MASK)
7830#define CLKCTL1_PSCCTL1_DMAC0_CLK_MASK (0x800000U)
7831#define CLKCTL1_PSCCTL1_DMAC0_CLK_SHIFT (23U)
7832/*! DMAC0_CLK - DMAC0 clock control
7833 * 0b0..Disable Clock
7834 * 0b1..Enable Clock
7835 */
7836#define CLKCTL1_PSCCTL1_DMAC0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_DMAC0_CLK_SHIFT)) & CLKCTL1_PSCCTL1_DMAC0_CLK_MASK)
7837#define CLKCTL1_PSCCTL1_DMAC1_CLK_MASK (0x1000000U)
7838#define CLKCTL1_PSCCTL1_DMAC1_CLK_SHIFT (24U)
7839/*! DMAC1_CLK - DMAC1 clock control
7840 * 0b0..Disable Clock
7841 * 0b1..Enable Clock
7842 */
7843#define CLKCTL1_PSCCTL1_DMAC1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_DMAC1_CLK_SHIFT)) & CLKCTL1_PSCCTL1_DMAC1_CLK_MASK)
7844#define CLKCTL1_PSCCTL1_MU_CLK_MASK (0x10000000U)
7845#define CLKCTL1_PSCCTL1_MU_CLK_SHIFT (28U)
7846/*! MU_CLK - MU clock control
7847 * 0b0..Disable Clock
7848 * 0b1..Enable Clock
7849 */
7850#define CLKCTL1_PSCCTL1_MU_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_MU_CLK_SHIFT)) & CLKCTL1_PSCCTL1_MU_CLK_MASK)
7851#define CLKCTL1_PSCCTL1_SEMA_CLK_MASK (0x20000000U)
7852#define CLKCTL1_PSCCTL1_SEMA_CLK_SHIFT (29U)
7853/*! SEMA_CLK - SEMA clock control
7854 * 0b0..Disable Clock
7855 * 0b1..Enable Clock
7856 */
7857#define CLKCTL1_PSCCTL1_SEMA_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SEMA_CLK_SHIFT)) & CLKCTL1_PSCCTL1_SEMA_CLK_MASK)
7858#define CLKCTL1_PSCCTL1_FREQME_CLK_MASK (0x80000000U)
7859#define CLKCTL1_PSCCTL1_FREQME_CLK_SHIFT (31U)
7860/*! FREQME_CLK - FREQME clock control
7861 * 0b0..Disable Clock
7862 * 0b1..Enable Clock
7863 */
7864#define CLKCTL1_PSCCTL1_FREQME_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_FREQME_CLK_SHIFT)) & CLKCTL1_PSCCTL1_FREQME_CLK_MASK)
7865/*! @} */
7866
7867/*! @name PSCCTL2 - clock control register 2 */
7868/*! @{ */
7869#define CLKCTL1_PSCCTL2_CT32BIT0_CLK_MASK (0x1U)
7870#define CLKCTL1_PSCCTL2_CT32BIT0_CLK_SHIFT (0U)
7871/*! CT32BIT0_CLK - ct32bit timer 0 clock control
7872 * 0b0..Disable Clock
7873 * 0b1..Enable Clock
7874 */
7875#define CLKCTL1_PSCCTL2_CT32BIT0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CT32BIT0_CLK_SHIFT)) & CLKCTL1_PSCCTL2_CT32BIT0_CLK_MASK)
7876#define CLKCTL1_PSCCTL2_CT32BIT1_CLK_MASK (0x2U)
7877#define CLKCTL1_PSCCTL2_CT32BIT1_CLK_SHIFT (1U)
7878/*! CT32BIT1_CLK - ct32bit timer 1 clock control
7879 * 0b0..Disable Clock
7880 * 0b1..Enable Clock
7881 */
7882#define CLKCTL1_PSCCTL2_CT32BIT1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CT32BIT1_CLK_SHIFT)) & CLKCTL1_PSCCTL2_CT32BIT1_CLK_MASK)
7883#define CLKCTL1_PSCCTL2_CT32BIT2_CLK_MASK (0x4U)
7884#define CLKCTL1_PSCCTL2_CT32BIT2_CLK_SHIFT (2U)
7885/*! CT32BIT2_CLK - ct32bit timer 2 clock control
7886 * 0b0..Disable Clock
7887 * 0b1..Enable Clock
7888 */
7889#define CLKCTL1_PSCCTL2_CT32BIT2_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CT32BIT2_CLK_SHIFT)) & CLKCTL1_PSCCTL2_CT32BIT2_CLK_MASK)
7890#define CLKCTL1_PSCCTL2_CT32BIT3_CLK_MASK (0x8U)
7891#define CLKCTL1_PSCCTL2_CT32BIT3_CLK_SHIFT (3U)
7892/*! CT32BIT3_CLK - ct32bit timer 3 clock control
7893 * 0b0..Disable Clock
7894 * 0b1..Enable Clock
7895 */
7896#define CLKCTL1_PSCCTL2_CT32BIT3_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CT32BIT3_CLK_SHIFT)) & CLKCTL1_PSCCTL2_CT32BIT3_CLK_MASK)
7897#define CLKCTL1_PSCCTL2_CT32BIT4_CLK_MASK (0x10U)
7898#define CLKCTL1_PSCCTL2_CT32BIT4_CLK_SHIFT (4U)
7899/*! CT32BIT4_CLK - ct32bit timer 4 clock control
7900 * 0b0..Disable Clock
7901 * 0b1..Enable Clock
7902 */
7903#define CLKCTL1_PSCCTL2_CT32BIT4_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CT32BIT4_CLK_SHIFT)) & CLKCTL1_PSCCTL2_CT32BIT4_CLK_MASK)
7904#define CLKCTL1_PSCCTL2_RTC_LITE_CLK_MASK (0x80U)
7905#define CLKCTL1_PSCCTL2_RTC_LITE_CLK_SHIFT (7U)
7906/*! RTC_LITE_CLK - rtc lite clock control
7907 * 0b0..Disable Clock
7908 * 0b1..Enable Clock
7909 */
7910#define CLKCTL1_PSCCTL2_RTC_LITE_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_RTC_LITE_CLK_SHIFT)) & CLKCTL1_PSCCTL2_RTC_LITE_CLK_MASK)
7911#define CLKCTL1_PSCCTL2_MRT0_CLK_MASK (0x100U)
7912#define CLKCTL1_PSCCTL2_MRT0_CLK_SHIFT (8U)
7913/*! MRT0_CLK - mrt0 clock control
7914 * 0b0..Disable Clock
7915 * 0b1..Enable Clock
7916 */
7917#define CLKCTL1_PSCCTL2_MRT0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_MRT0_CLK_SHIFT)) & CLKCTL1_PSCCTL2_MRT0_CLK_MASK)
7918#define CLKCTL1_PSCCTL2_WWDT1_CLK_MASK (0x400U)
7919#define CLKCTL1_PSCCTL2_WWDT1_CLK_SHIFT (10U)
7920/*! WWDT1_CLK - wdt1 clock control
7921 * 0b0..Disable Clock
7922 * 0b1..Enable Clock
7923 */
7924#define CLKCTL1_PSCCTL2_WWDT1_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_WWDT1_CLK_SHIFT)) & CLKCTL1_PSCCTL2_WWDT1_CLK_MASK)
7925#define CLKCTL1_PSCCTL2_I3C0_CLK_MASK (0x10000U)
7926#define CLKCTL1_PSCCTL2_I3C0_CLK_SHIFT (16U)
7927/*! I3C0_CLK - i3c0 clock control
7928 * 0b0..Disable Clock
7929 * 0b1..Enable Clock
7930 */
7931#define CLKCTL1_PSCCTL2_I3C0_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_I3C0_CLK_SHIFT)) & CLKCTL1_PSCCTL2_I3C0_CLK_MASK)
7932#define CLKCTL1_PSCCTL2_GPIOINTCTL_CLK_MASK (0x40000000U)
7933#define CLKCTL1_PSCCTL2_GPIOINTCTL_CLK_SHIFT (30U)
7934/*! GPIOINTCTL_CLK - GPIOINTCTL clock control
7935 * 0b0..Disable Clock
7936 * 0b1..Enable Clock
7937 */
7938#define CLKCTL1_PSCCTL2_GPIOINTCTL_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_GPIOINTCTL_CLK_SHIFT)) & CLKCTL1_PSCCTL2_GPIOINTCTL_CLK_MASK)
7939#define CLKCTL1_PSCCTL2_PIMCTL_CLK_MASK (0x80000000U)
7940#define CLKCTL1_PSCCTL2_PIMCTL_CLK_SHIFT (31U)
7941/*! PIMCTL_CLK - PIMCTL clock control
7942 * 0b0..Disable Clock
7943 * 0b1..Enable Clock
7944 */
7945#define CLKCTL1_PSCCTL2_PIMCTL_CLK(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_PIMCTL_CLK_SHIFT)) & CLKCTL1_PSCCTL2_PIMCTL_CLK_MASK)
7946/*! @} */
7947
7948/*! @name PSCCTL0_SET - clock set register 0 */
7949/*! @{ */
7950#define CLKCTL1_PSCCTL0_SET_FC0_CLK_SET_MASK (0x100U)
7951#define CLKCTL1_PSCCTL0_SET_FC0_CLK_SET_SHIFT (8U)
7952/*! FC0_CLK_SET - flexcomm 0 clock set
7953 * 0b0..No Effect
7954 * 0b1..Sets the PSCCTL0 Bit
7955 */
7956#define CLKCTL1_PSCCTL0_SET_FC0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC0_CLK_SET_MASK)
7957#define CLKCTL1_PSCCTL0_SET_FC1_CLK_SET_MASK (0x200U)
7958#define CLKCTL1_PSCCTL0_SET_FC1_CLK_SET_SHIFT (9U)
7959/*! FC1_CLK_SET - flexcomm 1 clock set
7960 * 0b0..No Effect
7961 * 0b1..Sets the PSCCTL0 Bit
7962 */
7963#define CLKCTL1_PSCCTL0_SET_FC1_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC1_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC1_CLK_SET_MASK)
7964#define CLKCTL1_PSCCTL0_SET_FC2_CLK_SET_MASK (0x400U)
7965#define CLKCTL1_PSCCTL0_SET_FC2_CLK_SET_SHIFT (10U)
7966/*! FC2_CLK_SET - flexcomm 2 clock set
7967 * 0b0..No Effect
7968 * 0b1..Sets the PSCCTL0 Bit
7969 */
7970#define CLKCTL1_PSCCTL0_SET_FC2_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC2_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC2_CLK_SET_MASK)
7971#define CLKCTL1_PSCCTL0_SET_FC3_CLK_SET_MASK (0x800U)
7972#define CLKCTL1_PSCCTL0_SET_FC3_CLK_SET_SHIFT (11U)
7973/*! FC3_CLK_SET - flexcomm 3 clock set
7974 * 0b0..No Effect
7975 * 0b1..Sets the PSCCTL0 Bit
7976 */
7977#define CLKCTL1_PSCCTL0_SET_FC3_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC3_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC3_CLK_SET_MASK)
7978#define CLKCTL1_PSCCTL0_SET_FC4_CLK_SET_MASK (0x1000U)
7979#define CLKCTL1_PSCCTL0_SET_FC4_CLK_SET_SHIFT (12U)
7980/*! FC4_CLK_SET - flexcomm 4 clock set
7981 * 0b0..No Effect
7982 * 0b1..Sets the PSCCTL0 Bit
7983 */
7984#define CLKCTL1_PSCCTL0_SET_FC4_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC4_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC4_CLK_SET_MASK)
7985#define CLKCTL1_PSCCTL0_SET_FC5_CLK_SET_MASK (0x2000U)
7986#define CLKCTL1_PSCCTL0_SET_FC5_CLK_SET_SHIFT (13U)
7987/*! FC5_CLK_SET - flexcomm 5 clock set
7988 * 0b0..No Effect
7989 * 0b1..Sets the PSCCTL0 Bit
7990 */
7991#define CLKCTL1_PSCCTL0_SET_FC5_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC5_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC5_CLK_SET_MASK)
7992#define CLKCTL1_PSCCTL0_SET_FC6_CLK_SET_MASK (0x4000U)
7993#define CLKCTL1_PSCCTL0_SET_FC6_CLK_SET_SHIFT (14U)
7994/*! FC6_CLK_SET - flexcomm 6 clock set
7995 * 0b0..No Effect
7996 * 0b1..Sets the PSCCTL0 Bit
7997 */
7998#define CLKCTL1_PSCCTL0_SET_FC6_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC6_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC6_CLK_SET_MASK)
7999#define CLKCTL1_PSCCTL0_SET_FC7_CLK_SET_MASK (0x8000U)
8000#define CLKCTL1_PSCCTL0_SET_FC7_CLK_SET_SHIFT (15U)
8001/*! FC7_CLK_SET - flexcomm 7 clock set
8002 * 0b0..No Effect
8003 * 0b1..Sets the PSCCTL0 Bit
8004 */
8005#define CLKCTL1_PSCCTL0_SET_FC7_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC7_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC7_CLK_SET_MASK)
8006#define CLKCTL1_PSCCTL0_SET_FC14_SPI_CLK_SET_MASK (0x400000U)
8007#define CLKCTL1_PSCCTL0_SET_FC14_SPI_CLK_SET_SHIFT (22U)
8008/*! FC14_SPI_CLK_SET - flexcomm 14 spi clock set
8009 * 0b0..No Effect
8010 * 0b1..Sets the PSCCTL0 Bit
8011 */
8012#define CLKCTL1_PSCCTL0_SET_FC14_SPI_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC14_SPI_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC14_SPI_CLK_SET_MASK)
8013#define CLKCTL1_PSCCTL0_SET_FC15_I2C_CLK_SET_MASK (0x800000U)
8014#define CLKCTL1_PSCCTL0_SET_FC15_I2C_CLK_SET_SHIFT (23U)
8015/*! FC15_I2C_CLK_SET - flexcomm 15 i2c clock set
8016 * 0b0..No Effect
8017 * 0b1..Sets the PSCCTL0 Bit
8018 */
8019#define CLKCTL1_PSCCTL0_SET_FC15_I2C_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_FC15_I2C_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_FC15_I2C_CLK_SET_MASK)
8020#define CLKCTL1_PSCCTL0_SET_DMIC0_CLK_SET_MASK (0x1000000U)
8021#define CLKCTL1_PSCCTL0_SET_DMIC0_CLK_SET_SHIFT (24U)
8022/*! DMIC0_CLK_SET - DMIC0 clock set
8023 * 0b0..No Effect
8024 * 0b1..Sets the PSCCTL0 Bit
8025 */
8026#define CLKCTL1_PSCCTL0_SET_DMIC0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_DMIC0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_DMIC0_CLK_SET_MASK)
8027#define CLKCTL1_PSCCTL0_SET_OSEVENT_TIMER_CLK_SET_MASK (0x8000000U)
8028#define CLKCTL1_PSCCTL0_SET_OSEVENT_TIMER_CLK_SET_SHIFT (27U)
8029/*! OSEVENT_TIMER_CLK_SET - OS event timer clock set
8030 * 0b0..No Effect
8031 * 0b1..Sets the PSCCTL0 Bit
8032 */
8033#define CLKCTL1_PSCCTL0_SET_OSEVENT_TIMER_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_SET_OSEVENT_TIMER_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL0_SET_OSEVENT_TIMER_CLK_SET_MASK)
8034/*! @} */
8035
8036/*! @name PSCCTL1_SET - clock set register 1 */
8037/*! @{ */
8038#define CLKCTL1_PSCCTL1_SET_HSGPIO0_CLK_SET_MASK (0x1U)
8039#define CLKCTL1_PSCCTL1_SET_HSGPIO0_CLK_SET_SHIFT (0U)
8040/*! HSGPIO0_CLK_SET - HSGPIO0 clock set
8041 * 0b0..No Effect
8042 * 0b1..Sets the PSCCTL1 Bit
8043 */
8044#define CLKCTL1_PSCCTL1_SET_HSGPIO0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO0_CLK_SET_MASK)
8045#define CLKCTL1_PSCCTL1_SET_HSGPIO1_CLK_SET_MASK (0x2U)
8046#define CLKCTL1_PSCCTL1_SET_HSGPIO1_CLK_SET_SHIFT (1U)
8047/*! HSGPIO1_CLK_SET - HSGPIO1 clock set
8048 * 0b0..No Effect
8049 * 0b1..Sets the PSCCTL1 Bit
8050 */
8051#define CLKCTL1_PSCCTL1_SET_HSGPIO1_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO1_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO1_CLK_SET_MASK)
8052#define CLKCTL1_PSCCTL1_SET_HSGPIO2_CLK_SET_MASK (0x4U)
8053#define CLKCTL1_PSCCTL1_SET_HSGPIO2_CLK_SET_SHIFT (2U)
8054/*! HSGPIO2_CLK_SET - HSGPIO2 clock set
8055 * 0b0..No Effect
8056 * 0b1..Sets the PSCCTL1 Bit
8057 */
8058#define CLKCTL1_PSCCTL1_SET_HSGPIO2_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO2_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO2_CLK_SET_MASK)
8059#define CLKCTL1_PSCCTL1_SET_HSGPIO3_CLK_SET_MASK (0x8U)
8060#define CLKCTL1_PSCCTL1_SET_HSGPIO3_CLK_SET_SHIFT (3U)
8061/*! HSGPIO3_CLK_SET - HSGPIO3 clock set
8062 * 0b0..No Effect
8063 * 0b1..Sets the PSCCTL1 Bit
8064 */
8065#define CLKCTL1_PSCCTL1_SET_HSGPIO3_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO3_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO3_CLK_SET_MASK)
8066#define CLKCTL1_PSCCTL1_SET_HSGPIO4_CLK_SET_MASK (0x10U)
8067#define CLKCTL1_PSCCTL1_SET_HSGPIO4_CLK_SET_SHIFT (4U)
8068/*! HSGPIO4_CLK_SET - HSGPIO4 clock set
8069 * 0b0..No Effect
8070 * 0b1..Sets the PSCCTL1 Bit
8071 */
8072#define CLKCTL1_PSCCTL1_SET_HSGPIO4_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO4_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO4_CLK_SET_MASK)
8073#define CLKCTL1_PSCCTL1_SET_HSGPIO5_CLK_SET_MASK (0x20U)
8074#define CLKCTL1_PSCCTL1_SET_HSGPIO5_CLK_SET_SHIFT (5U)
8075/*! HSGPIO5_CLK_SET - HSGPIO5 clock set
8076 * 0b0..No Effect
8077 * 0b1..Sets the PSCCTL1 Bit
8078 */
8079#define CLKCTL1_PSCCTL1_SET_HSGPIO5_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO5_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO5_CLK_SET_MASK)
8080#define CLKCTL1_PSCCTL1_SET_HSGPIO6_CLK_SET_MASK (0x40U)
8081#define CLKCTL1_PSCCTL1_SET_HSGPIO6_CLK_SET_SHIFT (6U)
8082/*! HSGPIO6_CLK_SET - HSGPIO6 clock set
8083 * 0b0..No Effect
8084 * 0b1..Sets the PSCCTL1 Bit
8085 */
8086#define CLKCTL1_PSCCTL1_SET_HSGPIO6_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO6_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO6_CLK_SET_MASK)
8087#define CLKCTL1_PSCCTL1_SET_HSGPIO7_CLK_SET_MASK (0x80U)
8088#define CLKCTL1_PSCCTL1_SET_HSGPIO7_CLK_SET_SHIFT (7U)
8089/*! HSGPIO7_CLK_SET - HSGPIO7 clock set
8090 * 0b0..No Effect
8091 * 0b1..Sets the PSCCTL1 Bit
8092 */
8093#define CLKCTL1_PSCCTL1_SET_HSGPIO7_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_HSGPIO7_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_HSGPIO7_CLK_SET_MASK)
8094#define CLKCTL1_PSCCTL1_SET_CRC_CLK_SET_MASK (0x10000U)
8095#define CLKCTL1_PSCCTL1_SET_CRC_CLK_SET_SHIFT (16U)
8096/*! CRC_CLK_SET - CRC clock set
8097 * 0b0..No Effect
8098 * 0b1..Sets the PSCCTL1 Bit
8099 */
8100#define CLKCTL1_PSCCTL1_SET_CRC_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_CRC_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_CRC_CLK_SET_MASK)
8101#define CLKCTL1_PSCCTL1_SET_DMAC0_CLK_SET_MASK (0x800000U)
8102#define CLKCTL1_PSCCTL1_SET_DMAC0_CLK_SET_SHIFT (23U)
8103/*! DMAC0_CLK_SET - DMAC0 clock set
8104 * 0b0..No Effect
8105 * 0b1..Sets the PSCCTL1 Bit
8106 */
8107#define CLKCTL1_PSCCTL1_SET_DMAC0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_DMAC0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_DMAC0_CLK_SET_MASK)
8108#define CLKCTL1_PSCCTL1_SET_DMAC1_CLK_SET_MASK (0x1000000U)
8109#define CLKCTL1_PSCCTL1_SET_DMAC1_CLK_SET_SHIFT (24U)
8110/*! DMAC1_CLK_SET - DMAC1 clock set
8111 * 0b0..No Effect
8112 * 0b1..Sets the PSCCTL1 Bit
8113 */
8114#define CLKCTL1_PSCCTL1_SET_DMAC1_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_DMAC1_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_DMAC1_CLK_SET_MASK)
8115#define CLKCTL1_PSCCTL1_SET_MU_CLK_SET_MASK (0x10000000U)
8116#define CLKCTL1_PSCCTL1_SET_MU_CLK_SET_SHIFT (28U)
8117/*! MU_CLK_SET - MU clock set
8118 * 0b0..No Effect
8119 * 0b1..Sets the PSCCTL1 Bit
8120 */
8121#define CLKCTL1_PSCCTL1_SET_MU_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_MU_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_MU_CLK_SET_MASK)
8122#define CLKCTL1_PSCCTL1_SET_SEMA_CLK_SET_MASK (0x20000000U)
8123#define CLKCTL1_PSCCTL1_SET_SEMA_CLK_SET_SHIFT (29U)
8124/*! SEMA_CLK_SET - SEMA clock set
8125 * 0b0..No Effect
8126 * 0b1..Sets the PSCCTL1 Bit
8127 */
8128#define CLKCTL1_PSCCTL1_SET_SEMA_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_SEMA_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_SEMA_CLK_SET_MASK)
8129#define CLKCTL1_PSCCTL1_SET_FREQME_CLK_SET_MASK (0x80000000U)
8130#define CLKCTL1_PSCCTL1_SET_FREQME_CLK_SET_SHIFT (31U)
8131/*! FREQME_CLK_SET - FREQME clock set
8132 * 0b0..No Effect
8133 * 0b1..Sets the PSCCTL1 Bit
8134 */
8135#define CLKCTL1_PSCCTL1_SET_FREQME_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_SET_FREQME_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL1_SET_FREQME_CLK_SET_MASK)
8136/*! @} */
8137
8138/*! @name PSCCTL2_SET - clock set register 2 */
8139/*! @{ */
8140#define CLKCTL1_PSCCTL2_SET_CT32BIT0_CLK_SET_MASK (0x1U)
8141#define CLKCTL1_PSCCTL2_SET_CT32BIT0_CLK_SET_SHIFT (0U)
8142/*! CT32BIT0_CLK_SET - ct32bit timer 0 clock set
8143 * 0b0..No Effect
8144 * 0b1..Sets the PSCCTL2 Bit
8145 */
8146#define CLKCTL1_PSCCTL2_SET_CT32BIT0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_CT32BIT0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_CT32BIT0_CLK_SET_MASK)
8147#define CLKCTL1_PSCCTL2_SET_CT32BIT1_CLK_SET_MASK (0x2U)
8148#define CLKCTL1_PSCCTL2_SET_CT32BIT1_CLK_SET_SHIFT (1U)
8149/*! CT32BIT1_CLK_SET - ct32bit timer 1 clock set
8150 * 0b0..No Effect
8151 * 0b1..Sets the PSCCTL2 Bit
8152 */
8153#define CLKCTL1_PSCCTL2_SET_CT32BIT1_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_CT32BIT1_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_CT32BIT1_CLK_SET_MASK)
8154#define CLKCTL1_PSCCTL2_SET_CT32BIT2_CLK_SET_MASK (0x4U)
8155#define CLKCTL1_PSCCTL2_SET_CT32BIT2_CLK_SET_SHIFT (2U)
8156/*! CT32BIT2_CLK_SET - ct32bit timer 2 clock set
8157 * 0b0..No Effect
8158 * 0b1..Sets the PSCCTL2 Bit
8159 */
8160#define CLKCTL1_PSCCTL2_SET_CT32BIT2_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_CT32BIT2_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_CT32BIT2_CLK_SET_MASK)
8161#define CLKCTL1_PSCCTL2_SET_CT32BIT3_CLK_SET_MASK (0x8U)
8162#define CLKCTL1_PSCCTL2_SET_CT32BIT3_CLK_SET_SHIFT (3U)
8163/*! CT32BIT3_CLK_SET - ct32bit timer 3 clock set
8164 * 0b0..No Effect
8165 * 0b1..Sets the PSCCTL2 Bit
8166 */
8167#define CLKCTL1_PSCCTL2_SET_CT32BIT3_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_CT32BIT3_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_CT32BIT3_CLK_SET_MASK)
8168#define CLKCTL1_PSCCTL2_SET_CT32BIT4_CLK_SET_MASK (0x10U)
8169#define CLKCTL1_PSCCTL2_SET_CT32BIT4_CLK_SET_SHIFT (4U)
8170/*! CT32BIT4_CLK_SET - ct32bit timer 4 clock set
8171 * 0b0..No Effect
8172 * 0b1..Sets the PSCCTL2 Bit
8173 */
8174#define CLKCTL1_PSCCTL2_SET_CT32BIT4_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_CT32BIT4_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_CT32BIT4_CLK_SET_MASK)
8175#define CLKCTL1_PSCCTL2_SET_RTC_LITE_CLK_SET_MASK (0x80U)
8176#define CLKCTL1_PSCCTL2_SET_RTC_LITE_CLK_SET_SHIFT (7U)
8177/*! RTC_LITE_CLK_SET - rtc lite clock set
8178 * 0b0..No Effect
8179 * 0b1..Sets the PSCCTL2 Bit
8180 */
8181#define CLKCTL1_PSCCTL2_SET_RTC_LITE_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_RTC_LITE_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_RTC_LITE_CLK_SET_MASK)
8182#define CLKCTL1_PSCCTL2_SET_MRT0_CLK_SET_MASK (0x100U)
8183#define CLKCTL1_PSCCTL2_SET_MRT0_CLK_SET_SHIFT (8U)
8184/*! MRT0_CLK_SET - mrt0 clock set
8185 * 0b0..No Effect
8186 * 0b1..Sets the PSCCTL2 Bit
8187 */
8188#define CLKCTL1_PSCCTL2_SET_MRT0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_MRT0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_MRT0_CLK_SET_MASK)
8189#define CLKCTL1_PSCCTL2_SET_WWDT1_CLK_SET_MASK (0x400U)
8190#define CLKCTL1_PSCCTL2_SET_WWDT1_CLK_SET_SHIFT (10U)
8191/*! WWDT1_CLK_SET - wdt1 clock set
8192 * 0b0..No Effect
8193 * 0b1..Sets the PSCCTL2 Bit
8194 */
8195#define CLKCTL1_PSCCTL2_SET_WWDT1_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_WWDT1_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_WWDT1_CLK_SET_MASK)
8196#define CLKCTL1_PSCCTL2_SET_I3C0_CLK_SET_MASK (0x10000U)
8197#define CLKCTL1_PSCCTL2_SET_I3C0_CLK_SET_SHIFT (16U)
8198/*! I3C0_CLK_SET - i3c0 clock set
8199 * 0b0..No Effect
8200 * 0b1..Sets the PSCCTL2 Bit
8201 */
8202#define CLKCTL1_PSCCTL2_SET_I3C0_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_I3C0_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_I3C0_CLK_SET_MASK)
8203#define CLKCTL1_PSCCTL2_SET_GPIOINTCTL_CLK_SET_MASK (0x40000000U)
8204#define CLKCTL1_PSCCTL2_SET_GPIOINTCTL_CLK_SET_SHIFT (30U)
8205/*! GPIOINTCTL_CLK_SET - GPIOINTCTL clock set
8206 * 0b0..No Effect
8207 * 0b1..Sets the PSCCTL2 Bit
8208 */
8209#define CLKCTL1_PSCCTL2_SET_GPIOINTCTL_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_GPIOINTCTL_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_GPIOINTCTL_CLK_SET_MASK)
8210#define CLKCTL1_PSCCTL2_SET_PIMCTL_CLK_SET_MASK (0x80000000U)
8211#define CLKCTL1_PSCCTL2_SET_PIMCTL_CLK_SET_SHIFT (31U)
8212/*! PIMCTL_CLK_SET - PIMCTL clock set
8213 * 0b0..No Effect
8214 * 0b1..Sets the PSCCTL2 Bit
8215 */
8216#define CLKCTL1_PSCCTL2_SET_PIMCTL_CLK_SET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_SET_PIMCTL_CLK_SET_SHIFT)) & CLKCTL1_PSCCTL2_SET_PIMCTL_CLK_SET_MASK)
8217/*! @} */
8218
8219/*! @name PSCCTL0_CLR - clock clear register 0 */
8220/*! @{ */
8221#define CLKCTL1_PSCCTL0_CLR_FC0_CLK_CLR_MASK (0x100U)
8222#define CLKCTL1_PSCCTL0_CLR_FC0_CLK_CLR_SHIFT (8U)
8223/*! FC0_CLK_CLR - flexcomm 0 clock clear
8224 * 0b0..No Effect
8225 * 0b1..Clears the PSCCTL0 Bit
8226 */
8227#define CLKCTL1_PSCCTL0_CLR_FC0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC0_CLK_CLR_MASK)
8228#define CLKCTL1_PSCCTL0_CLR_FC1_CLK_CLR_MASK (0x200U)
8229#define CLKCTL1_PSCCTL0_CLR_FC1_CLK_CLR_SHIFT (9U)
8230/*! FC1_CLK_CLR - flexcomm 1 clock clear
8231 * 0b0..No Effect
8232 * 0b1..Clears the PSCCTL0 Bit
8233 */
8234#define CLKCTL1_PSCCTL0_CLR_FC1_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC1_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC1_CLK_CLR_MASK)
8235#define CLKCTL1_PSCCTL0_CLR_FC2_CLK_CLR_MASK (0x400U)
8236#define CLKCTL1_PSCCTL0_CLR_FC2_CLK_CLR_SHIFT (10U)
8237/*! FC2_CLK_CLR - flexcomm 2 clock clear
8238 * 0b0..No Effect
8239 * 0b1..Clears the PSCCTL0 Bit
8240 */
8241#define CLKCTL1_PSCCTL0_CLR_FC2_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC2_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC2_CLK_CLR_MASK)
8242#define CLKCTL1_PSCCTL0_CLR_FC3_CLK_CLR_MASK (0x800U)
8243#define CLKCTL1_PSCCTL0_CLR_FC3_CLK_CLR_SHIFT (11U)
8244/*! FC3_CLK_CLR - flexcomm 3 clock clear
8245 * 0b0..No Effect
8246 * 0b1..Clears the PSCCTL0 Bit
8247 */
8248#define CLKCTL1_PSCCTL0_CLR_FC3_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC3_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC3_CLK_CLR_MASK)
8249#define CLKCTL1_PSCCTL0_CLR_FC4_CLK_CLR_MASK (0x1000U)
8250#define CLKCTL1_PSCCTL0_CLR_FC4_CLK_CLR_SHIFT (12U)
8251/*! FC4_CLK_CLR - flexcomm 4 clock clear
8252 * 0b0..No Effect
8253 * 0b1..Clears the PSCCTL0 Bit
8254 */
8255#define CLKCTL1_PSCCTL0_CLR_FC4_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC4_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC4_CLK_CLR_MASK)
8256#define CLKCTL1_PSCCTL0_CLR_FC5_CLK_CLR_MASK (0x2000U)
8257#define CLKCTL1_PSCCTL0_CLR_FC5_CLK_CLR_SHIFT (13U)
8258/*! FC5_CLK_CLR - flexcomm 5 clock clear
8259 * 0b0..No Effect
8260 * 0b1..Clears the PSCCTL0 Bit
8261 */
8262#define CLKCTL1_PSCCTL0_CLR_FC5_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC5_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC5_CLK_CLR_MASK)
8263#define CLKCTL1_PSCCTL0_CLR_FC6_CLK_CLR_MASK (0x4000U)
8264#define CLKCTL1_PSCCTL0_CLR_FC6_CLK_CLR_SHIFT (14U)
8265/*! FC6_CLK_CLR - flexcomm 6 clock clear
8266 * 0b0..No Effect
8267 * 0b1..Clears the PSCCTL0 Bit
8268 */
8269#define CLKCTL1_PSCCTL0_CLR_FC6_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC6_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC6_CLK_CLR_MASK)
8270#define CLKCTL1_PSCCTL0_CLR_FC7_CLK_CLR_MASK (0x8000U)
8271#define CLKCTL1_PSCCTL0_CLR_FC7_CLK_CLR_SHIFT (15U)
8272/*! FC7_CLK_CLR - flexcomm 7 clock clear
8273 * 0b0..No Effect
8274 * 0b1..Clears the PSCCTL0 Bit
8275 */
8276#define CLKCTL1_PSCCTL0_CLR_FC7_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC7_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC7_CLK_CLR_MASK)
8277#define CLKCTL1_PSCCTL0_CLR_FC14_SPI_CLK_CLR_MASK (0x400000U)
8278#define CLKCTL1_PSCCTL0_CLR_FC14_SPI_CLK_CLR_SHIFT (22U)
8279/*! FC14_SPI_CLK_CLR - flexcomm 14 spi clock clear
8280 * 0b0..No Effect
8281 * 0b1..Clears the PSCCTL0 Bit
8282 */
8283#define CLKCTL1_PSCCTL0_CLR_FC14_SPI_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC14_SPI_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC14_SPI_CLK_CLR_MASK)
8284#define CLKCTL1_PSCCTL0_CLR_FC15_I2C_CLK_CLR_MASK (0x800000U)
8285#define CLKCTL1_PSCCTL0_CLR_FC15_I2C_CLK_CLR_SHIFT (23U)
8286/*! FC15_I2C_CLK_CLR - flexcomm 15 i2c clock clear
8287 * 0b0..No Effect
8288 * 0b1..Clears the PSCCTL0 Bit
8289 */
8290#define CLKCTL1_PSCCTL0_CLR_FC15_I2C_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_FC15_I2C_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_FC15_I2C_CLK_CLR_MASK)
8291#define CLKCTL1_PSCCTL0_CLR_DMIC0_CLK_CLR_MASK (0x1000000U)
8292#define CLKCTL1_PSCCTL0_CLR_DMIC0_CLK_CLR_SHIFT (24U)
8293/*! DMIC0_CLK_CLR - DMIC0 clock set
8294 * 0b0..No Effect
8295 * 0b1..Clears the PSCCTL0 Bit
8296 */
8297#define CLKCTL1_PSCCTL0_CLR_DMIC0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_DMIC0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_DMIC0_CLK_CLR_MASK)
8298#define CLKCTL1_PSCCTL0_CLR_OSEVENT_TIMER_CLK_CLR_MASK (0x8000000U)
8299#define CLKCTL1_PSCCTL0_CLR_OSEVENT_TIMER_CLK_CLR_SHIFT (27U)
8300/*! OSEVENT_TIMER_CLK_CLR - OS event timer clock clear
8301 * 0b0..No Effect
8302 * 0b1..Clears the PSCCTL0 Bit
8303 */
8304#define CLKCTL1_PSCCTL0_CLR_OSEVENT_TIMER_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL0_CLR_OSEVENT_TIMER_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL0_CLR_OSEVENT_TIMER_CLK_CLR_MASK)
8305/*! @} */
8306
8307/*! @name PSCCTL1_CLR - clock clear register 1 */
8308/*! @{ */
8309#define CLKCTL1_PSCCTL1_CLR_HSGPIO0_CLK_CLR_MASK (0x1U)
8310#define CLKCTL1_PSCCTL1_CLR_HSGPIO0_CLK_CLR_SHIFT (0U)
8311/*! HSGPIO0_CLK_CLR - HSGPIO0 clock clear
8312 * 0b0..No Effect
8313 * 0b1..Clears the PSCCTL1 Bit
8314 */
8315#define CLKCTL1_PSCCTL1_CLR_HSGPIO0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO0_CLK_CLR_MASK)
8316#define CLKCTL1_PSCCTL1_CLR_HSGPIO1_CLK_CLR_MASK (0x2U)
8317#define CLKCTL1_PSCCTL1_CLR_HSGPIO1_CLK_CLR_SHIFT (1U)
8318/*! HSGPIO1_CLK_CLR - HSGPIO1 clock clear
8319 * 0b0..No Effect
8320 * 0b1..Clears the PSCCTL1 Bit
8321 */
8322#define CLKCTL1_PSCCTL1_CLR_HSGPIO1_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO1_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO1_CLK_CLR_MASK)
8323#define CLKCTL1_PSCCTL1_CLR_HSGPIO2_CLK_CLR_MASK (0x4U)
8324#define CLKCTL1_PSCCTL1_CLR_HSGPIO2_CLK_CLR_SHIFT (2U)
8325/*! HSGPIO2_CLK_CLR - HSGPIO2 clock clear
8326 * 0b0..No Effect
8327 * 0b1..Clears the PSCCTL1 Bit
8328 */
8329#define CLKCTL1_PSCCTL1_CLR_HSGPIO2_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO2_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO2_CLK_CLR_MASK)
8330#define CLKCTL1_PSCCTL1_CLR_HSGPIO3_CLK_CLR_MASK (0x8U)
8331#define CLKCTL1_PSCCTL1_CLR_HSGPIO3_CLK_CLR_SHIFT (3U)
8332/*! HSGPIO3_CLK_CLR - HSGPIO3 clock clear
8333 * 0b0..No Effect
8334 * 0b1..Clears the PSCCTL1 Bit
8335 */
8336#define CLKCTL1_PSCCTL1_CLR_HSGPIO3_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO3_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO3_CLK_CLR_MASK)
8337#define CLKCTL1_PSCCTL1_CLR_HSGPIO4_CLK_CLR_MASK (0x10U)
8338#define CLKCTL1_PSCCTL1_CLR_HSGPIO4_CLK_CLR_SHIFT (4U)
8339/*! HSGPIO4_CLK_CLR - HSGPIO4 clock clear
8340 * 0b0..No Effect
8341 * 0b1..Clears the PSCCTL1 Bit
8342 */
8343#define CLKCTL1_PSCCTL1_CLR_HSGPIO4_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO4_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO4_CLK_CLR_MASK)
8344#define CLKCTL1_PSCCTL1_CLR_HSGPIO5_CLK_CLR_MASK (0x20U)
8345#define CLKCTL1_PSCCTL1_CLR_HSGPIO5_CLK_CLR_SHIFT (5U)
8346/*! HSGPIO5_CLK_CLR - HSGPIO5 clock clear
8347 * 0b0..No Effect
8348 * 0b1..Clears the PSCCTL1 Bit
8349 */
8350#define CLKCTL1_PSCCTL1_CLR_HSGPIO5_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO5_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO5_CLK_CLR_MASK)
8351#define CLKCTL1_PSCCTL1_CLR_HSGPIO6_CLK_CLR_MASK (0x40U)
8352#define CLKCTL1_PSCCTL1_CLR_HSGPIO6_CLK_CLR_SHIFT (6U)
8353/*! HSGPIO6_CLK_CLR - HSGPIO6 clock clear
8354 * 0b0..No Effect
8355 * 0b1..Clears the PSCCTL1 Bit
8356 */
8357#define CLKCTL1_PSCCTL1_CLR_HSGPIO6_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO6_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO6_CLK_CLR_MASK)
8358#define CLKCTL1_PSCCTL1_CLR_HSGPIO7_CLK_CLR_MASK (0x80U)
8359#define CLKCTL1_PSCCTL1_CLR_HSGPIO7_CLK_CLR_SHIFT (7U)
8360/*! HSGPIO7_CLK_CLR - HSGPIO7 clock clear
8361 * 0b0..No Effect
8362 * 0b1..Clears the PSCCTL1 Bit
8363 */
8364#define CLKCTL1_PSCCTL1_CLR_HSGPIO7_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_HSGPIO7_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_HSGPIO7_CLK_CLR_MASK)
8365#define CLKCTL1_PSCCTL1_CLR_CRC_CLK_CLR_MASK (0x10000U)
8366#define CLKCTL1_PSCCTL1_CLR_CRC_CLK_CLR_SHIFT (16U)
8367/*! CRC_CLK_CLR - CRC clock clear
8368 * 0b0..No Effect
8369 * 0b1..Clears the PSCCTL1 Bit
8370 */
8371#define CLKCTL1_PSCCTL1_CLR_CRC_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_CRC_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_CRC_CLK_CLR_MASK)
8372#define CLKCTL1_PSCCTL1_CLR_DMAC0_CLK_CLR_MASK (0x800000U)
8373#define CLKCTL1_PSCCTL1_CLR_DMAC0_CLK_CLR_SHIFT (23U)
8374/*! DMAC0_CLK_CLR - DMAC0 clock clear
8375 * 0b0..No Effect
8376 * 0b1..Clears the PSCCTL1 Bit
8377 */
8378#define CLKCTL1_PSCCTL1_CLR_DMAC0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_DMAC0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_DMAC0_CLK_CLR_MASK)
8379#define CLKCTL1_PSCCTL1_CLR_DMAC1_CLK_CLR_MASK (0x1000000U)
8380#define CLKCTL1_PSCCTL1_CLR_DMAC1_CLK_CLR_SHIFT (24U)
8381/*! DMAC1_CLK_CLR - DMAC1 clock clear
8382 * 0b0..No Effect
8383 * 0b1..Clears the PSCCTL1 Bit
8384 */
8385#define CLKCTL1_PSCCTL1_CLR_DMAC1_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_DMAC1_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_DMAC1_CLK_CLR_MASK)
8386#define CLKCTL1_PSCCTL1_CLR_MU_CLK_CLR_MASK (0x10000000U)
8387#define CLKCTL1_PSCCTL1_CLR_MU_CLK_CLR_SHIFT (28U)
8388/*! MU_CLK_CLR - MU clock clear
8389 * 0b0..No Effect
8390 * 0b1..Clears the PSCCTL1 Bit
8391 */
8392#define CLKCTL1_PSCCTL1_CLR_MU_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_MU_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_MU_CLK_CLR_MASK)
8393#define CLKCTL1_PSCCTL1_CLR_SEMA_CLK_CLR_MASK (0x20000000U)
8394#define CLKCTL1_PSCCTL1_CLR_SEMA_CLK_CLR_SHIFT (29U)
8395/*! SEMA_CLK_CLR - SEMA clock clear
8396 * 0b0..No Effect
8397 * 0b1..Clears the PSCCTL1 Bit
8398 */
8399#define CLKCTL1_PSCCTL1_CLR_SEMA_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_SEMA_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_SEMA_CLK_CLR_MASK)
8400#define CLKCTL1_PSCCTL1_CLR_FREQME_CLK_CLR_MASK (0x80000000U)
8401#define CLKCTL1_PSCCTL1_CLR_FREQME_CLK_CLR_SHIFT (31U)
8402/*! FREQME_CLK_CLR - FREQME clock clear
8403 * 0b0..No Effect
8404 * 0b1..Clears the PSCCTL1 Bit
8405 */
8406#define CLKCTL1_PSCCTL1_CLR_FREQME_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL1_CLR_FREQME_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL1_CLR_FREQME_CLK_CLR_MASK)
8407/*! @} */
8408
8409/*! @name PSCCTL2_CLR - clock clear register 2 */
8410/*! @{ */
8411#define CLKCTL1_PSCCTL2_CLR_CT32BIT0_CLK_CLR_MASK (0x1U)
8412#define CLKCTL1_PSCCTL2_CLR_CT32BIT0_CLK_CLR_SHIFT (0U)
8413/*! CT32BIT0_CLK_CLR - ct32bit timer 0 clock clear
8414 * 0b0..No Effect
8415 * 0b1..Clears the PSCCTL2 Bit
8416 */
8417#define CLKCTL1_PSCCTL2_CLR_CT32BIT0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_CT32BIT0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_CT32BIT0_CLK_CLR_MASK)
8418#define CLKCTL1_PSCCTL2_CLR_CT32BIT1_CLK_CLR_MASK (0x2U)
8419#define CLKCTL1_PSCCTL2_CLR_CT32BIT1_CLK_CLR_SHIFT (1U)
8420/*! CT32BIT1_CLK_CLR - ct32bit timer 1 clock clear
8421 * 0b0..No Effect
8422 * 0b1..Clears the PSCCTL2 Bit
8423 */
8424#define CLKCTL1_PSCCTL2_CLR_CT32BIT1_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_CT32BIT1_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_CT32BIT1_CLK_CLR_MASK)
8425#define CLKCTL1_PSCCTL2_CLR_CT32BIT2_CLK_CLR_MASK (0x4U)
8426#define CLKCTL1_PSCCTL2_CLR_CT32BIT2_CLK_CLR_SHIFT (2U)
8427/*! CT32BIT2_CLK_CLR - ct32bit timer 2 clock clear
8428 * 0b0..No Effect
8429 * 0b1..Clears the PSCCTL2 Bit
8430 */
8431#define CLKCTL1_PSCCTL2_CLR_CT32BIT2_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_CT32BIT2_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_CT32BIT2_CLK_CLR_MASK)
8432#define CLKCTL1_PSCCTL2_CLR_CT32BIT3_CLK_CLR_MASK (0x8U)
8433#define CLKCTL1_PSCCTL2_CLR_CT32BIT3_CLK_CLR_SHIFT (3U)
8434/*! CT32BIT3_CLK_CLR - ct32bit timer 3 clock clear
8435 * 0b0..No Effect
8436 * 0b1..Clears the PSCCTL2 Bit
8437 */
8438#define CLKCTL1_PSCCTL2_CLR_CT32BIT3_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_CT32BIT3_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_CT32BIT3_CLK_CLR_MASK)
8439#define CLKCTL1_PSCCTL2_CLR_CT32BIT4_CLK_CLR_MASK (0x10U)
8440#define CLKCTL1_PSCCTL2_CLR_CT32BIT4_CLK_CLR_SHIFT (4U)
8441/*! CT32BIT4_CLK_CLR - ct32bit timer 4 clock clear
8442 * 0b0..No Effect
8443 * 0b1..Clears the PSCCTL2 Bit
8444 */
8445#define CLKCTL1_PSCCTL2_CLR_CT32BIT4_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_CT32BIT4_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_CT32BIT4_CLK_CLR_MASK)
8446#define CLKCTL1_PSCCTL2_CLR_RTC_LITE_CLK_CLR_MASK (0x80U)
8447#define CLKCTL1_PSCCTL2_CLR_RTC_LITE_CLK_CLR_SHIFT (7U)
8448/*! RTC_LITE_CLK_CLR - rtc lite clock clear
8449 * 0b0..No Effect
8450 * 0b1..Clears the PSCCTL2 Bit
8451 */
8452#define CLKCTL1_PSCCTL2_CLR_RTC_LITE_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_RTC_LITE_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_RTC_LITE_CLK_CLR_MASK)
8453#define CLKCTL1_PSCCTL2_CLR_MRT0_CLK_CLR_MASK (0x100U)
8454#define CLKCTL1_PSCCTL2_CLR_MRT0_CLK_CLR_SHIFT (8U)
8455/*! MRT0_CLK_CLR - mrt0 clock clear
8456 * 0b0..No Effect
8457 * 0b1..Clears the PSCCTL2 Bit
8458 */
8459#define CLKCTL1_PSCCTL2_CLR_MRT0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_MRT0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_MRT0_CLK_CLR_MASK)
8460#define CLKCTL1_PSCCTL2_CLR_WWDT1_CLK_CLR_MASK (0x400U)
8461#define CLKCTL1_PSCCTL2_CLR_WWDT1_CLK_CLR_SHIFT (10U)
8462/*! WWDT1_CLK_CLR - wdt1 clock clear
8463 * 0b0..No Effect
8464 * 0b1..Clears the PSCCTL2 Bit
8465 */
8466#define CLKCTL1_PSCCTL2_CLR_WWDT1_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_WWDT1_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_WWDT1_CLK_CLR_MASK)
8467#define CLKCTL1_PSCCTL2_CLR_I3C0_CLK_CLR_MASK (0x10000U)
8468#define CLKCTL1_PSCCTL2_CLR_I3C0_CLK_CLR_SHIFT (16U)
8469/*! I3C0_CLK_CLR - i3c0 clock clear
8470 * 0b0..No Effect
8471 * 0b1..Clears the PSCCTL2 Bit
8472 */
8473#define CLKCTL1_PSCCTL2_CLR_I3C0_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_I3C0_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_I3C0_CLK_CLR_MASK)
8474#define CLKCTL1_PSCCTL2_CLR_GPIOINTCTL_CLK_CLR_MASK (0x40000000U)
8475#define CLKCTL1_PSCCTL2_CLR_GPIOINTCTL_CLK_CLR_SHIFT (30U)
8476/*! GPIOINTCTL_CLK_CLR - GPIOINTCTL clock clear
8477 * 0b0..No Effect
8478 * 0b1..Clears the PSCCTL2 Bit
8479 */
8480#define CLKCTL1_PSCCTL2_CLR_GPIOINTCTL_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_GPIOINTCTL_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_GPIOINTCTL_CLK_CLR_MASK)
8481#define CLKCTL1_PSCCTL2_CLR_PIMCTL_CLK_CLR_MASK (0x80000000U)
8482#define CLKCTL1_PSCCTL2_CLR_PIMCTL_CLK_CLR_SHIFT (31U)
8483/*! PIMCTL_CLK_CLR - PIMCTL clock clear
8484 * 0b0..No Effect
8485 * 0b1..Clears the PSCCTL2 Bit
8486 */
8487#define CLKCTL1_PSCCTL2_CLR_PIMCTL_CLK_CLR(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_PSCCTL2_CLR_PIMCTL_CLK_CLR_SHIFT)) & CLKCTL1_PSCCTL2_CLR_PIMCTL_CLK_CLR_MASK)
8488/*! @} */
8489
8490/*! @name AUDIOPLL0CLKSEL - audio pll0 clock selection */
8491/*! @{ */
8492#define CLKCTL1_AUDIOPLL0CLKSEL_SEL_MASK (0x7U)
8493#define CLKCTL1_AUDIOPLL0CLKSEL_SEL_SHIFT (0U)
8494/*! SEL - System PLL Clock Source Selection. . .
8495 * 0b000..SFRO Clock.
8496 * 0b001..XTALIN Clock.
8497 * 0b010..FFRO Clock Divided by 2.
8498 * 0b011..Reserved.
8499 * 0b100..Reserved.
8500 * 0b101..Reserved.
8501 * 0b110..Reserved.
8502 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8503 */
8504#define CLKCTL1_AUDIOPLL0CLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0CLKSEL_SEL_SHIFT)) & CLKCTL1_AUDIOPLL0CLKSEL_SEL_MASK)
8505/*! @} */
8506
8507/*! @name AUDIOPLL0CTL0 - audio pll0 control0 */
8508/*! @{ */
8509#define CLKCTL1_AUDIOPLL0CTL0_BYPASS_MASK (0x1U)
8510#define CLKCTL1_AUDIOPLL0CTL0_BYPASS_SHIFT (0U)
8511/*! BYPASS - AUDIOPLL0 BYPASS Mode
8512 * 0b0..PFD output is PFD programmed clock.
8513 * 0b1..PFD output is AUDIOPLL0 reference input clock. (Bypass Mode)
8514 */
8515#define CLKCTL1_AUDIOPLL0CTL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0CTL0_BYPASS_SHIFT)) & CLKCTL1_AUDIOPLL0CTL0_BYPASS_MASK)
8516#define CLKCTL1_AUDIOPLL0CTL0_RESET_MASK (0x2U)
8517#define CLKCTL1_AUDIOPLL0CTL0_RESET_SHIFT (1U)
8518/*! RESET - AUDIOPLL0 Reset:
8519 * 0b0..AUDIOPLL0 reset is removed.
8520 * 0b1..AUDIOPLL0 is placed into reset.
8521 */
8522#define CLKCTL1_AUDIOPLL0CTL0_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0CTL0_RESET_SHIFT)) & CLKCTL1_AUDIOPLL0CTL0_RESET_MASK)
8523#define CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK (0x2000U)
8524#define CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_SHIFT (13U)
8525/*! HOLDRINGOFF_ENA - Hold Ring Off Control
8526 * 0b0..disbale
8527 * 0b1..enable
8528 */
8529#define CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_SHIFT)) & CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK)
8530#define CLKCTL1_AUDIOPLL0CTL0_MULT_MASK (0xFF0000U)
8531#define CLKCTL1_AUDIOPLL0CTL0_MULT_SHIFT (16U)
8532/*! MULT - Multiplication Factor for FAUDIOPLL0_OUTPUT:
8533 * 0b00100001..Div 33
8534 * 0b00011011..Div 27
8535 * 0b00010110..Div 22
8536 * 0b00010100..Div 20
8537 * 0b00010001..Div 17
8538 * 0b00010000..Div 16
8539 */
8540#define CLKCTL1_AUDIOPLL0CTL0_MULT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0CTL0_MULT_SHIFT)) & CLKCTL1_AUDIOPLL0CTL0_MULT_MASK)
8541/*! @} */
8542
8543/*! @name AUDIOPLL0LOCKTIMEDIV2 - audio pll0 lock time */
8544/*! @{ */
8545#define CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK (0xFFFFU)
8546#define CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_SHIFT (0U)
8547/*! LOCKTIMEDIV2 - AUDIOPLL0 Lock Time Divide by 2: Programmed lock time is in uS (micro-seconds)
8548 * and is programmed as half the actual lock time value.
8549 */
8550#define CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_SHIFT)) & CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK)
8551/*! @} */
8552
8553/*! @name AUDIOPLL0NUM - audio pll0 number */
8554/*! @{ */
8555#define CLKCTL1_AUDIOPLL0NUM_NUM_MASK (0x3FFFFFFFU)
8556#define CLKCTL1_AUDIOPLL0NUM_NUM_SHIFT (0U)
8557/*! NUM - This field contains the numerator of the AUDIOPLL0 fractional loop divider. NOTES: 1. The
8558 * value of numerator must always be configured to be less than the value of the denominator. 2.
8559 * The AUDIOPLL0NUM register can only be changed when the AUDIOPLL0 is disabled.
8560 */
8561#define CLKCTL1_AUDIOPLL0NUM_NUM(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0NUM_NUM_SHIFT)) & CLKCTL1_AUDIOPLL0NUM_NUM_MASK)
8562/*! @} */
8563
8564/*! @name AUDIOPLL0DENOM - Audio pll0 denom */
8565/*! @{ */
8566#define CLKCTL1_AUDIOPLL0DENOM_DENOM_MASK (0x3FFFFFFFU)
8567#define CLKCTL1_AUDIOPLL0DENOM_DENOM_SHIFT (0U)
8568/*! DENOM - This field contains the denominator of the AUDIOPLL0 fractional loop divider. NOTES: 1.
8569 * The value of numerator must always be configured to be less than the value of the denominator.
8570 * 2. The AUDIOPLL0DENOM register can only be changed when the AUDIOPLL0 is disabled.
8571 */
8572#define CLKCTL1_AUDIOPLL0DENOM_DENOM(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0DENOM_DENOM_SHIFT)) & CLKCTL1_AUDIOPLL0DENOM_DENOM_MASK)
8573/*! @} */
8574
8575/*! @name AUDIOPLL0PFD - audio pll0 PFD */
8576/*! @{ */
8577#define CLKCTL1_AUDIOPLL0PFD_PFD0_MASK (0x3FU)
8578#define CLKCTL1_AUDIOPLL0PFD_PFD0_SHIFT (0U)
8579/*! PFD0 - PLL Fractional Divider 0: Controls the fractional divider value. Valid PFD values are decimal 12-35.
8580 */
8581#define CLKCTL1_AUDIOPLL0PFD_PFD0(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD0_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD0_MASK)
8582#define CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_MASK (0x40U)
8583#define CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_SHIFT (6U)
8584/*! PFD0_CLKRDY - PFD0 Clock Ready Status Flag: Read as 1 clock ready. Cleared by writing a 1.
8585 */
8586#define CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_MASK)
8587#define CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK (0x80U)
8588#define CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_SHIFT (7U)
8589/*! PFD0_CLKGATE - PFD0 Clock Gate: 0: PFD0 clock is not gated. 1: PFD0 clock is gated
8590 * 0b0..PFD0 clock is not gated.
8591 * 0b1..PFD0 clock is gated.
8592 */
8593#define CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK)
8594#define CLKCTL1_AUDIOPLL0PFD_PFD1_MASK (0x3F00U)
8595#define CLKCTL1_AUDIOPLL0PFD_PFD1_SHIFT (8U)
8596/*! PFD1 - PLL Fractional Divider 1: Controls the fractional divider value. Valid PFD values are decimal 12-35.
8597 */
8598#define CLKCTL1_AUDIOPLL0PFD_PFD1(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD1_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD1_MASK)
8599#define CLKCTL1_AUDIOPLL0PFD_PFD1_CLKRDY_MASK (0x4000U)
8600#define CLKCTL1_AUDIOPLL0PFD_PFD1_CLKRDY_SHIFT (14U)
8601/*! PFD1_CLKRDY - PFD1 Clock Ready Status Flag: Read as 1 clock ready. Cleared by writing a 1.
8602 */
8603#define CLKCTL1_AUDIOPLL0PFD_PFD1_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD1_CLKRDY_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD1_CLKRDY_MASK)
8604#define CLKCTL1_AUDIOPLL0PFD_PFD1_CLKGATE_MASK (0x8000U)
8605#define CLKCTL1_AUDIOPLL0PFD_PFD1_CLKGATE_SHIFT (15U)
8606/*! PFD1_CLKGATE - PFD1 Clock Gate: 0: PFD1 clock is not gated. 1: PFD1 clock is gated.
8607 * 0b0..PFD1 clock is not gated.
8608 * 0b1..PFD1 clock is gated.
8609 */
8610#define CLKCTL1_AUDIOPLL0PFD_PFD1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD1_CLKGATE_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD1_CLKGATE_MASK)
8611#define CLKCTL1_AUDIOPLL0PFD_PFD2_MASK (0x3F0000U)
8612#define CLKCTL1_AUDIOPLL0PFD_PFD2_SHIFT (16U)
8613/*! PFD2 - PLL Fractional Divider 2: Controls the fractional divider value. Valid PFD values are decimal 12-35.
8614 */
8615#define CLKCTL1_AUDIOPLL0PFD_PFD2(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD2_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD2_MASK)
8616#define CLKCTL1_AUDIOPLL0PFD_PFD2_CLKRDY_MASK (0x400000U)
8617#define CLKCTL1_AUDIOPLL0PFD_PFD2_CLKRDY_SHIFT (22U)
8618/*! PFD2_CLKRDY - PFD2 Clock Ready Status Flag: Read as 1 clock ready. Cleared by writing a 1.
8619 */
8620#define CLKCTL1_AUDIOPLL0PFD_PFD2_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD2_CLKRDY_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD2_CLKRDY_MASK)
8621#define CLKCTL1_AUDIOPLL0PFD_PFD2_CLKGATE_MASK (0x800000U)
8622#define CLKCTL1_AUDIOPLL0PFD_PFD2_CLKGATE_SHIFT (23U)
8623/*! PFD2_CLKGATE - PFD2 Clock Gate: 0: PFD2 clock is not gated. 1: PFD2 clock is gated.
8624 * 0b0..PFD2 clock is not gated.
8625 * 0b1..PFD2 clock is gated.
8626 */
8627#define CLKCTL1_AUDIOPLL0PFD_PFD2_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD2_CLKGATE_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD2_CLKGATE_MASK)
8628#define CLKCTL1_AUDIOPLL0PFD_PFD3_MASK (0x3F000000U)
8629#define CLKCTL1_AUDIOPLL0PFD_PFD3_SHIFT (24U)
8630/*! PFD3 - PLL Fractional Divider 3: Controls the fractional divider value. Valid PFD values are decimal 12-35.
8631 */
8632#define CLKCTL1_AUDIOPLL0PFD_PFD3(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD3_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD3_MASK)
8633#define CLKCTL1_AUDIOPLL0PFD_PFD3_CLKRDY_MASK (0x40000000U)
8634#define CLKCTL1_AUDIOPLL0PFD_PFD3_CLKRDY_SHIFT (30U)
8635/*! PFD3_CLKRDY - PFD3 Clock Ready Status Flag: Read as 1 clock ready. Cleared by writing a 1.
8636 */
8637#define CLKCTL1_AUDIOPLL0PFD_PFD3_CLKRDY(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD3_CLKRDY_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD3_CLKRDY_MASK)
8638#define CLKCTL1_AUDIOPLL0PFD_PFD3_CLKGATE_MASK (0x80000000U)
8639#define CLKCTL1_AUDIOPLL0PFD_PFD3_CLKGATE_SHIFT (31U)
8640/*! PFD3_CLKGATE - PFD3 Clock Gate: 0: PFD3 clock is not gated. 1: PFD3 clock is gated.
8641 * 0b0..PFD3 clock is not gated.
8642 * 0b1..PFD3 clock is gated.
8643 */
8644#define CLKCTL1_AUDIOPLL0PFD_PFD3_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLL0PFD_PFD3_CLKGATE_SHIFT)) & CLKCTL1_AUDIOPLL0PFD_PFD3_CLKGATE_MASK)
8645/*! @} */
8646
8647/*! @name AUDIOPLLCLKDIV - audio pll0 clock divider */
8648/*! @{ */
8649#define CLKCTL1_AUDIOPLLCLKDIV_DIV_MASK (0xFFU)
8650#define CLKCTL1_AUDIOPLLCLKDIV_DIV_SHIFT (0U)
8651/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
8652 */
8653#define CLKCTL1_AUDIOPLLCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLLCLKDIV_DIV_SHIFT)) & CLKCTL1_AUDIOPLLCLKDIV_DIV_MASK)
8654#define CLKCTL1_AUDIOPLLCLKDIV_RESET_MASK (0x20000000U)
8655#define CLKCTL1_AUDIOPLLCLKDIV_RESET_SHIFT (29U)
8656/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
8657 * away rather than completing the previous count.
8658 */
8659#define CLKCTL1_AUDIOPLLCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLLCLKDIV_RESET_SHIFT)) & CLKCTL1_AUDIOPLLCLKDIV_RESET_MASK)
8660#define CLKCTL1_AUDIOPLLCLKDIV_HALT_MASK (0x40000000U)
8661#define CLKCTL1_AUDIOPLLCLKDIV_HALT_SHIFT (30U)
8662/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
8663 * changed without the risk of a glitch at the output.
8664 */
8665#define CLKCTL1_AUDIOPLLCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLLCLKDIV_HALT_SHIFT)) & CLKCTL1_AUDIOPLLCLKDIV_HALT_MASK)
8666#define CLKCTL1_AUDIOPLLCLKDIV_REQFLAG_MASK (0x80000000U)
8667#define CLKCTL1_AUDIOPLLCLKDIV_REQFLAG_SHIFT (31U)
8668/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
8669 */
8670#define CLKCTL1_AUDIOPLLCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOPLLCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_AUDIOPLLCLKDIV_REQFLAG_MASK)
8671/*! @} */
8672
8673/*! @name DSPCPUCLKDIV - DSP cpu clock divider */
8674/*! @{ */
8675#define CLKCTL1_DSPCPUCLKDIV_DIV_MASK (0xFFU)
8676#define CLKCTL1_DSPCPUCLKDIV_DIV_SHIFT (0U)
8677/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
8678 */
8679#define CLKCTL1_DSPCPUCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPCPUCLKDIV_DIV_SHIFT)) & CLKCTL1_DSPCPUCLKDIV_DIV_MASK)
8680#define CLKCTL1_DSPCPUCLKDIV_RESET_MASK (0x20000000U)
8681#define CLKCTL1_DSPCPUCLKDIV_RESET_SHIFT (29U)
8682/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
8683 * away rather than completing the previous count.
8684 */
8685#define CLKCTL1_DSPCPUCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPCPUCLKDIV_RESET_SHIFT)) & CLKCTL1_DSPCPUCLKDIV_RESET_MASK)
8686#define CLKCTL1_DSPCPUCLKDIV_HALT_MASK (0x40000000U)
8687#define CLKCTL1_DSPCPUCLKDIV_HALT_SHIFT (30U)
8688/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
8689 * changed without the risk of a glitch at the output.
8690 */
8691#define CLKCTL1_DSPCPUCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPCPUCLKDIV_HALT_SHIFT)) & CLKCTL1_DSPCPUCLKDIV_HALT_MASK)
8692#define CLKCTL1_DSPCPUCLKDIV_REQFLAG_MASK (0x80000000U)
8693#define CLKCTL1_DSPCPUCLKDIV_REQFLAG_SHIFT (31U)
8694/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
8695 */
8696#define CLKCTL1_DSPCPUCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPCPUCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_DSPCPUCLKDIV_REQFLAG_MASK)
8697/*! @} */
8698
8699/*! @name DSPMAINRAMCLKDIV - DSP main ram clock divider */
8700/*! @{ */
8701#define CLKCTL1_DSPMAINRAMCLKDIV_DSPMRAMCLKDIV_MASK (0x3U)
8702#define CLKCTL1_DSPMAINRAMCLKDIV_DSPMRAMCLKDIV_SHIFT (0U)
8703/*! DSPMRAMCLKDIV - DSP MAINRAM Clock Ratio Control:
8704 * 0b00..DSP MAINRAM Clk = DSP Core CLK / 1.
8705 * 0b01..DSP MAINRAM Clk = DSP Core CLK / 2.
8706 * 0b10..DSP MAINRAM Clk = DSP Core CLK / 3.
8707 * 0b11..DSP MAINRAM Clk = DSP Core CLK / 4.
8708 */
8709#define CLKCTL1_DSPMAINRAMCLKDIV_DSPMRAMCLKDIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPMAINRAMCLKDIV_DSPMRAMCLKDIV_SHIFT)) & CLKCTL1_DSPMAINRAMCLKDIV_DSPMRAMCLKDIV_MASK)
8710/*! @} */
8711
8712/*! @name DSPCPUCLKSELA - DSP clock selection A */
8713/*! @{ */
8714#define CLKCTL1_DSPCPUCLKSELA_SEL_MASK (0x3U)
8715#define CLKCTL1_DSPCPUCLKSELA_SEL_SHIFT (0U)
8716/*! SEL - Control Main 1st Stage Control Clock Source. . .
8717 * 0b00..FFRO Clock.
8718 * 0b01..XTALIN Clock.
8719 * 0b10..Low Power Oscillator Clock (LPOSC).
8720 * 0b11..SFRO Clock.
8721 */
8722#define CLKCTL1_DSPCPUCLKSELA_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPCPUCLKSELA_SEL_SHIFT)) & CLKCTL1_DSPCPUCLKSELA_SEL_MASK)
8723/*! @} */
8724
8725/*! @name DSPCPUCLKSELB - DSP clock selection B */
8726/*! @{ */
8727#define CLKCTL1_DSPCPUCLKSELB_SEL_MASK (0x3U)
8728#define CLKCTL1_DSPCPUCLKSELB_SEL_SHIFT (0U)
8729/*! SEL - Main Clock Source Selection. . .
8730 * 0b00..MAINCLKSELA 1st Stage Clock.
8731 * 0b01..Main System PLL Clock.
8732 * 0b10..DSP System PLL Clock.
8733 * 0b11..RTC 32KHz Clock.
8734 */
8735#define CLKCTL1_DSPCPUCLKSELB_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DSPCPUCLKSELB_SEL_SHIFT)) & CLKCTL1_DSPCPUCLKSELB_SEL_MASK)
8736/*! @} */
8737
8738/*! @name OSEVENTFCLKSEL - OS EVENT clock selection */
8739/*! @{ */
8740#define CLKCTL1_OSEVENTFCLKSEL_SEL_MASK (0x7U)
8741#define CLKCTL1_OSEVENTFCLKSEL_SEL_SHIFT (0U)
8742/*! SEL - OS Event Timer Functional Clock Source Selection. . .
8743 * 0b000..Low Power Oscillator Clock (LPOSC).
8744 * 0b001..RTC 32KHz Clock.
8745 * 0b010..Teal Free Running Clock (Global Time Stamping)
8746 * 0b011..reserved
8747 * 0b100..reserved
8748 * 0b101..reserved
8749 * 0b110..reserved
8750 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8751 */
8752#define CLKCTL1_OSEVENTFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_OSEVENTFCLKSEL_SEL_SHIFT)) & CLKCTL1_OSEVENTFCLKSEL_SEL_MASK)
8753/*! @} */
8754
8755/*! @name FRGCLKSEL - FRG clock selection register N */
8756/*! @{ */
8757#define CLKCTL1_FRGCLKSEL_SEL_MASK (0x7U)
8758#define CLKCTL1_FRGCLKSEL_SEL_SHIFT (0U)
8759/*! SEL - Fractional Gen. Clock Source Selection. . .
8760 * 0b000..Main Clock.
8761 * 0b001..FRG PLL Clock.
8762 * 0b010..SFRO Clock.
8763 * 0b011..FFRO Clock.
8764 * 0b100..reserved
8765 * 0b101..reserved
8766 * 0b110..reserved
8767 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8768 */
8769#define CLKCTL1_FRGCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGCLKSEL_SEL_SHIFT)) & CLKCTL1_FRGCLKSEL_SEL_MASK)
8770/*! @} */
8771
8772/* The count of CLKCTL1_FRGCLKSEL */
8773#define CLKCTL1_FRGCLKSEL_COUNT (8U)
8774
8775/*! @name FRGCTL - FRG clock controller */
8776/*! @{ */
8777#define CLKCTL1_FRGCTL_DIV_MASK (0xFFU)
8778#define CLKCTL1_FRGCTL_DIV_SHIFT (0U)
8779/*! DIV - Denominator of the fractional divider. DIV is equal to the programmed value +1. Always set
8780 * to 0xFF to use with the fractional baud rate generator.
8781 */
8782#define CLKCTL1_FRGCTL_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGCTL_DIV_SHIFT)) & CLKCTL1_FRGCTL_DIV_MASK)
8783#define CLKCTL1_FRGCTL_MULT_MASK (0xFF00U)
8784#define CLKCTL1_FRGCTL_MULT_SHIFT (8U)
8785/*! MULT - Numerator of the fractional divider. MULT is equal to the programmed value.
8786 */
8787#define CLKCTL1_FRGCTL_MULT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGCTL_MULT_SHIFT)) & CLKCTL1_FRGCTL_MULT_MASK)
8788/*! @} */
8789
8790/* The count of CLKCTL1_FRGCTL */
8791#define CLKCTL1_FRGCTL_COUNT (8U)
8792
8793/*! @name FCFCLKSEL - flexcomm clock selection */
8794/*! @{ */
8795#define CLKCTL1_FCFCLKSEL_SEL_MASK (0x7U)
8796#define CLKCTL1_FCFCLKSEL_SEL_SHIFT (0U)
8797/*! SEL - Flexxcomm Functional Clock Source Selection. . .
8798 * 0b000..SFRO Clock.
8799 * 0b001..FFRO Clock.
8800 * 0b010..Audio PLL Clock.
8801 * 0b011..Master Clock In.
8802 * 0b100..FCn FRG Clock.
8803 * 0b101..reserved
8804 * 0b110..reserved
8805 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8806 */
8807#define CLKCTL1_FCFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FCFCLKSEL_SEL_SHIFT)) & CLKCTL1_FCFCLKSEL_SEL_MASK)
8808/*! @} */
8809
8810/* The count of CLKCTL1_FCFCLKSEL */
8811#define CLKCTL1_FCFCLKSEL_COUNT (8U)
8812
8813/*! @name FRG14CLKSEL - FRG clock selection register 14 */
8814/*! @{ */
8815#define CLKCTL1_FRG14CLKSEL_SEL_MASK (0x7U)
8816#define CLKCTL1_FRG14CLKSEL_SEL_SHIFT (0U)
8817/*! SEL - Fractional Gen. Clock Source Selection. . .
8818 * 0b000..Main Clock.
8819 * 0b001..Main System PLL Clock.
8820 * 0b010..SFRO Clock.
8821 * 0b011..FFRO Clock.
8822 * 0b100..reserved
8823 * 0b101..reserved
8824 * 0b110..reserved
8825 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8826 */
8827#define CLKCTL1_FRG14CLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRG14CLKSEL_SEL_SHIFT)) & CLKCTL1_FRG14CLKSEL_SEL_MASK)
8828/*! @} */
8829
8830/*! @name FRG14CTL - FRG clock controller 14 */
8831/*! @{ */
8832#define CLKCTL1_FRG14CTL_DIV_MASK (0xFFU)
8833#define CLKCTL1_FRG14CTL_DIV_SHIFT (0U)
8834/*! DIV - Denominator of the fractional divider. DIV is equal to the programmed value +1. Always set
8835 * to 0xFF to use with the fractional baud rate generator.
8836 */
8837#define CLKCTL1_FRG14CTL_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRG14CTL_DIV_SHIFT)) & CLKCTL1_FRG14CTL_DIV_MASK)
8838#define CLKCTL1_FRG14CTL_MULT_MASK (0xFF00U)
8839#define CLKCTL1_FRG14CTL_MULT_SHIFT (8U)
8840/*! MULT - Numerator of the fractional divider. MULT is equal to the programmed value.
8841 */
8842#define CLKCTL1_FRG14CTL_MULT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRG14CTL_MULT_SHIFT)) & CLKCTL1_FRG14CTL_MULT_MASK)
8843/*! @} */
8844
8845/*! @name FC14FCLKSEL - flexcomm14 clock selection */
8846/*! @{ */
8847#define CLKCTL1_FC14FCLKSEL_SEL_MASK (0x7U)
8848#define CLKCTL1_FC14FCLKSEL_SEL_SHIFT (0U)
8849/*! SEL - Flexxcomm Functional Clock Source Selection. . .
8850 * 0b000..SFRO Clock.
8851 * 0b001..FFRO Clock.
8852 * 0b010..Audio PLL Clock.
8853 * 0b011..Master Clock In.
8854 * 0b100..FCn FRG Clock.
8855 * 0b101..reserved
8856 * 0b110..reserved
8857 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8858 */
8859#define CLKCTL1_FC14FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FC14FCLKSEL_SEL_SHIFT)) & CLKCTL1_FC14FCLKSEL_SEL_MASK)
8860/*! @} */
8861
8862/*! @name FRG15CLKSEL - FRG clock selection register 15 */
8863/*! @{ */
8864#define CLKCTL1_FRG15CLKSEL_SEL_MASK (0x7U)
8865#define CLKCTL1_FRG15CLKSEL_SEL_SHIFT (0U)
8866/*! SEL - Fractional Gen. Clock Source Selection. . .
8867 * 0b000..Main Clock.
8868 * 0b001..Main System PLL Clock.
8869 * 0b010..SFRO Clock.
8870 * 0b011..FFRO Clock.
8871 * 0b100..reserved
8872 * 0b101..reserved
8873 * 0b110..reserved
8874 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8875 */
8876#define CLKCTL1_FRG15CLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRG15CLKSEL_SEL_SHIFT)) & CLKCTL1_FRG15CLKSEL_SEL_MASK)
8877/*! @} */
8878
8879/*! @name FRG15CTL - FRG clock controller 15 */
8880/*! @{ */
8881#define CLKCTL1_FRG15CTL_DIV_MASK (0xFFU)
8882#define CLKCTL1_FRG15CTL_DIV_SHIFT (0U)
8883/*! DIV - Denominator of the fractional divider. DIV is equal to the programmed value +1. Always set
8884 * to 0xFF to use with the fractional baud rate generator.
8885 */
8886#define CLKCTL1_FRG15CTL_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRG15CTL_DIV_SHIFT)) & CLKCTL1_FRG15CTL_DIV_MASK)
8887#define CLKCTL1_FRG15CTL_MULT_MASK (0xFF00U)
8888#define CLKCTL1_FRG15CTL_MULT_SHIFT (8U)
8889/*! MULT - Numerator of the fractional divider. MULT is equal to the programmed value.
8890 */
8891#define CLKCTL1_FRG15CTL_MULT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRG15CTL_MULT_SHIFT)) & CLKCTL1_FRG15CTL_MULT_MASK)
8892/*! @} */
8893
8894/*! @name FC15FCLKSEL - flexcomm15 clock selection */
8895/*! @{ */
8896#define CLKCTL1_FC15FCLKSEL_SEL_MASK (0x7U)
8897#define CLKCTL1_FC15FCLKSEL_SEL_SHIFT (0U)
8898/*! SEL - Flexxcomm Functional Clock Source Selection. . .
8899 * 0b000..SFRO Clock.
8900 * 0b001..FFRO Clock.
8901 * 0b010..Audio PLL Clock.
8902 * 0b011..Master Clock In.
8903 * 0b100..FCn FRG Clock.
8904 * 0b101..reserved
8905 * 0b110..reserved
8906 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8907 */
8908#define CLKCTL1_FC15FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FC15FCLKSEL_SEL_SHIFT)) & CLKCTL1_FC15FCLKSEL_SEL_MASK)
8909/*! @} */
8910
8911/*! @name FRGPLLCLKDIV - FRG pll clock divider */
8912/*! @{ */
8913#define CLKCTL1_FRGPLLCLKDIV_DIV_MASK (0xFFU)
8914#define CLKCTL1_FRGPLLCLKDIV_DIV_SHIFT (0U)
8915/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
8916 */
8917#define CLKCTL1_FRGPLLCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGPLLCLKDIV_DIV_SHIFT)) & CLKCTL1_FRGPLLCLKDIV_DIV_MASK)
8918#define CLKCTL1_FRGPLLCLKDIV_RESET_MASK (0x20000000U)
8919#define CLKCTL1_FRGPLLCLKDIV_RESET_SHIFT (29U)
8920/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
8921 * away rather than completing the previous count.
8922 */
8923#define CLKCTL1_FRGPLLCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGPLLCLKDIV_RESET_SHIFT)) & CLKCTL1_FRGPLLCLKDIV_RESET_MASK)
8924#define CLKCTL1_FRGPLLCLKDIV_HALT_MASK (0x40000000U)
8925#define CLKCTL1_FRGPLLCLKDIV_HALT_SHIFT (30U)
8926/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
8927 * without the risk of a glitch at the output.
8928 */
8929#define CLKCTL1_FRGPLLCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGPLLCLKDIV_HALT_SHIFT)) & CLKCTL1_FRGPLLCLKDIV_HALT_MASK)
8930#define CLKCTL1_FRGPLLCLKDIV_REQFLAG_MASK (0x80000000U)
8931#define CLKCTL1_FRGPLLCLKDIV_REQFLAG_SHIFT (31U)
8932/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
8933 */
8934#define CLKCTL1_FRGPLLCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_FRGPLLCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_FRGPLLCLKDIV_REQFLAG_MASK)
8935/*! @} */
8936
8937/*! @name DMIC0FCLKSEL - DMIC0 clk selection */
8938/*! @{ */
8939#define CLKCTL1_DMIC0FCLKSEL_SEL_MASK (0x7U)
8940#define CLKCTL1_DMIC0FCLKSEL_SEL_SHIFT (0U)
8941/*! SEL - DMIC Functional Clock Source Selection. . .
8942 * 0b000..SFRO Clock.
8943 * 0b001..FFRO Clock.
8944 * 0b010..Audio PLL Clock.
8945 * 0b011..Master Clock In.
8946 * 0b100..Low Power Oscillator Clock (LPOSC).
8947 * 0b101..32KHZ Wake Clk.
8948 * 0b110..reserved
8949 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8950 */
8951#define CLKCTL1_DMIC0FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DMIC0FCLKSEL_SEL_SHIFT)) & CLKCTL1_DMIC0FCLKSEL_SEL_MASK)
8952/*! @} */
8953
8954/*! @name DMIC0FCLKDIV - DMIC clock clock divider */
8955/*! @{ */
8956#define CLKCTL1_DMIC0FCLKDIV_DIV_MASK (0xFFU)
8957#define CLKCTL1_DMIC0FCLKDIV_DIV_SHIFT (0U)
8958/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
8959 */
8960#define CLKCTL1_DMIC0FCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DMIC0FCLKDIV_DIV_SHIFT)) & CLKCTL1_DMIC0FCLKDIV_DIV_MASK)
8961#define CLKCTL1_DMIC0FCLKDIV_RESET_MASK (0x20000000U)
8962#define CLKCTL1_DMIC0FCLKDIV_RESET_SHIFT (29U)
8963/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
8964 * away rather than completing the previous count.
8965 */
8966#define CLKCTL1_DMIC0FCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DMIC0FCLKDIV_RESET_SHIFT)) & CLKCTL1_DMIC0FCLKDIV_RESET_MASK)
8967#define CLKCTL1_DMIC0FCLKDIV_HALT_MASK (0x40000000U)
8968#define CLKCTL1_DMIC0FCLKDIV_HALT_SHIFT (30U)
8969/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
8970 * changed without the risk of a glitch at the output.
8971 */
8972#define CLKCTL1_DMIC0FCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DMIC0FCLKDIV_HALT_SHIFT)) & CLKCTL1_DMIC0FCLKDIV_HALT_MASK)
8973#define CLKCTL1_DMIC0FCLKDIV_REQFLAG_MASK (0x80000000U)
8974#define CLKCTL1_DMIC0FCLKDIV_REQFLAG_SHIFT (31U)
8975/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
8976 */
8977#define CLKCTL1_DMIC0FCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_DMIC0FCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_DMIC0FCLKDIV_REQFLAG_MASK)
8978/*! @} */
8979
8980/*! @name CT32BITFCLKSEL - ct32bit timer N clock selection */
8981/*! @{ */
8982#define CLKCTL1_CT32BITFCLKSEL_SEL_MASK (0x7U)
8983#define CLKCTL1_CT32BITFCLKSEL_SEL_SHIFT (0U)
8984/*! SEL - CT32Bit Functional Clock Source Selection. . .
8985 * 0b000..Main Clock.
8986 * 0b001..SFRO Clock.
8987 * 0b010..FFRO Clock.
8988 * 0b011..Audio PLL Clock.
8989 * 0b100..Master Clock In.
8990 * 0b101..Low Power Oscillator Clock (LPOSC).
8991 * 0b110..reserved
8992 * 0b111..None, this may be selected in order to reduce power when no output is needed.
8993 */
8994#define CLKCTL1_CT32BITFCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CT32BITFCLKSEL_SEL_SHIFT)) & CLKCTL1_CT32BITFCLKSEL_SEL_MASK)
8995/*! @} */
8996
8997/* The count of CLKCTL1_CT32BITFCLKSEL */
8998#define CLKCTL1_CT32BITFCLKSEL_COUNT (5U)
8999
9000/*! @name AUDIOMCLKSEL - audio mclock selection */
9001/*! @{ */
9002#define CLKCTL1_AUDIOMCLKSEL_SEL_MASK (0x7U)
9003#define CLKCTL1_AUDIOMCLKSEL_SEL_SHIFT (0U)
9004/*! SEL - Audio MCLK Clock Source Selection. . .
9005 * 0b000..FFRO Clock.
9006 * 0b001..AUDIO PLL Clock. (Shared Domain)
9007 * 0b010..reserved
9008 * 0b011..reserved.
9009 * 0b100..reserved.
9010 * 0b101..reserved.
9011 * 0b110..Reserved.
9012 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9013 */
9014#define CLKCTL1_AUDIOMCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOMCLKSEL_SEL_SHIFT)) & CLKCTL1_AUDIOMCLKSEL_SEL_MASK)
9015/*! @} */
9016
9017/*! @name AUDIOMCLKDIV - audio mclock divider */
9018/*! @{ */
9019#define CLKCTL1_AUDIOMCLKDIV_DIV_MASK (0xFFU)
9020#define CLKCTL1_AUDIOMCLKDIV_DIV_SHIFT (0U)
9021/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
9022 */
9023#define CLKCTL1_AUDIOMCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOMCLKDIV_DIV_SHIFT)) & CLKCTL1_AUDIOMCLKDIV_DIV_MASK)
9024#define CLKCTL1_AUDIOMCLKDIV_RESET_MASK (0x20000000U)
9025#define CLKCTL1_AUDIOMCLKDIV_RESET_SHIFT (29U)
9026/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
9027 * away rather than completing the previous count.
9028 */
9029#define CLKCTL1_AUDIOMCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOMCLKDIV_RESET_SHIFT)) & CLKCTL1_AUDIOMCLKDIV_RESET_MASK)
9030#define CLKCTL1_AUDIOMCLKDIV_HALT_MASK (0x40000000U)
9031#define CLKCTL1_AUDIOMCLKDIV_HALT_SHIFT (30U)
9032/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
9033 * changed without the risk of a glitch at the output.
9034 */
9035#define CLKCTL1_AUDIOMCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOMCLKDIV_HALT_SHIFT)) & CLKCTL1_AUDIOMCLKDIV_HALT_MASK)
9036#define CLKCTL1_AUDIOMCLKDIV_REQFLAG_MASK (0x80000000U)
9037#define CLKCTL1_AUDIOMCLKDIV_REQFLAG_SHIFT (31U)
9038/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
9039 */
9040#define CLKCTL1_AUDIOMCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_AUDIOMCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_AUDIOMCLKDIV_REQFLAG_MASK)
9041/*! @} */
9042
9043/*! @name CLKOUTSEL0 - clock out selection 0 */
9044/*! @{ */
9045#define CLKCTL1_CLKOUTSEL0_SEL_MASK (0x7U)
9046#define CLKCTL1_CLKOUTSEL0_SEL_SHIFT (0U)
9047/*! SEL - Clock Output Select 1st Stage. . .
9048 * 0b000..SFRO Clock.
9049 * 0b001..XTALIN Clock.
9050 * 0b010..Low Power Oscillator Clock (LPOSC).
9051 * 0b011..FFRO Clock.
9052 * 0b100..Main Clock.
9053 * 0b101..reserved
9054 * 0b110..DSP Main Clock.
9055 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9056 */
9057#define CLKCTL1_CLKOUTSEL0_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CLKOUTSEL0_SEL_SHIFT)) & CLKCTL1_CLKOUTSEL0_SEL_MASK)
9058/*! @} */
9059
9060/*! @name CLKOUTSEL1 - clock out selection 1 */
9061/*! @{ */
9062#define CLKCTL1_CLKOUTSEL1_SEL_MASK (0x7U)
9063#define CLKCTL1_CLKOUTSEL1_SEL_SHIFT (0U)
9064/*! SEL - Clock out clock Source Selection. . .
9065 * 0b000..CLKOUTSEL0 Multiplexed Output.
9066 * 0b001..Main System PLL Clock.
9067 * 0b010..SYSPLL0 AUX0_PLL_Clock.
9068 * 0b011..DSP PLL clock.
9069 * 0b100..SYSPLL0 AUX1_PLL_Clock.
9070 * 0b101..AUDIO PLL Clock.
9071 * 0b110..32KHz RTC Clock.
9072 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9073 */
9074#define CLKCTL1_CLKOUTSEL1_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CLKOUTSEL1_SEL_SHIFT)) & CLKCTL1_CLKOUTSEL1_SEL_MASK)
9075/*! @} */
9076
9077/*! @name CLKOUTDIV - clock_out divider */
9078/*! @{ */
9079#define CLKCTL1_CLKOUTDIV_DIV_MASK (0xFFU)
9080#define CLKCTL1_CLKOUTDIV_DIV_SHIFT (0U)
9081/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
9082 */
9083#define CLKCTL1_CLKOUTDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CLKOUTDIV_DIV_SHIFT)) & CLKCTL1_CLKOUTDIV_DIV_MASK)
9084#define CLKCTL1_CLKOUTDIV_RESET_MASK (0x20000000U)
9085#define CLKCTL1_CLKOUTDIV_RESET_SHIFT (29U)
9086/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
9087 * away rather than completing the previous count.
9088 */
9089#define CLKCTL1_CLKOUTDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CLKOUTDIV_RESET_SHIFT)) & CLKCTL1_CLKOUTDIV_RESET_MASK)
9090#define CLKCTL1_CLKOUTDIV_HALT_MASK (0x40000000U)
9091#define CLKCTL1_CLKOUTDIV_HALT_SHIFT (30U)
9092/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
9093 * changed without the risk of a glitch at the output.
9094 */
9095#define CLKCTL1_CLKOUTDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CLKOUTDIV_HALT_SHIFT)) & CLKCTL1_CLKOUTDIV_HALT_MASK)
9096#define CLKCTL1_CLKOUTDIV_REQFLAG_MASK (0x80000000U)
9097#define CLKCTL1_CLKOUTDIV_REQFLAG_SHIFT (31U)
9098/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
9099 */
9100#define CLKCTL1_CLKOUTDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_CLKOUTDIV_REQFLAG_SHIFT)) & CLKCTL1_CLKOUTDIV_REQFLAG_MASK)
9101/*! @} */
9102
9103/*! @name I3C0FCLKSEL - I3C0 fclk selection */
9104/*! @{ */
9105#define CLKCTL1_I3C0FCLKSEL_SEL_MASK (0x7U)
9106#define CLKCTL1_I3C0FCLKSEL_SEL_SHIFT (0U)
9107/*! SEL - I3C0 FClock Source Selection. . .
9108 * 0b000..Main Clock.
9109 * 0b001..FFRO Clock.
9110 * 0b010..reserved.
9111 * 0b011..reserved.
9112 * 0b100..reserved.
9113 * 0b101..reserved.
9114 * 0b110..Reserved.
9115 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9116 */
9117#define CLKCTL1_I3C0FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSEL_SEL_SHIFT)) & CLKCTL1_I3C0FCLKSEL_SEL_MASK)
9118/*! @} */
9119
9120/*! @name I3C0FCLKSTCSEL - I3C0 fclk STC selection */
9121/*! @{ */
9122#define CLKCTL1_I3C0FCLKSTCSEL_SEL_MASK (0x7U)
9123#define CLKCTL1_I3C0FCLKSTCSEL_SEL_SHIFT (0U)
9124/*! SEL - I3C0 Clock Source Selection. . .
9125 * 0b000..I3C0 FCLK Selection.
9126 * 0b001..Low Power Oscillator Clock (LPOSC).
9127 * 0b010..Reserved.
9128 * 0b011..Reserved.
9129 * 0b100..reserved.
9130 * 0b101..reserved.
9131 * 0b110..Reserved.
9132 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9133 */
9134#define CLKCTL1_I3C0FCLKSTCSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSTCSEL_SEL_SHIFT)) & CLKCTL1_I3C0FCLKSTCSEL_SEL_MASK)
9135/*! @} */
9136
9137/*! @name I3C0FCLKSTCDIV - I3C0 fclk STC divider */
9138/*! @{ */
9139#define CLKCTL1_I3C0FCLKSTCDIV_DIV_MASK (0xFFU)
9140#define CLKCTL1_I3C0FCLKSTCDIV_DIV_SHIFT (0U)
9141/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
9142 */
9143#define CLKCTL1_I3C0FCLKSTCDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSTCDIV_DIV_SHIFT)) & CLKCTL1_I3C0FCLKSTCDIV_DIV_MASK)
9144#define CLKCTL1_I3C0FCLKSTCDIV_RESET_MASK (0x20000000U)
9145#define CLKCTL1_I3C0FCLKSTCDIV_RESET_SHIFT (29U)
9146/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
9147 * away rather than completing the previous count.
9148 */
9149#define CLKCTL1_I3C0FCLKSTCDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSTCDIV_RESET_SHIFT)) & CLKCTL1_I3C0FCLKSTCDIV_RESET_MASK)
9150#define CLKCTL1_I3C0FCLKSTCDIV_HALT_MASK (0x40000000U)
9151#define CLKCTL1_I3C0FCLKSTCDIV_HALT_SHIFT (30U)
9152/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
9153 * changed without the risk of a glitch at the output.
9154 */
9155#define CLKCTL1_I3C0FCLKSTCDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSTCDIV_HALT_SHIFT)) & CLKCTL1_I3C0FCLKSTCDIV_HALT_MASK)
9156#define CLKCTL1_I3C0FCLKSTCDIV_REQFLAG_MASK (0x80000000U)
9157#define CLKCTL1_I3C0FCLKSTCDIV_REQFLAG_SHIFT (31U)
9158/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
9159 */
9160#define CLKCTL1_I3C0FCLKSTCDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSTCDIV_REQFLAG_SHIFT)) & CLKCTL1_I3C0FCLKSTCDIV_REQFLAG_MASK)
9161/*! @} */
9162
9163/*! @name I3C0FCLKSDIV - I3C0 fclks divider */
9164/*! @{ */
9165#define CLKCTL1_I3C0FCLKSDIV_DIV_MASK (0xFFU)
9166#define CLKCTL1_I3C0FCLKSDIV_DIV_SHIFT (0U)
9167/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
9168 */
9169#define CLKCTL1_I3C0FCLKSDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSDIV_DIV_SHIFT)) & CLKCTL1_I3C0FCLKSDIV_DIV_MASK)
9170#define CLKCTL1_I3C0FCLKSDIV_RESET_MASK (0x20000000U)
9171#define CLKCTL1_I3C0FCLKSDIV_RESET_SHIFT (29U)
9172/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
9173 * away rather than completing the previous count.
9174 */
9175#define CLKCTL1_I3C0FCLKSDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSDIV_RESET_SHIFT)) & CLKCTL1_I3C0FCLKSDIV_RESET_MASK)
9176#define CLKCTL1_I3C0FCLKSDIV_HALT_MASK (0x40000000U)
9177#define CLKCTL1_I3C0FCLKSDIV_HALT_SHIFT (30U)
9178/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
9179 * without the risk of a glitch at the output.
9180 */
9181#define CLKCTL1_I3C0FCLKSDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSDIV_HALT_SHIFT)) & CLKCTL1_I3C0FCLKSDIV_HALT_MASK)
9182#define CLKCTL1_I3C0FCLKSDIV_REQFLAG_MASK (0x80000000U)
9183#define CLKCTL1_I3C0FCLKSDIV_REQFLAG_SHIFT (31U)
9184/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
9185 */
9186#define CLKCTL1_I3C0FCLKSDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKSDIV_REQFLAG_SHIFT)) & CLKCTL1_I3C0FCLKSDIV_REQFLAG_MASK)
9187/*! @} */
9188
9189/*! @name I3C0FCLKDIV - I3C0 fclk divider */
9190/*! @{ */
9191#define CLKCTL1_I3C0FCLKDIV_DIV_MASK (0xFFU)
9192#define CLKCTL1_I3C0FCLKDIV_DIV_SHIFT (0U)
9193/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
9194 */
9195#define CLKCTL1_I3C0FCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKDIV_DIV_SHIFT)) & CLKCTL1_I3C0FCLKDIV_DIV_MASK)
9196#define CLKCTL1_I3C0FCLKDIV_RESET_MASK (0x20000000U)
9197#define CLKCTL1_I3C0FCLKDIV_RESET_SHIFT (29U)
9198/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
9199 * away rather than completing the previous count.
9200 */
9201#define CLKCTL1_I3C0FCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKDIV_RESET_SHIFT)) & CLKCTL1_I3C0FCLKDIV_RESET_MASK)
9202#define CLKCTL1_I3C0FCLKDIV_HALT_MASK (0x40000000U)
9203#define CLKCTL1_I3C0FCLKDIV_HALT_SHIFT (30U)
9204/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
9205 * without the risk of a glitch at the output.
9206 */
9207#define CLKCTL1_I3C0FCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKDIV_HALT_SHIFT)) & CLKCTL1_I3C0FCLKDIV_HALT_MASK)
9208#define CLKCTL1_I3C0FCLKDIV_REQFLAG_MASK (0x80000000U)
9209#define CLKCTL1_I3C0FCLKDIV_REQFLAG_SHIFT (31U)
9210/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
9211 */
9212#define CLKCTL1_I3C0FCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_I3C0FCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_I3C0FCLKDIV_REQFLAG_MASK)
9213/*! @} */
9214
9215/*! @name WDT1FCLKSEL - WDT1 clock selection */
9216/*! @{ */
9217#define CLKCTL1_WDT1FCLKSEL_SEL_MASK (0x7U)
9218#define CLKCTL1_WDT1FCLKSEL_SEL_SHIFT (0U)
9219/*! SEL - WDT1 Functional Clock Source Selection. . .
9220 * 0b000..Low Power Oscillator Clock (LPOSC).
9221 * 0b001..reserved
9222 * 0b010..Reserved.
9223 * 0b011..Reserved.
9224 * 0b100..reserved.
9225 * 0b101..reserved.
9226 * 0b110..Reserved.
9227 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9228 */
9229#define CLKCTL1_WDT1FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_WDT1FCLKSEL_SEL_SHIFT)) & CLKCTL1_WDT1FCLKSEL_SEL_MASK)
9230/*! @} */
9231
9232/*! @name ACMP0FCLKSEL - acomparator 0 clock selection */
9233/*! @{ */
9234#define CLKCTL1_ACMP0FCLKSEL_SEL_MASK (0x7U)
9235#define CLKCTL1_ACMP0FCLKSEL_SEL_SHIFT (0U)
9236/*! SEL - ACMP0 Fast Functional Clock Source Selection. . .
9237 * 0b000..Main Clock.
9238 * 0b001..SFRO Clock.
9239 * 0b010..FFRO Clock.
9240 * 0b011..SYSPLL0 AUX0_PLL_Clock.
9241 * 0b100..SYSPLL0 AUX1_PLL_Clock.
9242 * 0b101..reserved.
9243 * 0b110..Reserved.
9244 * 0b111..None, this may be selected in order to reduce power when no output is needed.
9245 */
9246#define CLKCTL1_ACMP0FCLKSEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_ACMP0FCLKSEL_SEL_SHIFT)) & CLKCTL1_ACMP0FCLKSEL_SEL_MASK)
9247/*! @} */
9248
9249/*! @name ACMP0FCLKDIV - acomparator 0 fclk divider */
9250/*! @{ */
9251#define CLKCTL1_ACMP0FCLKDIV_DIV_MASK (0xFFU)
9252#define CLKCTL1_ACMP0FCLKDIV_DIV_SHIFT (0U)
9253/*! DIV - Clock Divider Value Selection. . . 0: Divide by 1. ... 255: Divide by 256.
9254 */
9255#define CLKCTL1_ACMP0FCLKDIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_ACMP0FCLKDIV_DIV_SHIFT)) & CLKCTL1_ACMP0FCLKDIV_DIV_MASK)
9256#define CLKCTL1_ACMP0FCLKDIV_RESET_MASK (0x20000000U)
9257#define CLKCTL1_ACMP0FCLKDIV_RESET_SHIFT (29U)
9258/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
9259 * away rather than completing the previous count.
9260 */
9261#define CLKCTL1_ACMP0FCLKDIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_ACMP0FCLKDIV_RESET_SHIFT)) & CLKCTL1_ACMP0FCLKDIV_RESET_MASK)
9262#define CLKCTL1_ACMP0FCLKDIV_HALT_MASK (0x40000000U)
9263#define CLKCTL1_ACMP0FCLKDIV_HALT_SHIFT (30U)
9264/*! HALT - Halts the divider counter. The intent is to allow the divider clock source to be changed
9265 * without the risk of a glitch at the output.
9266 */
9267#define CLKCTL1_ACMP0FCLKDIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_ACMP0FCLKDIV_HALT_SHIFT)) & CLKCTL1_ACMP0FCLKDIV_HALT_MASK)
9268#define CLKCTL1_ACMP0FCLKDIV_REQFLAG_MASK (0x80000000U)
9269#define CLKCTL1_ACMP0FCLKDIV_REQFLAG_SHIFT (31U)
9270/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
9271 */
9272#define CLKCTL1_ACMP0FCLKDIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << CLKCTL1_ACMP0FCLKDIV_REQFLAG_SHIFT)) & CLKCTL1_ACMP0FCLKDIV_REQFLAG_MASK)
9273/*! @} */
9274
9275
9276/*!
9277 * @}
9278 */ /* end of group CLKCTL1_Register_Masks */
9279
9280
9281/* CLKCTL1 - Peripheral instance base addresses */
9282#if (__ARM_FEATURE_CMSE & 0x2)
9283 /** Peripheral CLKCTL1 base address */
9284 #define CLKCTL1_BASE (0x50021000u)
9285 /** Peripheral CLKCTL1 base address */
9286 #define CLKCTL1_BASE_NS (0x40021000u)
9287 /** Peripheral CLKCTL1 base pointer */
9288 #define CLKCTL1 ((CLKCTL1_Type *)CLKCTL1_BASE)
9289 /** Peripheral CLKCTL1 base pointer */
9290 #define CLKCTL1_NS ((CLKCTL1_Type *)CLKCTL1_BASE_NS)
9291 /** Array initializer of CLKCTL1 peripheral base addresses */
9292 #define CLKCTL1_BASE_ADDRS { CLKCTL1_BASE }
9293 /** Array initializer of CLKCTL1 peripheral base pointers */
9294 #define CLKCTL1_BASE_PTRS { CLKCTL1 }
9295 /** Array initializer of CLKCTL1 peripheral base addresses */
9296 #define CLKCTL1_BASE_ADDRS_NS { CLKCTL1_BASE_NS }
9297 /** Array initializer of CLKCTL1 peripheral base pointers */
9298 #define CLKCTL1_BASE_PTRS_NS { CLKCTL1_NS }
9299#else
9300 /** Peripheral CLKCTL1 base address */
9301 #define CLKCTL1_BASE (0x40021000u)
9302 /** Peripheral CLKCTL1 base pointer */
9303 #define CLKCTL1 ((CLKCTL1_Type *)CLKCTL1_BASE)
9304 /** Array initializer of CLKCTL1 peripheral base addresses */
9305 #define CLKCTL1_BASE_ADDRS { CLKCTL1_BASE }
9306 /** Array initializer of CLKCTL1 peripheral base pointers */
9307 #define CLKCTL1_BASE_PTRS { CLKCTL1 }
9308#endif
9309
9310/*!
9311 * @}
9312 */ /* end of group CLKCTL1_Peripheral_Access_Layer */
9313
9314
9315/* ----------------------------------------------------------------------------
9316 -- CMP Peripheral Access Layer
9317 ---------------------------------------------------------------------------- */
9318
9319/*!
9320 * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer
9321 * @{
9322 */
9323
9324/** CMP - Register Layout Typedef */
9325typedef struct {
9326 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
9327 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
9328 __IO uint32_t C0; /**< CMP Control Register 0, offset: 0x8 */
9329 __IO uint32_t C1; /**< CMP Control Register 1, offset: 0xC */
9330 __IO uint32_t C2; /**< CMP Control Register 2, offset: 0x10 */
9331 __IO uint32_t C3; /**< CMP Control Register 3, offset: 0x14 */
9332 __IO uint32_t RR_TIMER_CR; /**< Round-Robin Timer Control Register, offset: 0x18 */
9333} CMP_Type;
9334
9335/* ----------------------------------------------------------------------------
9336 -- CMP Register Masks
9337 ---------------------------------------------------------------------------- */
9338
9339/*!
9340 * @addtogroup CMP_Register_Masks CMP Register Masks
9341 * @{
9342 */
9343
9344/*! @name VERID - Version ID Register */
9345/*! @{ */
9346#define CMP_VERID_FEATURE_MASK (0xFFFFU)
9347#define CMP_VERID_FEATURE_SHIFT (0U)
9348/*! FEATURE - Feature Specification Number. This read only filed returns the feature set number.
9349 */
9350#define CMP_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_FEATURE_SHIFT)) & CMP_VERID_FEATURE_MASK)
9351#define CMP_VERID_MINOR_MASK (0xFF0000U)
9352#define CMP_VERID_MINOR_SHIFT (16U)
9353/*! MINOR - Minor Version Number. This read only field returns the minor version number for the module specification.
9354 */
9355#define CMP_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_MINOR_SHIFT)) & CMP_VERID_MINOR_MASK)
9356#define CMP_VERID_MAJOR_MASK (0xFF000000U)
9357#define CMP_VERID_MAJOR_SHIFT (24U)
9358/*! MAJOR - Major Version Number. This read only field returns the major version number for the module specification.
9359 */
9360#define CMP_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_MAJOR_SHIFT)) & CMP_VERID_MAJOR_MASK)
9361/*! @} */
9362
9363/*! @name PARAM - Parameter Register */
9364/*! @{ */
9365#define CMP_PARAM_PARAM_MASK (0xFFFFFFFFU)
9366#define CMP_PARAM_PARAM_SHIFT (0U)
9367/*! PARAM - Parameter Registers. This read only filed returns the feature parameters implemented along with the Version ID register.
9368 */
9369#define CMP_PARAM_PARAM(x) (((uint32_t)(((uint32_t)(x)) << CMP_PARAM_PARAM_SHIFT)) & CMP_PARAM_PARAM_MASK)
9370/*! @} */
9371
9372/*! @name C0 - CMP Control Register 0 */
9373/*! @{ */
9374#define CMP_C0_HYSTCTR_MASK (0x3U)
9375#define CMP_C0_HYSTCTR_SHIFT (0U)
9376/*! HYSTCTR - Comparator hard block hysteresis control. See chip data sheet to get the actual hystersis value with each level
9377 * 0b00..The hard block output has level 0 hysteresis internally.
9378 * 0b01..The hard block output has level 1 hysteresis internally.
9379 * 0b10..The hard block output has level 2 hysteresis internally.
9380 * 0b11..The hard block output has level 3 hysteresis internally.
9381 */
9382#define CMP_C0_HYSTCTR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_HYSTCTR_SHIFT)) & CMP_C0_HYSTCTR_MASK)
9383#define CMP_C0_FILTER_CNT_MASK (0x70U)
9384#define CMP_C0_FILTER_CNT_SHIFT (4U)
9385/*! FILTER_CNT - Filter Sample Count
9386 * 0b000..Filter is disabled. If SE = 1, then COUT is a logic zero (this is not a legal state, and is not recommended). If SE = 0, COUT = COUTA.
9387 * 0b001..1 consecutive sample must agree (comparator output is simply sampled).
9388 * 0b010..2 consecutive samples must agree.
9389 * 0b011..3 consecutive samples must agree.
9390 * 0b100..4 consecutive samples must agree.
9391 * 0b101..5 consecutive samples must agree.
9392 * 0b110..6 consecutive samples must agree.
9393 * 0b111..7 consecutive samples must agree.
9394 */
9395#define CMP_C0_FILTER_CNT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_FILTER_CNT_SHIFT)) & CMP_C0_FILTER_CNT_MASK)
9396#define CMP_C0_EN_MASK (0x100U)
9397#define CMP_C0_EN_SHIFT (8U)
9398/*! EN - Comparator Module Enable
9399 * 0b0..Analog Comparator is disabled.
9400 * 0b1..Analog Comparator is enabled.
9401 */
9402#define CMP_C0_EN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_EN_SHIFT)) & CMP_C0_EN_MASK)
9403#define CMP_C0_OPE_MASK (0x200U)
9404#define CMP_C0_OPE_SHIFT (9U)
9405/*! OPE - Comparator Output Pin Enable
9406 * 0b0..When OPE is 0, the comparator output (after window/filter settings dependent on software configuration) is not available to a packaged pin.
9407 * 0b1..When OPE is 1, and if the software has configured the comparator to own a packaged pin, the comparator is available in a packaged pin.
9408 */
9409#define CMP_C0_OPE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_OPE_SHIFT)) & CMP_C0_OPE_MASK)
9410#define CMP_C0_COS_MASK (0x400U)
9411#define CMP_C0_COS_SHIFT (10U)
9412/*! COS - Comparator Output Select
9413 * 0b0..Set CMPO to equal COUT (filtered comparator output).
9414 * 0b1..Set CMPO to equal COUTA (unfiltered comparator output).
9415 */
9416#define CMP_C0_COS(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_COS_SHIFT)) & CMP_C0_COS_MASK)
9417#define CMP_C0_INVT_MASK (0x800U)
9418#define CMP_C0_INVT_SHIFT (11U)
9419/*! INVT - Comparator invert
9420 * 0b0..Does not invert the comparator output.
9421 * 0b1..Inverts the comparator output.
9422 */
9423#define CMP_C0_INVT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_INVT_SHIFT)) & CMP_C0_INVT_MASK)
9424#define CMP_C0_PMODE_MASK (0x1000U)
9425#define CMP_C0_PMODE_SHIFT (12U)
9426/*! PMODE - Power Mode Select
9427 * 0b0..Low Speed (LS) comparison mode is selected.
9428 * 0b1..High Speed (HS) comparison mode is selected.
9429 */
9430#define CMP_C0_PMODE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_PMODE_SHIFT)) & CMP_C0_PMODE_MASK)
9431#define CMP_C0_WE_MASK (0x4000U)
9432#define CMP_C0_WE_SHIFT (14U)
9433/*! WE - Windowing Enable
9434 * 0b0..Windowing mode is not selected.
9435 * 0b1..Windowing mode is selected.
9436 */
9437#define CMP_C0_WE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_WE_SHIFT)) & CMP_C0_WE_MASK)
9438#define CMP_C0_SE_MASK (0x8000U)
9439#define CMP_C0_SE_SHIFT (15U)
9440/*! SE - Sample Enable
9441 * 0b0..Sampling mode is not selected.
9442 * 0b1..Sampling mode is selected.
9443 */
9444#define CMP_C0_SE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_SE_SHIFT)) & CMP_C0_SE_MASK)
9445#define CMP_C0_FPR_MASK (0xFF0000U)
9446#define CMP_C0_FPR_SHIFT (16U)
9447/*! FPR - Filter Sample Period
9448 */
9449#define CMP_C0_FPR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_FPR_SHIFT)) & CMP_C0_FPR_MASK)
9450#define CMP_C0_COUT_MASK (0x1000000U)
9451#define CMP_C0_COUT_SHIFT (24U)
9452/*! COUT - Analog Comparator Output
9453 */
9454#define CMP_C0_COUT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_COUT_SHIFT)) & CMP_C0_COUT_MASK)
9455#define CMP_C0_CFF_MASK (0x2000000U)
9456#define CMP_C0_CFF_SHIFT (25U)
9457/*! CFF - Analog Comparator Flag Falling
9458 * 0b0..A falling edge has not been detected on COUT.
9459 * 0b1..A falling edge on COUT has occurred.
9460 */
9461#define CMP_C0_CFF(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_CFF_SHIFT)) & CMP_C0_CFF_MASK)
9462#define CMP_C0_CFR_MASK (0x4000000U)
9463#define CMP_C0_CFR_SHIFT (26U)
9464/*! CFR - Analog Comparator Flag Rising
9465 * 0b0..A rising edge has not been detected on COUT.
9466 * 0b1..A rising edge on COUT has occurred.
9467 */
9468#define CMP_C0_CFR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_CFR_SHIFT)) & CMP_C0_CFR_MASK)
9469#define CMP_C0_IEF_MASK (0x8000000U)
9470#define CMP_C0_IEF_SHIFT (27U)
9471/*! IEF - Comparator Interrupt Enable Falling
9472 * 0b0..Interrupt is disabled.
9473 * 0b1..Interrupt is enabled.
9474 */
9475#define CMP_C0_IEF(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_IEF_SHIFT)) & CMP_C0_IEF_MASK)
9476#define CMP_C0_IER_MASK (0x10000000U)
9477#define CMP_C0_IER_SHIFT (28U)
9478/*! IER - Comparator Interrupt Enable Rising
9479 * 0b0..Interrupt is disabled.
9480 * 0b1..Interrupt is enabled.
9481 */
9482#define CMP_C0_IER(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_IER_SHIFT)) & CMP_C0_IER_MASK)
9483#define CMP_C0_DMAEN_MASK (0x40000000U)
9484#define CMP_C0_DMAEN_SHIFT (30U)
9485/*! DMAEN - DMA Enable
9486 * 0b0..DMA is disabled.
9487 * 0b1..DMA is enabled.
9488 */
9489#define CMP_C0_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_DMAEN_SHIFT)) & CMP_C0_DMAEN_MASK)
9490#define CMP_C0_LINKEN_MASK (0x80000000U)
9491#define CMP_C0_LINKEN_SHIFT (31U)
9492/*! LINKEN - CMP to DAC link enable.
9493 * 0b0..CMP to DAC link is disabled
9494 * 0b1..CMP to DAC link is enabled.
9495 */
9496#define CMP_C0_LINKEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_LINKEN_SHIFT)) & CMP_C0_LINKEN_MASK)
9497/*! @} */
9498
9499/*! @name C1 - CMP Control Register 1 */
9500/*! @{ */
9501#define CMP_C1_VOSEL_MASK (0xFFU)
9502#define CMP_C1_VOSEL_SHIFT (0U)
9503/*! VOSEL - DAC Output Voltage Select
9504 */
9505#define CMP_C1_VOSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_VOSEL_SHIFT)) & CMP_C1_VOSEL_MASK)
9506#define CMP_C1_DMODE_MASK (0x100U)
9507#define CMP_C1_DMODE_SHIFT (8U)
9508/*! DMODE - DAC Mode Selection
9509 * 0b0..DAC is selected to work in low speed and low power mode.
9510 * 0b1..DAC is selected to work in high speed high power mode.
9511 */
9512#define CMP_C1_DMODE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_DMODE_SHIFT)) & CMP_C1_DMODE_MASK)
9513#define CMP_C1_VRSEL_MASK (0x200U)
9514#define CMP_C1_VRSEL_SHIFT (9U)
9515/*! VRSEL - Supply Voltage Reference Source Select
9516 * 0b0..Vin1 is selected as resistor ladder network supply reference Vin. Vin1 is from internal PMC.
9517 * 0b1..Vin2 is selected as resistor ladder network supply reference Vin. Vin2 is from PAD.
9518 */
9519#define CMP_C1_VRSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_VRSEL_SHIFT)) & CMP_C1_VRSEL_MASK)
9520#define CMP_C1_DACEN_MASK (0x400U)
9521#define CMP_C1_DACEN_SHIFT (10U)
9522/*! DACEN - DAC Enable
9523 * 0b0..DAC is disabled.
9524 * 0b1..DAC is enabled.
9525 */
9526#define CMP_C1_DACEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_DACEN_SHIFT)) & CMP_C1_DACEN_MASK)
9527#define CMP_C1_CHN0_MASK (0x10000U)
9528#define CMP_C1_CHN0_SHIFT (16U)
9529/*! CHN0 - Channel 0 input enable
9530 */
9531#define CMP_C1_CHN0(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN0_SHIFT)) & CMP_C1_CHN0_MASK)
9532#define CMP_C1_CHN1_MASK (0x20000U)
9533#define CMP_C1_CHN1_SHIFT (17U)
9534/*! CHN1 - Channel 1 input enable
9535 */
9536#define CMP_C1_CHN1(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN1_SHIFT)) & CMP_C1_CHN1_MASK)
9537#define CMP_C1_CHN2_MASK (0x40000U)
9538#define CMP_C1_CHN2_SHIFT (18U)
9539/*! CHN2 - Channel 2 input enable
9540 */
9541#define CMP_C1_CHN2(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN2_SHIFT)) & CMP_C1_CHN2_MASK)
9542#define CMP_C1_CHN3_MASK (0x80000U)
9543#define CMP_C1_CHN3_SHIFT (19U)
9544/*! CHN3 - Channel 3 input enable
9545 */
9546#define CMP_C1_CHN3(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN3_SHIFT)) & CMP_C1_CHN3_MASK)
9547#define CMP_C1_CHN4_MASK (0x100000U)
9548#define CMP_C1_CHN4_SHIFT (20U)
9549/*! CHN4 - Channel 4 input enable
9550 */
9551#define CMP_C1_CHN4(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN4_SHIFT)) & CMP_C1_CHN4_MASK)
9552#define CMP_C1_CHN5_MASK (0x200000U)
9553#define CMP_C1_CHN5_SHIFT (21U)
9554/*! CHN5 - Channel 5 input enable
9555 */
9556#define CMP_C1_CHN5(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN5_SHIFT)) & CMP_C1_CHN5_MASK)
9557#define CMP_C1_MSEL_MASK (0x7000000U)
9558#define CMP_C1_MSEL_SHIFT (24U)
9559/*! MSEL - Minus Input MUX Control
9560 * 0b000..Internal Negative Input 0 for Minus Channel -- Internal Minus Input
9561 * 0b001..External Input 1 for Minus Channel -- Reference Input 0
9562 * 0b010..External Input 2 for Minus Channel -- Reference Input 1
9563 * 0b011..External Input 3 for Minus Channel -- Reference Input 2
9564 * 0b100..External Input 4 for Minus Channel -- Reference Input 3
9565 * 0b101..External Input 5 for Minus Channel -- Reference Input 4
9566 * 0b110..External Input 6 for Minus Channel -- Reference Input 5
9567 * 0b111..Internal 8b DAC output
9568 */
9569#define CMP_C1_MSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_MSEL_SHIFT)) & CMP_C1_MSEL_MASK)
9570#define CMP_C1_PSEL_MASK (0x70000000U)
9571#define CMP_C1_PSEL_SHIFT (28U)
9572/*! PSEL - Plus Input MUX Control
9573 * 0b000..Internal Posivite Input 0 for Plus Channel -- Internal Minus Input
9574 * 0b001..External Input 1 for Plus Channel -- Reference Input 0
9575 * 0b010..External Input 2 for Plus Channel -- Reference Input 1
9576 * 0b011..External Input 3 for Plus Channel -- Reference Input 2
9577 * 0b100..External Input 4 for Plus Channel -- Reference Input 3
9578 * 0b101..External Input 4 for Plus Channel -- Reference Input 4
9579 * 0b110..External Input 4 for Plus Channel -- Reference Input 5
9580 * 0b111..Internal 8b DAC output
9581 */
9582#define CMP_C1_PSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_PSEL_SHIFT)) & CMP_C1_PSEL_MASK)
9583/*! @} */
9584
9585/*! @name C2 - CMP Control Register 2 */
9586/*! @{ */
9587#define CMP_C2_ACOn_MASK (0x3FU)
9588#define CMP_C2_ACOn_SHIFT (0U)
9589/*! ACOn - ACOn
9590 */
9591#define CMP_C2_ACOn(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_ACOn_SHIFT)) & CMP_C2_ACOn_MASK)
9592#define CMP_C2_INITMOD_MASK (0x3F00U)
9593#define CMP_C2_INITMOD_SHIFT (8U)
9594/*! INITMOD - Comparator and DAC initialization delay modulus.
9595 */
9596#define CMP_C2_INITMOD(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_INITMOD_SHIFT)) & CMP_C2_INITMOD_MASK)
9597#define CMP_C2_NSAM_MASK (0xC000U)
9598#define CMP_C2_NSAM_SHIFT (14U)
9599/*! NSAM - Number of sample clocks
9600 * 0b00..The comparison result is sampled as soon as the active channel is scanned in one round-robin clock.
9601 * 0b01..The sampling takes place 1 round-robin clock cycle after the next cycle of the round-robin clock.
9602 * 0b10..The sampling takes place 2 round-robin clock cycles after the next cycle of the round-robin clock.
9603 * 0b11..The sampling takes place 3 round-robin clock cycles after the next cycle of the round-robin clock.
9604 */
9605#define CMP_C2_NSAM(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_NSAM_SHIFT)) & CMP_C2_NSAM_MASK)
9606#define CMP_C2_CH0F_MASK (0x10000U)
9607#define CMP_C2_CH0F_SHIFT (16U)
9608/*! CH0F - CH0F
9609 */
9610#define CMP_C2_CH0F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH0F_SHIFT)) & CMP_C2_CH0F_MASK)
9611#define CMP_C2_CH1F_MASK (0x20000U)
9612#define CMP_C2_CH1F_SHIFT (17U)
9613/*! CH1F - CH1F
9614 */
9615#define CMP_C2_CH1F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH1F_SHIFT)) & CMP_C2_CH1F_MASK)
9616#define CMP_C2_CH2F_MASK (0x40000U)
9617#define CMP_C2_CH2F_SHIFT (18U)
9618/*! CH2F - CH2F
9619 */
9620#define CMP_C2_CH2F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH2F_SHIFT)) & CMP_C2_CH2F_MASK)
9621#define CMP_C2_CH3F_MASK (0x80000U)
9622#define CMP_C2_CH3F_SHIFT (19U)
9623/*! CH3F - CH3F
9624 */
9625#define CMP_C2_CH3F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH3F_SHIFT)) & CMP_C2_CH3F_MASK)
9626#define CMP_C2_CH4F_MASK (0x100000U)
9627#define CMP_C2_CH4F_SHIFT (20U)
9628/*! CH4F - CH4F
9629 */
9630#define CMP_C2_CH4F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH4F_SHIFT)) & CMP_C2_CH4F_MASK)
9631#define CMP_C2_CH5F_MASK (0x200000U)
9632#define CMP_C2_CH5F_SHIFT (21U)
9633/*! CH5F - CH5F
9634 */
9635#define CMP_C2_CH5F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH5F_SHIFT)) & CMP_C2_CH5F_MASK)
9636#define CMP_C2_FXMXCH_MASK (0xE000000U)
9637#define CMP_C2_FXMXCH_SHIFT (25U)
9638/*! FXMXCH - Fixed channel selection
9639 * 0b000..External Reference Input 0 is selected as the fixed reference input for the fixed mux port.
9640 * 0b001..External Reference Input 1 is selected as the fixed reference input for the fixed mux port.
9641 * 0b010..External Reference Input 2 is selected as the fixed reference input for the fixed mux port.
9642 * 0b011..External Reference Input 3 is selected as the fixed reference input for the fixed mux port.
9643 * 0b100..External Reference Input 4 is selected as the fixed reference input for the fixed mux port.
9644 * 0b101..External Reference Input 5 is selected as the fixed reference input for the fixed mux port.
9645 * 0b110..Reserved.
9646 * 0b111..The 8bit DAC is selected as the fixed reference input for the fixed mux port.
9647 */
9648#define CMP_C2_FXMXCH(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_FXMXCH_SHIFT)) & CMP_C2_FXMXCH_MASK)
9649#define CMP_C2_FXMP_MASK (0x20000000U)
9650#define CMP_C2_FXMP_SHIFT (29U)
9651/*! FXMP - Fixed MUX Port
9652 * 0b0..The Plus port is fixed. Only the inputs to the Minus port are swept in each round.
9653 * 0b1..The Minus port is fixed. Only the inputs to the Plus port are swept in each round.
9654 */
9655#define CMP_C2_FXMP(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_FXMP_SHIFT)) & CMP_C2_FXMP_MASK)
9656#define CMP_C2_RRIE_MASK (0x40000000U)
9657#define CMP_C2_RRIE_SHIFT (30U)
9658/*! RRIE - Round-Robin interrupt enable
9659 * 0b0..The round-robin interrupt is disabled.
9660 * 0b1..The round-robin interrupt is enabled when a comparison result changes from the last sample.
9661 */
9662#define CMP_C2_RRIE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_RRIE_SHIFT)) & CMP_C2_RRIE_MASK)
9663/*! @} */
9664
9665/*! @name C3 - CMP Control Register 3 */
9666/*! @{ */
9667#define CMP_C3_ACPH2TC_MASK (0x70U)
9668#define CMP_C3_ACPH2TC_SHIFT (4U)
9669/*! ACPH2TC - Analog Comparator Phase2 Timing Control.
9670 * 0b000..Phase2 active time in one sampling period equals to T
9671 * 0b001..Phase2 active time in one sampling period equals to 2*T
9672 * 0b010..Phase2 active time in one sampling period equals to 4*T
9673 * 0b011..Phase2 active time in one sampling period equals to 8*T
9674 * 0b100..Phase2 active time in one sampling period equals to 16*T
9675 * 0b101..Phase2 active time in one sampling period equals to 32*T
9676 * 0b110..Phase2 active time in one sampling period equals to 64*T
9677 * 0b111..Phase2 active time in one sampling period equals to 16*T
9678 */
9679#define CMP_C3_ACPH2TC(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACPH2TC_SHIFT)) & CMP_C3_ACPH2TC_MASK)
9680#define CMP_C3_ACPH1TC_MASK (0x700U)
9681#define CMP_C3_ACPH1TC_SHIFT (8U)
9682/*! ACPH1TC - Analog Comparator Phase1 Timing Control.
9683 * 0b000..Phase1 active time in one sampling period equals to T
9684 * 0b001..Phase1 active time in one sampling period equals to 2*T
9685 * 0b010..Phase1 active time in one sampling period equals to 4*T
9686 * 0b011..Phase1 active time in one sampling period equals to 8*T
9687 * 0b100..Phase1 active time in one sampling period equals to T
9688 * 0b101..Phase1 active time in one sampling period equals to T
9689 * 0b110..Phase1 active time in one sampling period equals to T
9690 * 0b111..Phase1 active time in one sampling period equals to 0
9691 */
9692#define CMP_C3_ACPH1TC(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACPH1TC_SHIFT)) & CMP_C3_ACPH1TC_MASK)
9693#define CMP_C3_ACSAT_MASK (0x7000U)
9694#define CMP_C3_ACSAT_SHIFT (12U)
9695/*! ACSAT - Analog Comparator Sampling Time control.
9696 * 0b000..The sampling time equals to T
9697 * 0b001..The sampling time equasl to 2*T
9698 * 0b010..The sampling time equasl to 4*T
9699 * 0b011..The sampling time equasl to 8*T
9700 * 0b100..The sampling time equasl to 16*T
9701 * 0b101..The sampling time equasl to 32*T
9702 * 0b110..The sampling time equasl to 64*T
9703 * 0b111..The sampling time equasl to 256*T
9704 */
9705#define CMP_C3_ACSAT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACSAT_SHIFT)) & CMP_C3_ACSAT_MASK)
9706#define CMP_C3_DMCS_MASK (0x10000U)
9707#define CMP_C3_DMCS_SHIFT (16U)
9708/*! DMCS - Discrete Mode Clock Selection
9709 * 0b0..Slow clock is selected for the timing generation.
9710 * 0b1..Fast clock is selected for the timing generation.
9711 */
9712#define CMP_C3_DMCS(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_DMCS_SHIFT)) & CMP_C3_DMCS_MASK)
9713#define CMP_C3_RDIVE_MASK (0x100000U)
9714#define CMP_C3_RDIVE_SHIFT (20U)
9715/*! RDIVE - Resistor Divider Enable
9716 * 0b0..The resistor is not enabled even when either NCHEN or PCHEN is set to1 but the actual input is in the range of 0 - 1.8v.
9717 * 0b1..The resistor is enabled because the inputs are above 1.8v.
9718 */
9719#define CMP_C3_RDIVE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_RDIVE_SHIFT)) & CMP_C3_RDIVE_MASK)
9720#define CMP_C3_NCHCTEN_MASK (0x1000000U)
9721#define CMP_C3_NCHCTEN_SHIFT (24U)
9722/*! NCHCTEN - Negative Channel Continuous Mode Enable.
9723 * 0b0..Negative channel is in Discrete Mode and special timing needs to be configured.
9724 * 0b1..Negative channel is in Continuous Mode and no special timing is requried.
9725 */
9726#define CMP_C3_NCHCTEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_NCHCTEN_SHIFT)) & CMP_C3_NCHCTEN_MASK)
9727#define CMP_C3_PCHCTEN_MASK (0x10000000U)
9728#define CMP_C3_PCHCTEN_SHIFT (28U)
9729/*! PCHCTEN - Positive Channel Continuous Mode Enable.
9730 * 0b0..Positive channel is in Discrete Mode and special timing needs to be configured.
9731 * 0b1..Positive channel is in Continuous Mode and no special timing is requried.
9732 */
9733#define CMP_C3_PCHCTEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_PCHCTEN_SHIFT)) & CMP_C3_PCHCTEN_MASK)
9734/*! @} */
9735
9736/*! @name RR_TIMER_CR - Round-Robin Timer Control Register */
9737/*! @{ */
9738#define CMP_RR_TIMER_CR_RR_TIMER_RELOAD_MASK (0xFFFFFFFU)
9739#define CMP_RR_TIMER_CR_RR_TIMER_RELOAD_SHIFT (0U)
9740/*! RR_TIMER_RELOAD - This field establishes the repetitive count rate for the timer. Each time the
9741 * timer counts down to zero it is reloaded with this value. The rr_trig signal will be generated
9742 * at a rate of (rr_timer_reload + 1) times the rr_clock period (typically 30.6 uS)
9743 */
9744#define CMP_RR_TIMER_CR_RR_TIMER_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << CMP_RR_TIMER_CR_RR_TIMER_RELOAD_SHIFT)) & CMP_RR_TIMER_CR_RR_TIMER_RELOAD_MASK)
9745#define CMP_RR_TIMER_CR_RR_TIMER_ENA_MASK (0x80000000U)
9746#define CMP_RR_TIMER_CR_RR_TIMER_ENA_SHIFT (31U)
9747/*! RR_TIMER_ENA - RR_TIMER enable. When low, rr_timer count will be held at zero. When set, timer
9748 * will commence continuous, repetitive counting beginning with the 1st or 2nd rising edge of the
9749 * 32 KHz rr_clock.1
9750 */
9751#define CMP_RR_TIMER_CR_RR_TIMER_ENA(x) (((uint32_t)(((uint32_t)(x)) << CMP_RR_TIMER_CR_RR_TIMER_ENA_SHIFT)) & CMP_RR_TIMER_CR_RR_TIMER_ENA_MASK)
9752/*! @} */
9753
9754
9755/*!
9756 * @}
9757 */ /* end of group CMP_Register_Masks */
9758
9759
9760/* CMP - Peripheral instance base addresses */
9761#if (__ARM_FEATURE_CMSE & 0x2)
9762 /** Peripheral CMP base address */
9763 #define CMP_BASE (0x50139000u)
9764 /** Peripheral CMP base address */
9765 #define CMP_BASE_NS (0x40139000u)
9766 /** Peripheral CMP base pointer */
9767 #define CMP ((CMP_Type *)CMP_BASE)
9768 /** Peripheral CMP base pointer */
9769 #define CMP_NS ((CMP_Type *)CMP_BASE_NS)
9770 /** Array initializer of CMP peripheral base addresses */
9771 #define CMP_BASE_ADDRS { CMP_BASE }
9772 /** Array initializer of CMP peripheral base pointers */
9773 #define CMP_BASE_PTRS { CMP }
9774 /** Array initializer of CMP peripheral base addresses */
9775 #define CMP_BASE_ADDRS_NS { CMP_BASE_NS }
9776 /** Array initializer of CMP peripheral base pointers */
9777 #define CMP_BASE_PTRS_NS { CMP_NS }
9778#else
9779 /** Peripheral CMP base address */
9780 #define CMP_BASE (0x40139000u)
9781 /** Peripheral CMP base pointer */
9782 #define CMP ((CMP_Type *)CMP_BASE)
9783 /** Array initializer of CMP peripheral base addresses */
9784 #define CMP_BASE_ADDRS { CMP_BASE }
9785 /** Array initializer of CMP peripheral base pointers */
9786 #define CMP_BASE_PTRS { CMP }
9787#endif
9788/** Interrupt vectors for the CMP peripheral type */
9789#define CMP_IRQS { ACMP_IRQn }
9790
9791/*!
9792 * @}
9793 */ /* end of group CMP_Peripheral_Access_Layer */
9794
9795
9796/* ----------------------------------------------------------------------------
9797 -- CRC Peripheral Access Layer
9798 ---------------------------------------------------------------------------- */
9799
9800/*!
9801 * @addtogroup CRC_Peripheral_Access_Layer CRC Peripheral Access Layer
9802 * @{
9803 */
9804
9805/** CRC - Register Layout Typedef */
9806typedef struct {
9807 __IO uint32_t MODE; /**< CRC mode register, offset: 0x0 */
9808 __IO uint32_t SEED; /**< CRC seed register, offset: 0x4 */
9809 union { /* offset: 0x8 */
9810 __I uint32_t SUM; /**< CRC checksum register, offset: 0x8 */
9811 __O uint32_t WR_DATA; /**< CRC data register, offset: 0x8 */
9812 };
9813} CRC_Type;
9814
9815/* ----------------------------------------------------------------------------
9816 -- CRC Register Masks
9817 ---------------------------------------------------------------------------- */
9818
9819/*!
9820 * @addtogroup CRC_Register_Masks CRC Register Masks
9821 * @{
9822 */
9823
9824/*! @name MODE - CRC mode register */
9825/*! @{ */
9826#define CRC_MODE_CRC_POLY_MASK (0x3U)
9827#define CRC_MODE_CRC_POLY_SHIFT (0U)
9828/*! CRC_POLY - CRC polynomial: 1X = CRC-32 polynomial 01 = CRC-16 polynomial 00 = CRC-CCITT polynomial
9829 */
9830#define CRC_MODE_CRC_POLY(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_CRC_POLY_SHIFT)) & CRC_MODE_CRC_POLY_MASK)
9831#define CRC_MODE_BIT_RVS_WR_MASK (0x4U)
9832#define CRC_MODE_BIT_RVS_WR_SHIFT (2U)
9833/*! BIT_RVS_WR - Data bit order: 1 = Bit order reverse for CRC_WR_DATA (per byte) 0 = No bit order reverse for CRC_WR_DATA (per byte)
9834 */
9835#define CRC_MODE_BIT_RVS_WR(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_BIT_RVS_WR_SHIFT)) & CRC_MODE_BIT_RVS_WR_MASK)
9836#define CRC_MODE_CMPL_WR_MASK (0x8U)
9837#define CRC_MODE_CMPL_WR_SHIFT (3U)
9838/*! CMPL_WR - Data complement: 1 = 1's complement for CRC_WR_DATA 0 = No 1's complement for CRC_WR_DATA
9839 */
9840#define CRC_MODE_CMPL_WR(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_CMPL_WR_SHIFT)) & CRC_MODE_CMPL_WR_MASK)
9841#define CRC_MODE_BIT_RVS_SUM_MASK (0x10U)
9842#define CRC_MODE_BIT_RVS_SUM_SHIFT (4U)
9843/*! BIT_RVS_SUM - CRC sum bit order: 1 = Bit order reverse for CRC_SUM 0 = No bit order reverse for CRC_SUM
9844 */
9845#define CRC_MODE_BIT_RVS_SUM(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_BIT_RVS_SUM_SHIFT)) & CRC_MODE_BIT_RVS_SUM_MASK)
9846#define CRC_MODE_CMPL_SUM_MASK (0x20U)
9847#define CRC_MODE_CMPL_SUM_SHIFT (5U)
9848/*! CMPL_SUM - CRC sum complement: 1 = 1's complement for CRC_SUM 0 = No 1's complement for CRC_SUM
9849 */
9850#define CRC_MODE_CMPL_SUM(x) (((uint32_t)(((uint32_t)(x)) << CRC_MODE_CMPL_SUM_SHIFT)) & CRC_MODE_CMPL_SUM_MASK)
9851/*! @} */
9852
9853/*! @name SEED - CRC seed register */
9854/*! @{ */
9855#define CRC_SEED_CRC_SEED_MASK (0xFFFFFFFFU)
9856#define CRC_SEED_CRC_SEED_SHIFT (0U)
9857/*! CRC_SEED - A write access to this register will load CRC seed value to CRC_SUM register with
9858 * selected bit order and 1's complement pre-processes. A write access to this register will
9859 * overrule the CRC calculation in progresses.
9860 */
9861#define CRC_SEED_CRC_SEED(x) (((uint32_t)(((uint32_t)(x)) << CRC_SEED_CRC_SEED_SHIFT)) & CRC_SEED_CRC_SEED_MASK)
9862/*! @} */
9863
9864/*! @name SUM - CRC checksum register */
9865/*! @{ */
9866#define CRC_SUM_CRC_SUM_MASK (0xFFFFFFFFU)
9867#define CRC_SUM_CRC_SUM_SHIFT (0U)
9868/*! CRC_SUM - The most recent CRC sum can be read through this register with selected bit order and 1's complement post-processes.
9869 */
9870#define CRC_SUM_CRC_SUM(x) (((uint32_t)(((uint32_t)(x)) << CRC_SUM_CRC_SUM_SHIFT)) & CRC_SUM_CRC_SUM_MASK)
9871/*! @} */
9872
9873/*! @name WR_DATA - CRC data register */
9874/*! @{ */
9875#define CRC_WR_DATA_CRC_WR_DATA_MASK (0xFFFFFFFFU)
9876#define CRC_WR_DATA_CRC_WR_DATA_SHIFT (0U)
9877/*! CRC_WR_DATA - Data written to this register will be taken to perform CRC calculation with
9878 * selected bit order and 1's complement pre-process. Any write size 8, 16 or 32-bit are allowed and
9879 * accept back-to-back transactions.
9880 */
9881#define CRC_WR_DATA_CRC_WR_DATA(x) (((uint32_t)(((uint32_t)(x)) << CRC_WR_DATA_CRC_WR_DATA_SHIFT)) & CRC_WR_DATA_CRC_WR_DATA_MASK)
9882/*! @} */
9883
9884
9885/*!
9886 * @}
9887 */ /* end of group CRC_Register_Masks */
9888
9889
9890/* CRC - Peripheral instance base addresses */
9891#if (__ARM_FEATURE_CMSE & 0x2)
9892 /** Peripheral CRC_ENGINE base address */
9893 #define CRC_ENGINE_BASE (0x50120000u)
9894 /** Peripheral CRC_ENGINE base address */
9895 #define CRC_ENGINE_BASE_NS (0x40120000u)
9896 /** Peripheral CRC_ENGINE base pointer */
9897 #define CRC_ENGINE ((CRC_Type *)CRC_ENGINE_BASE)
9898 /** Peripheral CRC_ENGINE base pointer */
9899 #define CRC_ENGINE_NS ((CRC_Type *)CRC_ENGINE_BASE_NS)
9900 /** Array initializer of CRC peripheral base addresses */
9901 #define CRC_BASE_ADDRS { CRC_ENGINE_BASE }
9902 /** Array initializer of CRC peripheral base pointers */
9903 #define CRC_BASE_PTRS { CRC_ENGINE }
9904 /** Array initializer of CRC peripheral base addresses */
9905 #define CRC_BASE_ADDRS_NS { CRC_ENGINE_BASE_NS }
9906 /** Array initializer of CRC peripheral base pointers */
9907 #define CRC_BASE_PTRS_NS { CRC_ENGINE_NS }
9908#else
9909 /** Peripheral CRC_ENGINE base address */
9910 #define CRC_ENGINE_BASE (0x40120000u)
9911 /** Peripheral CRC_ENGINE base pointer */
9912 #define CRC_ENGINE ((CRC_Type *)CRC_ENGINE_BASE)
9913 /** Array initializer of CRC peripheral base addresses */
9914 #define CRC_BASE_ADDRS { CRC_ENGINE_BASE }
9915 /** Array initializer of CRC peripheral base pointers */
9916 #define CRC_BASE_PTRS { CRC_ENGINE }
9917#endif
9918
9919/*!
9920 * @}
9921 */ /* end of group CRC_Peripheral_Access_Layer */
9922
9923
9924/* ----------------------------------------------------------------------------
9925 -- CTIMER Peripheral Access Layer
9926 ---------------------------------------------------------------------------- */
9927
9928/*!
9929 * @addtogroup CTIMER_Peripheral_Access_Layer CTIMER Peripheral Access Layer
9930 * @{
9931 */
9932
9933/** CTIMER - Register Layout Typedef */
9934typedef struct {
9935 __IO uint32_t IR; /**< Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending., offset: 0x0 */
9936 __IO uint32_t TCR; /**< Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR., offset: 0x4 */
9937 __IO uint32_t TC; /**< Timer Counter. The 32 bit TC is incremented every PR+1 cycles of the APB bus clock. The TC is controlled through the TCR., offset: 0x8 */
9938 __IO uint32_t PR; /**< Prescale Register. When the Prescale Counter (PC) is equal to this value, the next clock increments the TC and clears the PC., offset: 0xC */
9939 __IO uint32_t PC; /**< Prescale Counter. The 32 bit PC is a counter which is incremented to the value stored in PR. When the value in PR is reached, the TC is incremented and the PC is cleared. The PC is observable and controllable through the bus interface., offset: 0x10 */
9940 __IO uint32_t MCR; /**< Match Control Register. The MCR is used to control if an interrupt is generated and if the TC is reset when a Match occurs., offset: 0x14 */
9941 __IO uint32_t MR[4]; /**< Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC., array offset: 0x18, array step: 0x4 */
9942 __IO uint32_t CCR; /**< Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place., offset: 0x28 */
9943 __I uint32_t CR[4]; /**< Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input., array offset: 0x2C, array step: 0x4 */
9944 __IO uint32_t EMR; /**< External Match Register. The EMR controls the match function and the external match pins., offset: 0x3C */
9945 uint8_t RESERVED_0[48];
9946 __IO uint32_t CTCR; /**< Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting., offset: 0x70 */
9947 __IO uint32_t PWMC; /**< PWM Control Register. The PWMCON enables PWM mode for the external match pins., offset: 0x74 */
9948 __IO uint32_t MSR[4]; /**< Match Shadow Register . If enabled, the Match Register will be automatically reloaded with the contents of this register whenever the TC is reset to zero., array offset: 0x78, array step: 0x4 */
9949} CTIMER_Type;
9950
9951/* ----------------------------------------------------------------------------
9952 -- CTIMER Register Masks
9953 ---------------------------------------------------------------------------- */
9954
9955/*!
9956 * @addtogroup CTIMER_Register_Masks CTIMER Register Masks
9957 * @{
9958 */
9959
9960/*! @name IR - Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending. */
9961/*! @{ */
9962#define CTIMER_IR_MR0INT_MASK (0x1U)
9963#define CTIMER_IR_MR0INT_SHIFT (0U)
9964/*! MR0INT - Interrupt flag for match channel 0.
9965 */
9966#define CTIMER_IR_MR0INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR0INT_SHIFT)) & CTIMER_IR_MR0INT_MASK)
9967#define CTIMER_IR_MR1INT_MASK (0x2U)
9968#define CTIMER_IR_MR1INT_SHIFT (1U)
9969/*! MR1INT - Interrupt flag for match channel 1.
9970 */
9971#define CTIMER_IR_MR1INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR1INT_SHIFT)) & CTIMER_IR_MR1INT_MASK)
9972#define CTIMER_IR_MR2INT_MASK (0x4U)
9973#define CTIMER_IR_MR2INT_SHIFT (2U)
9974/*! MR2INT - Interrupt flag for match channel 2.
9975 */
9976#define CTIMER_IR_MR2INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR2INT_SHIFT)) & CTIMER_IR_MR2INT_MASK)
9977#define CTIMER_IR_MR3INT_MASK (0x8U)
9978#define CTIMER_IR_MR3INT_SHIFT (3U)
9979/*! MR3INT - Interrupt flag for match channel 3.
9980 */
9981#define CTIMER_IR_MR3INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_MR3INT_SHIFT)) & CTIMER_IR_MR3INT_MASK)
9982#define CTIMER_IR_CR0INT_MASK (0x10U)
9983#define CTIMER_IR_CR0INT_SHIFT (4U)
9984/*! CR0INT - Interrupt flag for capture channel 0 event.
9985 */
9986#define CTIMER_IR_CR0INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR0INT_SHIFT)) & CTIMER_IR_CR0INT_MASK)
9987#define CTIMER_IR_CR1INT_MASK (0x20U)
9988#define CTIMER_IR_CR1INT_SHIFT (5U)
9989/*! CR1INT - Interrupt flag for capture channel 1 event.
9990 */
9991#define CTIMER_IR_CR1INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR1INT_SHIFT)) & CTIMER_IR_CR1INT_MASK)
9992#define CTIMER_IR_CR2INT_MASK (0x40U)
9993#define CTIMER_IR_CR2INT_SHIFT (6U)
9994/*! CR2INT - Interrupt flag for capture channel 2 event.
9995 */
9996#define CTIMER_IR_CR2INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR2INT_SHIFT)) & CTIMER_IR_CR2INT_MASK)
9997#define CTIMER_IR_CR3INT_MASK (0x80U)
9998#define CTIMER_IR_CR3INT_SHIFT (7U)
9999/*! CR3INT - Interrupt flag for capture channel 3 event.
10000 */
10001#define CTIMER_IR_CR3INT(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_IR_CR3INT_SHIFT)) & CTIMER_IR_CR3INT_MASK)
10002/*! @} */
10003
10004/*! @name TCR - Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR. */
10005/*! @{ */
10006#define CTIMER_TCR_CEN_MASK (0x1U)
10007#define CTIMER_TCR_CEN_SHIFT (0U)
10008/*! CEN - Counter enable.
10009 * 0b0..Disabled.The counters are disabled.
10010 * 0b1..Enabled. The Timer Counter and Prescale Counter are enabled.
10011 */
10012#define CTIMER_TCR_CEN(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_TCR_CEN_SHIFT)) & CTIMER_TCR_CEN_MASK)
10013#define CTIMER_TCR_CRST_MASK (0x2U)
10014#define CTIMER_TCR_CRST_SHIFT (1U)
10015/*! CRST - Counter reset.
10016 * 0b0..Disabled. Do nothing.
10017 * 0b1..Enabled. The Timer Counter and the Prescale Counter are synchronously reset on the next positive edge of
10018 * the APB bus clock. The counters remain reset until TCR[1] is returned to zero.
10019 */
10020#define CTIMER_TCR_CRST(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_TCR_CRST_SHIFT)) & CTIMER_TCR_CRST_MASK)
10021/*! @} */
10022
10023/*! @name TC - Timer Counter. The 32 bit TC is incremented every PR+1 cycles of the APB bus clock. The TC is controlled through the TCR. */
10024/*! @{ */
10025#define CTIMER_TC_TCVAL_MASK (0xFFFFFFFFU)
10026#define CTIMER_TC_TCVAL_SHIFT (0U)
10027/*! TCVAL - Timer counter value.
10028 */
10029#define CTIMER_TC_TCVAL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_TC_TCVAL_SHIFT)) & CTIMER_TC_TCVAL_MASK)
10030/*! @} */
10031
10032/*! @name PR - Prescale Register. When the Prescale Counter (PC) is equal to this value, the next clock increments the TC and clears the PC. */
10033/*! @{ */
10034#define CTIMER_PR_PRVAL_MASK (0xFFFFFFFFU)
10035#define CTIMER_PR_PRVAL_SHIFT (0U)
10036/*! PRVAL - Prescale counter value.
10037 */
10038#define CTIMER_PR_PRVAL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PR_PRVAL_SHIFT)) & CTIMER_PR_PRVAL_MASK)
10039/*! @} */
10040
10041/*! @name PC - Prescale Counter. The 32 bit PC is a counter which is incremented to the value stored in PR. When the value in PR is reached, the TC is incremented and the PC is cleared. The PC is observable and controllable through the bus interface. */
10042/*! @{ */
10043#define CTIMER_PC_PCVAL_MASK (0xFFFFFFFFU)
10044#define CTIMER_PC_PCVAL_SHIFT (0U)
10045/*! PCVAL - Prescale counter value.
10046 */
10047#define CTIMER_PC_PCVAL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PC_PCVAL_SHIFT)) & CTIMER_PC_PCVAL_MASK)
10048/*! @} */
10049
10050/*! @name MCR - Match Control Register. The MCR is used to control if an interrupt is generated and if the TC is reset when a Match occurs. */
10051/*! @{ */
10052#define CTIMER_MCR_MR0I_MASK (0x1U)
10053#define CTIMER_MCR_MR0I_SHIFT (0U)
10054/*! MR0I - Interrupt on MR0: an interrupt is generated when MR0 matches the value in the TC. 0 = disabled. 1 = enabled.
10055 */
10056#define CTIMER_MCR_MR0I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0I_SHIFT)) & CTIMER_MCR_MR0I_MASK)
10057#define CTIMER_MCR_MR0R_MASK (0x2U)
10058#define CTIMER_MCR_MR0R_SHIFT (1U)
10059/*! MR0R - Reset on MR0: the TC will be reset if MR0 matches it. 0 = disabled. 1 = enabled.
10060 */
10061#define CTIMER_MCR_MR0R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0R_SHIFT)) & CTIMER_MCR_MR0R_MASK)
10062#define CTIMER_MCR_MR0S_MASK (0x4U)
10063#define CTIMER_MCR_MR0S_SHIFT (2U)
10064/*! MR0S - Stop on MR0: the TC and PC will be stopped and TCR[0] will be set to 0 if MR0 matches the TC. 0 = disabled. 1 = enabled.
10065 */
10066#define CTIMER_MCR_MR0S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0S_SHIFT)) & CTIMER_MCR_MR0S_MASK)
10067#define CTIMER_MCR_MR1I_MASK (0x8U)
10068#define CTIMER_MCR_MR1I_SHIFT (3U)
10069/*! MR1I - Interrupt on MR1: an interrupt is generated when MR1 matches the value in the TC. 0 =
10070 * disabled. 1 = enabled. 0 = disabled. 1 = enabled.
10071 */
10072#define CTIMER_MCR_MR1I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1I_SHIFT)) & CTIMER_MCR_MR1I_MASK)
10073#define CTIMER_MCR_MR1R_MASK (0x10U)
10074#define CTIMER_MCR_MR1R_SHIFT (4U)
10075/*! MR1R - Reset on MR1: the TC will be reset if MR1 matches it. 0 = disabled. 1 = enabled.
10076 */
10077#define CTIMER_MCR_MR1R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1R_SHIFT)) & CTIMER_MCR_MR1R_MASK)
10078#define CTIMER_MCR_MR1S_MASK (0x20U)
10079#define CTIMER_MCR_MR1S_SHIFT (5U)
10080/*! MR1S - Stop on MR1: the TC and PC will be stopped and TCR[0] will be set to 0 if MR1 matches the TC. 0 = disabled. 1 = enabled.
10081 */
10082#define CTIMER_MCR_MR1S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1S_SHIFT)) & CTIMER_MCR_MR1S_MASK)
10083#define CTIMER_MCR_MR2I_MASK (0x40U)
10084#define CTIMER_MCR_MR2I_SHIFT (6U)
10085/*! MR2I - Interrupt on MR2: an interrupt is generated when MR2 matches the value in the TC. 0 = disabled. 1 = enabled.
10086 */
10087#define CTIMER_MCR_MR2I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2I_SHIFT)) & CTIMER_MCR_MR2I_MASK)
10088#define CTIMER_MCR_MR2R_MASK (0x80U)
10089#define CTIMER_MCR_MR2R_SHIFT (7U)
10090/*! MR2R - Reset on MR2: the TC will be reset if MR2 matches it. 0 = disabled. 1 = enabled.
10091 */
10092#define CTIMER_MCR_MR2R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2R_SHIFT)) & CTIMER_MCR_MR2R_MASK)
10093#define CTIMER_MCR_MR2S_MASK (0x100U)
10094#define CTIMER_MCR_MR2S_SHIFT (8U)
10095/*! MR2S - Stop on MR2: the TC and PC will be stopped and TCR[0] will be set to 0 if MR2 matches the TC. 0 = disabled. 1 = enabled.
10096 */
10097#define CTIMER_MCR_MR2S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2S_SHIFT)) & CTIMER_MCR_MR2S_MASK)
10098#define CTIMER_MCR_MR3I_MASK (0x200U)
10099#define CTIMER_MCR_MR3I_SHIFT (9U)
10100/*! MR3I - Interrupt on MR3: an interrupt is generated when MR3 matches the value in the TC. 0 = disabled. 1 = enabled.
10101 */
10102#define CTIMER_MCR_MR3I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3I_SHIFT)) & CTIMER_MCR_MR3I_MASK)
10103#define CTIMER_MCR_MR3R_MASK (0x400U)
10104#define CTIMER_MCR_MR3R_SHIFT (10U)
10105/*! MR3R - Reset on MR3: the TC will be reset if MR3 matches it. 0 = disabled. 1 = enabled.
10106 */
10107#define CTIMER_MCR_MR3R(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3R_SHIFT)) & CTIMER_MCR_MR3R_MASK)
10108#define CTIMER_MCR_MR3S_MASK (0x800U)
10109#define CTIMER_MCR_MR3S_SHIFT (11U)
10110/*! MR3S - Stop on MR3: the TC and PC will be stopped and TCR[0] will be set to 0 if MR3 matches the TC. 0 = disabled. 1 = enabled.
10111 */
10112#define CTIMER_MCR_MR3S(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3S_SHIFT)) & CTIMER_MCR_MR3S_MASK)
10113#define CTIMER_MCR_MR0RL_MASK (0x1000000U)
10114#define CTIMER_MCR_MR0RL_SHIFT (24U)
10115/*! MR0RL - Reload MR0 with the contents of the Match 0 Shadow Register when the TC is reset to zero
10116 * (either via a match event or a write to bit 1 of the TCR). 0 = disabled. 1 = enabled.
10117 */
10118#define CTIMER_MCR_MR0RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR0RL_SHIFT)) & CTIMER_MCR_MR0RL_MASK)
10119#define CTIMER_MCR_MR1RL_MASK (0x2000000U)
10120#define CTIMER_MCR_MR1RL_SHIFT (25U)
10121/*! MR1RL - Reload MR1 with the contents of the Match 1 Shadow Register when the TC is reset to zero
10122 * (either via a match event or a write to bit 1 of the TCR). 0 = disabled. 1 = enabled.
10123 */
10124#define CTIMER_MCR_MR1RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR1RL_SHIFT)) & CTIMER_MCR_MR1RL_MASK)
10125#define CTIMER_MCR_MR2RL_MASK (0x4000000U)
10126#define CTIMER_MCR_MR2RL_SHIFT (26U)
10127/*! MR2RL - Reload MR2 with the contents of the Match 2 Shadow Register when the TC is reset to zero
10128 * (either via a match event or a write to bit 1 of the TCR). 0 = disabled. 1 = enabled.
10129 */
10130#define CTIMER_MCR_MR2RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR2RL_SHIFT)) & CTIMER_MCR_MR2RL_MASK)
10131#define CTIMER_MCR_MR3RL_MASK (0x8000000U)
10132#define CTIMER_MCR_MR3RL_SHIFT (27U)
10133/*! MR3RL - Reload MR3 with the contents of the Match 3 Shadow Register when the TC is reset to zero
10134 * (either via a match event or a write to bit 1 of the TCR). 0 = disabled. 1 = enabled.
10135 */
10136#define CTIMER_MCR_MR3RL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MCR_MR3RL_SHIFT)) & CTIMER_MCR_MR3RL_MASK)
10137/*! @} */
10138
10139/*! @name MR - Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC. */
10140/*! @{ */
10141#define CTIMER_MR_MATCH_MASK (0xFFFFFFFFU)
10142#define CTIMER_MR_MATCH_SHIFT (0U)
10143/*! MATCH - Timer counter match value.
10144 */
10145#define CTIMER_MR_MATCH(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MR_MATCH_SHIFT)) & CTIMER_MR_MATCH_MASK)
10146/*! @} */
10147
10148/* The count of CTIMER_MR */
10149#define CTIMER_MR_COUNT (4U)
10150
10151/*! @name CCR - Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place. */
10152/*! @{ */
10153#define CTIMER_CCR_CAP0RE_MASK (0x1U)
10154#define CTIMER_CCR_CAP0RE_SHIFT (0U)
10155/*! CAP0RE - Rising edge of capture channel 0: a sequence of 0 then 1 causes CR0 to be loaded with
10156 * the contents of TC. 0 = disabled. 1 = enabled.
10157 */
10158#define CTIMER_CCR_CAP0RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP0RE_SHIFT)) & CTIMER_CCR_CAP0RE_MASK)
10159#define CTIMER_CCR_CAP0FE_MASK (0x2U)
10160#define CTIMER_CCR_CAP0FE_SHIFT (1U)
10161/*! CAP0FE - Falling edge of capture channel 0: a sequence of 1 then 0 causes CR0 to be loaded with
10162 * the contents of TC. 0 = disabled. 1 = enabled.
10163 */
10164#define CTIMER_CCR_CAP0FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP0FE_SHIFT)) & CTIMER_CCR_CAP0FE_MASK)
10165#define CTIMER_CCR_CAP0I_MASK (0x4U)
10166#define CTIMER_CCR_CAP0I_SHIFT (2U)
10167/*! CAP0I - Generate interrupt on channel 0 capture event: a CR0 load generates an interrupt.
10168 */
10169#define CTIMER_CCR_CAP0I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP0I_SHIFT)) & CTIMER_CCR_CAP0I_MASK)
10170#define CTIMER_CCR_CAP1RE_MASK (0x8U)
10171#define CTIMER_CCR_CAP1RE_SHIFT (3U)
10172/*! CAP1RE - Rising edge of capture channel 1: a sequence of 0 then 1 causes CR1 to be loaded with
10173 * the contents of TC. 0 = disabled. 1 = enabled.
10174 */
10175#define CTIMER_CCR_CAP1RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP1RE_SHIFT)) & CTIMER_CCR_CAP1RE_MASK)
10176#define CTIMER_CCR_CAP1FE_MASK (0x10U)
10177#define CTIMER_CCR_CAP1FE_SHIFT (4U)
10178/*! CAP1FE - Falling edge of capture channel 1: a sequence of 1 then 0 causes CR1 to be loaded with
10179 * the contents of TC. 0 = disabled. 1 = enabled.
10180 */
10181#define CTIMER_CCR_CAP1FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP1FE_SHIFT)) & CTIMER_CCR_CAP1FE_MASK)
10182#define CTIMER_CCR_CAP1I_MASK (0x20U)
10183#define CTIMER_CCR_CAP1I_SHIFT (5U)
10184/*! CAP1I - Generate interrupt on channel 1 capture event: a CR1 load generates an interrupt.
10185 */
10186#define CTIMER_CCR_CAP1I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP1I_SHIFT)) & CTIMER_CCR_CAP1I_MASK)
10187#define CTIMER_CCR_CAP2RE_MASK (0x40U)
10188#define CTIMER_CCR_CAP2RE_SHIFT (6U)
10189/*! CAP2RE - Rising edge of capture channel 2: a sequence of 0 then 1 causes CR2 to be loaded with
10190 * the contents of TC. 0 = disabled. 1 = enabled.
10191 */
10192#define CTIMER_CCR_CAP2RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP2RE_SHIFT)) & CTIMER_CCR_CAP2RE_MASK)
10193#define CTIMER_CCR_CAP2FE_MASK (0x80U)
10194#define CTIMER_CCR_CAP2FE_SHIFT (7U)
10195/*! CAP2FE - Falling edge of capture channel 2: a sequence of 1 then 0 causes CR2 to be loaded with
10196 * the contents of TC. 0 = disabled. 1 = enabled.
10197 */
10198#define CTIMER_CCR_CAP2FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP2FE_SHIFT)) & CTIMER_CCR_CAP2FE_MASK)
10199#define CTIMER_CCR_CAP2I_MASK (0x100U)
10200#define CTIMER_CCR_CAP2I_SHIFT (8U)
10201/*! CAP2I - Generate interrupt on channel 2 capture event: a CR2 load generates an interrupt.
10202 */
10203#define CTIMER_CCR_CAP2I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP2I_SHIFT)) & CTIMER_CCR_CAP2I_MASK)
10204#define CTIMER_CCR_CAP3RE_MASK (0x200U)
10205#define CTIMER_CCR_CAP3RE_SHIFT (9U)
10206/*! CAP3RE - Rising edge of capture channel 3: a sequence of 0 then 1 causes CR3 to be loaded with
10207 * the contents of TC. 0 = disabled. 1 = enabled.
10208 */
10209#define CTIMER_CCR_CAP3RE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP3RE_SHIFT)) & CTIMER_CCR_CAP3RE_MASK)
10210#define CTIMER_CCR_CAP3FE_MASK (0x400U)
10211#define CTIMER_CCR_CAP3FE_SHIFT (10U)
10212/*! CAP3FE - Falling edge of capture channel 3: a sequence of 1 then 0 causes CR3 to be loaded with
10213 * the contents of TC. 0 = disabled. 1 = enabled.
10214 */
10215#define CTIMER_CCR_CAP3FE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP3FE_SHIFT)) & CTIMER_CCR_CAP3FE_MASK)
10216#define CTIMER_CCR_CAP3I_MASK (0x800U)
10217#define CTIMER_CCR_CAP3I_SHIFT (11U)
10218/*! CAP3I - Generate interrupt on channel 3 capture event: a CR3 load generates an interrupt.
10219 */
10220#define CTIMER_CCR_CAP3I(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CCR_CAP3I_SHIFT)) & CTIMER_CCR_CAP3I_MASK)
10221/*! @} */
10222
10223/*! @name CR - Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input. */
10224/*! @{ */
10225#define CTIMER_CR_CAP_MASK (0xFFFFFFFFU)
10226#define CTIMER_CR_CAP_SHIFT (0U)
10227/*! CAP - Timer counter capture value.
10228 */
10229#define CTIMER_CR_CAP(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CR_CAP_SHIFT)) & CTIMER_CR_CAP_MASK)
10230/*! @} */
10231
10232/* The count of CTIMER_CR */
10233#define CTIMER_CR_COUNT (4U)
10234
10235/*! @name EMR - External Match Register. The EMR controls the match function and the external match pins. */
10236/*! @{ */
10237#define CTIMER_EMR_EM0_MASK (0x1U)
10238#define CTIMER_EMR_EM0_SHIFT (0U)
10239/*! EM0 - External Match 0. This bit reflects the state of output MAT0, whether or not this output
10240 * is connected to a pin. When a match occurs between the TC and MR0, this bit can either toggle,
10241 * go LOW, go HIGH, or do nothing, as selected by EMR[5:4]. This bit is driven to the MAT pins if
10242 * the match function is selected via IOCON. 0 = LOW. 1 = HIGH.
10243 */
10244#define CTIMER_EMR_EM0(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM0_SHIFT)) & CTIMER_EMR_EM0_MASK)
10245#define CTIMER_EMR_EM1_MASK (0x2U)
10246#define CTIMER_EMR_EM1_SHIFT (1U)
10247/*! EM1 - External Match 1. This bit reflects the state of output MAT1, whether or not this output
10248 * is connected to a pin. When a match occurs between the TC and MR1, this bit can either toggle,
10249 * go LOW, go HIGH, or do nothing, as selected by EMR[7:6]. This bit is driven to the MAT pins if
10250 * the match function is selected via IOCON. 0 = LOW. 1 = HIGH.
10251 */
10252#define CTIMER_EMR_EM1(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM1_SHIFT)) & CTIMER_EMR_EM1_MASK)
10253#define CTIMER_EMR_EM2_MASK (0x4U)
10254#define CTIMER_EMR_EM2_SHIFT (2U)
10255/*! EM2 - External Match 2. This bit reflects the state of output MAT2, whether or not this output
10256 * is connected to a pin. When a match occurs between the TC and MR2, this bit can either toggle,
10257 * go LOW, go HIGH, or do nothing, as selected by EMR[9:8]. This bit is driven to the MAT pins if
10258 * the match function is selected via IOCON. 0 = LOW. 1 = HIGH.
10259 */
10260#define CTIMER_EMR_EM2(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM2_SHIFT)) & CTIMER_EMR_EM2_MASK)
10261#define CTIMER_EMR_EM3_MASK (0x8U)
10262#define CTIMER_EMR_EM3_SHIFT (3U)
10263/*! EM3 - External Match 3. This bit reflects the state of output MAT3, whether or not this output
10264 * is connected to a pin. When a match occurs between the TC and MR3, this bit can either toggle,
10265 * go LOW, go HIGH, or do nothing, as selected by MR[11:10]. This bit is driven to the MAT pins
10266 * if the match function is selected via IOCON. 0 = LOW. 1 = HIGH.
10267 */
10268#define CTIMER_EMR_EM3(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EM3_SHIFT)) & CTIMER_EMR_EM3_MASK)
10269#define CTIMER_EMR_EMC0_MASK (0x30U)
10270#define CTIMER_EMR_EMC0_SHIFT (4U)
10271/*! EMC0 - External Match Control 0. Determines the functionality of External Match 0.
10272 * 0b00..Do Nothing.
10273 * 0b01..Clear. Clear the corresponding External Match bit/output to 0 (MAT0 pin is LOW if pinned out).
10274 * 0b10..Set. Set the corresponding External Match bit/output to 1 (MAT0 pin is HIGH if pinned out).
10275 * 0b11..Toggle. Toggle the corresponding External Match bit/output.
10276 */
10277#define CTIMER_EMR_EMC0(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC0_SHIFT)) & CTIMER_EMR_EMC0_MASK)
10278#define CTIMER_EMR_EMC1_MASK (0xC0U)
10279#define CTIMER_EMR_EMC1_SHIFT (6U)
10280/*! EMC1 - External Match Control 1. Determines the functionality of External Match 1.
10281 * 0b00..Do Nothing.
10282 * 0b01..Clear. Clear the corresponding External Match bit/output to 0 (MAT1 pin is LOW if pinned out).
10283 * 0b10..Set. Set the corresponding External Match bit/output to 1 (MAT1 pin is HIGH if pinned out).
10284 * 0b11..Toggle. Toggle the corresponding External Match bit/output.
10285 */
10286#define CTIMER_EMR_EMC1(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC1_SHIFT)) & CTIMER_EMR_EMC1_MASK)
10287#define CTIMER_EMR_EMC2_MASK (0x300U)
10288#define CTIMER_EMR_EMC2_SHIFT (8U)
10289/*! EMC2 - External Match Control 2. Determines the functionality of External Match 2.
10290 * 0b00..Do Nothing.
10291 * 0b01..Clear. Clear the corresponding External Match bit/output to 0 (MAT2 pin is LOW if pinned out).
10292 * 0b10..Set. Set the corresponding External Match bit/output to 1 (MAT2 pin is HIGH if pinned out).
10293 * 0b11..Toggle. Toggle the corresponding External Match bit/output.
10294 */
10295#define CTIMER_EMR_EMC2(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC2_SHIFT)) & CTIMER_EMR_EMC2_MASK)
10296#define CTIMER_EMR_EMC3_MASK (0xC00U)
10297#define CTIMER_EMR_EMC3_SHIFT (10U)
10298/*! EMC3 - External Match Control 3. Determines the functionality of External Match 3.
10299 * 0b00..Do Nothing.
10300 * 0b01..Clear. Clear the corresponding External Match bit/output to 0 (MAT3 pin is LOW if pinned out).
10301 * 0b10..Set. Set the corresponding External Match bit/output to 1 (MAT3 pin is HIGH if pinned out).
10302 * 0b11..Toggle. Toggle the corresponding External Match bit/output.
10303 */
10304#define CTIMER_EMR_EMC3(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_EMR_EMC3_SHIFT)) & CTIMER_EMR_EMC3_MASK)
10305/*! @} */
10306
10307/*! @name CTCR - Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting. */
10308/*! @{ */
10309#define CTIMER_CTCR_CTMODE_MASK (0x3U)
10310#define CTIMER_CTCR_CTMODE_SHIFT (0U)
10311/*! CTMODE - Counter/Timer Mode This field selects which rising APB bus clock edges can increment
10312 * Timer's Prescale Counter (PC), or clear PC and increment Timer Counter (TC). Timer Mode: the TC
10313 * is incremented when the Prescale Counter matches the Prescale Register.
10314 * 0b00..Timer Mode. Incremented every rising APB bus clock edge.
10315 * 0b01..Counter Mode rising edge. TC is incremented on rising edges on the CAP input selected by bits 3:2.
10316 * 0b10..Counter Mode falling edge. TC is incremented on falling edges on the CAP input selected by bits 3:2.
10317 * 0b11..Counter Mode dual edge. TC is incremented on both edges on the CAP input selected by bits 3:2.
10318 */
10319#define CTIMER_CTCR_CTMODE(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_CTMODE_SHIFT)) & CTIMER_CTCR_CTMODE_MASK)
10320#define CTIMER_CTCR_CINSEL_MASK (0xCU)
10321#define CTIMER_CTCR_CINSEL_SHIFT (2U)
10322/*! CINSEL - Count Input Select When bits 1:0 in this register are not 00, these bits select which
10323 * CAP pin is sampled for clocking. Note: If Counter mode is selected for a particular CAPn input
10324 * in the CTCR, the 3 bits for that input in the Capture Control Register (CCR) must be
10325 * programmed as 000. However, capture and/or interrupt can be selected for the other 3 CAPn inputs in the
10326 * same timer.
10327 * 0b00..Channel 0. CAPn.0 for CTIMERn
10328 * 0b01..Channel 1. CAPn.1 for CTIMERn
10329 * 0b10..Channel 2. CAPn.2 for CTIMERn
10330 * 0b11..Channel 3. CAPn.3 for CTIMERn
10331 */
10332#define CTIMER_CTCR_CINSEL(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_CINSEL_SHIFT)) & CTIMER_CTCR_CINSEL_MASK)
10333#define CTIMER_CTCR_ENCC_MASK (0x10U)
10334#define CTIMER_CTCR_ENCC_SHIFT (4U)
10335/*! ENCC - Setting this bit to 1 enables clearing of the timer and the prescaler when the
10336 * capture-edge event specified in bits 7:5 occurs.
10337 */
10338#define CTIMER_CTCR_ENCC(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_ENCC_SHIFT)) & CTIMER_CTCR_ENCC_MASK)
10339#define CTIMER_CTCR_SELCC_MASK (0xE0U)
10340#define CTIMER_CTCR_SELCC_SHIFT (5U)
10341/*! SELCC - Edge select. When bit 4 is 1, these bits select which capture input edge will cause the
10342 * timer and prescaler to be cleared. These bits have no effect when bit 4 is low. Values 0x2 to
10343 * 0x3 and 0x6 to 0x7 are reserved.
10344 * 0b000..Channel 0 Rising Edge. Rising edge of the signal on capture channel 0 clears the timer (if bit 4 is set).
10345 * 0b001..Channel 0 Falling Edge. Falling edge of the signal on capture channel 0 clears the timer (if bit 4 is set).
10346 * 0b010..Channel 1 Rising Edge. Rising edge of the signal on capture channel 1 clears the timer (if bit 4 is set).
10347 * 0b011..Channel 1 Falling Edge. Falling edge of the signal on capture channel 1 clears the timer (if bit 4 is set).
10348 * 0b100..Channel 2 Rising Edge. Rising edge of the signal on capture channel 2 clears the timer (if bit 4 is set).
10349 * 0b101..Channel 2 Falling Edge. Falling edge of the signal on capture channel 2 clears the timer (if bit 4 is set).
10350 */
10351#define CTIMER_CTCR_SELCC(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_CTCR_SELCC_SHIFT)) & CTIMER_CTCR_SELCC_MASK)
10352/*! @} */
10353
10354/*! @name PWMC - PWM Control Register. The PWMCON enables PWM mode for the external match pins. */
10355/*! @{ */
10356#define CTIMER_PWMC_PWMEN0_MASK (0x1U)
10357#define CTIMER_PWMC_PWMEN0_SHIFT (0U)
10358/*! PWMEN0 - PWM mode enable for channel0.
10359 * 0b0..Match. CTIMERn_MAT0 is controlled by EM0.
10360 * 0b1..PWM. PWM mode is enabled for CTIMERn_MAT0.
10361 */
10362#define CTIMER_PWMC_PWMEN0(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN0_SHIFT)) & CTIMER_PWMC_PWMEN0_MASK)
10363#define CTIMER_PWMC_PWMEN1_MASK (0x2U)
10364#define CTIMER_PWMC_PWMEN1_SHIFT (1U)
10365/*! PWMEN1 - PWM mode enable for channel1.
10366 * 0b0..Match. CTIMERn_MAT01 is controlled by EM1.
10367 * 0b1..PWM. PWM mode is enabled for CTIMERn_MAT1.
10368 */
10369#define CTIMER_PWMC_PWMEN1(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN1_SHIFT)) & CTIMER_PWMC_PWMEN1_MASK)
10370#define CTIMER_PWMC_PWMEN2_MASK (0x4U)
10371#define CTIMER_PWMC_PWMEN2_SHIFT (2U)
10372/*! PWMEN2 - PWM mode enable for channel2.
10373 * 0b0..Match. CTIMERn_MAT2 is controlled by EM2.
10374 * 0b1..PWM. PWM mode is enabled for CTIMERn_MAT2.
10375 */
10376#define CTIMER_PWMC_PWMEN2(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN2_SHIFT)) & CTIMER_PWMC_PWMEN2_MASK)
10377#define CTIMER_PWMC_PWMEN3_MASK (0x8U)
10378#define CTIMER_PWMC_PWMEN3_SHIFT (3U)
10379/*! PWMEN3 - PWM mode enable for channel3. Note: It is recommended to use match channel 3 to set the PWM cycle.
10380 * 0b0..Match. CTIMERn_MAT3 is controlled by EM3.
10381 * 0b1..PWM. PWM mode is enabled for CT132Bn_MAT3.
10382 */
10383#define CTIMER_PWMC_PWMEN3(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_PWMC_PWMEN3_SHIFT)) & CTIMER_PWMC_PWMEN3_MASK)
10384/*! @} */
10385
10386/*! @name MSR - Match Shadow Register . If enabled, the Match Register will be automatically reloaded with the contents of this register whenever the TC is reset to zero. */
10387/*! @{ */
10388#define CTIMER_MSR_MATCH_SHADOW_MASK (0xFFFFFFFFU)
10389#define CTIMER_MSR_MATCH_SHADOW_SHIFT (0U)
10390/*! MATCH_Shadow - Timer counter match value.
10391 */
10392#define CTIMER_MSR_MATCH_SHADOW(x) (((uint32_t)(((uint32_t)(x)) << CTIMER_MSR_MATCH_SHADOW_SHIFT)) & CTIMER_MSR_MATCH_SHADOW_MASK)
10393/*! @} */
10394
10395/* The count of CTIMER_MSR */
10396#define CTIMER_MSR_COUNT (4U)
10397
10398
10399/*!
10400 * @}
10401 */ /* end of group CTIMER_Register_Masks */
10402
10403
10404/* CTIMER - Peripheral instance base addresses */
10405#if (__ARM_FEATURE_CMSE & 0x2)
10406 /** Peripheral CTIMER0 base address */
10407 #define CTIMER0_BASE (0x50028000u)
10408 /** Peripheral CTIMER0 base address */
10409 #define CTIMER0_BASE_NS (0x40028000u)
10410 /** Peripheral CTIMER0 base pointer */
10411 #define CTIMER0 ((CTIMER_Type *)CTIMER0_BASE)
10412 /** Peripheral CTIMER0 base pointer */
10413 #define CTIMER0_NS ((CTIMER_Type *)CTIMER0_BASE_NS)
10414 /** Peripheral CTIMER1 base address */
10415 #define CTIMER1_BASE (0x50029000u)
10416 /** Peripheral CTIMER1 base address */
10417 #define CTIMER1_BASE_NS (0x40029000u)
10418 /** Peripheral CTIMER1 base pointer */
10419 #define CTIMER1 ((CTIMER_Type *)CTIMER1_BASE)
10420 /** Peripheral CTIMER1 base pointer */
10421 #define CTIMER1_NS ((CTIMER_Type *)CTIMER1_BASE_NS)
10422 /** Peripheral CTIMER2 base address */
10423 #define CTIMER2_BASE (0x5002A000u)
10424 /** Peripheral CTIMER2 base address */
10425 #define CTIMER2_BASE_NS (0x4002A000u)
10426 /** Peripheral CTIMER2 base pointer */
10427 #define CTIMER2 ((CTIMER_Type *)CTIMER2_BASE)
10428 /** Peripheral CTIMER2 base pointer */
10429 #define CTIMER2_NS ((CTIMER_Type *)CTIMER2_BASE_NS)
10430 /** Peripheral CTIMER3 base address */
10431 #define CTIMER3_BASE (0x5002B000u)
10432 /** Peripheral CTIMER3 base address */
10433 #define CTIMER3_BASE_NS (0x4002B000u)
10434 /** Peripheral CTIMER3 base pointer */
10435 #define CTIMER3 ((CTIMER_Type *)CTIMER3_BASE)
10436 /** Peripheral CTIMER3 base pointer */
10437 #define CTIMER3_NS ((CTIMER_Type *)CTIMER3_BASE_NS)
10438 /** Peripheral CTIMER4 base address */
10439 #define CTIMER4_BASE (0x5002C000u)
10440 /** Peripheral CTIMER4 base address */
10441 #define CTIMER4_BASE_NS (0x4002C000u)
10442 /** Peripheral CTIMER4 base pointer */
10443 #define CTIMER4 ((CTIMER_Type *)CTIMER4_BASE)
10444 /** Peripheral CTIMER4 base pointer */
10445 #define CTIMER4_NS ((CTIMER_Type *)CTIMER4_BASE_NS)
10446 /** Array initializer of CTIMER peripheral base addresses */
10447 #define CTIMER_BASE_ADDRS { CTIMER0_BASE, CTIMER1_BASE, CTIMER2_BASE, CTIMER3_BASE, CTIMER4_BASE }
10448 /** Array initializer of CTIMER peripheral base pointers */
10449 #define CTIMER_BASE_PTRS { CTIMER0, CTIMER1, CTIMER2, CTIMER3, CTIMER4 }
10450 /** Array initializer of CTIMER peripheral base addresses */
10451 #define CTIMER_BASE_ADDRS_NS { CTIMER0_BASE_NS, CTIMER1_BASE_NS, CTIMER2_BASE_NS, CTIMER3_BASE_NS, CTIMER4_BASE_NS }
10452 /** Array initializer of CTIMER peripheral base pointers */
10453 #define CTIMER_BASE_PTRS_NS { CTIMER0_NS, CTIMER1_NS, CTIMER2_NS, CTIMER3_NS, CTIMER4_NS }
10454#else
10455 /** Peripheral CTIMER0 base address */
10456 #define CTIMER0_BASE (0x40028000u)
10457 /** Peripheral CTIMER0 base pointer */
10458 #define CTIMER0 ((CTIMER_Type *)CTIMER0_BASE)
10459 /** Peripheral CTIMER1 base address */
10460 #define CTIMER1_BASE (0x40029000u)
10461 /** Peripheral CTIMER1 base pointer */
10462 #define CTIMER1 ((CTIMER_Type *)CTIMER1_BASE)
10463 /** Peripheral CTIMER2 base address */
10464 #define CTIMER2_BASE (0x4002A000u)
10465 /** Peripheral CTIMER2 base pointer */
10466 #define CTIMER2 ((CTIMER_Type *)CTIMER2_BASE)
10467 /** Peripheral CTIMER3 base address */
10468 #define CTIMER3_BASE (0x4002B000u)
10469 /** Peripheral CTIMER3 base pointer */
10470 #define CTIMER3 ((CTIMER_Type *)CTIMER3_BASE)
10471 /** Peripheral CTIMER4 base address */
10472 #define CTIMER4_BASE (0x4002C000u)
10473 /** Peripheral CTIMER4 base pointer */
10474 #define CTIMER4 ((CTIMER_Type *)CTIMER4_BASE)
10475 /** Array initializer of CTIMER peripheral base addresses */
10476 #define CTIMER_BASE_ADDRS { CTIMER0_BASE, CTIMER1_BASE, CTIMER2_BASE, CTIMER3_BASE, CTIMER4_BASE }
10477 /** Array initializer of CTIMER peripheral base pointers */
10478 #define CTIMER_BASE_PTRS { CTIMER0, CTIMER1, CTIMER2, CTIMER3, CTIMER4 }
10479#endif
10480/** Interrupt vectors for the CTIMER peripheral type */
10481#define CTIMER_IRQS { CTIMER0_IRQn, CTIMER1_IRQn, CTIMER2_IRQn, CTIMER3_IRQn, CTIMER4_IRQn }
10482
10483/*!
10484 * @}
10485 */ /* end of group CTIMER_Peripheral_Access_Layer */
10486
10487
10488/* ----------------------------------------------------------------------------
10489 -- DMA Peripheral Access Layer
10490 ---------------------------------------------------------------------------- */
10491
10492/*!
10493 * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
10494 * @{
10495 */
10496
10497/** DMA - Register Layout Typedef */
10498typedef struct {
10499 __IO uint32_t CTRL; /**< DMA control., offset: 0x0 */
10500 __I uint32_t INTSTAT; /**< Interrupt status., offset: 0x4 */
10501 __IO uint32_t SRAMBASE; /**< SRAM address of the channel configuration table., offset: 0x8 */
10502 uint8_t RESERVED_0[20];
10503 struct { /* offset: 0x20, array step: 0x60 */
10504 __IO uint32_t ENABLESET; /**< Channel Enable read and Set for all DMA channels., array offset: 0x20, array step: 0x60 */
10505 __IO uint32_t ENABLESET1; /**< Channel Enable read and Set for all DMA channels., array offset: 0x24, array step: 0x60 */
10506 __O uint32_t ENABLECLR; /**< Channel Enable Clear for all DMA channels., array offset: 0x28, array step: 0x60 */
10507 __O uint32_t ENABLECLR1; /**< Channel Enable Clear for all DMA channels., array offset: 0x2C, array step: 0x60 */
10508 __I uint32_t ACTIVE; /**< Channel Active status for all DMA channels., array offset: 0x30, array step: 0x60 */
10509 __I uint32_t ACTIVE1; /**< Channel Active status for all DMA channels., array offset: 0x34, array step: 0x60 */
10510 __I uint32_t BUSY; /**< Channel Busy status for all DMA channels., array offset: 0x38, array step: 0x60 */
10511 __I uint32_t BUSY1; /**< Channel Busy status for all DMA channels., array offset: 0x3C, array step: 0x60 */
10512 __IO uint32_t ERRINT; /**< Error Interrupt status for all DMA channels., array offset: 0x40, array step: 0x60 */
10513 __IO uint32_t ERRINT1; /**< Error Interrupt status for all DMA channels., array offset: 0x44, array step: 0x60 */
10514 __IO uint32_t INTENSET; /**< Interrupt Enable read and Set for all DMA channels., array offset: 0x48, array step: 0x60 */
10515 __IO uint32_t INTENSET1; /**< Interrupt Enable read and Set for all DMA channels., array offset: 0x4C, array step: 0x60 */
10516 __O uint32_t INTENCLR; /**< Interrupt Enable Clear for all DMA channels., array offset: 0x50, array step: 0x60 */
10517 __O uint32_t INTENCLR1; /**< Interrupt Enable Clear for all DMA channels., array offset: 0x54, array step: 0x60 */
10518 __IO uint32_t INTA; /**< Interrupt A status for all DMA channels., array offset: 0x58, array step: 0x60 */
10519 __IO uint32_t INTA1; /**< Interrupt A status for all DMA channels., array offset: 0x5C, array step: 0x60 */
10520 __IO uint32_t INTB; /**< Interrupt B status for all DMA channels., array offset: 0x60, array step: 0x60 */
10521 __IO uint32_t INTB1; /**< Interrupt B status for all DMA channels., array offset: 0x64, array step: 0x60 */
10522 __O uint32_t SETVALID; /**< Set ValidPending control bits for all DMA channels., array offset: 0x68, array step: 0x60 */
10523 __O uint32_t SETVALID1; /**< Set ValidPending control bits for all DMA channels., array offset: 0x6C, array step: 0x60 */
10524 __O uint32_t SETTRIG; /**< Set Trigger control bits for all DMA channels., array offset: 0x70, array step: 0x60 */
10525 __O uint32_t SETTRIG1; /**< Set Trigger control bits for all DMA channels., array offset: 0x74, array step: 0x60 */
10526 __O uint32_t ABORT; /**< Channel Abort control for all DMA channels., array offset: 0x78, array step: 0x60 */
10527 __O uint32_t ABORT1; /**< Channel Abort control for all DMA channels., array offset: 0x7C, array step: 0x60 */
10528 } COMMON[1];
10529 uint8_t RESERVED_1[896];
10530 struct { /* offset: 0x400, array step: 0x10 */
10531 __IO uint32_t CFG; /**< Configuration register for DMA channel ., array offset: 0x400, array step: 0x10 */
10532 __I uint32_t CTLSTAT; /**< Control and status register for DMA channel ., array offset: 0x404, array step: 0x10 */
10533 __IO uint32_t XFERCFG; /**< Transfer configuration register for DMA channel ., array offset: 0x408, array step: 0x10 */
10534 uint8_t RESERVED_0[4];
10535 } CHANNEL[33];
10536} DMA_Type;
10537
10538/* ----------------------------------------------------------------------------
10539 -- DMA Register Masks
10540 ---------------------------------------------------------------------------- */
10541
10542/*!
10543 * @addtogroup DMA_Register_Masks DMA Register Masks
10544 * @{
10545 */
10546
10547/*! @name CTRL - DMA control. */
10548/*! @{ */
10549#define DMA_CTRL_ENABLE_MASK (0x1U)
10550#define DMA_CTRL_ENABLE_SHIFT (0U)
10551/*! ENABLE - DMA controller master enable.
10552 * 0b0..Disabled. The DMA controller is disabled. This clears any triggers that were asserted at the point when
10553 * disabled, but does not prevent re-triggering when the DMA controller is re-enabled.
10554 * 0b1..Enabled. The DMA controller is enabled.
10555 */
10556#define DMA_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CTRL_ENABLE_SHIFT)) & DMA_CTRL_ENABLE_MASK)
10557/*! @} */
10558
10559/*! @name INTSTAT - Interrupt status. */
10560/*! @{ */
10561#define DMA_INTSTAT_ACTIVEINT_MASK (0x2U)
10562#define DMA_INTSTAT_ACTIVEINT_SHIFT (1U)
10563/*! ACTIVEINT - Summarizes whether any enabled interrupts (other than error interrupts) are pending.
10564 * 0b0..Not pending. No enabled interrupts are pending.
10565 * 0b1..Pending. At least one enabled interrupt is pending.
10566 */
10567#define DMA_INTSTAT_ACTIVEINT(x) (((uint32_t)(((uint32_t)(x)) << DMA_INTSTAT_ACTIVEINT_SHIFT)) & DMA_INTSTAT_ACTIVEINT_MASK)
10568#define DMA_INTSTAT_ACTIVEERRINT_MASK (0x4U)
10569#define DMA_INTSTAT_ACTIVEERRINT_SHIFT (2U)
10570/*! ACTIVEERRINT - Summarizes whether any error interrupts are pending.
10571 * 0b0..Not pending. No error interrupts are pending.
10572 * 0b1..Pending. At least one error interrupt is pending.
10573 */
10574#define DMA_INTSTAT_ACTIVEERRINT(x) (((uint32_t)(((uint32_t)(x)) << DMA_INTSTAT_ACTIVEERRINT_SHIFT)) & DMA_INTSTAT_ACTIVEERRINT_MASK)
10575/*! @} */
10576
10577/*! @name SRAMBASE - SRAM address of the channel configuration table. */
10578/*! @{ */
10579#define DMA_SRAMBASE_OFFSET_MASK (0xFFFFFE00U)
10580#define DMA_SRAMBASE_OFFSET_SHIFT (9U)
10581/*! OFFSET - Address bits 31:9 of the beginning of the DMA descriptor table. For 18 channels, the
10582 * table must begin on a 512 byte boundary.
10583 */
10584#define DMA_SRAMBASE_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << DMA_SRAMBASE_OFFSET_SHIFT)) & DMA_SRAMBASE_OFFSET_MASK)
10585/*! @} */
10586
10587/*! @name COMMON_ENABLESET - Channel Enable read and Set for all DMA channels. */
10588/*! @{ */
10589#define DMA_COMMON_ENABLESET_ENA_MASK (0xFFFFFFFFU)
10590#define DMA_COMMON_ENABLESET_ENA_SHIFT (0U)
10591/*! ENA - Enable for DMA channel 0
10592 * 0b00000000000000000000000000000000..DMAchannel 0 is disabled.
10593 * 0b00000000000000000000000000000001..DMAchannel 0 is enabled.
10594 */
10595#define DMA_COMMON_ENABLESET_ENA(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLESET_ENA_SHIFT)) & DMA_COMMON_ENABLESET_ENA_MASK)
10596/*! @} */
10597
10598/* The count of DMA_COMMON_ENABLESET */
10599#define DMA_COMMON_ENABLESET_COUNT (1U)
10600
10601/*! @name COMMON_ENABLESET1 - Channel Enable read and Set for all DMA channels. */
10602/*! @{ */
10603#define DMA_COMMON_ENABLESET1_ENABLE32_MASK (0x1U)
10604#define DMA_COMMON_ENABLESET1_ENABLE32_SHIFT (0U)
10605/*! ENABLE32 - Enable for DMA channel 32
10606 * 0b0..DMAchannel 32 is disabled.
10607 * 0b1..DMAchannel 32 is enabled.
10608 */
10609#define DMA_COMMON_ENABLESET1_ENABLE32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLESET1_ENABLE32_SHIFT)) & DMA_COMMON_ENABLESET1_ENABLE32_MASK)
10610#define DMA_COMMON_ENABLESET1_ENABLE63_33_MASK (0xFFFFFFFEU)
10611#define DMA_COMMON_ENABLESET1_ENABLE63_33_SHIFT (1U)
10612/*! ENABLE63_33 - Additional enables for remaining DMA channels in the range 63 to 33.
10613 * 0b0000000000000000000000000000000..The relevant DMA channel is disabled.
10614 * 0b0000000000000000000000000000001..The relevant DMA channel is enabled.
10615 */
10616#define DMA_COMMON_ENABLESET1_ENABLE63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLESET1_ENABLE63_33_SHIFT)) & DMA_COMMON_ENABLESET1_ENABLE63_33_MASK)
10617/*! @} */
10618
10619/* The count of DMA_COMMON_ENABLESET1 */
10620#define DMA_COMMON_ENABLESET1_COUNT (1U)
10621
10622/*! @name COMMON_ENABLECLR - Channel Enable Clear for all DMA channels. */
10623/*! @{ */
10624#define DMA_COMMON_ENABLECLR_CLR_MASK (0xFFFFFFFFU)
10625#define DMA_COMMON_ENABLECLR_CLR_SHIFT (0U)
10626/*! CLR - Writing ones to this register clears the corresponding bits in ENABLESET0.
10627 */
10628#define DMA_COMMON_ENABLECLR_CLR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLECLR_CLR_SHIFT)) & DMA_COMMON_ENABLECLR_CLR_MASK)
10629/*! @} */
10630
10631/* The count of DMA_COMMON_ENABLECLR */
10632#define DMA_COMMON_ENABLECLR_COUNT (1U)
10633
10634/*! @name COMMON_ENABLECLR1 - Channel Enable Clear for all DMA channels. */
10635/*! @{ */
10636#define DMA_COMMON_ENABLECLR1_CLR_MASK (0xFFFFFFFFU)
10637#define DMA_COMMON_ENABLECLR1_CLR_SHIFT (0U)
10638/*! CLR - Writing ones to this register clears the corresponding bits in ENABLESET1.
10639 */
10640#define DMA_COMMON_ENABLECLR1_CLR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ENABLECLR1_CLR_SHIFT)) & DMA_COMMON_ENABLECLR1_CLR_MASK)
10641/*! @} */
10642
10643/* The count of DMA_COMMON_ENABLECLR1 */
10644#define DMA_COMMON_ENABLECLR1_COUNT (1U)
10645
10646/*! @name COMMON_ACTIVE - Channel Active status for all DMA channels. */
10647/*! @{ */
10648#define DMA_COMMON_ACTIVE_ACT_MASK (0xFFFFFFFFU)
10649#define DMA_COMMON_ACTIVE_ACT_SHIFT (0U)
10650/*! ACT - Active flag for DMA channel 0.
10651 * 0b00000000000000000000000000000000..DMAchannel 0 is not active.
10652 * 0b00000000000000000000000000000001..DMAchannel 0 is active.
10653 */
10654#define DMA_COMMON_ACTIVE_ACT(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ACTIVE_ACT_SHIFT)) & DMA_COMMON_ACTIVE_ACT_MASK)
10655/*! @} */
10656
10657/* The count of DMA_COMMON_ACTIVE */
10658#define DMA_COMMON_ACTIVE_COUNT (1U)
10659
10660/*! @name COMMON_ACTIVE1 - Channel Active status for all DMA channels. */
10661/*! @{ */
10662#define DMA_COMMON_ACTIVE1_ACTIVE32_MASK (0x1U)
10663#define DMA_COMMON_ACTIVE1_ACTIVE32_SHIFT (0U)
10664/*! ACTIVE32 - Active flag for DMA channel 32.
10665 * 0b0..DMAchannel 32 is not active.
10666 * 0b1..DMAchannel 32 is active.
10667 */
10668#define DMA_COMMON_ACTIVE1_ACTIVE32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ACTIVE1_ACTIVE32_SHIFT)) & DMA_COMMON_ACTIVE1_ACTIVE32_MASK)
10669#define DMA_COMMON_ACTIVE1_ACTIVE63_33_MASK (0xFFFFFFFEU)
10670#define DMA_COMMON_ACTIVE1_ACTIVE63_33_SHIFT (1U)
10671/*! ACTIVE63_33 - Additional Active flags for remaining DMA channels in the range 63 to 33. Any bits
10672 * above the actually implemented channels are reserved.
10673 * 0b0000000000000000000000000000000..The relevant DMA channel is not active.
10674 * 0b0000000000000000000000000000001..The relevant DMA channel is active.
10675 */
10676#define DMA_COMMON_ACTIVE1_ACTIVE63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ACTIVE1_ACTIVE63_33_SHIFT)) & DMA_COMMON_ACTIVE1_ACTIVE63_33_MASK)
10677/*! @} */
10678
10679/* The count of DMA_COMMON_ACTIVE1 */
10680#define DMA_COMMON_ACTIVE1_COUNT (1U)
10681
10682/*! @name COMMON_BUSY - Channel Busy status for all DMA channels. */
10683/*! @{ */
10684#define DMA_COMMON_BUSY_BSY_MASK (0xFFFFFFFFU)
10685#define DMA_COMMON_BUSY_BSY_SHIFT (0U)
10686/*! BSY - Busy flag for DMA channel 0.
10687 * 0b00000000000000000000000000000000..DMAchannel 0 is not busy.
10688 * 0b00000000000000000000000000000001..DMAchannel 0 is busy.
10689 */
10690#define DMA_COMMON_BUSY_BSY(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_BUSY_BSY_SHIFT)) & DMA_COMMON_BUSY_BSY_MASK)
10691/*! @} */
10692
10693/* The count of DMA_COMMON_BUSY */
10694#define DMA_COMMON_BUSY_COUNT (1U)
10695
10696/*! @name COMMON_BUSY1 - Channel Busy status for all DMA channels. */
10697/*! @{ */
10698#define DMA_COMMON_BUSY1_BUSY32_MASK (0x1U)
10699#define DMA_COMMON_BUSY1_BUSY32_SHIFT (0U)
10700/*! BUSY32 - Busy flag for DMA channel 32.
10701 * 0b0..DMAchannel 32 is not busy.
10702 * 0b1..DMAchannel 0 is busy.
10703 */
10704#define DMA_COMMON_BUSY1_BUSY32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_BUSY1_BUSY32_SHIFT)) & DMA_COMMON_BUSY1_BUSY32_MASK)
10705#define DMA_COMMON_BUSY1_BUSY63_33_MASK (0xFFFFFFFEU)
10706#define DMA_COMMON_BUSY1_BUSY63_33_SHIFT (1U)
10707/*! BUSY63_33 - Additional Active flags for remaining DMA channels in the range 63 to 33. Any bits
10708 * above the actually implemented channels are reserved.
10709 * 0b0000000000000000000000000000000..The relevant DMA channel is not busy.
10710 * 0b0000000000000000000000000000001..The relevant DMA channel is busy.
10711 */
10712#define DMA_COMMON_BUSY1_BUSY63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_BUSY1_BUSY63_33_SHIFT)) & DMA_COMMON_BUSY1_BUSY63_33_MASK)
10713/*! @} */
10714
10715/* The count of DMA_COMMON_BUSY1 */
10716#define DMA_COMMON_BUSY1_COUNT (1U)
10717
10718/*! @name COMMON_ERRINT - Error Interrupt status for all DMA channels. */
10719/*! @{ */
10720#define DMA_COMMON_ERRINT_ERR_MASK (0xFFFFFFFFU)
10721#define DMA_COMMON_ERRINT_ERR_SHIFT (0U)
10722/*! ERR - Error Interrupt flag for DMA channel 0.
10723 * 0b00000000000000000000000000000000..The Error Interrupt is not active for DMA channel 0.
10724 * 0b00000000000000000000000000000001..The Error Interrupt is pending for DMA channel 0.
10725 */
10726#define DMA_COMMON_ERRINT_ERR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ERRINT_ERR_SHIFT)) & DMA_COMMON_ERRINT_ERR_MASK)
10727/*! @} */
10728
10729/* The count of DMA_COMMON_ERRINT */
10730#define DMA_COMMON_ERRINT_COUNT (1U)
10731
10732/*! @name COMMON_ERRINT1 - Error Interrupt status for all DMA channels. */
10733/*! @{ */
10734#define DMA_COMMON_ERRINT1_ERR32_MASK (0x1U)
10735#define DMA_COMMON_ERRINT1_ERR32_SHIFT (0U)
10736/*! ERR32 - Error Interrupt flag for DMA channel 32.
10737 * 0b0..The Error Interrupt is not active for DMA channel 32.
10738 * 0b1..The Error Interrupt is pending for DMA channel 32.
10739 */
10740#define DMA_COMMON_ERRINT1_ERR32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ERRINT1_ERR32_SHIFT)) & DMA_COMMON_ERRINT1_ERR32_MASK)
10741#define DMA_COMMON_ERRINT1_ERR63_33_MASK (0xFFFFFFFEU)
10742#define DMA_COMMON_ERRINT1_ERR63_33_SHIFT (1U)
10743/*! ERR63_33 - Additional error Interrupt flags for remaining DMA channels in the range 63 to 33.
10744 * Any bits above the actually implemented channels are reserved.
10745 * 0b0000000000000000000000000000000..The Error Interrupt is not active for the relevant DMA channel.
10746 * 0b0000000000000000000000000000001..The Error Interrupt is pending for the relevant DMA channel.
10747 */
10748#define DMA_COMMON_ERRINT1_ERR63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ERRINT1_ERR63_33_SHIFT)) & DMA_COMMON_ERRINT1_ERR63_33_MASK)
10749/*! @} */
10750
10751/* The count of DMA_COMMON_ERRINT1 */
10752#define DMA_COMMON_ERRINT1_COUNT (1U)
10753
10754/*! @name COMMON_INTENSET - Interrupt Enable read and Set for all DMA channels. */
10755/*! @{ */
10756#define DMA_COMMON_INTENSET_INTEN_MASK (0xFFFFFFFFU)
10757#define DMA_COMMON_INTENSET_INTEN_SHIFT (0U)
10758/*! INTEN - Interrupt Enable read and set for DMA channel 0.
10759 * 0b00000000000000000000000000000000..The Interrupt for DMA channel 0 is disabled.
10760 * 0b00000000000000000000000000000001..The Interrupt for DMA channel 0 is enabled.
10761 */
10762#define DMA_COMMON_INTENSET_INTEN(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENSET_INTEN_SHIFT)) & DMA_COMMON_INTENSET_INTEN_MASK)
10763/*! @} */
10764
10765/* The count of DMA_COMMON_INTENSET */
10766#define DMA_COMMON_INTENSET_COUNT (1U)
10767
10768/*! @name COMMON_INTENSET1 - Interrupt Enable read and Set for all DMA channels. */
10769/*! @{ */
10770#define DMA_COMMON_INTENSET1_INTEN32_MASK (0x1U)
10771#define DMA_COMMON_INTENSET1_INTEN32_SHIFT (0U)
10772/*! INTEN32 - Interrupt Enable read and set for DMA channel 32.
10773 * 0b0..The Interrupt for DMA channel 32 is disabled.
10774 * 0b1..The Interrupt for DMA channel 32 is enabled.
10775 */
10776#define DMA_COMMON_INTENSET1_INTEN32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENSET1_INTEN32_SHIFT)) & DMA_COMMON_INTENSET1_INTEN32_MASK)
10777#define DMA_COMMON_INTENSET1_INTEN63_33_MASK (0xFFFFFFFEU)
10778#define DMA_COMMON_INTENSET1_INTEN63_33_SHIFT (1U)
10779/*! INTEN63_33 - Additional Interrupt Enable read and set bits for remaining DMA channels in the
10780 * range 63 to 33. Any bits above the actually implemented channels are reserved.
10781 * 0b0000000000000000000000000000000..The Interrupt for the relevant DMA channel is disabled.
10782 * 0b0000000000000000000000000000001..The Interrupt for the relevant DMA channel is enabled.
10783 */
10784#define DMA_COMMON_INTENSET1_INTEN63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENSET1_INTEN63_33_SHIFT)) & DMA_COMMON_INTENSET1_INTEN63_33_MASK)
10785/*! @} */
10786
10787/* The count of DMA_COMMON_INTENSET1 */
10788#define DMA_COMMON_INTENSET1_COUNT (1U)
10789
10790/*! @name COMMON_INTENCLR - Interrupt Enable Clear for all DMA channels. */
10791/*! @{ */
10792#define DMA_COMMON_INTENCLR_CLR_MASK (0xFFFFFFFFU)
10793#define DMA_COMMON_INTENCLR_CLR_SHIFT (0U)
10794/*! CLR - Writing ones to this register clears corresponding bits in the DMAIntEnSet0.
10795 */
10796#define DMA_COMMON_INTENCLR_CLR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENCLR_CLR_SHIFT)) & DMA_COMMON_INTENCLR_CLR_MASK)
10797/*! @} */
10798
10799/* The count of DMA_COMMON_INTENCLR */
10800#define DMA_COMMON_INTENCLR_COUNT (1U)
10801
10802/*! @name COMMON_INTENCLR1 - Interrupt Enable Clear for all DMA channels. */
10803/*! @{ */
10804#define DMA_COMMON_INTENCLR1_CLR_MASK (0xFFFFFFFFU)
10805#define DMA_COMMON_INTENCLR1_CLR_SHIFT (0U)
10806/*! CLR - Writing ones to this register clears corresponding bits in the DMAIntEnSet1.
10807 */
10808#define DMA_COMMON_INTENCLR1_CLR(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTENCLR1_CLR_SHIFT)) & DMA_COMMON_INTENCLR1_CLR_MASK)
10809/*! @} */
10810
10811/* The count of DMA_COMMON_INTENCLR1 */
10812#define DMA_COMMON_INTENCLR1_COUNT (1U)
10813
10814/*! @name COMMON_INTA - Interrupt A status for all DMA channels. */
10815/*! @{ */
10816#define DMA_COMMON_INTA_IA_MASK (0xFFFFFFFFU)
10817#define DMA_COMMON_INTA_IA_SHIFT (0U)
10818/*! IA - Interrupt A status for DMA channel 0.
10819 * 0b00000000000000000000000000000000..The DMAchannel 0 interrupt A is not active.
10820 * 0b00000000000000000000000000000001..The DMAchannel 0 interrupt A is active.
10821 */
10822#define DMA_COMMON_INTA_IA(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTA_IA_SHIFT)) & DMA_COMMON_INTA_IA_MASK)
10823/*! @} */
10824
10825/* The count of DMA_COMMON_INTA */
10826#define DMA_COMMON_INTA_COUNT (1U)
10827
10828/*! @name COMMON_INTA1 - Interrupt A status for all DMA channels. */
10829/*! @{ */
10830#define DMA_COMMON_INTA1_INTA32_MASK (0x1U)
10831#define DMA_COMMON_INTA1_INTA32_SHIFT (0U)
10832/*! INTA32 - Interrupt A status for DMA channel 32.
10833 * 0b0..The DMAchannel 32 interrupt A is not active.
10834 * 0b1..The DMAchannel 0 interrupt A is active.
10835 */
10836#define DMA_COMMON_INTA1_INTA32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTA1_INTA32_SHIFT)) & DMA_COMMON_INTA1_INTA32_MASK)
10837#define DMA_COMMON_INTA1_INTA63_33_MASK (0xFFFFFFFEU)
10838#define DMA_COMMON_INTA1_INTA63_33_SHIFT (1U)
10839/*! INTA63_33 - Additional Interrupt A status bits for remaining DMA channels in the range 63 to 33.
10840 * Any bits above the actually implemented channels are reserved.
10841 * 0b0000000000000000000000000000000..Interrupt A is not active for the relevant DMA channel.
10842 * 0b0000000000000000000000000000001..Interrupt A is active for the relevant DMA channel.
10843 */
10844#define DMA_COMMON_INTA1_INTA63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTA1_INTA63_33_SHIFT)) & DMA_COMMON_INTA1_INTA63_33_MASK)
10845/*! @} */
10846
10847/* The count of DMA_COMMON_INTA1 */
10848#define DMA_COMMON_INTA1_COUNT (1U)
10849
10850/*! @name COMMON_INTB - Interrupt B status for all DMA channels. */
10851/*! @{ */
10852#define DMA_COMMON_INTB_IB_MASK (0xFFFFFFFFU)
10853#define DMA_COMMON_INTB_IB_SHIFT (0U)
10854/*! IB - Interrupt B status for DMA channel 0.
10855 * 0b00000000000000000000000000000000..The DMAchannel 0 interrupt B is not active.
10856 * 0b00000000000000000000000000000001..The DMAchannel 0 interrupt B is active.
10857 */
10858#define DMA_COMMON_INTB_IB(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTB_IB_SHIFT)) & DMA_COMMON_INTB_IB_MASK)
10859/*! @} */
10860
10861/* The count of DMA_COMMON_INTB */
10862#define DMA_COMMON_INTB_COUNT (1U)
10863
10864/*! @name COMMON_INTB1 - Interrupt B status for all DMA channels. */
10865/*! @{ */
10866#define DMA_COMMON_INTB1_INTB32_MASK (0x1U)
10867#define DMA_COMMON_INTB1_INTB32_SHIFT (0U)
10868/*! INTB32 - Interrupt B status for DMA channel 32.
10869 * 0b0..The DMAchannel 32 interrupt B is not active.
10870 * 0b1..The DMAchannel 32 interrupt B is active.
10871 */
10872#define DMA_COMMON_INTB1_INTB32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTB1_INTB32_SHIFT)) & DMA_COMMON_INTB1_INTB32_MASK)
10873#define DMA_COMMON_INTB1_INTB63_33_MASK (0xFFFFFFFEU)
10874#define DMA_COMMON_INTB1_INTB63_33_SHIFT (1U)
10875/*! INTB63_33 - Additional Interrupt B status bits for remaining DMA channels in the range 63 to 33.
10876 * Any bits above the actually implemented channels are reserved.
10877 * 0b0000000000000000000000000000000..Interrupt B is not active for the relevant DMA channel.
10878 * 0b0000000000000000000000000000001..Interrupt B is active for the relevant DMA channel.
10879 */
10880#define DMA_COMMON_INTB1_INTB63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_INTB1_INTB63_33_SHIFT)) & DMA_COMMON_INTB1_INTB63_33_MASK)
10881/*! @} */
10882
10883/* The count of DMA_COMMON_INTB1 */
10884#define DMA_COMMON_INTB1_COUNT (1U)
10885
10886/*! @name COMMON_SETVALID - Set ValidPending control bits for all DMA channels. */
10887/*! @{ */
10888#define DMA_COMMON_SETVALID_SV_MASK (0xFFFFFFFFU)
10889#define DMA_COMMON_SETVALID_SV_SHIFT (0U)
10890/*! SV - SetValid control for DMA channel 0.
10891 * 0b00000000000000000000000000000000..No effect.
10892 * 0b00000000000000000000000000000001..Sets the ValidPending control bit for DMA channel 0.
10893 */
10894#define DMA_COMMON_SETVALID_SV(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETVALID_SV_SHIFT)) & DMA_COMMON_SETVALID_SV_MASK)
10895/*! @} */
10896
10897/* The count of DMA_COMMON_SETVALID */
10898#define DMA_COMMON_SETVALID_COUNT (1U)
10899
10900/*! @name COMMON_SETVALID1 - Set ValidPending control bits for all DMA channels. */
10901/*! @{ */
10902#define DMA_COMMON_SETVALID1_SETVALID32_MASK (0x1U)
10903#define DMA_COMMON_SETVALID1_SETVALID32_SHIFT (0U)
10904/*! SETVALID32 - SetValid control for DMA channel 32.
10905 * 0b0..No effect.
10906 * 0b1..Sets the ValidPending control bit for DMA channel 32.
10907 */
10908#define DMA_COMMON_SETVALID1_SETVALID32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETVALID1_SETVALID32_SHIFT)) & DMA_COMMON_SETVALID1_SETVALID32_MASK)
10909#define DMA_COMMON_SETVALID1_SETVALID63_33_MASK (0xFFFFFFFEU)
10910#define DMA_COMMON_SETVALID1_SETVALID63_33_SHIFT (1U)
10911/*! SETVALID63_33 - Additional SetValid controls for remaining DMA channels in the range 63 to 33.
10912 * Any bits above the actually implemented channels are reserved.
10913 * 0b0000000000000000000000000000000..No effect.
10914 * 0b0000000000000000000000000000001..Sets the ValidPending control bit for the relevant DMA channel.
10915 */
10916#define DMA_COMMON_SETVALID1_SETVALID63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETVALID1_SETVALID63_33_SHIFT)) & DMA_COMMON_SETVALID1_SETVALID63_33_MASK)
10917/*! @} */
10918
10919/* The count of DMA_COMMON_SETVALID1 */
10920#define DMA_COMMON_SETVALID1_COUNT (1U)
10921
10922/*! @name COMMON_SETTRIG - Set Trigger control bits for all DMA channels. */
10923/*! @{ */
10924#define DMA_COMMON_SETTRIG_TRIG_MASK (0xFFFFFFFFU)
10925#define DMA_COMMON_SETTRIG_TRIG_SHIFT (0U)
10926/*! TRIG - Set Trigger control bit for DMA channel 0.
10927 * 0b00000000000000000000000000000000..No effect.
10928 * 0b00000000000000000000000000000001..Sets the Trig bit for DMA channel 0.
10929 */
10930#define DMA_COMMON_SETTRIG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETTRIG_TRIG_SHIFT)) & DMA_COMMON_SETTRIG_TRIG_MASK)
10931/*! @} */
10932
10933/* The count of DMA_COMMON_SETTRIG */
10934#define DMA_COMMON_SETTRIG_COUNT (1U)
10935
10936/*! @name COMMON_SETTRIG1 - Set Trigger control bits for all DMA channels. */
10937/*! @{ */
10938#define DMA_COMMON_SETTRIG1_SETTRIG32_MASK (0x1U)
10939#define DMA_COMMON_SETTRIG1_SETTRIG32_SHIFT (0U)
10940/*! SETTRIG32 - Set Trigger control bit for DMA channel 32.
10941 * 0b0..No effect.
10942 * 0b1..Sets the Trig bit for DMA channel 32.
10943 */
10944#define DMA_COMMON_SETTRIG1_SETTRIG32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETTRIG1_SETTRIG32_SHIFT)) & DMA_COMMON_SETTRIG1_SETTRIG32_MASK)
10945#define DMA_COMMON_SETTRIG1_SETTRIG63_33_MASK (0xFFFFFFFEU)
10946#define DMA_COMMON_SETTRIG1_SETTRIG63_33_SHIFT (1U)
10947/*! SETTRIG63_33 - Additional Set Trigger control bits for remaining DMA channels in the range 63 to
10948 * 33. Any bits above the actually implemented channels are reserved.
10949 * 0b0000000000000000000000000000000..No effect.
10950 * 0b0000000000000000000000000000001..Sets the Trig bit for DMA channel for the relevant DMA channel.
10951 */
10952#define DMA_COMMON_SETTRIG1_SETTRIG63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_SETTRIG1_SETTRIG63_33_SHIFT)) & DMA_COMMON_SETTRIG1_SETTRIG63_33_MASK)
10953/*! @} */
10954
10955/* The count of DMA_COMMON_SETTRIG1 */
10956#define DMA_COMMON_SETTRIG1_COUNT (1U)
10957
10958/*! @name COMMON_ABORT - Channel Abort control for all DMA channels. */
10959/*! @{ */
10960#define DMA_COMMON_ABORT_ABORTCTRL_MASK (0xFFFFFFFFU)
10961#define DMA_COMMON_ABORT_ABORTCTRL_SHIFT (0U)
10962/*! ABORTCTRL - Abort control for DMA channel 0.
10963 * 0b00000000000000000000000000000000..No effect.
10964 * 0b00000000000000000000000000000001..Aborts DMA operations on channel 0.
10965 */
10966#define DMA_COMMON_ABORT_ABORTCTRL(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ABORT_ABORTCTRL_SHIFT)) & DMA_COMMON_ABORT_ABORTCTRL_MASK)
10967/*! @} */
10968
10969/* The count of DMA_COMMON_ABORT */
10970#define DMA_COMMON_ABORT_COUNT (1U)
10971
10972/*! @name COMMON_ABORT1 - Channel Abort control for all DMA channels. */
10973/*! @{ */
10974#define DMA_COMMON_ABORT1_ABORT32_MASK (0x1U)
10975#define DMA_COMMON_ABORT1_ABORT32_SHIFT (0U)
10976/*! ABORT32 - Abort control for DMA channel 32.
10977 * 0b0..No effect.
10978 * 0b1..Aborts DMA operations on channel 32.
10979 */
10980#define DMA_COMMON_ABORT1_ABORT32(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ABORT1_ABORT32_SHIFT)) & DMA_COMMON_ABORT1_ABORT32_MASK)
10981#define DMA_COMMON_ABORT1_ABORT63_33_MASK (0xFFFFFFFEU)
10982#define DMA_COMMON_ABORT1_ABORT63_33_SHIFT (1U)
10983/*! ABORT63_33 - Additional Abort controls for remaining DMA channels in the range 63 to 33. Any
10984 * bits above the actually implemented channels are reserved.
10985 * 0b0000000000000000000000000000000..No effect.
10986 * 0b0000000000000000000000000000001..Aborts DMA operations on the relevant channel.
10987 */
10988#define DMA_COMMON_ABORT1_ABORT63_33(x) (((uint32_t)(((uint32_t)(x)) << DMA_COMMON_ABORT1_ABORT63_33_SHIFT)) & DMA_COMMON_ABORT1_ABORT63_33_MASK)
10989/*! @} */
10990
10991/* The count of DMA_COMMON_ABORT1 */
10992#define DMA_COMMON_ABORT1_COUNT (1U)
10993
10994/*! @name CHANNEL_CFG - Configuration register for DMA channel . */
10995/*! @{ */
10996#define DMA_CHANNEL_CFG_PERIPHREQEN_MASK (0x1U)
10997#define DMA_CHANNEL_CFG_PERIPHREQEN_SHIFT (0U)
10998/*! PERIPHREQEN - Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory
10999 * move, any peripheral DMA request associated with that channel can be disabled to prevent any
11000 * interaction between the peripheral and the DMA controller.
11001 * 0b0..Disabled. Peripheral DMA requests are disabled.
11002 * 0b1..Enabled. Peripheral DMA requests are enabled.
11003 */
11004#define DMA_CHANNEL_CFG_PERIPHREQEN(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_PERIPHREQEN_SHIFT)) & DMA_CHANNEL_CFG_PERIPHREQEN_MASK)
11005#define DMA_CHANNEL_CFG_HWTRIGEN_MASK (0x2U)
11006#define DMA_CHANNEL_CFG_HWTRIGEN_SHIFT (1U)
11007/*! HWTRIGEN - Hardware Triggering Enable for this channel.
11008 * 0b0..Disabled. Hardware triggering is not used.
11009 * 0b1..Enabled. Use hardware triggering.
11010 */
11011#define DMA_CHANNEL_CFG_HWTRIGEN(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_HWTRIGEN_SHIFT)) & DMA_CHANNEL_CFG_HWTRIGEN_MASK)
11012#define DMA_CHANNEL_CFG_TRIGPOL_MASK (0x10U)
11013#define DMA_CHANNEL_CFG_TRIGPOL_SHIFT (4U)
11014/*! TRIGPOL - Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
11015 * 0b0..Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
11016 * 0b1..Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
11017 */
11018#define DMA_CHANNEL_CFG_TRIGPOL(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_TRIGPOL_SHIFT)) & DMA_CHANNEL_CFG_TRIGPOL_MASK)
11019#define DMA_CHANNEL_CFG_TRIGTYPE_MASK (0x20U)
11020#define DMA_CHANNEL_CFG_TRIGTYPE_SHIFT (5U)
11021/*! TRIGTYPE - Trigger Type. Selects hardware trigger as edge triggered or level triggered.
11022 * 0b0..Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
11023 * 0b1..Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER =
11024 * 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the
11025 * trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger
11026 * is, again, asserted. However, the transfer will not be paused until any remaining transfers within the
11027 * current BURSTPOWER length are completed.
11028 */
11029#define DMA_CHANNEL_CFG_TRIGTYPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_TRIGTYPE_SHIFT)) & DMA_CHANNEL_CFG_TRIGTYPE_MASK)
11030#define DMA_CHANNEL_CFG_TRIGBURST_MASK (0x40U)
11031#define DMA_CHANNEL_CFG_TRIGBURST_SHIFT (6U)
11032/*! TRIGBURST - Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
11033 * 0b0..Single transfer. Hardware trigger causes a single transfer.
11034 * 0b1..Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a
11035 * burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a
11036 * hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is
11037 * complete.
11038 */
11039#define DMA_CHANNEL_CFG_TRIGBURST(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_TRIGBURST_SHIFT)) & DMA_CHANNEL_CFG_TRIGBURST_MASK)
11040#define DMA_CHANNEL_CFG_BURSTPOWER_MASK (0xF00U)
11041#define DMA_CHANNEL_CFG_BURSTPOWER_SHIFT (8U)
11042/*! BURSTPOWER - Burst Power is used in two ways. It always selects the address wrap size when
11043 * SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register).
11044 * When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many
11045 * transfers are performed for each DMA trigger. This can be used, for example, with peripherals that
11046 * contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000:
11047 * Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size =
11048 * 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The
11049 * total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even
11050 * multiple of the burst size.
11051 */
11052#define DMA_CHANNEL_CFG_BURSTPOWER(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_BURSTPOWER_SHIFT)) & DMA_CHANNEL_CFG_BURSTPOWER_MASK)
11053#define DMA_CHANNEL_CFG_SRCBURSTWRAP_MASK (0x4000U)
11054#define DMA_CHANNEL_CFG_SRCBURSTWRAP_SHIFT (14U)
11055/*! SRCBURSTWRAP - Source Burst Wrap. When enabled, the source data address for the DMA is
11056 * 'wrapped', meaning that the source address range for each burst will be the same. As an example, this
11057 * could be used to read several sequential registers from a peripheral for each DMA burst,
11058 * reading the same registers again for each burst.
11059 * 0b0..Disabled. Source burst wrapping is not enabled for this DMA channel.
11060 * 0b1..Enabled. Source burst wrapping is enabled for this DMA channel.
11061 */
11062#define DMA_CHANNEL_CFG_SRCBURSTWRAP(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_SRCBURSTWRAP_SHIFT)) & DMA_CHANNEL_CFG_SRCBURSTWRAP_MASK)
11063#define DMA_CHANNEL_CFG_DSTBURSTWRAP_MASK (0x8000U)
11064#define DMA_CHANNEL_CFG_DSTBURSTWRAP_SHIFT (15U)
11065/*! DSTBURSTWRAP - Destination Burst Wrap. When enabled, the destination data address for the DMA is
11066 * 'wrapped', meaning that the destination address range for each burst will be the same. As an
11067 * example, this could be used to write several sequential registers to a peripheral for each DMA
11068 * burst, writing the same registers again for each burst.
11069 * 0b0..Disabled. Destination burst wrapping is not enabled for this DMA channel.
11070 * 0b1..Enabled. Destination burst wrapping is enabled for this DMA channel.
11071 */
11072#define DMA_CHANNEL_CFG_DSTBURSTWRAP(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_DSTBURSTWRAP_SHIFT)) & DMA_CHANNEL_CFG_DSTBURSTWRAP_MASK)
11073#define DMA_CHANNEL_CFG_CHPRIORITY_MASK (0x70000U)
11074#define DMA_CHANNEL_CFG_CHPRIORITY_SHIFT (16U)
11075/*! CHPRIORITY - Priority of this channel when multiple DMA requests are pending. Eight priority
11076 * levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
11077 */
11078#define DMA_CHANNEL_CFG_CHPRIORITY(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CFG_CHPRIORITY_SHIFT)) & DMA_CHANNEL_CFG_CHPRIORITY_MASK)
11079/*! @} */
11080
11081/* The count of DMA_CHANNEL_CFG */
11082#define DMA_CHANNEL_CFG_COUNT (33U)
11083
11084/*! @name CHANNEL_CTLSTAT - Control and status register for DMA channel . */
11085/*! @{ */
11086#define DMA_CHANNEL_CTLSTAT_VALIDPENDING_MASK (0x1U)
11087#define DMA_CHANNEL_CTLSTAT_VALIDPENDING_SHIFT (0U)
11088/*! VALIDPENDING - Valid pending flag for this channel. This bit is set when a 1 is written to the
11089 * corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
11090 * 0b0..No effect. No effect on DMA operation.
11091 * 0b1..Valid pending.
11092 */
11093#define DMA_CHANNEL_CTLSTAT_VALIDPENDING(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CTLSTAT_VALIDPENDING_SHIFT)) & DMA_CHANNEL_CTLSTAT_VALIDPENDING_MASK)
11094#define DMA_CHANNEL_CTLSTAT_TRIG_MASK (0x4U)
11095#define DMA_CHANNEL_CTLSTAT_TRIG_SHIFT (2U)
11096/*! TRIG - Trigger flag. Indicates that the trigger for this channel is currently set. This bit is
11097 * cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
11098 * 0b0..Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
11099 * 0b1..Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
11100 */
11101#define DMA_CHANNEL_CTLSTAT_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_CTLSTAT_TRIG_SHIFT)) & DMA_CHANNEL_CTLSTAT_TRIG_MASK)
11102/*! @} */
11103
11104/* The count of DMA_CHANNEL_CTLSTAT */
11105#define DMA_CHANNEL_CTLSTAT_COUNT (33U)
11106
11107/*! @name CHANNEL_XFERCFG - Transfer configuration register for DMA channel . */
11108/*! @{ */
11109#define DMA_CHANNEL_XFERCFG_CFGVALID_MASK (0x1U)
11110#define DMA_CHANNEL_XFERCFG_CFGVALID_SHIFT (0U)
11111/*! CFGVALID - Configuration Valid flag. This bit indicates whether the current channel descriptor
11112 * is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
11113 * 0b0..Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
11114 * 0b1..Valid. The current channel descriptor is considered valid.
11115 */
11116#define DMA_CHANNEL_XFERCFG_CFGVALID(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_CFGVALID_SHIFT)) & DMA_CHANNEL_XFERCFG_CFGVALID_MASK)
11117#define DMA_CHANNEL_XFERCFG_RELOAD_MASK (0x2U)
11118#define DMA_CHANNEL_XFERCFG_RELOAD_SHIFT (1U)
11119/*! RELOAD - Indicates whether the channel's control structure will be reloaded when the current
11120 * descriptor is exhausted. Reloading allows ping-pong and linked transfers.
11121 * 0b0..Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
11122 * 0b1..Enabled. Reload the channels' control structure when the current descriptor is exhausted.
11123 */
11124#define DMA_CHANNEL_XFERCFG_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_RELOAD_SHIFT)) & DMA_CHANNEL_XFERCFG_RELOAD_MASK)
11125#define DMA_CHANNEL_XFERCFG_SWTRIG_MASK (0x4U)
11126#define DMA_CHANNEL_XFERCFG_SWTRIG_SHIFT (2U)
11127/*! SWTRIG - Software Trigger.
11128 * 0b0..Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by
11129 * the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
11130 * 0b1..Set. When written by software, the trigger for this channel is set immediately. This feature should not
11131 * be used with level triggering when TRIGBURST = 0.
11132 */
11133#define DMA_CHANNEL_XFERCFG_SWTRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SWTRIG_SHIFT)) & DMA_CHANNEL_XFERCFG_SWTRIG_MASK)
11134#define DMA_CHANNEL_XFERCFG_CLRTRIG_MASK (0x8U)
11135#define DMA_CHANNEL_XFERCFG_CLRTRIG_SHIFT (3U)
11136/*! CLRTRIG - Clear Trigger.
11137 * 0b0..Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
11138 * 0b1..Cleared. The trigger is cleared when this descriptor is exhausted
11139 */
11140#define DMA_CHANNEL_XFERCFG_CLRTRIG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_CLRTRIG_SHIFT)) & DMA_CHANNEL_XFERCFG_CLRTRIG_MASK)
11141#define DMA_CHANNEL_XFERCFG_SETINTA_MASK (0x10U)
11142#define DMA_CHANNEL_XFERCFG_SETINTA_SHIFT (4U)
11143/*! SETINTA - Set Interrupt flag A for this channel. There is no hardware distinction between
11144 * interrupt A and B. They can be used by software to assist with more complex descriptor usage. By
11145 * convention, interrupt A may be used when only one interrupt flag is needed.
11146 * 0b0..No effect.
11147 * 0b1..Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
11148 */
11149#define DMA_CHANNEL_XFERCFG_SETINTA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SETINTA_SHIFT)) & DMA_CHANNEL_XFERCFG_SETINTA_MASK)
11150#define DMA_CHANNEL_XFERCFG_SETINTB_MASK (0x20U)
11151#define DMA_CHANNEL_XFERCFG_SETINTB_SHIFT (5U)
11152/*! SETINTB - Set Interrupt flag B for this channel. There is no hardware distinction between
11153 * interrupt A and B. They can be used by software to assist with more complex descriptor usage. By
11154 * convention, interrupt A may be used when only one interrupt flag is needed.
11155 * 0b0..No effect.
11156 * 0b1..Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
11157 */
11158#define DMA_CHANNEL_XFERCFG_SETINTB(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SETINTB_SHIFT)) & DMA_CHANNEL_XFERCFG_SETINTB_MASK)
11159#define DMA_CHANNEL_XFERCFG_WIDTH_MASK (0x300U)
11160#define DMA_CHANNEL_XFERCFG_WIDTH_SHIFT (8U)
11161/*! WIDTH - Transfer width used for this DMA channel.
11162 * 0b00..8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
11163 * 0b01..16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
11164 * 0b10..32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
11165 * 0b11..Reserved. Reserved setting, do not use.
11166 */
11167#define DMA_CHANNEL_XFERCFG_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_WIDTH_SHIFT)) & DMA_CHANNEL_XFERCFG_WIDTH_MASK)
11168#define DMA_CHANNEL_XFERCFG_SRCINC_MASK (0x3000U)
11169#define DMA_CHANNEL_XFERCFG_SRCINC_SHIFT (12U)
11170/*! SRCINC - Determines whether the source address is incremented for each DMA transfer.
11171 * 0b00..No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
11172 * 0b01..1 x width. The source address is incremented by the amount specified by Width for each transfer. This is
11173 * the usual case when the source is memory.
11174 * 0b10..2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
11175 * 0b11..4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
11176 */
11177#define DMA_CHANNEL_XFERCFG_SRCINC(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_SRCINC_SHIFT)) & DMA_CHANNEL_XFERCFG_SRCINC_MASK)
11178#define DMA_CHANNEL_XFERCFG_DSTINC_MASK (0xC000U)
11179#define DMA_CHANNEL_XFERCFG_DSTINC_SHIFT (14U)
11180/*! DSTINC - Determines whether the destination address is incremented for each DMA transfer.
11181 * 0b00..No increment. The destination address is not incremented for each transfer. This is the usual case when
11182 * the destination is a peripheral device.
11183 * 0b01..1 x width. The destination address is incremented by the amount specified by Width for each transfer.
11184 * This is the usual case when the destination is memory.
11185 * 0b10..2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
11186 * 0b11..4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
11187 */
11188#define DMA_CHANNEL_XFERCFG_DSTINC(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_DSTINC_SHIFT)) & DMA_CHANNEL_XFERCFG_DSTINC_MASK)
11189#define DMA_CHANNEL_XFERCFG_XFERCOUNT_MASK (0x3FF0000U)
11190#define DMA_CHANNEL_XFERCFG_XFERCOUNT_SHIFT (16U)
11191/*! XFERCOUNT - Total number of transfers to be performed, minus 1 encoded. The number of bytes
11192 * transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller
11193 * uses this bit field during transfer to count down. Hence, it cannot be used by software to read
11194 * back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1
11195 * transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of
11196 * 1,024 transfers will be performed.
11197 */
11198#define DMA_CHANNEL_XFERCFG_XFERCOUNT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CHANNEL_XFERCFG_XFERCOUNT_SHIFT)) & DMA_CHANNEL_XFERCFG_XFERCOUNT_MASK)
11199/*! @} */
11200
11201/* The count of DMA_CHANNEL_XFERCFG */
11202#define DMA_CHANNEL_XFERCFG_COUNT (33U)
11203
11204
11205/*!
11206 * @}
11207 */ /* end of group DMA_Register_Masks */
11208
11209
11210/* DMA - Peripheral instance base addresses */
11211#if (__ARM_FEATURE_CMSE & 0x2)
11212 /** Peripheral DMA0 base address */
11213 #define DMA0_BASE (0x50104000u)
11214 /** Peripheral DMA0 base address */
11215 #define DMA0_BASE_NS (0x40104000u)
11216 /** Peripheral DMA0 base pointer */
11217 #define DMA0 ((DMA_Type *)DMA0_BASE)
11218 /** Peripheral DMA0 base pointer */
11219 #define DMA0_NS ((DMA_Type *)DMA0_BASE_NS)
11220 /** Peripheral DMA1 base address */
11221 #define DMA1_BASE (0x50105000u)
11222 /** Peripheral DMA1 base address */
11223 #define DMA1_BASE_NS (0x40105000u)
11224 /** Peripheral DMA1 base pointer */
11225 #define DMA1 ((DMA_Type *)DMA1_BASE)
11226 /** Peripheral DMA1 base pointer */
11227 #define DMA1_NS ((DMA_Type *)DMA1_BASE_NS)
11228 /** Array initializer of DMA peripheral base addresses */
11229 #define DMA_BASE_ADDRS { DMA0_BASE, DMA1_BASE }
11230 /** Array initializer of DMA peripheral base pointers */
11231 #define DMA_BASE_PTRS { DMA0, DMA1 }
11232 /** Array initializer of DMA peripheral base addresses */
11233 #define DMA_BASE_ADDRS_NS { DMA0_BASE_NS, DMA1_BASE_NS }
11234 /** Array initializer of DMA peripheral base pointers */
11235 #define DMA_BASE_PTRS_NS { DMA0_NS, DMA1_NS }
11236#else
11237 /** Peripheral DMA0 base address */
11238 #define DMA0_BASE (0x40104000u)
11239 /** Peripheral DMA0 base pointer */
11240 #define DMA0 ((DMA_Type *)DMA0_BASE)
11241 /** Peripheral DMA1 base address */
11242 #define DMA1_BASE (0x40105000u)
11243 /** Peripheral DMA1 base pointer */
11244 #define DMA1 ((DMA_Type *)DMA1_BASE)
11245 /** Array initializer of DMA peripheral base addresses */
11246 #define DMA_BASE_ADDRS { DMA0_BASE, DMA1_BASE }
11247 /** Array initializer of DMA peripheral base pointers */
11248 #define DMA_BASE_PTRS { DMA0, DMA1 }
11249#endif
11250/** Interrupt vectors for the DMA peripheral type */
11251#define DMA_IRQS { DMA0_IRQn, DMA1_IRQn }
11252
11253/*!
11254 * @}
11255 */ /* end of group DMA_Peripheral_Access_Layer */
11256
11257
11258/* ----------------------------------------------------------------------------
11259 -- DMIC Peripheral Access Layer
11260 ---------------------------------------------------------------------------- */
11261
11262/*!
11263 * @addtogroup DMIC_Peripheral_Access_Layer DMIC Peripheral Access Layer
11264 * @{
11265 */
11266
11267/** DMIC - Register Layout Typedef */
11268typedef struct {
11269 struct { /* offset: 0x0, array step: 0x100 */
11270 __IO uint32_t OSR; /**< CIC Filter decimation rate, array offset: 0x0, array step: 0x100 */
11271 __IO uint32_t DIVHFCLK; /**< Divider for generating PDM clock from DMIC clock input, array offset: 0x4, array step: 0x100 */
11272 __IO uint32_t PREAC2FSCOEF; /**< Compensation filter for 2FS, array offset: 0x8, array step: 0x100 */
11273 __IO uint32_t PREAC4FSCOEF; /**< Compensation filter for 4FS, array offset: 0xC, array step: 0x100 */
11274 __IO uint32_t GAINSHIFT; /**< Decimator output gain adjustment, array offset: 0x10, array step: 0x100 */
11275 uint8_t RESERVED_0[108];
11276 __IO uint32_t FIFO_CTRL; /**< FIFO Control, array offset: 0x80, array step: 0x100 */
11277 __IO uint32_t FIFO_STATUS; /**< FIFO Status, array offset: 0x84, array step: 0x100 */
11278 __I uint32_t FIFO_DATA; /**< FIFO Data, array offset: 0x88, array step: 0x100 */
11279 __IO uint32_t PHY_CTRL; /**< Phy Ctrl, array offset: 0x8C, array step: 0x100 */
11280 __IO uint32_t DC_CTRL; /**< DC Filter Control, array offset: 0x90, array step: 0x100 */
11281 uint8_t RESERVED_1[108];
11282 } CHANNEL[8];
11283 uint8_t RESERVED_0[1792];
11284 __IO uint32_t CHANEN; /**< Channel Enable register, offset: 0xF00 */
11285 uint8_t RESERVED_1[12];
11286 __IO uint32_t USE2FS; /**< Use 2FS register, offset: 0xF10 */
11287 __IO uint32_t GLOBAL_SYNC_EN; /**< global sync enable, offset: 0xF14 */
11288 __IO uint32_t GLOBAL_COUNT_VAL; /**< , offset: 0xF18 */
11289 __IO uint32_t DECRESET; /**< , offset: 0xF1C */
11290 uint8_t RESERVED_2[96];
11291 __IO uint32_t HWVADGAIN; /**< HWVAD input gain register, offset: 0xF80 */
11292 __IO uint32_t HWVADHPFS; /**< HWVAD filter control register, offset: 0xF84 */
11293 __IO uint32_t HWVADST10; /**< HWVAD control register, offset: 0xF88 */
11294 __IO uint32_t HWVADRSTT; /**< HWVAD filter reset register, offset: 0xF8C */
11295 __IO uint32_t HWVADTHGN; /**< HWVAD noise estimator gain register, offset: 0xF90 */
11296 __IO uint32_t HWVADTHGS; /**< HWVAD signal estimator gain register, offset: 0xF94 */
11297 __I uint32_t HWVADLOWZ; /**< HWVAD noise envelope estimator register, offset: 0xF98 */
11298} DMIC_Type;
11299
11300/* ----------------------------------------------------------------------------
11301 -- DMIC Register Masks
11302 ---------------------------------------------------------------------------- */
11303
11304/*!
11305 * @addtogroup DMIC_Register_Masks DMIC Register Masks
11306 * @{
11307 */
11308
11309/*! @name CHANNEL_OSR - CIC Filter decimation rate */
11310/*! @{ */
11311#define DMIC_CHANNEL_OSR_OSR_MASK (0xFFU)
11312#define DMIC_CHANNEL_OSR_OSR_SHIFT (0U)
11313/*! OSR - Selects the oversample rate for the related input channel.
11314 */
11315#define DMIC_CHANNEL_OSR_OSR(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_OSR_OSR_SHIFT)) & DMIC_CHANNEL_OSR_OSR_MASK)
11316/*! @} */
11317
11318/* The count of DMIC_CHANNEL_OSR */
11319#define DMIC_CHANNEL_OSR_COUNT (8U)
11320
11321/*! @name CHANNEL_DIVHFCLK - Divider for generating PDM clock from DMIC clock input */
11322/*! @{ */
11323#define DMIC_CHANNEL_DIVHFCLK_PDMDIV_MASK (0xFU)
11324#define DMIC_CHANNEL_DIVHFCLK_PDMDIV_SHIFT (0U)
11325/*! PDMDIV - Divide by factor to create PDM Clock (enumerated type)
11326 */
11327#define DMIC_CHANNEL_DIVHFCLK_PDMDIV(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DIVHFCLK_PDMDIV_SHIFT)) & DMIC_CHANNEL_DIVHFCLK_PDMDIV_MASK)
11328/*! @} */
11329
11330/* The count of DMIC_CHANNEL_DIVHFCLK */
11331#define DMIC_CHANNEL_DIVHFCLK_COUNT (8U)
11332
11333/*! @name CHANNEL_PREAC2FSCOEF - Compensation filter for 2FS */
11334/*! @{ */
11335#define DMIC_CHANNEL_PREAC2FSCOEF_COMP_MASK (0x3U)
11336#define DMIC_CHANNEL_PREAC2FSCOEF_COMP_SHIFT (0U)
11337/*! COMP - Co-efficient choice for CIC droop compensation droop filter
11338 */
11339#define DMIC_CHANNEL_PREAC2FSCOEF_COMP(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PREAC2FSCOEF_COMP_SHIFT)) & DMIC_CHANNEL_PREAC2FSCOEF_COMP_MASK)
11340/*! @} */
11341
11342/* The count of DMIC_CHANNEL_PREAC2FSCOEF */
11343#define DMIC_CHANNEL_PREAC2FSCOEF_COUNT (8U)
11344
11345/*! @name CHANNEL_PREAC4FSCOEF - Compensation filter for 4FS */
11346/*! @{ */
11347#define DMIC_CHANNEL_PREAC4FSCOEF_COMP_MASK (0x3U)
11348#define DMIC_CHANNEL_PREAC4FSCOEF_COMP_SHIFT (0U)
11349/*! COMP - Co-efficient choice for CIC droop compensation droop filter
11350 */
11351#define DMIC_CHANNEL_PREAC4FSCOEF_COMP(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PREAC4FSCOEF_COMP_SHIFT)) & DMIC_CHANNEL_PREAC4FSCOEF_COMP_MASK)
11352/*! @} */
11353
11354/* The count of DMIC_CHANNEL_PREAC4FSCOEF */
11355#define DMIC_CHANNEL_PREAC4FSCOEF_COUNT (8U)
11356
11357/*! @name CHANNEL_GAINSHIFT - Decimator output gain adjustment */
11358/*! @{ */
11359#define DMIC_CHANNEL_GAINSHIFT_GAIN_MASK (0x3FU)
11360#define DMIC_CHANNEL_GAINSHIFT_GAIN_SHIFT (0U)
11361/*! GAIN - Gain shift for decimator output (can be positive or negative number)
11362 */
11363#define DMIC_CHANNEL_GAINSHIFT_GAIN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_GAINSHIFT_GAIN_SHIFT)) & DMIC_CHANNEL_GAINSHIFT_GAIN_MASK)
11364/*! @} */
11365
11366/* The count of DMIC_CHANNEL_GAINSHIFT */
11367#define DMIC_CHANNEL_GAINSHIFT_COUNT (8U)
11368
11369/*! @name CHANNEL_FIFO_CTRL - FIFO Control */
11370/*! @{ */
11371#define DMIC_CHANNEL_FIFO_CTRL_ENABLE_MASK (0x1U)
11372#define DMIC_CHANNEL_FIFO_CTRL_ENABLE_SHIFT (0U)
11373/*! ENABLE - FIFO enable.
11374 * 0b0..FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being
11375 * streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a
11376 * period when the data was not needed.
11377 * 0b1..FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.
11378 */
11379#define DMIC_CHANNEL_FIFO_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_ENABLE_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_ENABLE_MASK)
11380#define DMIC_CHANNEL_FIFO_CTRL_RESETN_MASK (0x2U)
11381#define DMIC_CHANNEL_FIFO_CTRL_RESETN_SHIFT (1U)
11382/*! RESETN - FIFO reset.
11383 * 0b0..Reset the FIFO.
11384 * 0b1..Normal operation
11385 */
11386#define DMIC_CHANNEL_FIFO_CTRL_RESETN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_RESETN_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_RESETN_MASK)
11387#define DMIC_CHANNEL_FIFO_CTRL_INTEN_MASK (0x4U)
11388#define DMIC_CHANNEL_FIFO_CTRL_INTEN_SHIFT (2U)
11389/*! INTEN - Interrupt enable.
11390 * 0b0..FIFO level interrupts are not enabled.
11391 * 0b1..FIFO level interrupts are enabled.
11392 */
11393#define DMIC_CHANNEL_FIFO_CTRL_INTEN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_INTEN_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_INTEN_MASK)
11394#define DMIC_CHANNEL_FIFO_CTRL_DMAEN_MASK (0x8U)
11395#define DMIC_CHANNEL_FIFO_CTRL_DMAEN_SHIFT (3U)
11396/*! DMAEN - DMA enable
11397 * 0b0..DMA requests are not enabled.
11398 * 0b1..DMA requests based on FIFO level are enabled.
11399 */
11400#define DMIC_CHANNEL_FIFO_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_DMAEN_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_DMAEN_MASK)
11401#define DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_MASK (0x1F0000U)
11402#define DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_SHIFT (16U)
11403/*! TRIGLVL - Trigger level for interrupt
11404 */
11405#define DMIC_CHANNEL_FIFO_CTRL_TRIGLVL(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_SHIFT)) & DMIC_CHANNEL_FIFO_CTRL_TRIGLVL_MASK)
11406/*! @} */
11407
11408/* The count of DMIC_CHANNEL_FIFO_CTRL */
11409#define DMIC_CHANNEL_FIFO_CTRL_COUNT (8U)
11410
11411/*! @name CHANNEL_FIFO_STATUS - FIFO Status */
11412/*! @{ */
11413#define DMIC_CHANNEL_FIFO_STATUS_INT_MASK (0x1U)
11414#define DMIC_CHANNEL_FIFO_STATUS_INT_SHIFT (0U)
11415/*! INT - Status of Interrupt (write 1 to clear)
11416 */
11417#define DMIC_CHANNEL_FIFO_STATUS_INT(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_STATUS_INT_SHIFT)) & DMIC_CHANNEL_FIFO_STATUS_INT_MASK)
11418#define DMIC_CHANNEL_FIFO_STATUS_OVERRUN_MASK (0x2U)
11419#define DMIC_CHANNEL_FIFO_STATUS_OVERRUN_SHIFT (1U)
11420/*! OVERRUN - Overrun Detected (write 1 to clear)
11421 */
11422#define DMIC_CHANNEL_FIFO_STATUS_OVERRUN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_STATUS_OVERRUN_SHIFT)) & DMIC_CHANNEL_FIFO_STATUS_OVERRUN_MASK)
11423#define DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_MASK (0x4U)
11424#define DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_SHIFT (2U)
11425/*! UNDERRUN - Underrun Detected (write 1 to clear)
11426 */
11427#define DMIC_CHANNEL_FIFO_STATUS_UNDERRUN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_SHIFT)) & DMIC_CHANNEL_FIFO_STATUS_UNDERRUN_MASK)
11428/*! @} */
11429
11430/* The count of DMIC_CHANNEL_FIFO_STATUS */
11431#define DMIC_CHANNEL_FIFO_STATUS_COUNT (8U)
11432
11433/*! @name CHANNEL_FIFO_DATA - FIFO Data */
11434/*! @{ */
11435#define DMIC_CHANNEL_FIFO_DATA_DATA_MASK (0xFFFFFFU)
11436#define DMIC_CHANNEL_FIFO_DATA_DATA_SHIFT (0U)
11437/*! DATA - PCM Data
11438 */
11439#define DMIC_CHANNEL_FIFO_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_FIFO_DATA_DATA_SHIFT)) & DMIC_CHANNEL_FIFO_DATA_DATA_MASK)
11440/*! @} */
11441
11442/* The count of DMIC_CHANNEL_FIFO_DATA */
11443#define DMIC_CHANNEL_FIFO_DATA_COUNT (8U)
11444
11445/*! @name CHANNEL_PHY_CTRL - Phy Ctrl */
11446/*! @{ */
11447#define DMIC_CHANNEL_PHY_CTRL_PHY_FALL_MASK (0x1U)
11448#define DMIC_CHANNEL_PHY_CTRL_PHY_FALL_SHIFT (0U)
11449/*! PHY_FALL - Capture DMIC on Falling edge (0 means on rising)
11450 * 0b0..Capture PDM_DATA on the rising edge of PDM_CLK.
11451 * 0b1..Capture PDM_DATA on the falling edge of PDM_CLK.
11452 */
11453#define DMIC_CHANNEL_PHY_CTRL_PHY_FALL(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PHY_CTRL_PHY_FALL_SHIFT)) & DMIC_CHANNEL_PHY_CTRL_PHY_FALL_MASK)
11454#define DMIC_CHANNEL_PHY_CTRL_PHY_HALF_MASK (0x2U)
11455#define DMIC_CHANNEL_PHY_CTRL_PHY_HALF_SHIFT (1U)
11456/*! PHY_HALF - Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
11457 * 0b0..Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.
11458 * 0b1..Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.
11459 */
11460#define DMIC_CHANNEL_PHY_CTRL_PHY_HALF(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_PHY_CTRL_PHY_HALF_SHIFT)) & DMIC_CHANNEL_PHY_CTRL_PHY_HALF_MASK)
11461/*! @} */
11462
11463/* The count of DMIC_CHANNEL_PHY_CTRL */
11464#define DMIC_CHANNEL_PHY_CTRL_COUNT (8U)
11465
11466/*! @name CHANNEL_DC_CTRL - DC Filter Control */
11467/*! @{ */
11468#define DMIC_CHANNEL_DC_CTRL_DCPOLE_MASK (0x3U)
11469#define DMIC_CHANNEL_DC_CTRL_DCPOLE_SHIFT (0U)
11470/*! DCPOLE - DC block filter
11471 * 0b00..Flat response, no filter.
11472 * 0b01..155 Hz.
11473 * 0b10..78 Hz.
11474 * 0b11..39 Hz
11475 */
11476#define DMIC_CHANNEL_DC_CTRL_DCPOLE(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_DCPOLE_SHIFT)) & DMIC_CHANNEL_DC_CTRL_DCPOLE_MASK)
11477#define DMIC_CHANNEL_DC_CTRL_DCGAIN_MASK (0xF0U)
11478#define DMIC_CHANNEL_DC_CTRL_DCGAIN_SHIFT (4U)
11479/*! DCGAIN - Fine gain adjustment in the form of a number of bits to downshift.
11480 */
11481#define DMIC_CHANNEL_DC_CTRL_DCGAIN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_DCGAIN_SHIFT)) & DMIC_CHANNEL_DC_CTRL_DCGAIN_MASK)
11482#define DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_MASK (0x100U)
11483#define DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_SHIFT (8U)
11484/*! SATURATEAT16BIT - Selects 16-bit saturation.
11485 * 0b0..Results roll over if out range and do not saturate.
11486 * 0b1..If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.
11487 */
11488#define DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_SHIFT)) & DMIC_CHANNEL_DC_CTRL_SATURATEAT16BIT_MASK)
11489#define DMIC_CHANNEL_DC_CTRL_SIGNEXTEND_MASK (0x200U)
11490#define DMIC_CHANNEL_DC_CTRL_SIGNEXTEND_SHIFT (9U)
11491/*! SIGNEXTEND - Sign extend.
11492 * 0b0..The top byte of the FIFODATA register is always 0.
11493 * 0b1..The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.
11494 */
11495#define DMIC_CHANNEL_DC_CTRL_SIGNEXTEND(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANNEL_DC_CTRL_SIGNEXTEND_SHIFT)) & DMIC_CHANNEL_DC_CTRL_SIGNEXTEND_MASK)
11496/*! @} */
11497
11498/* The count of DMIC_CHANNEL_DC_CTRL */
11499#define DMIC_CHANNEL_DC_CTRL_COUNT (8U)
11500
11501/*! @name CHANEN - Channel Enable register */
11502/*! @{ */
11503#define DMIC_CHANEN_EN_CH0_MASK (0x1U)
11504#define DMIC_CHANEN_EN_CH0_SHIFT (0U)
11505/*! EN_CH0 - Enable channel 0. When 1, PDM channel 0 is enabled.
11506 */
11507#define DMIC_CHANEN_EN_CH0(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH0_SHIFT)) & DMIC_CHANEN_EN_CH0_MASK)
11508#define DMIC_CHANEN_EN_CH1_MASK (0x2U)
11509#define DMIC_CHANEN_EN_CH1_SHIFT (1U)
11510/*! EN_CH1 - Enable channel 1. When 1, PDM channel 1 is enabled.
11511 */
11512#define DMIC_CHANEN_EN_CH1(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH1_SHIFT)) & DMIC_CHANEN_EN_CH1_MASK)
11513#define DMIC_CHANEN_EN_CH2_MASK (0x4U)
11514#define DMIC_CHANEN_EN_CH2_SHIFT (2U)
11515/*! EN_CH2 - Enable channel 2. When 1, PDM channel 2 is enabled.
11516 */
11517#define DMIC_CHANEN_EN_CH2(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH2_SHIFT)) & DMIC_CHANEN_EN_CH2_MASK)
11518#define DMIC_CHANEN_EN_CH3_MASK (0x8U)
11519#define DMIC_CHANEN_EN_CH3_SHIFT (3U)
11520/*! EN_CH3 - Enable channel 3. When 1, PDM channel 3 is enabled.
11521 */
11522#define DMIC_CHANEN_EN_CH3(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH3_SHIFT)) & DMIC_CHANEN_EN_CH3_MASK)
11523#define DMIC_CHANEN_EN_CH4_MASK (0x10U)
11524#define DMIC_CHANEN_EN_CH4_SHIFT (4U)
11525/*! EN_CH4 - Enable channel 4. When 1, PDM channel 4 is enabled.
11526 */
11527#define DMIC_CHANEN_EN_CH4(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH4_SHIFT)) & DMIC_CHANEN_EN_CH4_MASK)
11528#define DMIC_CHANEN_EN_CH5_MASK (0x20U)
11529#define DMIC_CHANEN_EN_CH5_SHIFT (5U)
11530/*! EN_CH5 - Enable channel 5. When 1, PDM channel 5 is enabled.
11531 */
11532#define DMIC_CHANEN_EN_CH5(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH5_SHIFT)) & DMIC_CHANEN_EN_CH5_MASK)
11533#define DMIC_CHANEN_EN_CH6_MASK (0x40U)
11534#define DMIC_CHANEN_EN_CH6_SHIFT (6U)
11535/*! EN_CH6 - Enable channel 6. When 1, PDM channel 6 is enabled.
11536 */
11537#define DMIC_CHANEN_EN_CH6(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH6_SHIFT)) & DMIC_CHANEN_EN_CH6_MASK)
11538#define DMIC_CHANEN_EN_CH7_MASK (0x80U)
11539#define DMIC_CHANEN_EN_CH7_SHIFT (7U)
11540/*! EN_CH7 - Enable channel 7. When 1, PDM channel 7 is enabled.
11541 */
11542#define DMIC_CHANEN_EN_CH7(x) (((uint32_t)(((uint32_t)(x)) << DMIC_CHANEN_EN_CH7_SHIFT)) & DMIC_CHANEN_EN_CH7_MASK)
11543/*! @} */
11544
11545/*! @name USE2FS - Use 2FS register */
11546/*! @{ */
11547#define DMIC_USE2FS_USE2FS_MASK (0x1U)
11548#define DMIC_USE2FS_USE2FS_SHIFT (0U)
11549/*! USE2FS - Use 2FS register
11550 * 0b0..Use 1FS output for PCM data.
11551 * 0b1..Use 2FS output for PCM data.
11552 */
11553#define DMIC_USE2FS_USE2FS(x) (((uint32_t)(((uint32_t)(x)) << DMIC_USE2FS_USE2FS_SHIFT)) & DMIC_USE2FS_USE2FS_MASK)
11554/*! @} */
11555
11556/*! @name GLOBAL_SYNC_EN - global sync enable */
11557/*! @{ */
11558#define DMIC_GLOBAL_SYNC_EN_CH_SYNC_EN_MASK (0xFFU)
11559#define DMIC_GLOBAL_SYNC_EN_CH_SYNC_EN_SHIFT (0U)
11560#define DMIC_GLOBAL_SYNC_EN_CH_SYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_GLOBAL_SYNC_EN_CH_SYNC_EN_SHIFT)) & DMIC_GLOBAL_SYNC_EN_CH_SYNC_EN_MASK)
11561/*! @} */
11562
11563/*! @name GLOBAL_COUNT_VAL - */
11564/*! @{ */
11565#define DMIC_GLOBAL_COUNT_VAL_CCOUNTVAL_MASK (0xFFFFFFFFU)
11566#define DMIC_GLOBAL_COUNT_VAL_CCOUNTVAL_SHIFT (0U)
11567#define DMIC_GLOBAL_COUNT_VAL_CCOUNTVAL(x) (((uint32_t)(((uint32_t)(x)) << DMIC_GLOBAL_COUNT_VAL_CCOUNTVAL_SHIFT)) & DMIC_GLOBAL_COUNT_VAL_CCOUNTVAL_MASK)
11568/*! @} */
11569
11570/*! @name DECRESET - */
11571/*! @{ */
11572#define DMIC_DECRESET_DECRESET_MASK (0xFFU)
11573#define DMIC_DECRESET_DECRESET_SHIFT (0U)
11574/*! DECRESET
11575 * 0b00000000..release reset to decimator
11576 * 0b00000001..assert reset to decimator Note : resets are applied in pairs. So bit 0 corresponds to channels
11577 * 0/1, bit1 corresponds to channels 2/3, bit2 to channel 4/5 and bit3 to channel 6/7
11578 */
11579#define DMIC_DECRESET_DECRESET(x) (((uint32_t)(((uint32_t)(x)) << DMIC_DECRESET_DECRESET_SHIFT)) & DMIC_DECRESET_DECRESET_MASK)
11580/*! @} */
11581
11582/*! @name HWVADGAIN - HWVAD input gain register */
11583/*! @{ */
11584#define DMIC_HWVADGAIN_INPUTGAIN_MASK (0xFU)
11585#define DMIC_HWVADGAIN_INPUTGAIN_SHIFT (0U)
11586/*! INPUTGAIN - Gain factor for input signal into HWVAD
11587 */
11588#define DMIC_HWVADGAIN_INPUTGAIN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADGAIN_INPUTGAIN_SHIFT)) & DMIC_HWVADGAIN_INPUTGAIN_MASK)
11589/*! @} */
11590
11591/*! @name HWVADHPFS - HWVAD filter control register */
11592/*! @{ */
11593#define DMIC_HWVADHPFS_HPFS_MASK (0x3U)
11594#define DMIC_HWVADHPFS_HPFS_SHIFT (0U)
11595/*! HPFS - This field chooses the High Pass filter in first part of HWVAD
11596 * 0b00..First filter by-pass.
11597 * 0b01..High pass filter with -3dB cut-off at 1750Hz.
11598 * 0b10..High pass filter with -3dB cut-off at 215Hz.
11599 * 0b11..Reserved.
11600 */
11601#define DMIC_HWVADHPFS_HPFS(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADHPFS_HPFS_SHIFT)) & DMIC_HWVADHPFS_HPFS_MASK)
11602/*! @} */
11603
11604/*! @name HWVADST10 - HWVAD control register */
11605/*! @{ */
11606#define DMIC_HWVADST10_ST10_MASK (0x1U)
11607#define DMIC_HWVADST10_ST10_SHIFT (0U)
11608/*! ST10 - 1' means enter stage 1 of VAD, ie a sound change has been detected and the HWVAD is being
11609 * allowed to settle. Use 0 when changing back to detection mode. Allow several milliseconds in
11610 * stage 1 for settling.
11611 * 0b0..Normal operation, waiting for HWVAD trigger event (stage 0).
11612 * 0b1..Reset internal interrupt flag by writing a '1' pulse.
11613 */
11614#define DMIC_HWVADST10_ST10(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADST10_ST10_SHIFT)) & DMIC_HWVADST10_ST10_MASK)
11615/*! @} */
11616
11617/*! @name HWVADRSTT - HWVAD filter reset register */
11618/*! @{ */
11619#define DMIC_HWVADRSTT_RSTT_MASK (0x1U)
11620#define DMIC_HWVADRSTT_RSTT_SHIFT (0U)
11621/*! RSTT - Reset HWVAD. Write back to 0 to release reset.
11622 */
11623#define DMIC_HWVADRSTT_RSTT(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADRSTT_RSTT_SHIFT)) & DMIC_HWVADRSTT_RSTT_MASK)
11624/*! @} */
11625
11626/*! @name HWVADTHGN - HWVAD noise estimator gain register */
11627/*! @{ */
11628#define DMIC_HWVADTHGN_THGN_MASK (0xFU)
11629#define DMIC_HWVADTHGN_THGN_SHIFT (0U)
11630/*! THGN - Gain Factor for Noise-floor - use a positive number to make average less sensitive to sudden changes
11631 */
11632#define DMIC_HWVADTHGN_THGN(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADTHGN_THGN_SHIFT)) & DMIC_HWVADTHGN_THGN_MASK)
11633/*! @} */
11634
11635/*! @name HWVADTHGS - HWVAD signal estimator gain register */
11636/*! @{ */
11637#define DMIC_HWVADTHGS_THGS_MASK (0xFU)
11638#define DMIC_HWVADTHGS_THGS_SHIFT (0U)
11639/*! THGS - Signal Gain factor - use a postive number to make current signal stand out more over longer term average
11640 */
11641#define DMIC_HWVADTHGS_THGS(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADTHGS_THGS_SHIFT)) & DMIC_HWVADTHGS_THGS_MASK)
11642/*! @} */
11643
11644/*! @name HWVADLOWZ - HWVAD noise envelope estimator register */
11645/*! @{ */
11646#define DMIC_HWVADLOWZ_LOWZ_MASK (0xFFFFU)
11647#define DMIC_HWVADLOWZ_LOWZ_SHIFT (0U)
11648/*! LOWZ - Average noise-floor value
11649 */
11650#define DMIC_HWVADLOWZ_LOWZ(x) (((uint32_t)(((uint32_t)(x)) << DMIC_HWVADLOWZ_LOWZ_SHIFT)) & DMIC_HWVADLOWZ_LOWZ_MASK)
11651/*! @} */
11652
11653
11654/*!
11655 * @}
11656 */ /* end of group DMIC_Register_Masks */
11657
11658
11659/* DMIC - Peripheral instance base addresses */
11660#if (__ARM_FEATURE_CMSE & 0x2)
11661 /** Peripheral DMIC0 base address */
11662 #define DMIC0_BASE (0x50121000u)
11663 /** Peripheral DMIC0 base address */
11664 #define DMIC0_BASE_NS (0x40121000u)
11665 /** Peripheral DMIC0 base pointer */
11666 #define DMIC0 ((DMIC_Type *)DMIC0_BASE)
11667 /** Peripheral DMIC0 base pointer */
11668 #define DMIC0_NS ((DMIC_Type *)DMIC0_BASE_NS)
11669 /** Array initializer of DMIC peripheral base addresses */
11670 #define DMIC_BASE_ADDRS { DMIC0_BASE }
11671 /** Array initializer of DMIC peripheral base pointers */
11672 #define DMIC_BASE_PTRS { DMIC0 }
11673 /** Array initializer of DMIC peripheral base addresses */
11674 #define DMIC_BASE_ADDRS_NS { DMIC0_BASE_NS }
11675 /** Array initializer of DMIC peripheral base pointers */
11676 #define DMIC_BASE_PTRS_NS { DMIC0_NS }
11677#else
11678 /** Peripheral DMIC0 base address */
11679 #define DMIC0_BASE (0x40121000u)
11680 /** Peripheral DMIC0 base pointer */
11681 #define DMIC0 ((DMIC_Type *)DMIC0_BASE)
11682 /** Array initializer of DMIC peripheral base addresses */
11683 #define DMIC_BASE_ADDRS { DMIC0_BASE }
11684 /** Array initializer of DMIC peripheral base pointers */
11685 #define DMIC_BASE_PTRS { DMIC0 }
11686#endif
11687/** Interrupt vectors for the DMIC peripheral type */
11688#define DMIC_IRQS { DMIC0_IRQn }
11689#define DMIC_HWVAD_IRQS { HWVAD0_IRQn }
11690
11691/*!
11692 * @}
11693 */ /* end of group DMIC_Peripheral_Access_Layer */
11694
11695
11696/* ----------------------------------------------------------------------------
11697 -- FLEXCOMM Peripheral Access Layer
11698 ---------------------------------------------------------------------------- */
11699
11700/*!
11701 * @addtogroup FLEXCOMM_Peripheral_Access_Layer FLEXCOMM Peripheral Access Layer
11702 * @{
11703 */
11704
11705/** FLEXCOMM - Register Layout Typedef */
11706typedef struct {
11707 uint8_t RESERVED_0[4088];
11708 __IO uint32_t PSELID; /**< Peripheral Select and Flexcomm ID register., offset: 0xFF8 */
11709 __I uint32_t PID; /**< Peripheral identification register., offset: 0xFFC */
11710} FLEXCOMM_Type;
11711
11712/* ----------------------------------------------------------------------------
11713 -- FLEXCOMM Register Masks
11714 ---------------------------------------------------------------------------- */
11715
11716/*!
11717 * @addtogroup FLEXCOMM_Register_Masks FLEXCOMM Register Masks
11718 * @{
11719 */
11720
11721/*! @name PSELID - Peripheral Select and Flexcomm ID register. */
11722/*! @{ */
11723#define FLEXCOMM_PSELID_PERSEL_MASK (0x7U)
11724#define FLEXCOMM_PSELID_PERSEL_SHIFT (0U)
11725/*! PERSEL - Peripheral Select. This field is writable by software.
11726 * 0b000..No peripheral selected.
11727 * 0b001..USART function selected.
11728 * 0b010..SPI function selected.
11729 * 0b011..I2C function selected.
11730 * 0b100..I2S transmit function selected.
11731 * 0b101..I2S receive function selected.
11732 * 0b110..Reserved
11733 * 0b111..Reserved
11734 */
11735#define FLEXCOMM_PSELID_PERSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_PERSEL_SHIFT)) & FLEXCOMM_PSELID_PERSEL_MASK)
11736#define FLEXCOMM_PSELID_LOCK_MASK (0x8U)
11737#define FLEXCOMM_PSELID_LOCK_SHIFT (3U)
11738/*! LOCK - Lock the peripheral select. This field is writable by software.
11739 * 0b0..Peripheral select can be changed by software.
11740 * 0b1..Peripheral select is locked and cannot be changed until this Flexcomm or the entire device is reset.
11741 */
11742#define FLEXCOMM_PSELID_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_LOCK_SHIFT)) & FLEXCOMM_PSELID_LOCK_MASK)
11743#define FLEXCOMM_PSELID_USARTPRESENT_MASK (0x10U)
11744#define FLEXCOMM_PSELID_USARTPRESENT_SHIFT (4U)
11745/*! USARTPRESENT - USART present indicator. This field is Read-only.
11746 * 0b0..This Flexcomm does not include the USART function.
11747 * 0b1..This Flexcomm includes the USART function.
11748 */
11749#define FLEXCOMM_PSELID_USARTPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_USARTPRESENT_SHIFT)) & FLEXCOMM_PSELID_USARTPRESENT_MASK)
11750#define FLEXCOMM_PSELID_SPIPRESENT_MASK (0x20U)
11751#define FLEXCOMM_PSELID_SPIPRESENT_SHIFT (5U)
11752/*! SPIPRESENT - SPI present indicator. This field is Read-only.
11753 * 0b0..This Flexcomm does not include the SPI function.
11754 * 0b1..This Flexcomm includes the SPI function.
11755 */
11756#define FLEXCOMM_PSELID_SPIPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_SPIPRESENT_SHIFT)) & FLEXCOMM_PSELID_SPIPRESENT_MASK)
11757#define FLEXCOMM_PSELID_I2CPRESENT_MASK (0x40U)
11758#define FLEXCOMM_PSELID_I2CPRESENT_SHIFT (6U)
11759/*! I2CPRESENT - I2C present indicator. This field is Read-only.
11760 * 0b0..This Flexcomm does not include the I2C function.
11761 * 0b1..This Flexcomm includes the I2C function.
11762 */
11763#define FLEXCOMM_PSELID_I2CPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_I2CPRESENT_SHIFT)) & FLEXCOMM_PSELID_I2CPRESENT_MASK)
11764#define FLEXCOMM_PSELID_I2SPRESENT_MASK (0x80U)
11765#define FLEXCOMM_PSELID_I2SPRESENT_SHIFT (7U)
11766/*! I2SPRESENT - I 2S present indicator. This field is Read-only.
11767 * 0b0..This Flexcomm does not include the I2S function.
11768 * 0b1..This Flexcomm includes the I2S function.
11769 */
11770#define FLEXCOMM_PSELID_I2SPRESENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_I2SPRESENT_SHIFT)) & FLEXCOMM_PSELID_I2SPRESENT_MASK)
11771#define FLEXCOMM_PSELID_ID_MASK (0xFFFFF000U)
11772#define FLEXCOMM_PSELID_ID_SHIFT (12U)
11773/*! ID - Flexcomm ID.
11774 */
11775#define FLEXCOMM_PSELID_ID(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PSELID_ID_SHIFT)) & FLEXCOMM_PSELID_ID_MASK)
11776/*! @} */
11777
11778/*! @name PID - Peripheral identification register. */
11779/*! @{ */
11780#define FLEXCOMM_PID_Minor_Rev_MASK (0xF00U)
11781#define FLEXCOMM_PID_Minor_Rev_SHIFT (8U)
11782/*! Minor_Rev - Minor revision of module implementation.
11783 */
11784#define FLEXCOMM_PID_Minor_Rev(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PID_Minor_Rev_SHIFT)) & FLEXCOMM_PID_Minor_Rev_MASK)
11785#define FLEXCOMM_PID_Major_Rev_MASK (0xF000U)
11786#define FLEXCOMM_PID_Major_Rev_SHIFT (12U)
11787/*! Major_Rev - Major revision of module implementation.
11788 */
11789#define FLEXCOMM_PID_Major_Rev(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PID_Major_Rev_SHIFT)) & FLEXCOMM_PID_Major_Rev_MASK)
11790#define FLEXCOMM_PID_ID_MASK (0xFFFF0000U)
11791#define FLEXCOMM_PID_ID_SHIFT (16U)
11792/*! ID - Module identifier for the selected function.
11793 */
11794#define FLEXCOMM_PID_ID(x) (((uint32_t)(((uint32_t)(x)) << FLEXCOMM_PID_ID_SHIFT)) & FLEXCOMM_PID_ID_MASK)
11795/*! @} */
11796
11797
11798/*!
11799 * @}
11800 */ /* end of group FLEXCOMM_Register_Masks */
11801
11802
11803/* FLEXCOMM - Peripheral instance base addresses */
11804#if (__ARM_FEATURE_CMSE & 0x2)
11805 /** Peripheral FLEXCOMM0 base address */
11806 #define FLEXCOMM0_BASE (0x50106000u)
11807 /** Peripheral FLEXCOMM0 base address */
11808 #define FLEXCOMM0_BASE_NS (0x40106000u)
11809 /** Peripheral FLEXCOMM0 base pointer */
11810 #define FLEXCOMM0 ((FLEXCOMM_Type *)FLEXCOMM0_BASE)
11811 /** Peripheral FLEXCOMM0 base pointer */
11812 #define FLEXCOMM0_NS ((FLEXCOMM_Type *)FLEXCOMM0_BASE_NS)
11813 /** Peripheral FLEXCOMM1 base address */
11814 #define FLEXCOMM1_BASE (0x50107000u)
11815 /** Peripheral FLEXCOMM1 base address */
11816 #define FLEXCOMM1_BASE_NS (0x40107000u)
11817 /** Peripheral FLEXCOMM1 base pointer */
11818 #define FLEXCOMM1 ((FLEXCOMM_Type *)FLEXCOMM1_BASE)
11819 /** Peripheral FLEXCOMM1 base pointer */
11820 #define FLEXCOMM1_NS ((FLEXCOMM_Type *)FLEXCOMM1_BASE_NS)
11821 /** Peripheral FLEXCOMM2 base address */
11822 #define FLEXCOMM2_BASE (0x50108000u)
11823 /** Peripheral FLEXCOMM2 base address */
11824 #define FLEXCOMM2_BASE_NS (0x40108000u)
11825 /** Peripheral FLEXCOMM2 base pointer */
11826 #define FLEXCOMM2 ((FLEXCOMM_Type *)FLEXCOMM2_BASE)
11827 /** Peripheral FLEXCOMM2 base pointer */
11828 #define FLEXCOMM2_NS ((FLEXCOMM_Type *)FLEXCOMM2_BASE_NS)
11829 /** Peripheral FLEXCOMM3 base address */
11830 #define FLEXCOMM3_BASE (0x50109000u)
11831 /** Peripheral FLEXCOMM3 base address */
11832 #define FLEXCOMM3_BASE_NS (0x40109000u)
11833 /** Peripheral FLEXCOMM3 base pointer */
11834 #define FLEXCOMM3 ((FLEXCOMM_Type *)FLEXCOMM3_BASE)
11835 /** Peripheral FLEXCOMM3 base pointer */
11836 #define FLEXCOMM3_NS ((FLEXCOMM_Type *)FLEXCOMM3_BASE_NS)
11837 /** Peripheral FLEXCOMM4 base address */
11838 #define FLEXCOMM4_BASE (0x50122000u)
11839 /** Peripheral FLEXCOMM4 base address */
11840 #define FLEXCOMM4_BASE_NS (0x40122000u)
11841 /** Peripheral FLEXCOMM4 base pointer */
11842 #define FLEXCOMM4 ((FLEXCOMM_Type *)FLEXCOMM4_BASE)
11843 /** Peripheral FLEXCOMM4 base pointer */
11844 #define FLEXCOMM4_NS ((FLEXCOMM_Type *)FLEXCOMM4_BASE_NS)
11845 /** Peripheral FLEXCOMM5 base address */
11846 #define FLEXCOMM5_BASE (0x50123000u)
11847 /** Peripheral FLEXCOMM5 base address */
11848 #define FLEXCOMM5_BASE_NS (0x40123000u)
11849 /** Peripheral FLEXCOMM5 base pointer */
11850 #define FLEXCOMM5 ((FLEXCOMM_Type *)FLEXCOMM5_BASE)
11851 /** Peripheral FLEXCOMM5 base pointer */
11852 #define FLEXCOMM5_NS ((FLEXCOMM_Type *)FLEXCOMM5_BASE_NS)
11853 /** Peripheral FLEXCOMM6 base address */
11854 #define FLEXCOMM6_BASE (0x50124000u)
11855 /** Peripheral FLEXCOMM6 base address */
11856 #define FLEXCOMM6_BASE_NS (0x40124000u)
11857 /** Peripheral FLEXCOMM6 base pointer */
11858 #define FLEXCOMM6 ((FLEXCOMM_Type *)FLEXCOMM6_BASE)
11859 /** Peripheral FLEXCOMM6 base pointer */
11860 #define FLEXCOMM6_NS ((FLEXCOMM_Type *)FLEXCOMM6_BASE_NS)
11861 /** Peripheral FLEXCOMM7 base address */
11862 #define FLEXCOMM7_BASE (0x50125000u)
11863 /** Peripheral FLEXCOMM7 base address */
11864 #define FLEXCOMM7_BASE_NS (0x40125000u)
11865 /** Peripheral FLEXCOMM7 base pointer */
11866 #define FLEXCOMM7 ((FLEXCOMM_Type *)FLEXCOMM7_BASE)
11867 /** Peripheral FLEXCOMM7 base pointer */
11868 #define FLEXCOMM7_NS ((FLEXCOMM_Type *)FLEXCOMM7_BASE_NS)
11869 /** Peripheral FLEXCOMM14 base address */
11870 #define FLEXCOMM14_BASE (0x50126000u)
11871 /** Peripheral FLEXCOMM14 base address */
11872 #define FLEXCOMM14_BASE_NS (0x40126000u)
11873 /** Peripheral FLEXCOMM14 base pointer */
11874 #define FLEXCOMM14 ((FLEXCOMM_Type *)FLEXCOMM14_BASE)
11875 /** Peripheral FLEXCOMM14 base pointer */
11876 #define FLEXCOMM14_NS ((FLEXCOMM_Type *)FLEXCOMM14_BASE_NS)
11877 /** Peripheral FLEXCOMM15 base address */
11878 #define FLEXCOMM15_BASE (0x50127000u)
11879 /** Peripheral FLEXCOMM15 base address */
11880 #define FLEXCOMM15_BASE_NS (0x40127000u)
11881 /** Peripheral FLEXCOMM15 base pointer */
11882 #define FLEXCOMM15 ((FLEXCOMM_Type *)FLEXCOMM15_BASE)
11883 /** Peripheral FLEXCOMM15 base pointer */
11884 #define FLEXCOMM15_NS ((FLEXCOMM_Type *)FLEXCOMM15_BASE_NS)
11885 /** Array initializer of FLEXCOMM peripheral base addresses */
11886 #define FLEXCOMM_BASE_ADDRS { FLEXCOMM0_BASE, FLEXCOMM1_BASE, FLEXCOMM2_BASE, FLEXCOMM3_BASE, FLEXCOMM4_BASE, FLEXCOMM5_BASE, FLEXCOMM6_BASE, FLEXCOMM7_BASE, FLEXCOMM14_BASE, FLEXCOMM15_BASE }
11887 /** Array initializer of FLEXCOMM peripheral base pointers */
11888 #define FLEXCOMM_BASE_PTRS { FLEXCOMM0, FLEXCOMM1, FLEXCOMM2, FLEXCOMM3, FLEXCOMM4, FLEXCOMM5, FLEXCOMM6, FLEXCOMM7, FLEXCOMM14, FLEXCOMM15 }
11889 /** Array initializer of FLEXCOMM peripheral base addresses */
11890 #define FLEXCOMM_BASE_ADDRS_NS { FLEXCOMM0_BASE_NS, FLEXCOMM1_BASE_NS, FLEXCOMM2_BASE_NS, FLEXCOMM3_BASE_NS, FLEXCOMM4_BASE_NS, FLEXCOMM5_BASE_NS, FLEXCOMM6_BASE_NS, FLEXCOMM7_BASE_NS, FLEXCOMM14_BASE_NS, FLEXCOMM15_BASE_NS }
11891 /** Array initializer of FLEXCOMM peripheral base pointers */
11892 #define FLEXCOMM_BASE_PTRS_NS { FLEXCOMM0_NS, FLEXCOMM1_NS, FLEXCOMM2_NS, FLEXCOMM3_NS, FLEXCOMM4_NS, FLEXCOMM5_NS, FLEXCOMM6_NS, FLEXCOMM7_NS, FLEXCOMM14_NS, FLEXCOMM15_NS }
11893#else
11894 /** Peripheral FLEXCOMM0 base address */
11895 #define FLEXCOMM0_BASE (0x40106000u)
11896 /** Peripheral FLEXCOMM0 base pointer */
11897 #define FLEXCOMM0 ((FLEXCOMM_Type *)FLEXCOMM0_BASE)
11898 /** Peripheral FLEXCOMM1 base address */
11899 #define FLEXCOMM1_BASE (0x40107000u)
11900 /** Peripheral FLEXCOMM1 base pointer */
11901 #define FLEXCOMM1 ((FLEXCOMM_Type *)FLEXCOMM1_BASE)
11902 /** Peripheral FLEXCOMM2 base address */
11903 #define FLEXCOMM2_BASE (0x40108000u)
11904 /** Peripheral FLEXCOMM2 base pointer */
11905 #define FLEXCOMM2 ((FLEXCOMM_Type *)FLEXCOMM2_BASE)
11906 /** Peripheral FLEXCOMM3 base address */
11907 #define FLEXCOMM3_BASE (0x40109000u)
11908 /** Peripheral FLEXCOMM3 base pointer */
11909 #define FLEXCOMM3 ((FLEXCOMM_Type *)FLEXCOMM3_BASE)
11910 /** Peripheral FLEXCOMM4 base address */
11911 #define FLEXCOMM4_BASE (0x40122000u)
11912 /** Peripheral FLEXCOMM4 base pointer */
11913 #define FLEXCOMM4 ((FLEXCOMM_Type *)FLEXCOMM4_BASE)
11914 /** Peripheral FLEXCOMM5 base address */
11915 #define FLEXCOMM5_BASE (0x40123000u)
11916 /** Peripheral FLEXCOMM5 base pointer */
11917 #define FLEXCOMM5 ((FLEXCOMM_Type *)FLEXCOMM5_BASE)
11918 /** Peripheral FLEXCOMM6 base address */
11919 #define FLEXCOMM6_BASE (0x40124000u)
11920 /** Peripheral FLEXCOMM6 base pointer */
11921 #define FLEXCOMM6 ((FLEXCOMM_Type *)FLEXCOMM6_BASE)
11922 /** Peripheral FLEXCOMM7 base address */
11923 #define FLEXCOMM7_BASE (0x40125000u)
11924 /** Peripheral FLEXCOMM7 base pointer */
11925 #define FLEXCOMM7 ((FLEXCOMM_Type *)FLEXCOMM7_BASE)
11926 /** Peripheral FLEXCOMM14 base address */
11927 #define FLEXCOMM14_BASE (0x40126000u)
11928 /** Peripheral FLEXCOMM14 base pointer */
11929 #define FLEXCOMM14 ((FLEXCOMM_Type *)FLEXCOMM14_BASE)
11930 /** Peripheral FLEXCOMM15 base address */
11931 #define FLEXCOMM15_BASE (0x40127000u)
11932 /** Peripheral FLEXCOMM15 base pointer */
11933 #define FLEXCOMM15 ((FLEXCOMM_Type *)FLEXCOMM15_BASE)
11934 /** Array initializer of FLEXCOMM peripheral base addresses */
11935 #define FLEXCOMM_BASE_ADDRS { FLEXCOMM0_BASE, FLEXCOMM1_BASE, FLEXCOMM2_BASE, FLEXCOMM3_BASE, FLEXCOMM4_BASE, FLEXCOMM5_BASE, FLEXCOMM6_BASE, FLEXCOMM7_BASE, FLEXCOMM14_BASE, FLEXCOMM15_BASE }
11936 /** Array initializer of FLEXCOMM peripheral base pointers */
11937 #define FLEXCOMM_BASE_PTRS { FLEXCOMM0, FLEXCOMM1, FLEXCOMM2, FLEXCOMM3, FLEXCOMM4, FLEXCOMM5, FLEXCOMM6, FLEXCOMM7, FLEXCOMM14, FLEXCOMM15 }
11938#endif
11939/** Interrupt vectors for the FLEXCOMM peripheral type */
11940#define FLEXCOMM_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM14_IRQn, FLEXCOMM15_IRQn }
11941
11942/*!
11943 * @}
11944 */ /* end of group FLEXCOMM_Peripheral_Access_Layer */
11945
11946
11947/* ----------------------------------------------------------------------------
11948 -- FLEXSPI Peripheral Access Layer
11949 ---------------------------------------------------------------------------- */
11950
11951/*!
11952 * @addtogroup FLEXSPI_Peripheral_Access_Layer FLEXSPI Peripheral Access Layer
11953 * @{
11954 */
11955
11956/** FLEXSPI - Register Layout Typedef */
11957typedef struct {
11958 __IO uint32_t MCR0; /**< Module Control Register 0, offset: 0x0 */
11959 __IO uint32_t MCR1; /**< Module Control Register 1, offset: 0x4 */
11960 __IO uint32_t MCR2; /**< Module Control Register 2, offset: 0x8 */
11961 __IO uint32_t AHBCR; /**< AHB Bus Control Register, offset: 0xC */
11962 __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x10 */
11963 __IO uint32_t INTR; /**< Interrupt Register, offset: 0x14 */
11964 __IO uint32_t LUTKEY; /**< LUT Key Register, offset: 0x18 */
11965 __IO uint32_t LUTCR; /**< LUT Control Register, offset: 0x1C */
11966 __IO uint32_t AHBRXBUFCR0[8]; /**< AHB RX Buffer 0 Control Register 0..AHB RX Buffer 7 Control Register 0, array offset: 0x20, array step: 0x4 */
11967 uint8_t RESERVED_0[32];
11968 __IO uint32_t FLSHCR0[4]; /**< Flash Control Register 0, array offset: 0x60, array step: 0x4 */
11969 __IO uint32_t FLSHCR1[4]; /**< Flash Control Register 1, array offset: 0x70, array step: 0x4 */
11970 __IO uint32_t FLSHCR2[4]; /**< Flash Control Register 2, array offset: 0x80, array step: 0x4 */
11971 uint8_t RESERVED_1[4];
11972 __IO uint32_t FLSHCR4; /**< Flash Control Register 4, offset: 0x94 */
11973 uint8_t RESERVED_2[8];
11974 __IO uint32_t IPCR0; /**< IP Control Register 0, offset: 0xA0 */
11975 __IO uint32_t IPCR1; /**< IP Control Register 1, offset: 0xA4 */
11976 uint8_t RESERVED_3[8];
11977 __IO uint32_t IPCMD; /**< IP Command Register, offset: 0xB0 */
11978 __IO uint32_t DLPR; /**< Data Learn Pattern Register, offset: 0xB4 */
11979 __IO uint32_t IPRXFCR; /**< IP RX FIFO Control Register, offset: 0xB8 */
11980 __IO uint32_t IPTXFCR; /**< IP TX FIFO Control Register, offset: 0xBC */
11981 __IO uint32_t DLLCR[2]; /**< DLL Control Register 0, array offset: 0xC0, array step: 0x4 */
11982 uint8_t RESERVED_4[24];
11983 __I uint32_t STS0; /**< Status Register 0, offset: 0xE0 */
11984 __I uint32_t STS1; /**< Status Register 1, offset: 0xE4 */
11985 __I uint32_t STS2; /**< Status Register 2, offset: 0xE8 */
11986 __I uint32_t AHBSPNDSTS; /**< AHB Suspend Status Register, offset: 0xEC */
11987 __I uint32_t IPRXFSTS; /**< IP RX FIFO Status Register, offset: 0xF0 */
11988 __I uint32_t IPTXFSTS; /**< IP TX FIFO Status Register, offset: 0xF4 */
11989 uint8_t RESERVED_5[8];
11990 __I uint32_t RFDR[32]; /**< IP RX FIFO Data Register 0..IP RX FIFO Data Register 31, array offset: 0x100, array step: 0x4 */
11991 __O uint32_t TFDR[32]; /**< IP TX FIFO Data Register 0..IP TX FIFO Data Register 31, array offset: 0x180, array step: 0x4 */
11992 __IO uint32_t LUT[128]; /**< LUT 0..LUT 127, array offset: 0x200, array step: 0x4 */
11993} FLEXSPI_Type;
11994
11995/* ----------------------------------------------------------------------------
11996 -- FLEXSPI Register Masks
11997 ---------------------------------------------------------------------------- */
11998
11999/*!
12000 * @addtogroup FLEXSPI_Register_Masks FLEXSPI Register Masks
12001 * @{
12002 */
12003
12004/*! @name MCR0 - Module Control Register 0 */
12005/*! @{ */
12006#define FLEXSPI_MCR0_SWRESET_MASK (0x1U)
12007#define FLEXSPI_MCR0_SWRESET_SHIFT (0U)
12008/*! SWRESET - Software Reset
12009 */
12010#define FLEXSPI_MCR0_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SWRESET_SHIFT)) & FLEXSPI_MCR0_SWRESET_MASK)
12011#define FLEXSPI_MCR0_MDIS_MASK (0x2U)
12012#define FLEXSPI_MCR0_MDIS_SHIFT (1U)
12013/*! MDIS - Module Disable
12014 */
12015#define FLEXSPI_MCR0_MDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_MDIS_SHIFT)) & FLEXSPI_MCR0_MDIS_MASK)
12016#define FLEXSPI_MCR0_RXCLKSRC_MASK (0x30U)
12017#define FLEXSPI_MCR0_RXCLKSRC_SHIFT (4U)
12018/*! RXCLKSRC - Sample Clock source selection for Flash Reading
12019 * 0b00..Dummy Read strobe generated by FlexSPI Controller and loopback internally.
12020 * 0b01..Dummy Read strobe generated by FlexSPI Controller and loopback from DQS pad.
12021 * 0b10..Reserved
12022 * 0b11..Flash provided Read strobe and input from DQS pad
12023 */
12024#define FLEXSPI_MCR0_RXCLKSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_RXCLKSRC_SHIFT)) & FLEXSPI_MCR0_RXCLKSRC_MASK)
12025#define FLEXSPI_MCR0_SERCLKDIV_MASK (0x700U)
12026#define FLEXSPI_MCR0_SERCLKDIV_SHIFT (8U)
12027/*! SERCLKDIV - The serial root clock could be divided inside FlexSPI wrapper. Refer Clocks chapter for more details on clocking.
12028 * 0b000..Divided by 1
12029 * 0b001..Divided by 2
12030 * 0b010..Divided by 3
12031 * 0b011..Divided by 4
12032 * 0b100..Divided by 5
12033 * 0b101..Divided by 6
12034 * 0b110..Divided by 7
12035 * 0b111..Divided by 8
12036 */
12037#define FLEXSPI_MCR0_SERCLKDIV(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SERCLKDIV_SHIFT)) & FLEXSPI_MCR0_SERCLKDIV_MASK)
12038#define FLEXSPI_MCR0_HSEN_MASK (0x800U)
12039#define FLEXSPI_MCR0_HSEN_SHIFT (11U)
12040/*! HSEN - Half Speed Serial Flash access Enable.
12041 * 0b0..Disable divide by 2 of serial flash clock for half speed commands.
12042 * 0b1..Enable divide by 2 of serial flash clock for half speed commands.
12043 */
12044#define FLEXSPI_MCR0_HSEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_HSEN_SHIFT)) & FLEXSPI_MCR0_HSEN_MASK)
12045#define FLEXSPI_MCR0_DOZEEN_MASK (0x1000U)
12046#define FLEXSPI_MCR0_DOZEEN_SHIFT (12U)
12047/*! DOZEEN - Doze mode enable bit
12048 * 0b0..Doze mode support disabled. AHB clock and serial clock will not be gated off when there is doze mode request from system.
12049 * 0b1..Doze mode support enabled. AHB clock and serial clock will be gated off when there is doze mode request from system.
12050 */
12051#define FLEXSPI_MCR0_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_DOZEEN_SHIFT)) & FLEXSPI_MCR0_DOZEEN_MASK)
12052#define FLEXSPI_MCR0_COMBINATIONEN_MASK (0x2000U)
12053#define FLEXSPI_MCR0_COMBINATIONEN_SHIFT (13U)
12054/*! COMBINATIONEN - This bit is to support Flash Octal mode access by combining Port A and B Data pins (A_DATA[3:0] and B_DATA[3:0]).
12055 * 0b0..Disable.
12056 * 0b1..Enable.
12057 */
12058#define FLEXSPI_MCR0_COMBINATIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_COMBINATIONEN_SHIFT)) & FLEXSPI_MCR0_COMBINATIONEN_MASK)
12059#define FLEXSPI_MCR0_SCKFREERUNEN_MASK (0x4000U)
12060#define FLEXSPI_MCR0_SCKFREERUNEN_SHIFT (14U)
12061/*! SCKFREERUNEN - This bit is used to force SCLK output free-running. For FPGA applications,
12062 * external device may use SCLK as reference clock to its internal PLL. If SCLK free-running is
12063 * enabled, data sampling with loopback clock from SCLK pad is not supported (MCR0[RXCLKSRC]=2).
12064 * 0b0..Disable.
12065 * 0b1..Enable.
12066 */
12067#define FLEXSPI_MCR0_SCKFREERUNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SCKFREERUNEN_SHIFT)) & FLEXSPI_MCR0_SCKFREERUNEN_MASK)
12068#define FLEXSPI_MCR0_LEARNEN_MASK (0x8000U)
12069#define FLEXSPI_MCR0_LEARNEN_SHIFT (15U)
12070/*! LEARNEN - This bit is used to enable/disable data learning feature. When data learning is
12071 * disabled, the sampling clock phase 0 is always used for RX data sampling even if LEARN instruction
12072 * is correctly executed.
12073 * 0b0..Disable.
12074 * 0b1..Enable.
12075 */
12076#define FLEXSPI_MCR0_LEARNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_LEARNEN_SHIFT)) & FLEXSPI_MCR0_LEARNEN_MASK)
12077#define FLEXSPI_MCR0_IPGRANTWAIT_MASK (0xFF0000U)
12078#define FLEXSPI_MCR0_IPGRANTWAIT_SHIFT (16U)
12079/*! IPGRANTWAIT - Time out wait cycle for IP command grant.
12080 */
12081#define FLEXSPI_MCR0_IPGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_IPGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_IPGRANTWAIT_MASK)
12082#define FLEXSPI_MCR0_AHBGRANTWAIT_MASK (0xFF000000U)
12083#define FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT (24U)
12084/*! AHBGRANTWAIT - Timeout wait cycle for AHB command grant.
12085 */
12086#define FLEXSPI_MCR0_AHBGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_AHBGRANTWAIT_MASK)
12087/*! @} */
12088
12089/*! @name MCR1 - Module Control Register 1 */
12090/*! @{ */
12091#define FLEXSPI_MCR1_AHBBUSWAIT_MASK (0xFFFFU)
12092#define FLEXSPI_MCR1_AHBBUSWAIT_SHIFT (0U)
12093#define FLEXSPI_MCR1_AHBBUSWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_AHBBUSWAIT_SHIFT)) & FLEXSPI_MCR1_AHBBUSWAIT_MASK)
12094#define FLEXSPI_MCR1_SEQWAIT_MASK (0xFFFF0000U)
12095#define FLEXSPI_MCR1_SEQWAIT_SHIFT (16U)
12096#define FLEXSPI_MCR1_SEQWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_SEQWAIT_SHIFT)) & FLEXSPI_MCR1_SEQWAIT_MASK)
12097/*! @} */
12098
12099/*! @name MCR2 - Module Control Register 2 */
12100/*! @{ */
12101#define FLEXSPI_MCR2_CLRAHBBUFOPT_MASK (0x800U)
12102#define FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT (11U)
12103/*! CLRAHBBUFOPT - This bit determines whether AHB RX Buffer and AHB TX Buffer will be cleaned
12104 * automatically when FlexSPI returns STOP mode ACK. Software should set this bit if AHB RX Buffer or
12105 * AHB TX Buffer will be powered off in STOP mode. Otherwise AHB read access after exiting STOP
12106 * mode may hit AHB RX Buffer or AHB TX Buffer but their data entries are invalid.
12107 * 0b0..AHB RX/TX Buffer will not be cleaned automatically when FlexSPI return Stop mode ACK.
12108 * 0b1..AHB RX/TX Buffer will be cleaned automatically when FlexSPI return Stop mode ACK.
12109 */
12110#define FLEXSPI_MCR2_CLRAHBBUFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT)) & FLEXSPI_MCR2_CLRAHBBUFOPT_MASK)
12111#define FLEXSPI_MCR2_CLRLEARNPHASE_MASK (0x4000U)
12112#define FLEXSPI_MCR2_CLRLEARNPHASE_SHIFT (14U)
12113/*! CLRLEARNPHASE - The sampling clock phase selection will be reset to phase 0 when this bit is
12114 * written with 0x1. This bit will be auto-cleared immediately.
12115 */
12116#define FLEXSPI_MCR2_CLRLEARNPHASE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRLEARNPHASE_SHIFT)) & FLEXSPI_MCR2_CLRLEARNPHASE_MASK)
12117#define FLEXSPI_MCR2_SAMEDEVICEEN_MASK (0x8000U)
12118#define FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT (15U)
12119/*! SAMEDEVICEEN - All external devices are same devices (both in types and size) for A1/A2/B1/B2.
12120 * 0b0..In Individual mode, FLSHA1CRx/FLSHA2CRx/FLSHB1CRx/FLSHB2CRx register setting will be applied to Flash
12121 * A1/A2/B1/B2 separately. In Parallel mode, FLSHA1CRx register setting will be applied to Flash A1 and B1,
12122 * FLSHA2CRx register setting will be applied to Flash A2 and B2. FLSHB1CRx/FLSHB2CRx register settings will be
12123 * ignored.
12124 * 0b1..FLSHA1CR0/FLSHA1CR1/FLSHA1CR2 register settings will be applied to Flash A1/A2/B1/B2. FLSHA2CRx/FLSHB1CRx/FLSHB2CRx will be ignored.
12125 */
12126#define FLEXSPI_MCR2_SAMEDEVICEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT)) & FLEXSPI_MCR2_SAMEDEVICEEN_MASK)
12127#define FLEXSPI_MCR2_SCKBDIFFOPT_MASK (0x80000U)
12128#define FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT (19U)
12129/*! SCKBDIFFOPT - B_SCLK pad can be used as A_SCLK differential clock output (inverted clock to
12130 * A_SCLK). In this case, port B flash access is not available. After changing the value of this
12131 * field, MCR0[SWRESET] should be set.
12132 * 0b1..B_SCLK pad is used as port A SCLK inverted clock output (Differential clock to A_SCLK). Port B flash access is not available.
12133 * 0b0..B_SCLK pad is used as port B SCLK clock output. Port B flash access is available.
12134 */
12135#define FLEXSPI_MCR2_SCKBDIFFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT)) & FLEXSPI_MCR2_SCKBDIFFOPT_MASK)
12136#define FLEXSPI_MCR2_RESUMEWAIT_MASK (0xFF000000U)
12137#define FLEXSPI_MCR2_RESUMEWAIT_SHIFT (24U)
12138/*! RESUMEWAIT - Wait cycle (in AHB clock cycle) for idle state before suspended command sequence resumed.
12139 */
12140#define FLEXSPI_MCR2_RESUMEWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_RESUMEWAIT_SHIFT)) & FLEXSPI_MCR2_RESUMEWAIT_MASK)
12141/*! @} */
12142
12143/*! @name AHBCR - AHB Bus Control Register */
12144/*! @{ */
12145#define FLEXSPI_AHBCR_APAREN_MASK (0x1U)
12146#define FLEXSPI_AHBCR_APAREN_SHIFT (0U)
12147/*! APAREN - Parallel mode enabled for AHB triggered Command (both read and write) .
12148 * 0b0..Flash will be accessed in Individual mode.
12149 * 0b1..Flash will be accessed in Parallel mode.
12150 */
12151#define FLEXSPI_AHBCR_APAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_APAREN_SHIFT)) & FLEXSPI_AHBCR_APAREN_MASK)
12152#define FLEXSPI_AHBCR_CACHABLEEN_MASK (0x8U)
12153#define FLEXSPI_AHBCR_CACHABLEEN_SHIFT (3U)
12154/*! CACHABLEEN - Enable AHB bus cachable read access support.
12155 * 0b0..Disabled. When there is AHB bus cachable read access, FlexSPI will not check whether it hit AHB TX Buffer.
12156 * 0b1..Enabled. When there is AHB bus cachable read access, FlexSPI will check whether it hit AHB TX Buffer first.
12157 */
12158#define FLEXSPI_AHBCR_CACHABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CACHABLEEN_SHIFT)) & FLEXSPI_AHBCR_CACHABLEEN_MASK)
12159#define FLEXSPI_AHBCR_BUFFERABLEEN_MASK (0x10U)
12160#define FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT (4U)
12161/*! BUFFERABLEEN - Enable AHB bus bufferable write access support. This field affects the last beat
12162 * of AHB write access, refer for more details about AHB bufferable write.
12163 * 0b0..Disabled. For all AHB write access (no matter bufferable or non-bufferable ), FlexSPI will return AHB Bus
12164 * ready after all data is transmitted to External device and AHB command finished.
12165 * 0b1..Enabled. For AHB bufferable write access, FlexSPI will return AHB Bus ready when the AHB command is
12166 * granted by arbitrator and will not wait for AHB command finished.
12167 */
12168#define FLEXSPI_AHBCR_BUFFERABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT)) & FLEXSPI_AHBCR_BUFFERABLEEN_MASK)
12169#define FLEXSPI_AHBCR_PREFETCHEN_MASK (0x20U)
12170#define FLEXSPI_AHBCR_PREFETCHEN_SHIFT (5U)
12171/*! PREFETCHEN - AHB Read Prefetch Enable.
12172 */
12173#define FLEXSPI_AHBCR_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_PREFETCHEN_SHIFT)) & FLEXSPI_AHBCR_PREFETCHEN_MASK)
12174#define FLEXSPI_AHBCR_READADDROPT_MASK (0x40U)
12175#define FLEXSPI_AHBCR_READADDROPT_SHIFT (6U)
12176/*! READADDROPT - AHB Read Address option bit. This option bit is intend to remove AHB burst start address alignment limitation.
12177 * 0b0..There is AHB read burst start address alignment limitation when flash is accessed in parallel mode or flash is wordaddressable.
12178 * 0b1..There is no AHB read burst start address alignment limitation. FlexSPI will fetch more data than AHB
12179 * burst required to meet the alignment requirement.
12180 */
12181#define FLEXSPI_AHBCR_READADDROPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READADDROPT_SHIFT)) & FLEXSPI_AHBCR_READADDROPT_MASK)
12182/*! @} */
12183
12184/*! @name INTEN - Interrupt Enable Register */
12185/*! @{ */
12186#define FLEXSPI_INTEN_IPCMDDONEEN_MASK (0x1U)
12187#define FLEXSPI_INTEN_IPCMDDONEEN_SHIFT (0U)
12188/*! IPCMDDONEEN - IP triggered Command Sequences Execution finished interrupt enable.
12189 */
12190#define FLEXSPI_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDDONEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDDONEEN_MASK)
12191#define FLEXSPI_INTEN_IPCMDGEEN_MASK (0x2U)
12192#define FLEXSPI_INTEN_IPCMDGEEN_SHIFT (1U)
12193/*! IPCMDGEEN - IP triggered Command Sequences Grant Timeout interrupt enable.
12194 */
12195#define FLEXSPI_INTEN_IPCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDGEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDGEEN_MASK)
12196#define FLEXSPI_INTEN_AHBCMDGEEN_MASK (0x4U)
12197#define FLEXSPI_INTEN_AHBCMDGEEN_SHIFT (2U)
12198/*! AHBCMDGEEN - AHB triggered Command Sequences Grant Timeout interrupt enable.
12199 */
12200#define FLEXSPI_INTEN_AHBCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDGEEN_SHIFT)) & FLEXSPI_INTEN_AHBCMDGEEN_MASK)
12201#define FLEXSPI_INTEN_IPCMDERREN_MASK (0x8U)
12202#define FLEXSPI_INTEN_IPCMDERREN_SHIFT (3U)
12203/*! IPCMDERREN - IP triggered Command Sequences Error Detected interrupt enable.
12204 */
12205#define FLEXSPI_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDERREN_SHIFT)) & FLEXSPI_INTEN_IPCMDERREN_MASK)
12206#define FLEXSPI_INTEN_AHBCMDERREN_MASK (0x10U)
12207#define FLEXSPI_INTEN_AHBCMDERREN_SHIFT (4U)
12208/*! AHBCMDERREN - AHB triggered Command Sequences Error Detected interrupt enable.
12209 */
12210#define FLEXSPI_INTEN_AHBCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDERREN_SHIFT)) & FLEXSPI_INTEN_AHBCMDERREN_MASK)
12211#define FLEXSPI_INTEN_IPRXWAEN_MASK (0x20U)
12212#define FLEXSPI_INTEN_IPRXWAEN_SHIFT (5U)
12213/*! IPRXWAEN - IP RX FIFO WaterMark available interrupt enable.
12214 */
12215#define FLEXSPI_INTEN_IPRXWAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPRXWAEN_SHIFT)) & FLEXSPI_INTEN_IPRXWAEN_MASK)
12216#define FLEXSPI_INTEN_IPTXWEEN_MASK (0x40U)
12217#define FLEXSPI_INTEN_IPTXWEEN_SHIFT (6U)
12218/*! IPTXWEEN - IP TX FIFO WaterMark empty interrupt enable.
12219 */
12220#define FLEXSPI_INTEN_IPTXWEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPTXWEEN_SHIFT)) & FLEXSPI_INTEN_IPTXWEEN_MASK)
12221#define FLEXSPI_INTEN_DATALEARNFAILEN_MASK (0x80U)
12222#define FLEXSPI_INTEN_DATALEARNFAILEN_SHIFT (7U)
12223/*! DATALEARNFAILEN - Data Learning failed interrupt enable.
12224 */
12225#define FLEXSPI_INTEN_DATALEARNFAILEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_DATALEARNFAILEN_SHIFT)) & FLEXSPI_INTEN_DATALEARNFAILEN_MASK)
12226#define FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK (0x100U)
12227#define FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT (8U)
12228/*! SCKSTOPBYRDEN - SCLK is stopped during command sequence because Async RX FIFO full interrupt enable.
12229 */
12230#define FLEXSPI_INTEN_SCKSTOPBYRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK)
12231#define FLEXSPI_INTEN_SCKSTOPBYWREN_MASK (0x200U)
12232#define FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT (9U)
12233/*! SCKSTOPBYWREN - SCLK is stopped during command sequence because Async TX FIFO empty interrupt enable.
12234 */
12235#define FLEXSPI_INTEN_SCKSTOPBYWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYWREN_MASK)
12236#define FLEXSPI_INTEN_AHBBUSTIMEOUTEN_MASK (0x400U)
12237#define FLEXSPI_INTEN_AHBBUSTIMEOUTEN_SHIFT (10U)
12238/*! AHBBUSTIMEOUTEN - AHB Bus timeout interrupt.Refer Interrupts chapter for more details.
12239 */
12240#define FLEXSPI_INTEN_AHBBUSTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBBUSTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_AHBBUSTIMEOUTEN_MASK)
12241#define FLEXSPI_INTEN_SEQTIMEOUTEN_MASK (0x800U)
12242#define FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT (11U)
12243/*! SEQTIMEOUTEN - Sequence execution timeout interrupt enable.Refer Interrupts chapter for more details.
12244 */
12245#define FLEXSPI_INTEN_SEQTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_SEQTIMEOUTEN_MASK)
12246/*! @} */
12247
12248/*! @name INTR - Interrupt Register */
12249/*! @{ */
12250#define FLEXSPI_INTR_IPCMDDONE_MASK (0x1U)
12251#define FLEXSPI_INTR_IPCMDDONE_SHIFT (0U)
12252/*! IPCMDDONE - IP triggered Command Sequences Execution finished interrupt. This interrupt is also
12253 * generated when there is IPCMDGE or IPCMDERR interrupt generated.
12254 */
12255#define FLEXSPI_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDDONE_SHIFT)) & FLEXSPI_INTR_IPCMDDONE_MASK)
12256#define FLEXSPI_INTR_IPCMDGE_MASK (0x2U)
12257#define FLEXSPI_INTR_IPCMDGE_SHIFT (1U)
12258/*! IPCMDGE - IP triggered Command Sequences Grant Timeout interrupt.
12259 */
12260#define FLEXSPI_INTR_IPCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDGE_SHIFT)) & FLEXSPI_INTR_IPCMDGE_MASK)
12261#define FLEXSPI_INTR_AHBCMDGE_MASK (0x4U)
12262#define FLEXSPI_INTR_AHBCMDGE_SHIFT (2U)
12263/*! AHBCMDGE - AHB triggered Command Sequences Grant Timeout interrupt.
12264 */
12265#define FLEXSPI_INTR_AHBCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDGE_SHIFT)) & FLEXSPI_INTR_AHBCMDGE_MASK)
12266#define FLEXSPI_INTR_IPCMDERR_MASK (0x8U)
12267#define FLEXSPI_INTR_IPCMDERR_SHIFT (3U)
12268/*! IPCMDERR - IP triggered Command Sequences Error Detected interrupt. When an error detected for
12269 * IP command, this command will be ignored and not executed at all.
12270 */
12271#define FLEXSPI_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDERR_SHIFT)) & FLEXSPI_INTR_IPCMDERR_MASK)
12272#define FLEXSPI_INTR_AHBCMDERR_MASK (0x10U)
12273#define FLEXSPI_INTR_AHBCMDERR_SHIFT (4U)
12274/*! AHBCMDERR - AHB triggered Command Sequences Error Detected interrupt. When an error detected for
12275 * AHB command, this command will be ignored and not executed at all.
12276 */
12277#define FLEXSPI_INTR_AHBCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDERR_SHIFT)) & FLEXSPI_INTR_AHBCMDERR_MASK)
12278#define FLEXSPI_INTR_IPRXWA_MASK (0x20U)
12279#define FLEXSPI_INTR_IPRXWA_SHIFT (5U)
12280/*! IPRXWA - IP RX FIFO watermark available interrupt.
12281 */
12282#define FLEXSPI_INTR_IPRXWA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPRXWA_SHIFT)) & FLEXSPI_INTR_IPRXWA_MASK)
12283#define FLEXSPI_INTR_IPTXWE_MASK (0x40U)
12284#define FLEXSPI_INTR_IPTXWE_SHIFT (6U)
12285/*! IPTXWE - IP TX FIFO watermark empty interrupt.
12286 */
12287#define FLEXSPI_INTR_IPTXWE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPTXWE_SHIFT)) & FLEXSPI_INTR_IPTXWE_MASK)
12288#define FLEXSPI_INTR_DATALEARNFAIL_MASK (0x80U)
12289#define FLEXSPI_INTR_DATALEARNFAIL_SHIFT (7U)
12290/*! DATALEARNFAIL - Data Learning failed interrupt.
12291 */
12292#define FLEXSPI_INTR_DATALEARNFAIL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_DATALEARNFAIL_SHIFT)) & FLEXSPI_INTR_DATALEARNFAIL_MASK)
12293#define FLEXSPI_INTR_SCKSTOPBYRD_MASK (0x100U)
12294#define FLEXSPI_INTR_SCKSTOPBYRD_SHIFT (8U)
12295/*! SCKSTOPBYRD - SCLK is stopped during command sequence because Async RX FIFO full interrupt.
12296 */
12297#define FLEXSPI_INTR_SCKSTOPBYRD(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYRD_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYRD_MASK)
12298#define FLEXSPI_INTR_SCKSTOPBYWR_MASK (0x200U)
12299#define FLEXSPI_INTR_SCKSTOPBYWR_SHIFT (9U)
12300/*! SCKSTOPBYWR - SCLK is stopped during command sequence because Async TX FIFO empty interrupt.
12301 */
12302#define FLEXSPI_INTR_SCKSTOPBYWR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYWR_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYWR_MASK)
12303#define FLEXSPI_INTR_AHBBUSTIMEOUT_MASK (0x400U)
12304#define FLEXSPI_INTR_AHBBUSTIMEOUT_SHIFT (10U)
12305/*! AHBBUSTIMEOUT - AHB Bus timeout interrupt.Refer Interrupts chapter for more details.
12306 */
12307#define FLEXSPI_INTR_AHBBUSTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBBUSTIMEOUT_SHIFT)) & FLEXSPI_INTR_AHBBUSTIMEOUT_MASK)
12308#define FLEXSPI_INTR_SEQTIMEOUT_MASK (0x800U)
12309#define FLEXSPI_INTR_SEQTIMEOUT_SHIFT (11U)
12310/*! SEQTIMEOUT - Sequence execution timeout interrupt.
12311 */
12312#define FLEXSPI_INTR_SEQTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SEQTIMEOUT_SHIFT)) & FLEXSPI_INTR_SEQTIMEOUT_MASK)
12313/*! @} */
12314
12315/*! @name LUTKEY - LUT Key Register */
12316/*! @{ */
12317#define FLEXSPI_LUTKEY_KEY_MASK (0xFFFFFFFFU)
12318#define FLEXSPI_LUTKEY_KEY_SHIFT (0U)
12319/*! KEY - The Key to lock or unlock LUT.
12320 */
12321#define FLEXSPI_LUTKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTKEY_KEY_SHIFT)) & FLEXSPI_LUTKEY_KEY_MASK)
12322/*! @} */
12323
12324/*! @name LUTCR - LUT Control Register */
12325/*! @{ */
12326#define FLEXSPI_LUTCR_LOCK_MASK (0x1U)
12327#define FLEXSPI_LUTCR_LOCK_SHIFT (0U)
12328/*! LOCK - Lock LUT
12329 */
12330#define FLEXSPI_LUTCR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_LOCK_SHIFT)) & FLEXSPI_LUTCR_LOCK_MASK)
12331#define FLEXSPI_LUTCR_UNLOCK_MASK (0x2U)
12332#define FLEXSPI_LUTCR_UNLOCK_SHIFT (1U)
12333/*! UNLOCK - Unlock LUT
12334 */
12335#define FLEXSPI_LUTCR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_UNLOCK_SHIFT)) & FLEXSPI_LUTCR_UNLOCK_MASK)
12336/*! @} */
12337
12338/*! @name AHBRXBUFCR0 - AHB RX Buffer 0 Control Register 0..AHB RX Buffer 7 Control Register 0 */
12339/*! @{ */
12340#define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK (0x1FFU)
12341#define FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT (0U)
12342/*! BUFSZ - AHB RX Buffer Size in 64 bits.
12343 */
12344#define FLEXSPI_AHBRXBUFCR0_BUFSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT)) & FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK)
12345#define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK (0xF0000U)
12346#define FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT (16U)
12347/*! MSTRID - This AHB RX Buffer is assigned according to AHB Master with ID (MSTR_ID).
12348 */
12349#define FLEXSPI_AHBRXBUFCR0_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT)) & FLEXSPI_AHBRXBUFCR0_MSTRID_MASK)
12350#define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK (0x7000000U)
12351#define FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT (24U)
12352/*! PRIORITY - This priority for AHB Master Read which this AHB RX Buffer is assigned. 7 is the highest priority, 0 the lowest.
12353 */
12354#define FLEXSPI_AHBRXBUFCR0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK)
12355#define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK (0x80000000U)
12356#define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT (31U)
12357/*! PREFETCHEN - AHB Read Prefetch Enable for current AHB RX Buffer corresponding Master.
12358 */
12359#define FLEXSPI_AHBRXBUFCR0_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK)
12360/*! @} */
12361
12362/* The count of FLEXSPI_AHBRXBUFCR0 */
12363#define FLEXSPI_AHBRXBUFCR0_COUNT (8U)
12364
12365/*! @name FLSHCR0 - Flash Control Register 0 */
12366/*! @{ */
12367#define FLEXSPI_FLSHCR0_FLSHSZ_MASK (0x7FFFFFU)
12368#define FLEXSPI_FLSHCR0_FLSHSZ_SHIFT (0U)
12369/*! FLSHSZ - Flash Size in KByte.
12370 */
12371#define FLEXSPI_FLSHCR0_FLSHSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_FLSHSZ_SHIFT)) & FLEXSPI_FLSHCR0_FLSHSZ_MASK)
12372/*! @} */
12373
12374/* The count of FLEXSPI_FLSHCR0 */
12375#define FLEXSPI_FLSHCR0_COUNT (4U)
12376
12377/*! @name FLSHCR1 - Flash Control Register 1 */
12378/*! @{ */
12379#define FLEXSPI_FLSHCR1_TCSS_MASK (0x1FU)
12380#define FLEXSPI_FLSHCR1_TCSS_SHIFT (0U)
12381/*! TCSS - Serial Flash CS setup time.
12382 */
12383#define FLEXSPI_FLSHCR1_TCSS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSS_SHIFT)) & FLEXSPI_FLSHCR1_TCSS_MASK)
12384#define FLEXSPI_FLSHCR1_TCSH_MASK (0x3E0U)
12385#define FLEXSPI_FLSHCR1_TCSH_SHIFT (5U)
12386/*! TCSH - Serial Flash CS Hold time.
12387 */
12388#define FLEXSPI_FLSHCR1_TCSH(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSH_SHIFT)) & FLEXSPI_FLSHCR1_TCSH_MASK)
12389#define FLEXSPI_FLSHCR1_WA_MASK (0x400U)
12390#define FLEXSPI_FLSHCR1_WA_SHIFT (10U)
12391/*! WA - Word Addressable.
12392 */
12393#define FLEXSPI_FLSHCR1_WA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_WA_SHIFT)) & FLEXSPI_FLSHCR1_WA_MASK)
12394#define FLEXSPI_FLSHCR1_CAS_MASK (0x7800U)
12395#define FLEXSPI_FLSHCR1_CAS_SHIFT (11U)
12396/*! CAS - Column Address Size.
12397 */
12398#define FLEXSPI_FLSHCR1_CAS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CAS_SHIFT)) & FLEXSPI_FLSHCR1_CAS_MASK)
12399#define FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK (0x8000U)
12400#define FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT (15U)
12401/*! CSINTERVALUNIT - CS interval unit
12402 * 0b0..The CS interval unit is 1 serial clock cycle
12403 * 0b1..The CS interval unit is 256 serial clock cycle
12404 */
12405#define FLEXSPI_FLSHCR1_CSINTERVALUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK)
12406#define FLEXSPI_FLSHCR1_CSINTERVAL_MASK (0xFFFF0000U)
12407#define FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT (16U)
12408/*! CSINTERVAL - This field is used to set the minimum interval between flash device Chip selection
12409 * deassertion and flash device Chip selection assertion. If external flash has a limitation on
12410 * the interval between command sequences, this field should be set accordingly. If there is no
12411 * limitation, set this field with value 0x0.
12412 */
12413#define FLEXSPI_FLSHCR1_CSINTERVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVAL_MASK)
12414/*! @} */
12415
12416/* The count of FLEXSPI_FLSHCR1 */
12417#define FLEXSPI_FLSHCR1_COUNT (4U)
12418
12419/*! @name FLSHCR2 - Flash Control Register 2 */
12420/*! @{ */
12421#define FLEXSPI_FLSHCR2_ARDSEQID_MASK (0x1FU)
12422#define FLEXSPI_FLSHCR2_ARDSEQID_SHIFT (0U)
12423/*! ARDSEQID - Sequence Index for AHB Read triggered Command in LUT.
12424 */
12425#define FLEXSPI_FLSHCR2_ARDSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQID_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQID_MASK)
12426#define FLEXSPI_FLSHCR2_ARDSEQNUM_MASK (0xE0U)
12427#define FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT (5U)
12428/*! ARDSEQNUM - Sequence Number for AHB Read triggered Command in LUT.
12429 */
12430#define FLEXSPI_FLSHCR2_ARDSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQNUM_MASK)
12431#define FLEXSPI_FLSHCR2_AWRSEQID_MASK (0x1F00U)
12432#define FLEXSPI_FLSHCR2_AWRSEQID_SHIFT (8U)
12433/*! AWRSEQID - Sequence Index for AHB Write triggered Command.
12434 */
12435#define FLEXSPI_FLSHCR2_AWRSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQID_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQID_MASK)
12436#define FLEXSPI_FLSHCR2_AWRSEQNUM_MASK (0xE000U)
12437#define FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT (13U)
12438/*! AWRSEQNUM - Sequence Number for AHB Write triggered Command.
12439 */
12440#define FLEXSPI_FLSHCR2_AWRSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQNUM_MASK)
12441#define FLEXSPI_FLSHCR2_AWRWAIT_MASK (0xFFF0000U)
12442#define FLEXSPI_FLSHCR2_AWRWAIT_SHIFT (16U)
12443#define FLEXSPI_FLSHCR2_AWRWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAIT_MASK)
12444#define FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK (0x70000000U)
12445#define FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT (28U)
12446/*! AWRWAITUNIT - AWRWAIT unit
12447 * 0b000..The AWRWAIT unit is 2 ahb clock cycle
12448 * 0b001..The AWRWAIT unit is 8 ahb clock cycle
12449 * 0b010..The AWRWAIT unit is 32 ahb clock cycle
12450 * 0b011..The AWRWAIT unit is 128 ahb clock cycle
12451 * 0b100..The AWRWAIT unit is 512 ahb clock cycle
12452 * 0b101..The AWRWAIT unit is 2048 ahb clock cycle
12453 * 0b110..The AWRWAIT unit is 8192 ahb clock cycle
12454 * 0b111..The AWRWAIT unit is 32768 ahb clock cycle
12455 */
12456#define FLEXSPI_FLSHCR2_AWRWAITUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK)
12457#define FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK (0x80000000U)
12458#define FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT (31U)
12459/*! CLRINSTRPTR - Clear the instruction pointer which is internally saved pointer by JMP_ON_CS.
12460 * Refer Programmable Sequence Engine for details.
12461 */
12462#define FLEXSPI_FLSHCR2_CLRINSTRPTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT)) & FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK)
12463/*! @} */
12464
12465/* The count of FLEXSPI_FLSHCR2 */
12466#define FLEXSPI_FLSHCR2_COUNT (4U)
12467
12468/*! @name FLSHCR4 - Flash Control Register 4 */
12469/*! @{ */
12470#define FLEXSPI_FLSHCR4_WMOPT1_MASK (0x1U)
12471#define FLEXSPI_FLSHCR4_WMOPT1_SHIFT (0U)
12472/*! WMOPT1 - Write mask option bit 1. This option bit could be used to remove AHB write burst start address alignment limitation.
12473 * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
12474 * burst start address alignment when flash is accessed in individual mode.
12475 * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
12476 * burst start address alignment when flash is accessed in individual mode.
12477 */
12478#define FLEXSPI_FLSHCR4_WMOPT1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT1_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT1_MASK)
12479#define FLEXSPI_FLSHCR4_WMENA_MASK (0x4U)
12480#define FLEXSPI_FLSHCR4_WMENA_SHIFT (2U)
12481/*! WMENA - Write mask enable bit for flash device on port A. When write mask function is needed for
12482 * memory device on port A, this bit must be set.
12483 * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
12484 * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
12485 */
12486#define FLEXSPI_FLSHCR4_WMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENA_SHIFT)) & FLEXSPI_FLSHCR4_WMENA_MASK)
12487#define FLEXSPI_FLSHCR4_WMENB_MASK (0x8U)
12488#define FLEXSPI_FLSHCR4_WMENB_SHIFT (3U)
12489/*! WMENB - Write mask enable bit for flash device on port B. When write mask function is needed for
12490 * memory device on port B, this bit must be set.
12491 * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
12492 * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
12493 */
12494#define FLEXSPI_FLSHCR4_WMENB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENB_SHIFT)) & FLEXSPI_FLSHCR4_WMENB_MASK)
12495/*! @} */
12496
12497/*! @name IPCR0 - IP Control Register 0 */
12498/*! @{ */
12499#define FLEXSPI_IPCR0_SFAR_MASK (0xFFFFFFFFU)
12500#define FLEXSPI_IPCR0_SFAR_SHIFT (0U)
12501/*! SFAR - Serial Flash Address for IP command.
12502 */
12503#define FLEXSPI_IPCR0_SFAR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR0_SFAR_SHIFT)) & FLEXSPI_IPCR0_SFAR_MASK)
12504/*! @} */
12505
12506/*! @name IPCR1 - IP Control Register 1 */
12507/*! @{ */
12508#define FLEXSPI_IPCR1_IDATSZ_MASK (0xFFFFU)
12509#define FLEXSPI_IPCR1_IDATSZ_SHIFT (0U)
12510/*! IDATSZ - Flash Read/Program Data Size (in Bytes) for IP command.
12511 */
12512#define FLEXSPI_IPCR1_IDATSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IDATSZ_SHIFT)) & FLEXSPI_IPCR1_IDATSZ_MASK)
12513#define FLEXSPI_IPCR1_ISEQID_MASK (0x1F0000U)
12514#define FLEXSPI_IPCR1_ISEQID_SHIFT (16U)
12515/*! ISEQID - Sequence Index in LUT for IP command.
12516 */
12517#define FLEXSPI_IPCR1_ISEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQID_SHIFT)) & FLEXSPI_IPCR1_ISEQID_MASK)
12518#define FLEXSPI_IPCR1_ISEQNUM_MASK (0x7000000U)
12519#define FLEXSPI_IPCR1_ISEQNUM_SHIFT (24U)
12520/*! ISEQNUM - Sequence Number for IP command: ISEQNUM+1.
12521 */
12522#define FLEXSPI_IPCR1_ISEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQNUM_SHIFT)) & FLEXSPI_IPCR1_ISEQNUM_MASK)
12523#define FLEXSPI_IPCR1_IPAREN_MASK (0x80000000U)
12524#define FLEXSPI_IPCR1_IPAREN_SHIFT (31U)
12525/*! IPAREN - Parallel mode Enabled for IP command.
12526 * 0b0..Flash will be accessed in Individual mode.
12527 * 0b1..Flash will be accessed in Parallel mode.
12528 */
12529#define FLEXSPI_IPCR1_IPAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IPAREN_SHIFT)) & FLEXSPI_IPCR1_IPAREN_MASK)
12530/*! @} */
12531
12532/*! @name IPCMD - IP Command Register */
12533/*! @{ */
12534#define FLEXSPI_IPCMD_TRG_MASK (0x1U)
12535#define FLEXSPI_IPCMD_TRG_SHIFT (0U)
12536/*! TRG - Setting this bit will trigger an IP Command.
12537 */
12538#define FLEXSPI_IPCMD_TRG(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCMD_TRG_SHIFT)) & FLEXSPI_IPCMD_TRG_MASK)
12539/*! @} */
12540
12541/*! @name DLPR - Data Learn Pattern Register */
12542/*! @{ */
12543#define FLEXSPI_DLPR_DLP_MASK (0xFFFFFFFFU)
12544#define FLEXSPI_DLPR_DLP_SHIFT (0U)
12545/*! DLP - Data Learning Pattern.
12546 */
12547#define FLEXSPI_DLPR_DLP(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLPR_DLP_SHIFT)) & FLEXSPI_DLPR_DLP_MASK)
12548/*! @} */
12549
12550/*! @name IPRXFCR - IP RX FIFO Control Register */
12551/*! @{ */
12552#define FLEXSPI_IPRXFCR_CLRIPRXF_MASK (0x1U)
12553#define FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT (0U)
12554/*! CLRIPRXF - Clear all valid data entries in IP RX FIFO.
12555 */
12556#define FLEXSPI_IPRXFCR_CLRIPRXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT)) & FLEXSPI_IPRXFCR_CLRIPRXF_MASK)
12557#define FLEXSPI_IPRXFCR_RXDMAEN_MASK (0x2U)
12558#define FLEXSPI_IPRXFCR_RXDMAEN_SHIFT (1U)
12559/*! RXDMAEN - IP RX FIFO reading by DMA enabled.
12560 * 0b0..IP RX FIFO would be read by processor.
12561 * 0b1..IP RX FIFO would be read by DMA.
12562 */
12563#define FLEXSPI_IPRXFCR_RXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXDMAEN_SHIFT)) & FLEXSPI_IPRXFCR_RXDMAEN_MASK)
12564#define FLEXSPI_IPRXFCR_RXWMRK_MASK (0xFCU)
12565#define FLEXSPI_IPRXFCR_RXWMRK_SHIFT (2U)
12566/*! RXWMRK - Watermark level is (RXWMRK+1)*64 Bits.
12567 */
12568#define FLEXSPI_IPRXFCR_RXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXWMRK_SHIFT)) & FLEXSPI_IPRXFCR_RXWMRK_MASK)
12569/*! @} */
12570
12571/*! @name IPTXFCR - IP TX FIFO Control Register */
12572/*! @{ */
12573#define FLEXSPI_IPTXFCR_CLRIPTXF_MASK (0x1U)
12574#define FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT (0U)
12575/*! CLRIPTXF - Clear all valid data entries in IP TX FIFO.
12576 */
12577#define FLEXSPI_IPTXFCR_CLRIPTXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT)) & FLEXSPI_IPTXFCR_CLRIPTXF_MASK)
12578#define FLEXSPI_IPTXFCR_TXDMAEN_MASK (0x2U)
12579#define FLEXSPI_IPTXFCR_TXDMAEN_SHIFT (1U)
12580/*! TXDMAEN - IP TX FIFO filling by DMA enabled.
12581 * 0b0..IP TX FIFO would be filled by processor.
12582 * 0b1..IP TX FIFO would be filled by DMA.
12583 */
12584#define FLEXSPI_IPTXFCR_TXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXDMAEN_SHIFT)) & FLEXSPI_IPTXFCR_TXDMAEN_MASK)
12585#define FLEXSPI_IPTXFCR_TXWMRK_MASK (0x1FCU)
12586#define FLEXSPI_IPTXFCR_TXWMRK_SHIFT (2U)
12587/*! TXWMRK - Watermark level is (TXWMRK+1)*64 Bits.
12588 */
12589#define FLEXSPI_IPTXFCR_TXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXWMRK_SHIFT)) & FLEXSPI_IPTXFCR_TXWMRK_MASK)
12590/*! @} */
12591
12592/*! @name DLLCR - DLL Control Register 0 */
12593/*! @{ */
12594#define FLEXSPI_DLLCR_DLLEN_MASK (0x1U)
12595#define FLEXSPI_DLLCR_DLLEN_SHIFT (0U)
12596/*! DLLEN - DLL calibration enable.
12597 */
12598#define FLEXSPI_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLEN_SHIFT)) & FLEXSPI_DLLCR_DLLEN_MASK)
12599#define FLEXSPI_DLLCR_DLLRESET_MASK (0x2U)
12600#define FLEXSPI_DLLCR_DLLRESET_SHIFT (1U)
12601/*! DLLRESET - Software could force a reset on DLL by setting this field to 0x1. This will cause the
12602 * DLL to lose lock and re-calibrate to detect an ref_clock half period phase shift. The reset
12603 * action is edge triggered, so software need to clear this bit after set this bit (no delay
12604 * limitation).
12605 */
12606#define FLEXSPI_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLRESET_SHIFT)) & FLEXSPI_DLLCR_DLLRESET_MASK)
12607#define FLEXSPI_DLLCR_SLVDLYTARGET_MASK (0x78U)
12608#define FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT (3U)
12609/*! SLVDLYTARGET - The delay target for slave delay line is: ((SLVDLYTARGET+1) * 1/32 * clock cycle
12610 * of reference clock (serial root clock). If serial root clock is >= 100 MHz, DLLEN set to 0x1,
12611 * OVRDEN set to =0x0, then SLVDLYTARGET setting of 0xF is recommended.
12612 */
12613#define FLEXSPI_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT)) & FLEXSPI_DLLCR_SLVDLYTARGET_MASK)
12614#define FLEXSPI_DLLCR_OVRDEN_MASK (0x100U)
12615#define FLEXSPI_DLLCR_OVRDEN_SHIFT (8U)
12616/*! OVRDEN - Slave clock delay line delay cell number selection override enable.
12617 */
12618#define FLEXSPI_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDEN_SHIFT)) & FLEXSPI_DLLCR_OVRDEN_MASK)
12619#define FLEXSPI_DLLCR_OVRDVAL_MASK (0x7E00U)
12620#define FLEXSPI_DLLCR_OVRDVAL_SHIFT (9U)
12621/*! OVRDVAL - Slave clock delay line delay cell number selection override value.
12622 */
12623#define FLEXSPI_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDVAL_SHIFT)) & FLEXSPI_DLLCR_OVRDVAL_MASK)
12624/*! @} */
12625
12626/* The count of FLEXSPI_DLLCR */
12627#define FLEXSPI_DLLCR_COUNT (2U)
12628
12629/*! @name STS0 - Status Register 0 */
12630/*! @{ */
12631#define FLEXSPI_STS0_SEQIDLE_MASK (0x1U)
12632#define FLEXSPI_STS0_SEQIDLE_SHIFT (0U)
12633/*! SEQIDLE - This status bit indicates the state machine in SEQ_CTL is idle and there is command
12634 * sequence executing on FlexSPI interface.
12635 */
12636#define FLEXSPI_STS0_SEQIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_SEQIDLE_SHIFT)) & FLEXSPI_STS0_SEQIDLE_MASK)
12637#define FLEXSPI_STS0_ARBIDLE_MASK (0x2U)
12638#define FLEXSPI_STS0_ARBIDLE_SHIFT (1U)
12639/*! ARBIDLE - This status bit indicates the state machine in ARB_CTL is busy and there is command
12640 * sequence granted by arbitrator and not finished yet on FlexSPI interface. When ARB_CTL state
12641 * (ARBIDLE=0x1) is idle, there will be no transaction on FlexSPI interface also (SEQIDLE=0x1). So
12642 * this bit should be polled to wait for FlexSPI controller become idle instead of SEQIDLE.
12643 */
12644#define FLEXSPI_STS0_ARBIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBIDLE_SHIFT)) & FLEXSPI_STS0_ARBIDLE_MASK)
12645#define FLEXSPI_STS0_ARBCMDSRC_MASK (0xCU)
12646#define FLEXSPI_STS0_ARBCMDSRC_SHIFT (2U)
12647/*! ARBCMDSRC - This status field indicates the trigger source of current command sequence granted
12648 * by arbitrator. This field value is meaningless when ARB_CTL is not busy (STS0[ARBIDLE]=0x1).
12649 * 0b00..Triggered by AHB read command (triggered by AHB read).
12650 * 0b01..Triggered by AHB write command (triggered by AHB Write).
12651 * 0b10..Triggered by IP command (triggered by setting register bit IPCMD.TRG).
12652 * 0b11..Triggered by suspended command (resumed).
12653 */
12654#define FLEXSPI_STS0_ARBCMDSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBCMDSRC_SHIFT)) & FLEXSPI_STS0_ARBCMDSRC_MASK)
12655#define FLEXSPI_STS0_DATALEARNPHASEA_MASK (0xF0U)
12656#define FLEXSPI_STS0_DATALEARNPHASEA_SHIFT (4U)
12657/*! DATALEARNPHASEA - Indicate the sampling clock phase selection on Port A after Data Learning.
12658 */
12659#define FLEXSPI_STS0_DATALEARNPHASEA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_DATALEARNPHASEA_SHIFT)) & FLEXSPI_STS0_DATALEARNPHASEA_MASK)
12660#define FLEXSPI_STS0_DATALEARNPHASEB_MASK (0xF00U)
12661#define FLEXSPI_STS0_DATALEARNPHASEB_SHIFT (8U)
12662/*! DATALEARNPHASEB - Indicate the sampling clock phase selection on Port B after Data Learning.
12663 */
12664#define FLEXSPI_STS0_DATALEARNPHASEB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_DATALEARNPHASEB_SHIFT)) & FLEXSPI_STS0_DATALEARNPHASEB_MASK)
12665/*! @} */
12666
12667/*! @name STS1 - Status Register 1 */
12668/*! @{ */
12669#define FLEXSPI_STS1_AHBCMDERRID_MASK (0x1FU)
12670#define FLEXSPI_STS1_AHBCMDERRID_SHIFT (0U)
12671/*! AHBCMDERRID - Indicates the sequence index when an AHB command error is detected. This field
12672 * will be cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
12673 */
12674#define FLEXSPI_STS1_AHBCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRID_SHIFT)) & FLEXSPI_STS1_AHBCMDERRID_MASK)
12675#define FLEXSPI_STS1_AHBCMDERRCODE_MASK (0xF00U)
12676#define FLEXSPI_STS1_AHBCMDERRCODE_SHIFT (8U)
12677/*! AHBCMDERRCODE - Indicates the Error Code when AHB command Error detected. This field will be
12678 * cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
12679 * 0b0000..No error.
12680 * 0b0010..AHB Write command with JMP_ON_CS instruction used in the sequence.
12681 * 0b0011..There is unknown instruction opcode in the sequence.
12682 * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
12683 * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
12684 * 0b1110..Sequence execution timeout.
12685 */
12686#define FLEXSPI_STS1_AHBCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRCODE_SHIFT)) & FLEXSPI_STS1_AHBCMDERRCODE_MASK)
12687#define FLEXSPI_STS1_IPCMDERRID_MASK (0x1F0000U)
12688#define FLEXSPI_STS1_IPCMDERRID_SHIFT (16U)
12689/*! IPCMDERRID - Indicates the sequence Index when IP command error detected. This field will be
12690 * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
12691 */
12692#define FLEXSPI_STS1_IPCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRID_SHIFT)) & FLEXSPI_STS1_IPCMDERRID_MASK)
12693#define FLEXSPI_STS1_IPCMDERRCODE_MASK (0xF000000U)
12694#define FLEXSPI_STS1_IPCMDERRCODE_SHIFT (24U)
12695/*! IPCMDERRCODE - Indicates the Error Code when IP command Error detected. This field will be
12696 * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
12697 * 0b0000..No error.
12698 * 0b0010..IP command with JMP_ON_CS instruction used in the sequence.
12699 * 0b0011..There is unknown instruction opcode in the sequence.
12700 * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
12701 * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
12702 * 0b0110..Flash access start address exceed the whole flash address range (A1/A2/B1/B2).
12703 * 0b1110..Sequence execution timeout.
12704 * 0b1111..Flash boundary crossed.
12705 */
12706#define FLEXSPI_STS1_IPCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRCODE_SHIFT)) & FLEXSPI_STS1_IPCMDERRCODE_MASK)
12707/*! @} */
12708
12709/*! @name STS2 - Status Register 2 */
12710/*! @{ */
12711#define FLEXSPI_STS2_ASLVLOCK_MASK (0x1U)
12712#define FLEXSPI_STS2_ASLVLOCK_SHIFT (0U)
12713/*! ASLVLOCK - Flash A sample clock slave delay line locked.
12714 */
12715#define FLEXSPI_STS2_ASLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVLOCK_SHIFT)) & FLEXSPI_STS2_ASLVLOCK_MASK)
12716#define FLEXSPI_STS2_AREFLOCK_MASK (0x2U)
12717#define FLEXSPI_STS2_AREFLOCK_SHIFT (1U)
12718/*! AREFLOCK - Flash A sample clock reference delay line locked.
12719 */
12720#define FLEXSPI_STS2_AREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFLOCK_SHIFT)) & FLEXSPI_STS2_AREFLOCK_MASK)
12721#define FLEXSPI_STS2_ASLVSEL_MASK (0xFCU)
12722#define FLEXSPI_STS2_ASLVSEL_SHIFT (2U)
12723/*! ASLVSEL - Flash A sample clock slave delay line delay cell number selection .
12724 */
12725#define FLEXSPI_STS2_ASLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVSEL_SHIFT)) & FLEXSPI_STS2_ASLVSEL_MASK)
12726#define FLEXSPI_STS2_AREFSEL_MASK (0x3F00U)
12727#define FLEXSPI_STS2_AREFSEL_SHIFT (8U)
12728/*! AREFSEL - Flash A sample clock reference delay line delay cell number selection.
12729 */
12730#define FLEXSPI_STS2_AREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFSEL_SHIFT)) & FLEXSPI_STS2_AREFSEL_MASK)
12731#define FLEXSPI_STS2_BSLVLOCK_MASK (0x10000U)
12732#define FLEXSPI_STS2_BSLVLOCK_SHIFT (16U)
12733/*! BSLVLOCK - Flash B sample clock slave delay line locked.
12734 */
12735#define FLEXSPI_STS2_BSLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVLOCK_SHIFT)) & FLEXSPI_STS2_BSLVLOCK_MASK)
12736#define FLEXSPI_STS2_BREFLOCK_MASK (0x20000U)
12737#define FLEXSPI_STS2_BREFLOCK_SHIFT (17U)
12738/*! BREFLOCK - Flash B sample clock reference delay line locked.
12739 */
12740#define FLEXSPI_STS2_BREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFLOCK_SHIFT)) & FLEXSPI_STS2_BREFLOCK_MASK)
12741#define FLEXSPI_STS2_BSLVSEL_MASK (0xFC0000U)
12742#define FLEXSPI_STS2_BSLVSEL_SHIFT (18U)
12743/*! BSLVSEL - Flash B sample clock slave delay line delay cell number selection.
12744 */
12745#define FLEXSPI_STS2_BSLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVSEL_SHIFT)) & FLEXSPI_STS2_BSLVSEL_MASK)
12746#define FLEXSPI_STS2_BREFSEL_MASK (0x3F000000U)
12747#define FLEXSPI_STS2_BREFSEL_SHIFT (24U)
12748/*! BREFSEL - Flash B sample clock reference delay line delay cell number selection.
12749 */
12750#define FLEXSPI_STS2_BREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFSEL_SHIFT)) & FLEXSPI_STS2_BREFSEL_MASK)
12751/*! @} */
12752
12753/*! @name AHBSPNDSTS - AHB Suspend Status Register */
12754/*! @{ */
12755#define FLEXSPI_AHBSPNDSTS_ACTIVE_MASK (0x1U)
12756#define FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT (0U)
12757/*! ACTIVE - Indicates if an AHB read prefetch command sequence has been suspended.
12758 */
12759#define FLEXSPI_AHBSPNDSTS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT)) & FLEXSPI_AHBSPNDSTS_ACTIVE_MASK)
12760#define FLEXSPI_AHBSPNDSTS_BUFID_MASK (0xEU)
12761#define FLEXSPI_AHBSPNDSTS_BUFID_SHIFT (1U)
12762/*! BUFID - AHB RX BUF ID for suspended command sequence.
12763 */
12764#define FLEXSPI_AHBSPNDSTS_BUFID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_BUFID_SHIFT)) & FLEXSPI_AHBSPNDSTS_BUFID_MASK)
12765#define FLEXSPI_AHBSPNDSTS_DATLFT_MASK (0xFFFF0000U)
12766#define FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT (16U)
12767/*! DATLFT - Left Data size for suspended command sequence (in byte).
12768 */
12769#define FLEXSPI_AHBSPNDSTS_DATLFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT)) & FLEXSPI_AHBSPNDSTS_DATLFT_MASK)
12770/*! @} */
12771
12772/*! @name IPRXFSTS - IP RX FIFO Status Register */
12773/*! @{ */
12774#define FLEXSPI_IPRXFSTS_FILL_MASK (0xFFU)
12775#define FLEXSPI_IPRXFSTS_FILL_SHIFT (0U)
12776/*! FILL - Fill level of IP RX FIFO.
12777 */
12778#define FLEXSPI_IPRXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_FILL_SHIFT)) & FLEXSPI_IPRXFSTS_FILL_MASK)
12779#define FLEXSPI_IPRXFSTS_RDCNTR_MASK (0xFFFF0000U)
12780#define FLEXSPI_IPRXFSTS_RDCNTR_SHIFT (16U)
12781/*! RDCNTR - Total Read Data Counter: RDCNTR * 64 Bits.
12782 */
12783#define FLEXSPI_IPRXFSTS_RDCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_RDCNTR_SHIFT)) & FLEXSPI_IPRXFSTS_RDCNTR_MASK)
12784/*! @} */
12785
12786/*! @name IPTXFSTS - IP TX FIFO Status Register */
12787/*! @{ */
12788#define FLEXSPI_IPTXFSTS_FILL_MASK (0xFFU)
12789#define FLEXSPI_IPTXFSTS_FILL_SHIFT (0U)
12790/*! FILL - Fill level of IP TX FIFO.
12791 */
12792#define FLEXSPI_IPTXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_FILL_SHIFT)) & FLEXSPI_IPTXFSTS_FILL_MASK)
12793#define FLEXSPI_IPTXFSTS_WRCNTR_MASK (0xFFFF0000U)
12794#define FLEXSPI_IPTXFSTS_WRCNTR_SHIFT (16U)
12795/*! WRCNTR - Total Write Data Counter: WRCNTR * 64 Bits.
12796 */
12797#define FLEXSPI_IPTXFSTS_WRCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_WRCNTR_SHIFT)) & FLEXSPI_IPTXFSTS_WRCNTR_MASK)
12798/*! @} */
12799
12800/*! @name RFDR - IP RX FIFO Data Register 0..IP RX FIFO Data Register 31 */
12801/*! @{ */
12802#define FLEXSPI_RFDR_RXDATA_MASK (0xFFFFFFFFU)
12803#define FLEXSPI_RFDR_RXDATA_SHIFT (0U)
12804/*! RXDATA - RX Data
12805 */
12806#define FLEXSPI_RFDR_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_RFDR_RXDATA_SHIFT)) & FLEXSPI_RFDR_RXDATA_MASK)
12807/*! @} */
12808
12809/* The count of FLEXSPI_RFDR */
12810#define FLEXSPI_RFDR_COUNT (32U)
12811
12812/*! @name TFDR - IP TX FIFO Data Register 0..IP TX FIFO Data Register 31 */
12813/*! @{ */
12814#define FLEXSPI_TFDR_TXDATA_MASK (0xFFFFFFFFU)
12815#define FLEXSPI_TFDR_TXDATA_SHIFT (0U)
12816/*! TXDATA - TX Data
12817 */
12818#define FLEXSPI_TFDR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_TFDR_TXDATA_SHIFT)) & FLEXSPI_TFDR_TXDATA_MASK)
12819/*! @} */
12820
12821/* The count of FLEXSPI_TFDR */
12822#define FLEXSPI_TFDR_COUNT (32U)
12823
12824/*! @name LUT - LUT 0..LUT 127 */
12825/*! @{ */
12826#define FLEXSPI_LUT_OPERAND0_MASK (0xFFU)
12827#define FLEXSPI_LUT_OPERAND0_SHIFT (0U)
12828/*! OPERAND0 - OPERAND0
12829 */
12830#define FLEXSPI_LUT_OPERAND0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND0_SHIFT)) & FLEXSPI_LUT_OPERAND0_MASK)
12831#define FLEXSPI_LUT_NUM_PADS0_MASK (0x300U)
12832#define FLEXSPI_LUT_NUM_PADS0_SHIFT (8U)
12833/*! NUM_PADS0 - NUM_PADS0
12834 */
12835#define FLEXSPI_LUT_NUM_PADS0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS0_SHIFT)) & FLEXSPI_LUT_NUM_PADS0_MASK)
12836#define FLEXSPI_LUT_OPCODE0_MASK (0xFC00U)
12837#define FLEXSPI_LUT_OPCODE0_SHIFT (10U)
12838/*! OPCODE0 - OPCODE
12839 */
12840#define FLEXSPI_LUT_OPCODE0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE0_SHIFT)) & FLEXSPI_LUT_OPCODE0_MASK)
12841#define FLEXSPI_LUT_OPERAND1_MASK (0xFF0000U)
12842#define FLEXSPI_LUT_OPERAND1_SHIFT (16U)
12843/*! OPERAND1 - OPERAND1
12844 */
12845#define FLEXSPI_LUT_OPERAND1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND1_SHIFT)) & FLEXSPI_LUT_OPERAND1_MASK)
12846#define FLEXSPI_LUT_NUM_PADS1_MASK (0x3000000U)
12847#define FLEXSPI_LUT_NUM_PADS1_SHIFT (24U)
12848/*! NUM_PADS1 - NUM_PADS1
12849 */
12850#define FLEXSPI_LUT_NUM_PADS1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS1_SHIFT)) & FLEXSPI_LUT_NUM_PADS1_MASK)
12851#define FLEXSPI_LUT_OPCODE1_MASK (0xFC000000U)
12852#define FLEXSPI_LUT_OPCODE1_SHIFT (26U)
12853/*! OPCODE1 - OPCODE1
12854 */
12855#define FLEXSPI_LUT_OPCODE1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE1_SHIFT)) & FLEXSPI_LUT_OPCODE1_MASK)
12856/*! @} */
12857
12858/* The count of FLEXSPI_LUT */
12859#define FLEXSPI_LUT_COUNT (128U)
12860
12861
12862/*!
12863 * @}
12864 */ /* end of group FLEXSPI_Register_Masks */
12865
12866
12867/* FLEXSPI - Peripheral instance base addresses */
12868#if (__ARM_FEATURE_CMSE & 0x2)
12869 /** Peripheral FLEXSPI base address */
12870 #define FLEXSPI_BASE (0x50134000u)
12871 /** Peripheral FLEXSPI base address */
12872 #define FLEXSPI_BASE_NS (0x40134000u)
12873 /** Peripheral FLEXSPI base pointer */
12874 #define FLEXSPI ((FLEXSPI_Type *)FLEXSPI_BASE)
12875 /** Peripheral FLEXSPI base pointer */
12876 #define FLEXSPI_NS ((FLEXSPI_Type *)FLEXSPI_BASE_NS)
12877 /** Array initializer of FLEXSPI peripheral base addresses */
12878 #define FLEXSPI_BASE_ADDRS { FLEXSPI_BASE }
12879 /** Array initializer of FLEXSPI peripheral base pointers */
12880 #define FLEXSPI_BASE_PTRS { FLEXSPI }
12881 /** Array initializer of FLEXSPI peripheral base addresses */
12882 #define FLEXSPI_BASE_ADDRS_NS { FLEXSPI_BASE_NS }
12883 /** Array initializer of FLEXSPI peripheral base pointers */
12884 #define FLEXSPI_BASE_PTRS_NS { FLEXSPI_NS }
12885#else
12886 /** Peripheral FLEXSPI base address */
12887 #define FLEXSPI_BASE (0x40134000u)
12888 /** Peripheral FLEXSPI base pointer */
12889 #define FLEXSPI ((FLEXSPI_Type *)FLEXSPI_BASE)
12890 /** Array initializer of FLEXSPI peripheral base addresses */
12891 #define FLEXSPI_BASE_ADDRS { FLEXSPI_BASE }
12892 /** Array initializer of FLEXSPI peripheral base pointers */
12893 #define FLEXSPI_BASE_PTRS { FLEXSPI }
12894#endif
12895/** Interrupt vectors for the FLEXSPI peripheral type */
12896#define FLEXSPI_IRQS { FLEXSPI_IRQn }
12897#if (__ARM_FEATURE_CMSE & 0x2)
12898/** FlexSPI AMBA address. */
12899#define FlexSPI_AMBA_BASE (0x18000000u)
12900/** FlexSPI AMBA address */
12901#define FlexSPI_AMBA_BASE_NS (0x08000000u)
12902#else
12903/** FlexSPI AMBA address. */
12904#define FlexSPI_AMBA_BASE (0x08000000u)
12905#endif
12906
12907
12908/*!
12909 * @}
12910 */ /* end of group FLEXSPI_Peripheral_Access_Layer */
12911
12912
12913/* ----------------------------------------------------------------------------
12914 -- FREQME Peripheral Access Layer
12915 ---------------------------------------------------------------------------- */
12916
12917/*!
12918 * @addtogroup FREQME_Peripheral_Access_Layer FREQME Peripheral Access Layer
12919 * @{
12920 */
12921
12922/** FREQME - Register Layout Typedef */
12923typedef struct {
12924 union { /* offset: 0x0 */
12925 __I uint32_t FREQMECTRL_R; /**< Frequency Measurement (in Read mode), offset: 0x0 */
12926 __O uint32_t FREQMECTRL_W; /**< Freqeuncy Measurement (in Write mode), offset: 0x0 */
12927 };
12928} FREQME_Type;
12929
12930/* ----------------------------------------------------------------------------
12931 -- FREQME Register Masks
12932 ---------------------------------------------------------------------------- */
12933
12934/*!
12935 * @addtogroup FREQME_Register_Masks FREQME Register Masks
12936 * @{
12937 */
12938
12939/*! @name FREQMECTRL_R - Frequency Measurement (in Read mode) */
12940/*! @{ */
12941#define FREQME_FREQMECTRL_R_RESULT_MASK (0x7FFFFFFFU)
12942#define FREQME_FREQMECTRL_R_RESULT_SHIFT (0U)
12943/*! RESULT - Result
12944 */
12945#define FREQME_FREQMECTRL_R_RESULT(x) (((uint32_t)(((uint32_t)(x)) << FREQME_FREQMECTRL_R_RESULT_SHIFT)) & FREQME_FREQMECTRL_R_RESULT_MASK)
12946#define FREQME_FREQMECTRL_R_MEASURE_IN_PROGRESS_MASK (0x80000000U)
12947#define FREQME_FREQMECTRL_R_MEASURE_IN_PROGRESS_SHIFT (31U)
12948/*! MEASURE_IN_PROGRESS - Measure in Progress
12949 * 0b0..Process complete. Measurement cycle is complete. The results are ready in the RESULT field.
12950 * 0b1..In Progress. Measurement cycle is in progress.
12951 */
12952#define FREQME_FREQMECTRL_R_MEASURE_IN_PROGRESS(x) (((uint32_t)(((uint32_t)(x)) << FREQME_FREQMECTRL_R_MEASURE_IN_PROGRESS_SHIFT)) & FREQME_FREQMECTRL_R_MEASURE_IN_PROGRESS_MASK)
12953/*! @} */
12954
12955/*! @name FREQMECTRL_W - Freqeuncy Measurement (in Write mode) */
12956/*! @{ */
12957#define FREQME_FREQMECTRL_W_REF_SCALE_MASK (0x1FU)
12958#define FREQME_FREQMECTRL_W_REF_SCALE_SHIFT (0U)
12959/*! REF_SCALE - Reference Clock Scaling Factor
12960 * 0b00000..Count cycle = 2^0 = 1
12961 * 0b00001..Count cycle = 2^1 = 2
12962 * 0b00010..Count cycle = 2^4 = 4
12963 * 0b11111..Count cycle = 2^31 = 2,147,483,648
12964 */
12965#define FREQME_FREQMECTRL_W_REF_SCALE(x) (((uint32_t)(((uint32_t)(x)) << FREQME_FREQMECTRL_W_REF_SCALE_SHIFT)) & FREQME_FREQMECTRL_W_REF_SCALE_MASK)
12966#define FREQME_FREQMECTRL_W_PULSE_MODE_MASK (0x100U)
12967#define FREQME_FREQMECTRL_W_PULSE_MODE_SHIFT (8U)
12968/*! PULSE_MODE - Pulse Width Measurement mode select
12969 * 0b0..Frequency Measurement Mode. FREQMECTRL works in a Frequency Measurement mode. Once the measurement starts
12970 * (real count start is aligned at rising edge arrival on reference clock), the target counter increments by
12971 * the target clock until the reference counter running by the reference clock reaches the count end point
12972 * selected by REF_SCALE.
12973 * 0b1..Pulse Width Measurement mode. FREQMECTRL works in a Pulse Width Measurement mode, measuring the high or
12974 * low period of reference clock input selected by PULSE_POL. The target counter starts incrementing by the
12975 * target clock once a corresponding trigger edge (rising edge for high period measurement and falling edge for
12976 * low period) occurs.
12977 */
12978#define FREQME_FREQMECTRL_W_PULSE_MODE(x) (((uint32_t)(((uint32_t)(x)) << FREQME_FREQMECTRL_W_PULSE_MODE_SHIFT)) & FREQME_FREQMECTRL_W_PULSE_MODE_MASK)
12979#define FREQME_FREQMECTRL_W_PULSE_POL_MASK (0x200U)
12980#define FREQME_FREQMECTRL_W_PULSE_POL_SHIFT (9U)
12981/*! PULSE_POL - Pulse Polarity
12982 * 0b0..High Period. High period of reference clock is measured in Pulse Width Measurement mode triggered by the
12983 * rising edge on the reference clock input.
12984 * 0b1..Low Period. Low period of reference clock is measured in Pulse Width Measurement mode triggered by the
12985 * falling edge on the reference clock input.
12986 */
12987#define FREQME_FREQMECTRL_W_PULSE_POL(x) (((uint32_t)(((uint32_t)(x)) << FREQME_FREQMECTRL_W_PULSE_POL_SHIFT)) & FREQME_FREQMECTRL_W_PULSE_POL_MASK)
12988#define FREQME_FREQMECTRL_W_MEASURE_IN_PROGRESS_MASK (0x80000000U)
12989#define FREQME_FREQMECTRL_W_MEASURE_IN_PROGRESS_SHIFT (31U)
12990/*! MEASURE_IN_PROGRESS - Measure in Progress
12991 * 0b0..Force Terminate. Forces the termination of any measurement cycle currently in progress and resets RESULT or just resets RESULT if in idle.
12992 * 0b1..Initiates Measurement Cycle. Initiates frequency or pulse width measurement process. Hardware clears the
12993 * MEASURE_IN_PROGRESS bit when the measurement cycle completes. A new measurement starts if there is an
12994 * active measurement in progress.
12995 */
12996#define FREQME_FREQMECTRL_W_MEASURE_IN_PROGRESS(x) (((uint32_t)(((uint32_t)(x)) << FREQME_FREQMECTRL_W_MEASURE_IN_PROGRESS_SHIFT)) & FREQME_FREQMECTRL_W_MEASURE_IN_PROGRESS_MASK)
12997/*! @} */
12998
12999
13000/*!
13001 * @}
13002 */ /* end of group FREQME_Register_Masks */
13003
13004
13005/* FREQME - Peripheral instance base addresses */
13006#if (__ARM_FEATURE_CMSE & 0x2)
13007 /** Peripheral FREQME base address */
13008 #define FREQME_BASE (0x5002F000u)
13009 /** Peripheral FREQME base address */
13010 #define FREQME_BASE_NS (0x4002F000u)
13011 /** Peripheral FREQME base pointer */
13012 #define FREQME ((FREQME_Type *)FREQME_BASE)
13013 /** Peripheral FREQME base pointer */
13014 #define FREQME_NS ((FREQME_Type *)FREQME_BASE_NS)
13015 /** Array initializer of FREQME peripheral base addresses */
13016 #define FREQME_BASE_ADDRS { FREQME_BASE }
13017 /** Array initializer of FREQME peripheral base pointers */
13018 #define FREQME_BASE_PTRS { FREQME }
13019 /** Array initializer of FREQME peripheral base addresses */
13020 #define FREQME_BASE_ADDRS_NS { FREQME_BASE_NS }
13021 /** Array initializer of FREQME peripheral base pointers */
13022 #define FREQME_BASE_PTRS_NS { FREQME_NS }
13023#else
13024 /** Peripheral FREQME base address */
13025 #define FREQME_BASE (0x4002F000u)
13026 /** Peripheral FREQME base pointer */
13027 #define FREQME ((FREQME_Type *)FREQME_BASE)
13028 /** Array initializer of FREQME peripheral base addresses */
13029 #define FREQME_BASE_ADDRS { FREQME_BASE }
13030 /** Array initializer of FREQME peripheral base pointers */
13031 #define FREQME_BASE_PTRS { FREQME }
13032#endif
13033
13034/*!
13035 * @}
13036 */ /* end of group FREQME_Peripheral_Access_Layer */
13037
13038
13039/* ----------------------------------------------------------------------------
13040 -- GPIO Peripheral Access Layer
13041 ---------------------------------------------------------------------------- */
13042
13043/*!
13044 * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
13045 * @{
13046 */
13047
13048/** GPIO - Register Layout Typedef */
13049typedef struct {
13050 __IO uint8_t B[8][32]; /**< Byte pin registers for all port 0 and 1 GPIO pins, array offset: 0x0, array step: index*0x20, index2*0x1 */
13051 uint8_t RESERVED_0[3840];
13052 __IO uint32_t W[8][32]; /**< Word pin registers for all port 0 and 1 GPIO pins, array offset: 0x1000, array step: index*0x80, index2*0x4 */
13053 uint8_t RESERVED_1[3072];
13054 __IO uint32_t DIR[8]; /**< Direction registers, array offset: 0x2000, array step: 0x4 */
13055 uint8_t RESERVED_2[96];
13056 __IO uint32_t MASK[8]; /**< Mask register, array offset: 0x2080, array step: 0x4 */
13057 uint8_t RESERVED_3[96];
13058 __IO uint32_t PIN[8]; /**< Port pin register, array offset: 0x2100, array step: 0x4 */
13059 uint8_t RESERVED_4[96];
13060 __IO uint32_t MPIN[8]; /**< Masked port register, array offset: 0x2180, array step: 0x4 */
13061 uint8_t RESERVED_5[96];
13062 __IO uint32_t SET[8]; /**< Write: Set register for port Read: output bits for port, array offset: 0x2200, array step: 0x4 */
13063 uint8_t RESERVED_6[96];
13064 __O uint32_t CLR[8]; /**< Clear port, array offset: 0x2280, array step: 0x4 */
13065 uint8_t RESERVED_7[96];
13066 __O uint32_t NOT[8]; /**< Toggle port, array offset: 0x2300, array step: 0x4 */
13067 uint8_t RESERVED_8[96];
13068 __O uint32_t DIRSET[8]; /**< Set pin direction bits for port, array offset: 0x2380, array step: 0x4 */
13069 uint8_t RESERVED_9[96];
13070 __O uint32_t DIRCLR[8]; /**< Clear pin direction bits for port, array offset: 0x2400, array step: 0x4 */
13071 uint8_t RESERVED_10[96];
13072 __O uint32_t DIRNOT[8]; /**< Toggle pin direction bits for port, array offset: 0x2480, array step: 0x4 */
13073 uint8_t RESERVED_11[96];
13074 __IO uint32_t INTENA[8]; /**< interrupt A enable control register, array offset: 0x2500, array step: 0x4 */
13075 uint8_t RESERVED_12[96];
13076 __IO uint32_t INTENB[8]; /**< interrupt B enable control register, array offset: 0x2580, array step: 0x4 */
13077 uint8_t RESERVED_13[96];
13078 __IO uint32_t INTPOL[8]; /**< interupt polarity control register, array offset: 0x2600, array step: 0x4 */
13079 uint8_t RESERVED_14[96];
13080 __IO uint32_t INTEDG[8]; /**< choose edge or level for interrupt, array offset: 0x2680, array step: 0x4 */
13081 uint8_t RESERVED_15[96];
13082 __IO uint32_t INTSTATA[8]; /**< interrupt status for interrupt A, array offset: 0x2700, array step: 0x4 */
13083 uint8_t RESERVED_16[96];
13084 __IO uint32_t INTSTATB[8]; /**< interrupt status for interrupt B, array offset: 0x2780, array step: 0x4 */
13085} GPIO_Type;
13086
13087/* ----------------------------------------------------------------------------
13088 -- GPIO Register Masks
13089 ---------------------------------------------------------------------------- */
13090
13091/*!
13092 * @addtogroup GPIO_Register_Masks GPIO Register Masks
13093 * @{
13094 */
13095
13096/*! @name B - Byte pin registers for all port 0 and 1 GPIO pins */
13097/*! @{ */
13098#define GPIO_B_PBYTE_MASK (0x1U)
13099#define GPIO_B_PBYTE_SHIFT (0U)
13100/*! PBYTE - Read: state of the pin PIOm_n, regardless of direction, masking, or alternate function,
13101 * except that pins configured as analog I/O always read as 0. One register for each port pin.
13102 * Supported pins depends on the specific device and package. Write: loads the pin's output bit.
13103 * One register for each port pin. Supported pins depends on the specific device and package.
13104 */
13105#define GPIO_B_PBYTE(x) (((uint8_t)(((uint8_t)(x)) << GPIO_B_PBYTE_SHIFT)) & GPIO_B_PBYTE_MASK)
13106/*! @} */
13107
13108/* The count of GPIO_B */
13109#define GPIO_B_COUNT (8U)
13110
13111/* The count of GPIO_B */
13112#define GPIO_B_COUNT2 (32U)
13113
13114/*! @name W - Word pin registers for all port 0 and 1 GPIO pins */
13115/*! @{ */
13116#define GPIO_W_PWORD_MASK (0xFFFFFFFFU)
13117#define GPIO_W_PWORD_SHIFT (0U)
13118/*! PWORD - Read 0: pin PIOm_n is LOW. Write 0: clear output bit. Read 0xFFFF FFFF: pin PIOm_n is
13119 * HIGH. Write any value 0x0000 0001 to 0xFFFF FFFF: set output bit. Only 0 or 0xFFFF FFFF can be
13120 * read. Writing any value other than 0 will set the output bit. One register for each port pin.
13121 * Supported pins depends on the specific device and package.
13122 */
13123#define GPIO_W_PWORD(x) (((uint32_t)(((uint32_t)(x)) << GPIO_W_PWORD_SHIFT)) & GPIO_W_PWORD_MASK)
13124/*! @} */
13125
13126/* The count of GPIO_W */
13127#define GPIO_W_COUNT (8U)
13128
13129/* The count of GPIO_W */
13130#define GPIO_W_COUNT2 (32U)
13131
13132/*! @name DIR - Direction registers */
13133/*! @{ */
13134#define GPIO_DIR_DIRP_MASK (0xFFFFFFFFU)
13135#define GPIO_DIR_DIRP_SHIFT (0U)
13136/*! DIRP - Selects pin direction for pin PIOm_n (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported
13137 * pins depends on the specific device and package. 0 = input. 1 = output.
13138 */
13139#define GPIO_DIR_DIRP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIR_DIRP_SHIFT)) & GPIO_DIR_DIRP_MASK)
13140/*! @} */
13141
13142/* The count of GPIO_DIR */
13143#define GPIO_DIR_COUNT (8U)
13144
13145/*! @name MASK - Mask register */
13146/*! @{ */
13147#define GPIO_MASK_MASKP_MASK (0xFFFFFFFFU)
13148#define GPIO_MASK_MASKP_SHIFT (0U)
13149/*! MASKP - Controls which bits corresponding to PIOm_n are active in the MPORT register (bit 0 =
13150 * PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the specific device and package. 0 =
13151 * Read MPORT: pin state; write MPORT: load output bit. 1 = Read MPORT: 0; write MPORT: output bit
13152 * not affected.
13153 */
13154#define GPIO_MASK_MASKP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_MASK_MASKP_SHIFT)) & GPIO_MASK_MASKP_MASK)
13155/*! @} */
13156
13157/* The count of GPIO_MASK */
13158#define GPIO_MASK_COUNT (8U)
13159
13160/*! @name PIN - Port pin register */
13161/*! @{ */
13162#define GPIO_PIN_PORT_MASK (0xFFFFFFFFU)
13163#define GPIO_PIN_PORT_SHIFT (0U)
13164/*! PORT - Reads pin states or loads output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported
13165 * pins depends on the specific device and package. 0 = Read: pin is low; write: clear output bit.
13166 * 1 = Read: pin is high; write: set output bit.
13167 */
13168#define GPIO_PIN_PORT(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PIN_PORT_SHIFT)) & GPIO_PIN_PORT_MASK)
13169/*! @} */
13170
13171/* The count of GPIO_PIN */
13172#define GPIO_PIN_COUNT (8U)
13173
13174/*! @name MPIN - Masked port register */
13175/*! @{ */
13176#define GPIO_MPIN_MPORTP_MASK (0xFFFFFFFFU)
13177#define GPIO_MPIN_MPORTP_SHIFT (0U)
13178/*! MPORTP - Masked port register (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on
13179 * the specific device and package. 0 = Read: pin is LOW and/or the corresponding bit in the MASK
13180 * register is 1; write: clear output bit if the corresponding bit in the MASK register is 0. 1
13181 * = Read: pin is HIGH and the corresponding bit in the MASK register is 0; write: set output bit
13182 * if the corresponding bit in the MASK register is 0.
13183 */
13184#define GPIO_MPIN_MPORTP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_MPIN_MPORTP_SHIFT)) & GPIO_MPIN_MPORTP_MASK)
13185/*! @} */
13186
13187/* The count of GPIO_MPIN */
13188#define GPIO_MPIN_COUNT (8U)
13189
13190/*! @name SET - Write: Set register for port Read: output bits for port */
13191/*! @{ */
13192#define GPIO_SET_SETP_MASK (0xFFFFFFFFU)
13193#define GPIO_SET_SETP_SHIFT (0U)
13194/*! SETP - Read or set output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on
13195 * the specific device and package. 0 = Read: output bit: write: no operation. 1 = Read: output
13196 * bit; write: set output bit.
13197 */
13198#define GPIO_SET_SETP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_SET_SETP_SHIFT)) & GPIO_SET_SETP_MASK)
13199/*! @} */
13200
13201/* The count of GPIO_SET */
13202#define GPIO_SET_COUNT (8U)
13203
13204/*! @name CLR - Clear port */
13205/*! @{ */
13206#define GPIO_CLR_CLRP_MASK (0xFFFFFFFFU)
13207#define GPIO_CLR_CLRP_SHIFT (0U)
13208/*! CLRP - Clear output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the
13209 * specific device and package. 0 = No operation. 1 = Clear output bit.
13210 */
13211#define GPIO_CLR_CLRP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_CLR_CLRP_SHIFT)) & GPIO_CLR_CLRP_MASK)
13212/*! @} */
13213
13214/* The count of GPIO_CLR */
13215#define GPIO_CLR_COUNT (8U)
13216
13217/*! @name NOT - Toggle port */
13218/*! @{ */
13219#define GPIO_NOT_NOTP_MASK (0xFFFFFFFFU)
13220#define GPIO_NOT_NOTP_SHIFT (0U)
13221/*! NOTP - Toggle output bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on the
13222 * specific device and package. 0 = no operation. 1 = Toggle output bit.
13223 */
13224#define GPIO_NOT_NOTP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_NOT_NOTP_SHIFT)) & GPIO_NOT_NOTP_MASK)
13225/*! @} */
13226
13227/* The count of GPIO_NOT */
13228#define GPIO_NOT_COUNT (8U)
13229
13230/*! @name DIRSET - Set pin direction bits for port */
13231/*! @{ */
13232#define GPIO_DIRSET_DIRSETP_MASK (0xFFFFFFFFU)
13233#define GPIO_DIRSET_DIRSETP_SHIFT (0U)
13234/*! DIRSETP - Set direction bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on
13235 * the specific device and package. 0 = No operation. 1 = Set direction bit.
13236 */
13237#define GPIO_DIRSET_DIRSETP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIRSET_DIRSETP_SHIFT)) & GPIO_DIRSET_DIRSETP_MASK)
13238/*! @} */
13239
13240/* The count of GPIO_DIRSET */
13241#define GPIO_DIRSET_COUNT (8U)
13242
13243/*! @name DIRCLR - Clear pin direction bits for port */
13244/*! @{ */
13245#define GPIO_DIRCLR_DIRCLRP_MASK (0xFFFFFFFFU)
13246#define GPIO_DIRCLR_DIRCLRP_SHIFT (0U)
13247/*! DIRCLRP - Clear direction bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends on
13248 * the specific device and package. 0 = No operation. 1 = Clear direction bit.
13249 */
13250#define GPIO_DIRCLR_DIRCLRP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIRCLR_DIRCLRP_SHIFT)) & GPIO_DIRCLR_DIRCLRP_MASK)
13251/*! @} */
13252
13253/* The count of GPIO_DIRCLR */
13254#define GPIO_DIRCLR_COUNT (8U)
13255
13256/*! @name DIRNOT - Toggle pin direction bits for port */
13257/*! @{ */
13258#define GPIO_DIRNOT_DIRNOTP_MASK (0xFFFFFFFFU)
13259#define GPIO_DIRNOT_DIRNOTP_SHIFT (0U)
13260/*! DIRNOTP - Toggle direction bits (bit 0 = PIOn_0, bit 1 = PIOn_1, etc.). Supported pins depends
13261 * on the specific device and package. 0 = no operation. 1 = Toggle direction bit.
13262 */
13263#define GPIO_DIRNOT_DIRNOTP(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DIRNOT_DIRNOTP_SHIFT)) & GPIO_DIRNOT_DIRNOTP_MASK)
13264/*! @} */
13265
13266/* The count of GPIO_DIRNOT */
13267#define GPIO_DIRNOT_COUNT (8U)
13268
13269/*! @name INTENA - interrupt A enable control register */
13270/*! @{ */
13271#define GPIO_INTENA_INT_EN_MASK (0xFFFFFFFFU)
13272#define GPIO_INTENA_INT_EN_SHIFT (0U)
13273/*! INT_EN - interrupt enable control for each pin(bit 0 for pion_0, bin 1 for pion_1, etc)
13274 */
13275#define GPIO_INTENA_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << GPIO_INTENA_INT_EN_SHIFT)) & GPIO_INTENA_INT_EN_MASK)
13276/*! @} */
13277
13278/* The count of GPIO_INTENA */
13279#define GPIO_INTENA_COUNT (8U)
13280
13281/*! @name INTENB - interrupt B enable control register */
13282/*! @{ */
13283#define GPIO_INTENB_INT_EN_MASK (0xFFFFFFFFU)
13284#define GPIO_INTENB_INT_EN_SHIFT (0U)
13285/*! INT_EN - interrupt enable control for each pin(bit 0 for pion_0, bin 1 for pion_1, etc)
13286 */
13287#define GPIO_INTENB_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << GPIO_INTENB_INT_EN_SHIFT)) & GPIO_INTENB_INT_EN_MASK)
13288/*! @} */
13289
13290/* The count of GPIO_INTENB */
13291#define GPIO_INTENB_COUNT (8U)
13292
13293/*! @name INTPOL - interupt polarity control register */
13294/*! @{ */
13295#define GPIO_INTPOL_POL_CTL_MASK (0xFFFFFFFFU)
13296#define GPIO_INTPOL_POL_CTL_SHIFT (0U)
13297/*! POL_CTL - polarity control for each pin(bit 0 for pion_0, bit 1 for pion_1, etc.)
13298 * 0b00000000000000000000000000000000..interrupt when gpio high
13299 * 0b00000000000000000000000000000001..interrupt when gpio low
13300 */
13301#define GPIO_INTPOL_POL_CTL(x) (((uint32_t)(((uint32_t)(x)) << GPIO_INTPOL_POL_CTL_SHIFT)) & GPIO_INTPOL_POL_CTL_MASK)
13302/*! @} */
13303
13304/* The count of GPIO_INTPOL */
13305#define GPIO_INTPOL_COUNT (8U)
13306
13307/*! @name INTEDG - choose edge or level for interrupt */
13308/*! @{ */
13309#define GPIO_INTEDG_EDGE_MASK (0xFFFFFFFFU)
13310#define GPIO_INTEDG_EDGE_SHIFT (0U)
13311/*! EDGE - choose level or edge based detection for each pin(bit0 for pion_0, bit1 for pion_1, etc)
13312 * 0b00000000000000000000000000000000..level
13313 * 0b00000000000000000000000000000001..edge
13314 */
13315#define GPIO_INTEDG_EDGE(x) (((uint32_t)(((uint32_t)(x)) << GPIO_INTEDG_EDGE_SHIFT)) & GPIO_INTEDG_EDGE_MASK)
13316/*! @} */
13317
13318/* The count of GPIO_INTEDG */
13319#define GPIO_INTEDG_COUNT (8U)
13320
13321/*! @name INTSTATA - interrupt status for interrupt A */
13322/*! @{ */
13323#define GPIO_INTSTATA_STATUS_MASK (0xFFFFFFFFU)
13324#define GPIO_INTSTATA_STATUS_SHIFT (0U)
13325/*! STATUS - interrupt status
13326 */
13327#define GPIO_INTSTATA_STATUS(x) (((uint32_t)(((uint32_t)(x)) << GPIO_INTSTATA_STATUS_SHIFT)) & GPIO_INTSTATA_STATUS_MASK)
13328/*! @} */
13329
13330/* The count of GPIO_INTSTATA */
13331#define GPIO_INTSTATA_COUNT (8U)
13332
13333/*! @name INTSTATB - interrupt status for interrupt B */
13334/*! @{ */
13335#define GPIO_INTSTATB_STATUS_MASK (0xFFFFFFFFU)
13336#define GPIO_INTSTATB_STATUS_SHIFT (0U)
13337/*! STATUS - interrupt status
13338 */
13339#define GPIO_INTSTATB_STATUS(x) (((uint32_t)(((uint32_t)(x)) << GPIO_INTSTATB_STATUS_SHIFT)) & GPIO_INTSTATB_STATUS_MASK)
13340/*! @} */
13341
13342/* The count of GPIO_INTSTATB */
13343#define GPIO_INTSTATB_COUNT (8U)
13344
13345
13346/*!
13347 * @}
13348 */ /* end of group GPIO_Register_Masks */
13349
13350
13351/* GPIO - Peripheral instance base addresses */
13352#if (__ARM_FEATURE_CMSE & 0x2)
13353 /** Peripheral GPIO base address */
13354 #define GPIO_BASE (0x50100000u)
13355 /** Peripheral GPIO base address */
13356 #define GPIO_BASE_NS (0x40100000u)
13357 /** Peripheral GPIO base pointer */
13358 #define GPIO ((GPIO_Type *)GPIO_BASE)
13359 /** Peripheral GPIO base pointer */
13360 #define GPIO_NS ((GPIO_Type *)GPIO_BASE_NS)
13361 /** Peripheral SECGPIO base address */
13362 #define SECGPIO_BASE (0x50154000u)
13363 /** Peripheral SECGPIO base address */
13364 #define SECGPIO_BASE_NS (0x40154000u)
13365 /** Peripheral SECGPIO base pointer */
13366 #define SECGPIO ((GPIO_Type *)SECGPIO_BASE)
13367 /** Peripheral SECGPIO base pointer */
13368 #define SECGPIO_NS ((GPIO_Type *)SECGPIO_BASE_NS)
13369 /** Array initializer of GPIO peripheral base addresses */
13370 #define GPIO_BASE_ADDRS { GPIO_BASE, SECGPIO_BASE }
13371 /** Array initializer of GPIO peripheral base pointers */
13372 #define GPIO_BASE_PTRS { GPIO, SECGPIO }
13373 /** Array initializer of GPIO peripheral base addresses */
13374 #define GPIO_BASE_ADDRS_NS { GPIO_BASE_NS, SECGPIO_BASE_NS }
13375 /** Array initializer of GPIO peripheral base pointers */
13376 #define GPIO_BASE_PTRS_NS { GPIO_NS, SECGPIO_NS }
13377#else
13378 /** Peripheral GPIO base address */
13379 #define GPIO_BASE (0x40100000u)
13380 /** Peripheral GPIO base pointer */
13381 #define GPIO ((GPIO_Type *)GPIO_BASE)
13382 /** Peripheral SECGPIO base address */
13383 #define SECGPIO_BASE (0x40154000u)
13384 /** Peripheral SECGPIO base pointer */
13385 #define SECGPIO ((GPIO_Type *)SECGPIO_BASE)
13386 /** Array initializer of GPIO peripheral base addresses */
13387 #define GPIO_BASE_ADDRS { GPIO_BASE, SECGPIO_BASE }
13388 /** Array initializer of GPIO peripheral base pointers */
13389 #define GPIO_BASE_PTRS { GPIO, SECGPIO }
13390#endif
13391
13392/*!
13393 * @}
13394 */ /* end of group GPIO_Peripheral_Access_Layer */
13395
13396
13397/* ----------------------------------------------------------------------------
13398 -- HASHCRYPT Peripheral Access Layer
13399 ---------------------------------------------------------------------------- */
13400
13401/*!
13402 * @addtogroup HASHCRYPT_Peripheral_Access_Layer HASHCRYPT Peripheral Access Layer
13403 * @{
13404 */
13405
13406/** HASHCRYPT - Register Layout Typedef */
13407typedef struct {
13408 __IO uint32_t CTRL; /**< Control register to enable and operate Hash and Crypto, offset: 0x0 */
13409 __IO uint32_t STATUS; /**< Indicates status of Hash peripheral., offset: 0x4 */
13410 __IO uint32_t INTENSET; /**< Write 1 to enable interrupts; reads back with which are set., offset: 0x8 */
13411 __IO uint32_t INTENCLR; /**< Write 1 to clear interrupts., offset: 0xC */
13412 __IO uint32_t MEMCTRL; /**< Setup Master to access memory (if available), offset: 0x10 */
13413 __IO uint32_t MEMADDR; /**< Address to start memory access from (if available)., offset: 0x14 */
13414 uint8_t RESERVED_0[8];
13415 __O uint32_t INDATA; /**< Input of 16 words at a time to load up buffer., offset: 0x20 */
13416 __O uint32_t ALIAS[7]; /**< , array offset: 0x24, array step: 0x4 */
13417 __I uint32_t DIGEST0[8]; /**< , array offset: 0x40, array step: 0x4 */
13418 uint8_t RESERVED_1[32];
13419 __IO uint32_t CRYPTCFG; /**< Crypto settings for AES and Salsa and ChaCha, offset: 0x80 */
13420 __I uint32_t CONFIG; /**< Returns the configuration of this block in this chip - indicates what services are available., offset: 0x84 */
13421 uint8_t RESERVED_2[4];
13422 __IO uint32_t LOCK; /**< Lock register allows locking to the current security level or unlocking by the lock holding level., offset: 0x8C */
13423 __O uint32_t MASK[4]; /**< , array offset: 0x90, array step: 0x4 */
13424 __O uint32_t RELOAD[8]; /**< , array offset: 0xA0, array step: 0x4 */
13425 uint8_t RESERVED_3[16];
13426 __O uint32_t PRNG_SEED; /**< PRNG random seed input value used as an entropy source, offset: 0xD0 */
13427 uint8_t RESERVED_4[4];
13428 __I uint32_t PRNG_OUT; /**< PRNG software-accessable random output value, offset: 0xD8 */
13429} HASHCRYPT_Type;
13430
13431/* ----------------------------------------------------------------------------
13432 -- HASHCRYPT Register Masks
13433 ---------------------------------------------------------------------------- */
13434
13435/*!
13436 * @addtogroup HASHCRYPT_Register_Masks HASHCRYPT Register Masks
13437 * @{
13438 */
13439
13440/*! @name CTRL - Control register to enable and operate Hash and Crypto */
13441/*! @{ */
13442#define HASHCRYPT_CTRL_MODE_MASK (0x7U)
13443#define HASHCRYPT_CTRL_MODE_SHIFT (0U)
13444/*! Mode - The operational mode to use, or 0 if none. Note that the CONFIG register will indicate if
13445 * specific modes beyond SHA1 and SHA2-256 are available.
13446 * 0b000..Disabled
13447 * 0b001..SHA1 is enabled
13448 * 0b010..SHA2-256 is enabled
13449 * 0b011..
13450 * 0b100..AES if available (see also CRYPTCFG register for more controls)
13451 * 0b101..ICB-AES if available (see also CRYPTCFG register for more controls)
13452 * 0b110..
13453 * 0b111..
13454 */
13455#define HASHCRYPT_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CTRL_MODE_SHIFT)) & HASHCRYPT_CTRL_MODE_MASK)
13456#define HASHCRYPT_CTRL_NEW_HASH_MASK (0x10U)
13457#define HASHCRYPT_CTRL_NEW_HASH_SHIFT (4U)
13458/*! New_Hash - Written with 1 when starting a new Hash/Crypto. It self clears. Note that the WAITING
13459 * Status bit will clear for a cycle during the initialization from New=1.
13460 * 0b1..Starts a new Hash/Crypto and initializes the Digest/Result.
13461 */
13462#define HASHCRYPT_CTRL_NEW_HASH(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CTRL_NEW_HASH_SHIFT)) & HASHCRYPT_CTRL_NEW_HASH_MASK)
13463#define HASHCRYPT_CTRL_RELOAD_MASK (0x20U)
13464#define HASHCRYPT_CTRL_RELOAD_SHIFT (5U)
13465/*! RELOAD - If 1, allows the SHA RELOAD registers to be used. This is used to save a partial Hash
13466 * Digest (e.g. when need to run AES) and then reload it later for continuation.
13467 * 0b1..Allow RELOAD registers to be used.
13468 */
13469#define HASHCRYPT_CTRL_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CTRL_RELOAD_SHIFT)) & HASHCRYPT_CTRL_RELOAD_MASK)
13470#define HASHCRYPT_CTRL_DMA_I_MASK (0x100U)
13471#define HASHCRYPT_CTRL_DMA_I_SHIFT (8U)
13472/*! DMA_I - Written with 1 to use DMA to fill INDATA. If Hash, will request from DMA for 16 words
13473 * and then will process the Hash. If Cryptographic, it will load as many words as needed,
13474 * including key if not already loaded. It will then request again. Normal model is that the DMA
13475 * interrupts the processor when its length expires. Note that if the processor will write the key and
13476 * optionally IV, it should not enable this until it has done so. Otherwise, the DMA will be
13477 * expected to load those for the 1st block (when needed).
13478 * 0b0..DMA is not used. Processor writes the necessary words when WAITING is set (interrupts), unless AHB Master is used.
13479 * 0b1..DMA will push in the data.
13480 */
13481#define HASHCRYPT_CTRL_DMA_I(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CTRL_DMA_I_SHIFT)) & HASHCRYPT_CTRL_DMA_I_MASK)
13482#define HASHCRYPT_CTRL_DMA_O_MASK (0x200U)
13483#define HASHCRYPT_CTRL_DMA_O_SHIFT (9U)
13484/*! DMA_O - Written to 1 to use DMA to drain the digest/output. If both DMA_I and DMA_O are set, the
13485 * DMA has to know to switch direction and the locations. This can be used for crypto uses.
13486 * 0b0..DMA is not used. Processor reads the digest/output in response to DIGEST interrupt.
13487 */
13488#define HASHCRYPT_CTRL_DMA_O(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CTRL_DMA_O_SHIFT)) & HASHCRYPT_CTRL_DMA_O_MASK)
13489#define HASHCRYPT_CTRL_HASHSWPB_MASK (0x1000U)
13490#define HASHCRYPT_CTRL_HASHSWPB_SHIFT (12U)
13491/*! HASHSWPB - If 1, will swap bytes in the word for SHA hashing. The default is byte order (so LSB
13492 * is 1st byte) but this allows swapping to MSB is 1st such as is shown in SHS spec. For
13493 * cryptographic swapping, see the CRYPTCFG register.
13494 */
13495#define HASHCRYPT_CTRL_HASHSWPB(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CTRL_HASHSWPB_SHIFT)) & HASHCRYPT_CTRL_HASHSWPB_MASK)
13496/*! @} */
13497
13498/*! @name STATUS - Indicates status of Hash peripheral. */
13499/*! @{ */
13500#define HASHCRYPT_STATUS_WAITING_MASK (0x1U)
13501#define HASHCRYPT_STATUS_WAITING_SHIFT (0U)
13502/*! WAITING - If 1, the block is waiting for more data to process.
13503 * 0b0..Not waiting for data - may be disabled or may be busy. Note that for cryptographic uses, this is not set
13504 * if IsLast is set nor will it set until at least 1 word is read of the output.
13505 * 0b1..Waiting for data to be written in (16 words)
13506 */
13507#define HASHCRYPT_STATUS_WAITING(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_STATUS_WAITING_SHIFT)) & HASHCRYPT_STATUS_WAITING_MASK)
13508#define HASHCRYPT_STATUS_DIGEST_MASK (0x2U)
13509#define HASHCRYPT_STATUS_DIGEST_SHIFT (1U)
13510/*! DIGEST - For Hash, if 1 then a DIGEST is ready and waiting and there is no active next block
13511 * already started. For Cryptographic uses, this will be set for each block processed, indicating
13512 * OUTDATA (and OUTDATA2 if larger output) contains the next value to read out. This is cleared
13513 * when any data is written, when New is written, for Cryptographic uses when the last word is read
13514 * out, or when the block is disabled.
13515 * 0b0..No Digest is ready
13516 * 0b1..Digest is ready. Application may read it or may write more data
13517 */
13518#define HASHCRYPT_STATUS_DIGEST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_STATUS_DIGEST_SHIFT)) & HASHCRYPT_STATUS_DIGEST_MASK)
13519#define HASHCRYPT_STATUS_ERROR_MASK (0x4U)
13520#define HASHCRYPT_STATUS_ERROR_SHIFT (2U)
13521/*! ERROR - If 1, an error occurred. For normal uses, this is due to an attempted overrun: INDATA
13522 * was written when it was not appropriate. For Master cases, this is an AHB bus error; the COUNT
13523 * field will indicate which block it was on.
13524 * 0b0..No error.
13525 * 0b1..An error occurred since last cleared (written 1 to clear).
13526 */
13527#define HASHCRYPT_STATUS_ERROR(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_STATUS_ERROR_SHIFT)) & HASHCRYPT_STATUS_ERROR_MASK)
13528#define HASHCRYPT_STATUS_NEEDKEY_MASK (0x10U)
13529#define HASHCRYPT_STATUS_NEEDKEY_SHIFT (4U)
13530/*! NEEDKEY - Indicates the block wants the key to be written in (set along with WAITING)
13531 * 0b0..No Key is needed and writes will not be treated as Key
13532 * 0b1..Key is needed and INDATA/ALIAS will be accepted as Key. Will also set WAITING.
13533 */
13534#define HASHCRYPT_STATUS_NEEDKEY(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_STATUS_NEEDKEY_SHIFT)) & HASHCRYPT_STATUS_NEEDKEY_MASK)
13535#define HASHCRYPT_STATUS_NEEDIV_MASK (0x20U)
13536#define HASHCRYPT_STATUS_NEEDIV_SHIFT (5U)
13537/*! NEEDIV - Indicates the block wants an IV/NONE to be written in (set along with WAITING)
13538 * 0b0..No IV/Nonce is needed, either because written already or because not needed.
13539 * 0b1..IV/Nonce is needed and INDATA/ALIAS will be accepted as IV/Nonce. Will also set WAITING.
13540 */
13541#define HASHCRYPT_STATUS_NEEDIV(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_STATUS_NEEDIV_SHIFT)) & HASHCRYPT_STATUS_NEEDIV_MASK)
13542#define HASHCRYPT_STATUS_ICBIDX_MASK (0x3F0000U)
13543#define HASHCRYPT_STATUS_ICBIDX_SHIFT (16U)
13544/*! ICBIDX - If ICB-AES is selected, then reads as the ICB index count based on ICBSTRM (from
13545 * CRYPTCFG). That is, if 3 bits of ICBSTRM, then this will count from 0 to 7 and then back to 0. On 0,
13546 * it has to compute the full ICB, quicker when not 0.
13547 */
13548#define HASHCRYPT_STATUS_ICBIDX(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_STATUS_ICBIDX_SHIFT)) & HASHCRYPT_STATUS_ICBIDX_MASK)
13549/*! @} */
13550
13551/*! @name INTENSET - Write 1 to enable interrupts; reads back with which are set. */
13552/*! @{ */
13553#define HASHCRYPT_INTENSET_WAITING_MASK (0x1U)
13554#define HASHCRYPT_INTENSET_WAITING_SHIFT (0U)
13555/*! WAITING - Indicates if should interrupt when waiting for data input.
13556 * 0b0..Will not interrupt when waiting.
13557 * 0b1..Will interrupt when waiting
13558 */
13559#define HASHCRYPT_INTENSET_WAITING(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INTENSET_WAITING_SHIFT)) & HASHCRYPT_INTENSET_WAITING_MASK)
13560#define HASHCRYPT_INTENSET_DIGEST_MASK (0x2U)
13561#define HASHCRYPT_INTENSET_DIGEST_SHIFT (1U)
13562/*! DIGEST - Indicates if should interrupt when Digest (or Outdata) is ready (completed a hash/crypto or completed a full sequence).
13563 * 0b0..Will not interrupt when Digest is ready
13564 * 0b1..Will interrupt when Digest is ready. Interrupt cleared by writing more data, starting a new Hash, or disabling (done).
13565 */
13566#define HASHCRYPT_INTENSET_DIGEST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INTENSET_DIGEST_SHIFT)) & HASHCRYPT_INTENSET_DIGEST_MASK)
13567#define HASHCRYPT_INTENSET_ERROR_MASK (0x4U)
13568#define HASHCRYPT_INTENSET_ERROR_SHIFT (2U)
13569/*! ERROR - Indicates if should interrupt on an ERROR (as defined in Status)
13570 * 0b0..Will not interrupt on Error.
13571 * 0b1..Will interrupt on Error (until cleared).
13572 */
13573#define HASHCRYPT_INTENSET_ERROR(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INTENSET_ERROR_SHIFT)) & HASHCRYPT_INTENSET_ERROR_MASK)
13574/*! @} */
13575
13576/*! @name INTENCLR - Write 1 to clear interrupts. */
13577/*! @{ */
13578#define HASHCRYPT_INTENCLR_WAITING_MASK (0x1U)
13579#define HASHCRYPT_INTENCLR_WAITING_SHIFT (0U)
13580/*! WAITING - Write 1 to clear mask.
13581 */
13582#define HASHCRYPT_INTENCLR_WAITING(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INTENCLR_WAITING_SHIFT)) & HASHCRYPT_INTENCLR_WAITING_MASK)
13583#define HASHCRYPT_INTENCLR_DIGEST_MASK (0x2U)
13584#define HASHCRYPT_INTENCLR_DIGEST_SHIFT (1U)
13585/*! DIGEST - Write 1 to clear mask.
13586 */
13587#define HASHCRYPT_INTENCLR_DIGEST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INTENCLR_DIGEST_SHIFT)) & HASHCRYPT_INTENCLR_DIGEST_MASK)
13588#define HASHCRYPT_INTENCLR_ERROR_MASK (0x4U)
13589#define HASHCRYPT_INTENCLR_ERROR_SHIFT (2U)
13590/*! ERROR - Write 1 to clear mask.
13591 */
13592#define HASHCRYPT_INTENCLR_ERROR(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INTENCLR_ERROR_SHIFT)) & HASHCRYPT_INTENCLR_ERROR_MASK)
13593/*! @} */
13594
13595/*! @name MEMCTRL - Setup Master to access memory (if available) */
13596/*! @{ */
13597#define HASHCRYPT_MEMCTRL_MASTER_MASK (0x1U)
13598#define HASHCRYPT_MEMCTRL_MASTER_SHIFT (0U)
13599/*! MASTER - Enables mastering.
13600 * 0b0..Mastering is not used and the normal DMA or Interrupt based model is used with INDATA.
13601 * 0b1..Mastering is enabled and DMA and INDATA should not be used.
13602 */
13603#define HASHCRYPT_MEMCTRL_MASTER(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_MEMCTRL_MASTER_SHIFT)) & HASHCRYPT_MEMCTRL_MASTER_MASK)
13604#define HASHCRYPT_MEMCTRL_COUNT_MASK (0x7FF0000U)
13605#define HASHCRYPT_MEMCTRL_COUNT_SHIFT (16U)
13606/*! COUNT - Number of 512-bit (128-bit if AES, except 1st block which may include key and IV) blocks
13607 * to copy starting at MEMADDR. This register will decrement after each block is copied, ending
13608 * in 0. For Hash, the DIGEST interrupt will occur when it reaches 0. Fro AES, the DIGEST/OUTDATA
13609 * interrupt will occur on ever block. If a bus error occurs, it will stop with this field set
13610 * to the block that failed. 0:Done - nothing to process. 1 to 2K: Number of 512-bit (or 128bit)
13611 * blocks to hash.
13612 */
13613#define HASHCRYPT_MEMCTRL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_MEMCTRL_COUNT_SHIFT)) & HASHCRYPT_MEMCTRL_COUNT_MASK)
13614/*! @} */
13615
13616/*! @name MEMADDR - Address to start memory access from (if available). */
13617/*! @{ */
13618#define HASHCRYPT_MEMADDR_BASE_MASK (0xFFFFFFFFU)
13619#define HASHCRYPT_MEMADDR_BASE_SHIFT (0U)
13620/*! BASE - Address base to start copying from, word aligned (so bits 1:0 must be 0). This field will
13621 * advance as it processes the words. If it fails with a bus error, the register will contain
13622 * the failing word. N:Address in Flash or RAM space; RAM only as mapped in this part. May also be
13623 * able to address SPIFI.
13624 */
13625#define HASHCRYPT_MEMADDR_BASE(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_MEMADDR_BASE_SHIFT)) & HASHCRYPT_MEMADDR_BASE_MASK)
13626/*! @} */
13627
13628/*! @name INDATA - Input of 16 words at a time to load up buffer. */
13629/*! @{ */
13630#define HASHCRYPT_INDATA_DATA_MASK (0xFFFFFFFFU)
13631#define HASHCRYPT_INDATA_DATA_SHIFT (0U)
13632/*! DATA - Write next word in little-endian form. The hash requires big endian word data, but this
13633 * block swaps the bytes automatically. That is, SHA assumes the data coming in is treated as
13634 * bytes (e.g. "abcd") and since the ARM core will treat "abcd" as a word as 0x64636261, the block
13635 * will swap the word to restore into big endian.
13636 */
13637#define HASHCRYPT_INDATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_INDATA_DATA_SHIFT)) & HASHCRYPT_INDATA_DATA_MASK)
13638/*! @} */
13639
13640/*! @name ALIAS - */
13641/*! @{ */
13642#define HASHCRYPT_ALIAS_DATA_MASK (0xFFFFFFFFU)
13643#define HASHCRYPT_ALIAS_DATA_SHIFT (0U)
13644/*! DATA - Write next word in little-endian form. The hash requires big endian word data, but this
13645 * block swaps the bytes automatically. That is, SHA assumes the data coming in is treated as
13646 * bytes (e.g. "abcd") and since the ARM core will treat "abcd" as a word as 0x64636261, the block
13647 * will swap the word to restore into big endian.
13648 */
13649#define HASHCRYPT_ALIAS_DATA(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_ALIAS_DATA_SHIFT)) & HASHCRYPT_ALIAS_DATA_MASK)
13650/*! @} */
13651
13652/* The count of HASHCRYPT_ALIAS */
13653#define HASHCRYPT_ALIAS_COUNT (7U)
13654
13655/*! @name DIGEST0 - */
13656/*! @{ */
13657#define HASHCRYPT_DIGEST0_DIGEST_MASK (0xFFFFFFFFU)
13658#define HASHCRYPT_DIGEST0_DIGEST_SHIFT (0U)
13659/*! DIGEST - One word of the Digest or output. Note that only 1st 4 are populated for AES and 1st 5 are populated for SHA1.
13660 */
13661#define HASHCRYPT_DIGEST0_DIGEST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_DIGEST0_DIGEST_SHIFT)) & HASHCRYPT_DIGEST0_DIGEST_MASK)
13662/*! @} */
13663
13664/* The count of HASHCRYPT_DIGEST0 */
13665#define HASHCRYPT_DIGEST0_COUNT (8U)
13666
13667/*! @name CRYPTCFG - Crypto settings for AES and Salsa and ChaCha */
13668/*! @{ */
13669#define HASHCRYPT_CRYPTCFG_MSW1ST_OUT_MASK (0x1U)
13670#define HASHCRYPT_CRYPTCFG_MSW1ST_OUT_SHIFT (0U)
13671/*! MSW1ST_OUT - If 1, OUTDATA0 will be read Most significant word 1st for AES. Else it will be read
13672 * in normal little endian - Least significant word 1st. Note: only if allowed by configuration.
13673 */
13674#define HASHCRYPT_CRYPTCFG_MSW1ST_OUT(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_MSW1ST_OUT_SHIFT)) & HASHCRYPT_CRYPTCFG_MSW1ST_OUT_MASK)
13675#define HASHCRYPT_CRYPTCFG_SWAPKEY_MASK (0x2U)
13676#define HASHCRYPT_CRYPTCFG_SWAPKEY_SHIFT (1U)
13677/*! SWAPKEY - If 1, will Swap the key input (bytes in each word).
13678 */
13679#define HASHCRYPT_CRYPTCFG_SWAPKEY(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_SWAPKEY_SHIFT)) & HASHCRYPT_CRYPTCFG_SWAPKEY_MASK)
13680#define HASHCRYPT_CRYPTCFG_SWAPDAT_MASK (0x4U)
13681#define HASHCRYPT_CRYPTCFG_SWAPDAT_SHIFT (2U)
13682/*! SWAPDAT - If 1, will SWAP the data and IV inputs (bytes in each word).
13683 */
13684#define HASHCRYPT_CRYPTCFG_SWAPDAT(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_SWAPDAT_SHIFT)) & HASHCRYPT_CRYPTCFG_SWAPDAT_MASK)
13685#define HASHCRYPT_CRYPTCFG_MSW1ST_MASK (0x8U)
13686#define HASHCRYPT_CRYPTCFG_MSW1ST_SHIFT (3U)
13687/*! MSW1ST - If 1, load of key, IV, and data is MSW 1st for AES. Else, the words are little endian.
13688 * Note: only if allowed by configuration.
13689 */
13690#define HASHCRYPT_CRYPTCFG_MSW1ST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_MSW1ST_SHIFT)) & HASHCRYPT_CRYPTCFG_MSW1ST_MASK)
13691#define HASHCRYPT_CRYPTCFG_AESMODE_MASK (0x30U)
13692#define HASHCRYPT_CRYPTCFG_AESMODE_SHIFT (4U)
13693/*! AESMODE - AES Cipher mode to use if plain AES
13694 * 0b00..ECB - used as is
13695 * 0b01..CBC mode (see details on IV/nonce)
13696 * 0b10..CTR mode (see details on IV/nonce). See also AESCTRPOS.
13697 * 0b11..reserved
13698 */
13699#define HASHCRYPT_CRYPTCFG_AESMODE(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_AESMODE_SHIFT)) & HASHCRYPT_CRYPTCFG_AESMODE_MASK)
13700#define HASHCRYPT_CRYPTCFG_AESDECRYPT_MASK (0x40U)
13701#define HASHCRYPT_CRYPTCFG_AESDECRYPT_SHIFT (6U)
13702/*! AESDECRYPT - AES ECB direction. Only encryption used if CTR mode or manual modes such as CFB
13703 * 0b0..Encrypt
13704 * 0b1..Decrypt
13705 */
13706#define HASHCRYPT_CRYPTCFG_AESDECRYPT(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_AESDECRYPT_SHIFT)) & HASHCRYPT_CRYPTCFG_AESDECRYPT_MASK)
13707#define HASHCRYPT_CRYPTCFG_AESSECRET_MASK (0x80U)
13708#define HASHCRYPT_CRYPTCFG_AESSECRET_SHIFT (7U)
13709/*! AESSECRET - Selects the Hidden Secret key vs. User key, if provided. If security levels are
13710 * used, only the highest level is permitted to select this.
13711 * 0b0..User key provided in normal way
13712 * 0b1..Secret key provided in hidden way by HW
13713 */
13714#define HASHCRYPT_CRYPTCFG_AESSECRET(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_AESSECRET_SHIFT)) & HASHCRYPT_CRYPTCFG_AESSECRET_MASK)
13715#define HASHCRYPT_CRYPTCFG_AESKEYSZ_MASK (0x300U)
13716#define HASHCRYPT_CRYPTCFG_AESKEYSZ_SHIFT (8U)
13717/*! AESKEYSZ - Sets the AES key size
13718 * 0b00..128 bit key
13719 * 0b01..192 bit key
13720 * 0b10..256 bit key
13721 * 0b11..reserved
13722 */
13723#define HASHCRYPT_CRYPTCFG_AESKEYSZ(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_AESKEYSZ_SHIFT)) & HASHCRYPT_CRYPTCFG_AESKEYSZ_MASK)
13724#define HASHCRYPT_CRYPTCFG_AESCTRPOS_MASK (0x1C00U)
13725#define HASHCRYPT_CRYPTCFG_AESCTRPOS_SHIFT (10U)
13726/*! AESCTRPOS - Halfword position of 16b counter in IV if AESMODE is CTR (position is fixed for
13727 * Salsa and ChaCha). Only supports 16b counter, so application must control any additional bytes if
13728 * using more. The 16-bit counter is read from the IV and incremented by 1 each time. Any other
13729 * use CTR should use ECB directly and do its own XOR and so on.
13730 */
13731#define HASHCRYPT_CRYPTCFG_AESCTRPOS(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_AESCTRPOS_SHIFT)) & HASHCRYPT_CRYPTCFG_AESCTRPOS_MASK)
13732#define HASHCRYPT_CRYPTCFG_STREAMLAST_MASK (0x10000U)
13733#define HASHCRYPT_CRYPTCFG_STREAMLAST_SHIFT (16U)
13734/*! STREAMLAST - Is 1 if last stream block. If not 1, then the engine will compute the next "hash".
13735 */
13736#define HASHCRYPT_CRYPTCFG_STREAMLAST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_STREAMLAST_SHIFT)) & HASHCRYPT_CRYPTCFG_STREAMLAST_MASK)
13737#define HASHCRYPT_CRYPTCFG_ICBSZ_MASK (0x300000U)
13738#define HASHCRYPT_CRYPTCFG_ICBSZ_SHIFT (20U)
13739/*! ICBSZ - This sets the ICB size between 32 and 128 bits, using the following rules. Note that the
13740 * counter is assumed to occupy the low order bits of the IV.
13741 * 0b00..32 bits of the IV/ctr are used (from 127:96)
13742 * 0b01..64 bits of the IV/ctr are used (from 127:64)
13743 * 0b10..96 bits of the IV/ctr are used (from 127:32)
13744 * 0b11..All 128 bits of the IV/ctr are used
13745 */
13746#define HASHCRYPT_CRYPTCFG_ICBSZ(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_ICBSZ_SHIFT)) & HASHCRYPT_CRYPTCFG_ICBSZ_MASK)
13747#define HASHCRYPT_CRYPTCFG_ICBSTRM_MASK (0xC00000U)
13748#define HASHCRYPT_CRYPTCFG_ICBSTRM_SHIFT (22U)
13749/*! ICBSTRM - The size of the ICB-AES stream that can be pushed before needing to compute a new
13750 * IV/ctr (counter start). This optimizes the performance of the stream of blocks after the 1st.
13751 * 0b00..8 blocks
13752 * 0b01..16 blocks
13753 * 0b10..32 blocks
13754 * 0b11..64 blocks
13755 */
13756#define HASHCRYPT_CRYPTCFG_ICBSTRM(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CRYPTCFG_ICBSTRM_SHIFT)) & HASHCRYPT_CRYPTCFG_ICBSTRM_MASK)
13757/*! @} */
13758
13759/*! @name CONFIG - Returns the configuration of this block in this chip - indicates what services are available. */
13760/*! @{ */
13761#define HASHCRYPT_CONFIG_DUAL_MASK (0x1U)
13762#define HASHCRYPT_CONFIG_DUAL_SHIFT (0U)
13763/*! DUAL - 1 if 2 x 512 bit buffers, 0 if only 1 x 512 bit
13764 */
13765#define HASHCRYPT_CONFIG_DUAL(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_DUAL_SHIFT)) & HASHCRYPT_CONFIG_DUAL_MASK)
13766#define HASHCRYPT_CONFIG_DMA_MASK (0x2U)
13767#define HASHCRYPT_CONFIG_DMA_SHIFT (1U)
13768/*! DMA - 1 if DMA is connected
13769 */
13770#define HASHCRYPT_CONFIG_DMA(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_DMA_SHIFT)) & HASHCRYPT_CONFIG_DMA_MASK)
13771#define HASHCRYPT_CONFIG_AHB_MASK (0x8U)
13772#define HASHCRYPT_CONFIG_AHB_SHIFT (3U)
13773/*! AHB - 1 if AHB Master is enabled
13774 */
13775#define HASHCRYPT_CONFIG_AHB(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_AHB_SHIFT)) & HASHCRYPT_CONFIG_AHB_MASK)
13776#define HASHCRYPT_CONFIG_AES_MASK (0x40U)
13777#define HASHCRYPT_CONFIG_AES_SHIFT (6U)
13778/*! AES - 1 if AES 128 included
13779 */
13780#define HASHCRYPT_CONFIG_AES(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_AES_SHIFT)) & HASHCRYPT_CONFIG_AES_MASK)
13781#define HASHCRYPT_CONFIG_AESKEY_MASK (0x80U)
13782#define HASHCRYPT_CONFIG_AESKEY_SHIFT (7U)
13783/*! AESKEY - 1 if AES 192 and 256 also included
13784 */
13785#define HASHCRYPT_CONFIG_AESKEY(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_AESKEY_SHIFT)) & HASHCRYPT_CONFIG_AESKEY_MASK)
13786#define HASHCRYPT_CONFIG_SECRET_MASK (0x100U)
13787#define HASHCRYPT_CONFIG_SECRET_SHIFT (8U)
13788/*! SECRET - 1 if AES Secret key available
13789 */
13790#define HASHCRYPT_CONFIG_SECRET(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_SECRET_SHIFT)) & HASHCRYPT_CONFIG_SECRET_MASK)
13791#define HASHCRYPT_CONFIG_ICB_MASK (0x800U)
13792#define HASHCRYPT_CONFIG_ICB_SHIFT (11U)
13793/*! ICB - 1 if ICB over AES included
13794 */
13795#define HASHCRYPT_CONFIG_ICB(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_CONFIG_ICB_SHIFT)) & HASHCRYPT_CONFIG_ICB_MASK)
13796/*! @} */
13797
13798/*! @name LOCK - Lock register allows locking to the current security level or unlocking by the lock holding level. */
13799/*! @{ */
13800#define HASHCRYPT_LOCK_SECLOCK_MASK (0x3U)
13801#define HASHCRYPT_LOCK_SECLOCK_SHIFT (0U)
13802/*! SECLOCK - Write 1 to secure-lock this block (if running in a security state). Write 0 to unlock.
13803 * If locked already, may only write if at same or higher security level as lock. Reads as: 0 if
13804 * unlocked, else 1, 2, 3 to indicate security level it is locked at. NOTE: this and ID are the
13805 * only readable registers if locked and current state is lower than lock level.
13806 * 0b00..Unlocks, so block is open to all. But, AHB Master will only issue non-secure requests.
13807 * 0b01..Locks to the current security level. AHB Master will issue requests at this level.
13808 */
13809#define HASHCRYPT_LOCK_SECLOCK(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_LOCK_SECLOCK_SHIFT)) & HASHCRYPT_LOCK_SECLOCK_MASK)
13810#define HASHCRYPT_LOCK_PATTERN_MASK (0xFFF0U)
13811#define HASHCRYPT_LOCK_PATTERN_SHIFT (4U)
13812/*! PATTERN - Must write 0xA75 to change lock state. A75:Pattern needed to change bits 1:0
13813 */
13814#define HASHCRYPT_LOCK_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_LOCK_PATTERN_SHIFT)) & HASHCRYPT_LOCK_PATTERN_MASK)
13815/*! @} */
13816
13817/*! @name MASK - */
13818/*! @{ */
13819#define HASHCRYPT_MASK_MASK_MASK (0xFFFFFFFFU)
13820#define HASHCRYPT_MASK_MASK_SHIFT (0U)
13821/*! MASK - A random word.
13822 */
13823#define HASHCRYPT_MASK_MASK(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_MASK_MASK_SHIFT)) & HASHCRYPT_MASK_MASK_MASK)
13824/*! @} */
13825
13826/* The count of HASHCRYPT_MASK */
13827#define HASHCRYPT_MASK_COUNT (4U)
13828
13829/*! @name RELOAD - */
13830/*! @{ */
13831#define HASHCRYPT_RELOAD_DIGEST_MASK (0xFFFFFFFFU)
13832#define HASHCRYPT_RELOAD_DIGEST_SHIFT (0U)
13833/*! DIGEST - SHA Digest word to reload.
13834 */
13835#define HASHCRYPT_RELOAD_DIGEST(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_RELOAD_DIGEST_SHIFT)) & HASHCRYPT_RELOAD_DIGEST_MASK)
13836/*! @} */
13837
13838/* The count of HASHCRYPT_RELOAD */
13839#define HASHCRYPT_RELOAD_COUNT (8U)
13840
13841/*! @name PRNG_SEED - PRNG random seed input value used as an entropy source */
13842/*! @{ */
13843#define HASHCRYPT_PRNG_SEED_PRNG_SEED_MASK (0xFFFFFFFFU)
13844#define HASHCRYPT_PRNG_SEED_PRNG_SEED_SHIFT (0U)
13845/*! PRNG_SEED - Random input value used as an entropy source
13846 */
13847#define HASHCRYPT_PRNG_SEED_PRNG_SEED(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_PRNG_SEED_PRNG_SEED_SHIFT)) & HASHCRYPT_PRNG_SEED_PRNG_SEED_MASK)
13848/*! @} */
13849
13850/*! @name PRNG_OUT - PRNG software-accessable random output value */
13851/*! @{ */
13852#define HASHCRYPT_PRNG_OUT_PRNG_OUT_MASK (0xFFFFFFFFU)
13853#define HASHCRYPT_PRNG_OUT_PRNG_OUT_SHIFT (0U)
13854/*! PRNG_OUT - Random output value from the PRNG. The PRNG output is disabled and this register is
13855 * set to 0x00000000 when the AES is enabled.
13856 */
13857#define HASHCRYPT_PRNG_OUT_PRNG_OUT(x) (((uint32_t)(((uint32_t)(x)) << HASHCRYPT_PRNG_OUT_PRNG_OUT_SHIFT)) & HASHCRYPT_PRNG_OUT_PRNG_OUT_MASK)
13858/*! @} */
13859
13860
13861/*!
13862 * @}
13863 */ /* end of group HASHCRYPT_Register_Masks */
13864
13865
13866/* HASHCRYPT - Peripheral instance base addresses */
13867#if (__ARM_FEATURE_CMSE & 0x2)
13868 /** Peripheral HASHCRYPT base address */
13869 #define HASHCRYPT_BASE (0x50158000u)
13870 /** Peripheral HASHCRYPT base address */
13871 #define HASHCRYPT_BASE_NS (0x40158000u)
13872 /** Peripheral HASHCRYPT base pointer */
13873 #define HASHCRYPT ((HASHCRYPT_Type *)HASHCRYPT_BASE)
13874 /** Peripheral HASHCRYPT base pointer */
13875 #define HASHCRYPT_NS ((HASHCRYPT_Type *)HASHCRYPT_BASE_NS)
13876 /** Array initializer of HASHCRYPT peripheral base addresses */
13877 #define HASHCRYPT_BASE_ADDRS { HASHCRYPT_BASE }
13878 /** Array initializer of HASHCRYPT peripheral base pointers */
13879 #define HASHCRYPT_BASE_PTRS { HASHCRYPT }
13880 /** Array initializer of HASHCRYPT peripheral base addresses */
13881 #define HASHCRYPT_BASE_ADDRS_NS { HASHCRYPT_BASE_NS }
13882 /** Array initializer of HASHCRYPT peripheral base pointers */
13883 #define HASHCRYPT_BASE_PTRS_NS { HASHCRYPT_NS }
13884#else
13885 /** Peripheral HASHCRYPT base address */
13886 #define HASHCRYPT_BASE (0x40158000u)
13887 /** Peripheral HASHCRYPT base pointer */
13888 #define HASHCRYPT ((HASHCRYPT_Type *)HASHCRYPT_BASE)
13889 /** Array initializer of HASHCRYPT peripheral base addresses */
13890 #define HASHCRYPT_BASE_ADDRS { HASHCRYPT_BASE }
13891 /** Array initializer of HASHCRYPT peripheral base pointers */
13892 #define HASHCRYPT_BASE_PTRS { HASHCRYPT }
13893#endif
13894/** Interrupt vectors for the HASHCRYPT peripheral type */
13895#define HASHCRYPT_IRQS { HASHCRYPT_IRQn }
13896
13897/*!
13898 * @}
13899 */ /* end of group HASHCRYPT_Peripheral_Access_Layer */
13900
13901
13902/* ----------------------------------------------------------------------------
13903 -- I2C Peripheral Access Layer
13904 ---------------------------------------------------------------------------- */
13905
13906/*!
13907 * @addtogroup I2C_Peripheral_Access_Layer I2C Peripheral Access Layer
13908 * @{
13909 */
13910
13911/** I2C - Register Layout Typedef */
13912typedef struct {
13913 uint8_t RESERVED_0[2048];
13914 __IO uint32_t CFG; /**< Configuration for shared functions., offset: 0x800 */
13915 __IO uint32_t STAT; /**< Status register for Master, Slave, and Monitor functions., offset: 0x804 */
13916 __IO uint32_t INTENSET; /**< Interrupt Enable Set and read register., offset: 0x808 */
13917 __O uint32_t INTENCLR; /**< Interrupt Enable Clear register., offset: 0x80C */
13918 __IO uint32_t TIMEOUT; /**< Time-out value register., offset: 0x810 */
13919 __IO uint32_t CLKDIV; /**< Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function., offset: 0x814 */
13920 __I uint32_t INTSTAT; /**< Interrupt Status register for Master, Slave, and Monitor functions., offset: 0x818 */
13921 uint8_t RESERVED_1[4];
13922 __IO uint32_t MSTCTL; /**< Master control register., offset: 0x820 */
13923 __IO uint32_t MSTTIME; /**< Master timing configuration., offset: 0x824 */
13924 __IO uint32_t MSTDAT; /**< Combined Master receiver and transmitter data register., offset: 0x828 */
13925 uint8_t RESERVED_2[20];
13926 __IO uint32_t SLVCTL; /**< Slave control register., offset: 0x840 */
13927 __IO uint32_t SLVDAT; /**< Combined Slave receiver and transmitter data register., offset: 0x844 */
13928 __IO uint32_t SLVADR[4]; /**< Slave address register., array offset: 0x848, array step: 0x4 */
13929 __IO uint32_t SLVQUAL0; /**< Slave Qualification for address 0., offset: 0x858 */
13930 uint8_t RESERVED_3[36];
13931 __I uint32_t MONRXDAT; /**< Monitor receiver data register., offset: 0x880 */
13932 uint8_t RESERVED_4[1912];
13933 __I uint32_t ID; /**< Peripheral identification register., offset: 0xFFC */
13934} I2C_Type;
13935
13936/* ----------------------------------------------------------------------------
13937 -- I2C Register Masks
13938 ---------------------------------------------------------------------------- */
13939
13940/*!
13941 * @addtogroup I2C_Register_Masks I2C Register Masks
13942 * @{
13943 */
13944
13945/*! @name CFG - Configuration for shared functions. */
13946/*! @{ */
13947#define I2C_CFG_MSTEN_MASK (0x1U)
13948#define I2C_CFG_MSTEN_SHIFT (0U)
13949/*! MSTEN - Master Enable. When disabled, configurations settings for the Master function are not
13950 * changed, but the Master function is internally reset.
13951 * 0b0..Disabled. The I2C Master function is disabled.
13952 * 0b1..Enabled. The I2C Master function is enabled.
13953 */
13954#define I2C_CFG_MSTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_MSTEN_SHIFT)) & I2C_CFG_MSTEN_MASK)
13955#define I2C_CFG_SLVEN_MASK (0x2U)
13956#define I2C_CFG_SLVEN_SHIFT (1U)
13957/*! SLVEN - Slave Enable. When disabled, configurations settings for the Slave function are not
13958 * changed, but the Slave function is internally reset.
13959 * 0b0..Disabled. The I2C slave function is disabled.
13960 * 0b1..Enabled. The I2C slave function is enabled.
13961 */
13962#define I2C_CFG_SLVEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_SLVEN_SHIFT)) & I2C_CFG_SLVEN_MASK)
13963#define I2C_CFG_MONEN_MASK (0x4U)
13964#define I2C_CFG_MONEN_SHIFT (2U)
13965/*! MONEN - Monitor Enable. When disabled, configurations settings for the Monitor function are not
13966 * changed, but the Monitor function is internally reset.
13967 * 0b0..Disabled. The I2C Monitor function is disabled.
13968 * 0b1..Enabled. The I2C Monitor function is enabled.
13969 */
13970#define I2C_CFG_MONEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_MONEN_SHIFT)) & I2C_CFG_MONEN_MASK)
13971#define I2C_CFG_TIMEOUTEN_MASK (0x8U)
13972#define I2C_CFG_TIMEOUTEN_SHIFT (3U)
13973/*! TIMEOUTEN - I2C bus Time-out Enable. When disabled, the time-out function is internally reset.
13974 * 0b0..Disabled. Time-out function is disabled.
13975 * 0b1..Enabled. Time-out function is enabled. Both types of time-out flags will be generated and will cause
13976 * interrupts if they are enabled. Typically, only one time-out will be used in a system.
13977 */
13978#define I2C_CFG_TIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_TIMEOUTEN_SHIFT)) & I2C_CFG_TIMEOUTEN_MASK)
13979#define I2C_CFG_MONCLKSTR_MASK (0x10U)
13980#define I2C_CFG_MONCLKSTR_SHIFT (4U)
13981/*! MONCLKSTR - Monitor function Clock Stretching.
13982 * 0b0..Disabled. The Monitor function will not perform clock stretching. Software or DMA may not always be able
13983 * to read data provided by the Monitor function before it is overwritten. This mode may be used when
13984 * non-invasive monitoring is critical.
13985 * 0b1..Enabled. The Monitor function will perform clock stretching in order to ensure that software or DMA can
13986 * read all incoming data supplied by the Monitor function.
13987 */
13988#define I2C_CFG_MONCLKSTR(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_MONCLKSTR_SHIFT)) & I2C_CFG_MONCLKSTR_MASK)
13989#define I2C_CFG_HSCAPABLE_MASK (0x20U)
13990#define I2C_CFG_HSCAPABLE_SHIFT (5U)
13991/*! HSCAPABLE - High-speed mode Capable enable. Since High Speed mode alters the way I2C pins drive
13992 * and filter, as well as the timing for certain I2C signalling, enabling High-speed mode applies
13993 * to all functions: Master, Slave, and Monitor.
13994 * 0b0..Fast-mode plus. The I 2C interface will support Standard-mode, Fast-mode, and Fast-mode Plus, to the
13995 * extent that the pin electronics support these modes. Any changes that need to be made to the pin controls,
13996 * such as changing the drive strength or filtering, must be made by software via the IOCON register associated
13997 * with each I2C pin,
13998 * 0b1..High-speed. In addition to Standard-mode, Fast-mode, and Fast-mode Plus, the I 2C interface will support
13999 * High-speed mode to the extent that the pin electronics support these modes. See Section 25.7.2.2 for more
14000 * information.
14001 */
14002#define I2C_CFG_HSCAPABLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_CFG_HSCAPABLE_SHIFT)) & I2C_CFG_HSCAPABLE_MASK)
14003/*! @} */
14004
14005/*! @name STAT - Status register for Master, Slave, and Monitor functions. */
14006/*! @{ */
14007#define I2C_STAT_MSTPENDING_MASK (0x1U)
14008#define I2C_STAT_MSTPENDING_SHIFT (0U)
14009/*! MSTPENDING - Master Pending. Indicates that the Master is waiting to continue communication on
14010 * the I2C-bus (pending) or is idle. When the master is pending, the MSTSTATE bits indicate what
14011 * type of software service if any the master expects. This flag will cause an interrupt when set
14012 * if, enabled via the INTENSET register. The MSTPENDING flag is not set when the DMA is handling
14013 * an event (if the MSTDMA bit in the MSTCTL register is set). If the master is in the idle
14014 * state, and no communication is needed, mask this interrupt.
14015 * 0b0..In progress. Communication is in progress and the Master function is busy and cannot currently accept a command.
14016 * 0b1..Pending. The Master function needs software service or is in the idle state. If the master is not in the
14017 * idle state, it is waiting to receive or transmit data or the NACK bit.
14018 */
14019#define I2C_STAT_MSTPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTPENDING_SHIFT)) & I2C_STAT_MSTPENDING_MASK)
14020#define I2C_STAT_MSTSTATE_MASK (0xEU)
14021#define I2C_STAT_MSTSTATE_SHIFT (1U)
14022/*! MSTSTATE - Master State code. The master state code reflects the master state when the
14023 * MSTPENDING bit is set, that is the master is pending or in the idle state. Each value of this field
14024 * indicates a specific required service for the Master function. All other values are reserved. See
14025 * Table 400 for details of state values and appropriate responses.
14026 * 0b000..Idle. The Master function is available to be used for a new transaction.
14027 * 0b001..Receive ready. Received data available (Master Receiver mode). Address plus Read was previously sent and Acknowledged by slave.
14028 * 0b010..Transmit ready. Data can be transmitted (Master Transmitter mode). Address plus Write was previously sent and Acknowledged by slave.
14029 * 0b011..NACK Address. Slave NACKed address.
14030 * 0b100..NACK Data. Slave NACKed transmitted data.
14031 */
14032#define I2C_STAT_MSTSTATE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTSTATE_SHIFT)) & I2C_STAT_MSTSTATE_MASK)
14033#define I2C_STAT_MSTARBLOSS_MASK (0x10U)
14034#define I2C_STAT_MSTARBLOSS_SHIFT (4U)
14035/*! MSTARBLOSS - Master Arbitration Loss flag. This flag can be cleared by software writing a 1 to
14036 * this bit. It is also cleared automatically a 1 is written to MSTCONTINUE.
14037 * 0b0..No Arbitration Loss has occurred.
14038 * 0b1..Arbitration loss. The Master function has experienced an Arbitration Loss. At this point, the Master
14039 * function has already stopped driving the bus and gone to an idle state. Software can respond by doing nothing,
14040 * or by sending a Start in order to attempt to gain control of the bus when it next becomes idle.
14041 */
14042#define I2C_STAT_MSTARBLOSS(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTARBLOSS_SHIFT)) & I2C_STAT_MSTARBLOSS_MASK)
14043#define I2C_STAT_MSTSTSTPERR_MASK (0x40U)
14044#define I2C_STAT_MSTSTSTPERR_SHIFT (6U)
14045/*! MSTSTSTPERR - Master Start/Stop Error flag. This flag can be cleared by software writing a 1 to
14046 * this bit. It is also cleared automatically a 1 is written to MSTCONTINUE.
14047 * 0b0..No Start/Stop Error has occurred.
14048 * 0b1..The Master function has experienced a Start/Stop Error. A Start or Stop was detected at a time when it is
14049 * not allowed by the I2C specification. The Master interface has stopped driving the bus and gone to an
14050 * idle state, no action is required. A request for a Start could be made, or software could attempt to insure
14051 * that the bus has not stalled.
14052 */
14053#define I2C_STAT_MSTSTSTPERR(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MSTSTSTPERR_SHIFT)) & I2C_STAT_MSTSTSTPERR_MASK)
14054#define I2C_STAT_SLVPENDING_MASK (0x100U)
14055#define I2C_STAT_SLVPENDING_SHIFT (8U)
14056/*! SLVPENDING - Slave Pending. Indicates that the Slave function is waiting to continue
14057 * communication on the I2C-bus and needs software service. This flag will cause an interrupt when set if
14058 * enabled via INTENSET. The SLVPENDING flag is not set when the DMA is handling an event (if the
14059 * SLVDMA bit in the SLVCTL register is set). The SLVPENDING flag is read-only and is
14060 * automatically cleared when a 1 is written to the SLVCONTINUE bit in the SLVCTL register. The point in time
14061 * when SlvPending is set depends on whether the I2C interface is in HSCAPABLE mode. See Section
14062 * 25.7.2.2.2. When the I2C interface is configured to be HSCAPABLE, HS master codes are
14063 * detected automatically. Due to the requirements of the HS I2C specification, slave addresses must
14064 * also be detected automatically, since the address must be acknowledged before the clock can be
14065 * stretched.
14066 * 0b0..In progress. The Slave function does not currently need service.
14067 * 0b1..Pending. The Slave function needs service. Information on what is needed can be found in the adjacent SLVSTATE field.
14068 */
14069#define I2C_STAT_SLVPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVPENDING_SHIFT)) & I2C_STAT_SLVPENDING_MASK)
14070#define I2C_STAT_SLVSTATE_MASK (0x600U)
14071#define I2C_STAT_SLVSTATE_SHIFT (9U)
14072/*! SLVSTATE - Slave State code. Each value of this field indicates a specific required service for
14073 * the Slave function. All other values are reserved. See Table 401 for state values and actions.
14074 * note that the occurrence of some states and how they are handled are affected by DMA mode and
14075 * Automatic Operation modes.
14076 * 0b00..Slave address. Address plus R/W received. At least one of the four slave addresses has been matched by hardware.
14077 * 0b01..Slave receive. Received data is available (Slave Receiver mode).
14078 * 0b10..Slave transmit. Data can be transmitted (Slave Transmitter mode).
14079 */
14080#define I2C_STAT_SLVSTATE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVSTATE_SHIFT)) & I2C_STAT_SLVSTATE_MASK)
14081#define I2C_STAT_SLVNOTSTR_MASK (0x800U)
14082#define I2C_STAT_SLVNOTSTR_SHIFT (11U)
14083/*! SLVNOTSTR - Slave Not Stretching. Indicates when the slave function is stretching the I2C clock.
14084 * This is needed in order to gracefully invoke Deep Sleep or Power-down modes during slave
14085 * operation. This read-only flag reflects the slave function status in real time.
14086 * 0b0..Stretching. The slave function is currently stretching the I2C bus clock. Deep-Sleep or Power-down mode cannot be entered at this time.
14087 * 0b1..Not stretching. The slave function is not currently stretching the I 2C bus clock. Deep-sleep or
14088 * Power-down mode could be entered at this time.
14089 */
14090#define I2C_STAT_SLVNOTSTR(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVNOTSTR_SHIFT)) & I2C_STAT_SLVNOTSTR_MASK)
14091#define I2C_STAT_SLVIDX_MASK (0x3000U)
14092#define I2C_STAT_SLVIDX_SHIFT (12U)
14093/*! SLVIDX - Slave address match Index. This field is valid when the I2C slave function has been
14094 * selected by receiving an address that matches one of the slave addresses defined by any enabled
14095 * slave address registers, and provides an identification of the address that was matched. It is
14096 * possible that more than one address could be matched, but only one match can be reported here.
14097 * 0b00..Address 0. Slave address 0 was matched.
14098 * 0b01..Address 1. Slave address 1 was matched.
14099 * 0b10..Address 2. Slave address 2 was matched.
14100 * 0b11..Address 3. Slave address 3 was matched.
14101 */
14102#define I2C_STAT_SLVIDX(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVIDX_SHIFT)) & I2C_STAT_SLVIDX_MASK)
14103#define I2C_STAT_SLVSEL_MASK (0x4000U)
14104#define I2C_STAT_SLVSEL_SHIFT (14U)
14105/*! SLVSEL - Slave selected flag. SLVSEL is set after an address match when software tells the Slave
14106 * function to acknowledge the address, or when the address has been automatically acknowledged.
14107 * It is cleared when another address cycle presents an address that does not match an enabled
14108 * address on the Slave function, when slave software decides to NACK a matched address, when
14109 * there is a Stop detected on the bus, when the master NACKs slave data, and in some combinations of
14110 * Automatic Operation. SLVSEL is not cleared if software NACKs data.
14111 * 0b0..Not selected. The Slave function is not currently selected.
14112 * 0b1..Selected. The Slave function is currently selected.
14113 */
14114#define I2C_STAT_SLVSEL(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVSEL_SHIFT)) & I2C_STAT_SLVSEL_MASK)
14115#define I2C_STAT_SLVDESEL_MASK (0x8000U)
14116#define I2C_STAT_SLVDESEL_SHIFT (15U)
14117/*! SLVDESEL - Slave Deselected flag. This flag will cause an interrupt when set if enabled via
14118 * INTENSET. This flag can be cleared by writing a 1 to this bit.
14119 * 0b0..Not deselected. The Slave function has not become deselected. This does not mean that it is currently
14120 * selected. That information can be found in the SLVSEL flag.
14121 * 0b1..Deselected. The Slave function has become deselected. This is specifically caused by the SLVSEL flag
14122 * changing from 1 to 0. See the description of SLVSEL for details on when that event occurs.
14123 */
14124#define I2C_STAT_SLVDESEL(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SLVDESEL_SHIFT)) & I2C_STAT_SLVDESEL_MASK)
14125#define I2C_STAT_MONRDY_MASK (0x10000U)
14126#define I2C_STAT_MONRDY_SHIFT (16U)
14127/*! MONRDY - Monitor Ready. This flag is cleared when the MONRXDAT register is read.
14128 * 0b0..No data. The Monitor function does not currently have data available.
14129 * 0b1..Data waiting. The Monitor function has data waiting to be read.
14130 */
14131#define I2C_STAT_MONRDY(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONRDY_SHIFT)) & I2C_STAT_MONRDY_MASK)
14132#define I2C_STAT_MONOV_MASK (0x20000U)
14133#define I2C_STAT_MONOV_SHIFT (17U)
14134/*! MONOV - Monitor Overflow flag.
14135 * 0b0..No overrun. Monitor data has not overrun.
14136 * 0b1..Overrun. A Monitor data overrun has occurred. This can only happen when Monitor clock stretching not
14137 * enabled via the MONCLKSTR bit in the CFG register. Writing 1 to this bit clears the flag.
14138 */
14139#define I2C_STAT_MONOV(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONOV_SHIFT)) & I2C_STAT_MONOV_MASK)
14140#define I2C_STAT_MONACTIVE_MASK (0x40000U)
14141#define I2C_STAT_MONACTIVE_SHIFT (18U)
14142/*! MONACTIVE - Monitor Active flag. Indicates when the Monitor function considers the I 2C bus to
14143 * be active. Active is defined here as when some Master is on the bus: a bus Start has occurred
14144 * more recently than a bus Stop.
14145 * 0b0..Inactive. The Monitor function considers the I2C bus to be inactive.
14146 * 0b1..Active. The Monitor function considers the I2C bus to be active.
14147 */
14148#define I2C_STAT_MONACTIVE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONACTIVE_SHIFT)) & I2C_STAT_MONACTIVE_MASK)
14149#define I2C_STAT_MONIDLE_MASK (0x80000U)
14150#define I2C_STAT_MONIDLE_SHIFT (19U)
14151/*! MONIDLE - Monitor Idle flag. This flag is set when the Monitor function sees the I2C bus change
14152 * from active to inactive. This can be used by software to decide when to process data
14153 * accumulated by the Monitor function. This flag will cause an interrupt when set if enabled via the
14154 * INTENSET register. The flag can be cleared by writing a 1 to this bit.
14155 * 0b0..Not idle. The I2C bus is not idle, or this flag has been cleared by software.
14156 * 0b1..Idle. The I2C bus has gone idle at least once since the last time this flag was cleared by software.
14157 */
14158#define I2C_STAT_MONIDLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_MONIDLE_SHIFT)) & I2C_STAT_MONIDLE_MASK)
14159#define I2C_STAT_EVENTTIMEOUT_MASK (0x1000000U)
14160#define I2C_STAT_EVENTTIMEOUT_SHIFT (24U)
14161/*! EVENTTIMEOUT - Event Time-out Interrupt flag. Indicates when the time between events has been
14162 * longer than the time specified by the TIMEOUT register. Events include Start, Stop, and clock
14163 * edges. The flag is cleared by writing a 1 to this bit. No time-out is created when the I2C-bus
14164 * is idle.
14165 * 0b0..No time-out. I2C bus events have not caused a time-out.
14166 * 0b1..Event time-out. The time between I2C bus events has been longer than the time specified by the TIMEOUT register.
14167 */
14168#define I2C_STAT_EVENTTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_EVENTTIMEOUT_SHIFT)) & I2C_STAT_EVENTTIMEOUT_MASK)
14169#define I2C_STAT_SCLTIMEOUT_MASK (0x2000000U)
14170#define I2C_STAT_SCLTIMEOUT_SHIFT (25U)
14171/*! SCLTIMEOUT - SCL Time-out Interrupt flag. Indicates when SCL has remained low longer than the
14172 * time specific by the TIMEOUT register. The flag is cleared by writing a 1 to this bit.
14173 * 0b0..No time-out. SCL low time has not caused a time-out.
14174 * 0b1..Time-out. SCL low time has caused a time-out.
14175 */
14176#define I2C_STAT_SCLTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_STAT_SCLTIMEOUT_SHIFT)) & I2C_STAT_SCLTIMEOUT_MASK)
14177/*! @} */
14178
14179/*! @name INTENSET - Interrupt Enable Set and read register. */
14180/*! @{ */
14181#define I2C_INTENSET_MSTPENDINGEN_MASK (0x1U)
14182#define I2C_INTENSET_MSTPENDINGEN_SHIFT (0U)
14183/*! MSTPENDINGEN - Master Pending interrupt Enable.
14184 * 0b0..Disabled. The MstPending interrupt is disabled.
14185 * 0b1..Enabled. The MstPending interrupt is enabled.
14186 */
14187#define I2C_INTENSET_MSTPENDINGEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MSTPENDINGEN_SHIFT)) & I2C_INTENSET_MSTPENDINGEN_MASK)
14188#define I2C_INTENSET_MSTARBLOSSEN_MASK (0x10U)
14189#define I2C_INTENSET_MSTARBLOSSEN_SHIFT (4U)
14190/*! MSTARBLOSSEN - Master Arbitration Loss interrupt Enable.
14191 * 0b0..Disabled. The MstArbLoss interrupt is disabled.
14192 * 0b1..Enabled. The MstArbLoss interrupt is enabled.
14193 */
14194#define I2C_INTENSET_MSTARBLOSSEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MSTARBLOSSEN_SHIFT)) & I2C_INTENSET_MSTARBLOSSEN_MASK)
14195#define I2C_INTENSET_MSTSTSTPERREN_MASK (0x40U)
14196#define I2C_INTENSET_MSTSTSTPERREN_SHIFT (6U)
14197/*! MSTSTSTPERREN - Master Start/Stop Error interrupt Enable.
14198 * 0b0..Disabled. The MstStStpErr interrupt is disabled.
14199 * 0b1..Enabled. The MstStStpErr interrupt is enabled.
14200 */
14201#define I2C_INTENSET_MSTSTSTPERREN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MSTSTSTPERREN_SHIFT)) & I2C_INTENSET_MSTSTSTPERREN_MASK)
14202#define I2C_INTENSET_SLVPENDINGEN_MASK (0x100U)
14203#define I2C_INTENSET_SLVPENDINGEN_SHIFT (8U)
14204/*! SLVPENDINGEN - Slave Pending interrupt Enable.
14205 * 0b0..Disabled. The SlvPending interrupt is disabled.
14206 * 0b1..Enabled. The SlvPending interrupt is enabled.
14207 */
14208#define I2C_INTENSET_SLVPENDINGEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SLVPENDINGEN_SHIFT)) & I2C_INTENSET_SLVPENDINGEN_MASK)
14209#define I2C_INTENSET_SLVNOTSTREN_MASK (0x800U)
14210#define I2C_INTENSET_SLVNOTSTREN_SHIFT (11U)
14211/*! SLVNOTSTREN - Slave Not Stretching interrupt Enable.
14212 * 0b0..Disabled. The SlvNotStr interrupt is disabled.
14213 * 0b1..Enabled. The SlvNotStr interrupt is enabled.
14214 */
14215#define I2C_INTENSET_SLVNOTSTREN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SLVNOTSTREN_SHIFT)) & I2C_INTENSET_SLVNOTSTREN_MASK)
14216#define I2C_INTENSET_SLVDESELEN_MASK (0x8000U)
14217#define I2C_INTENSET_SLVDESELEN_SHIFT (15U)
14218/*! SLVDESELEN - Slave Deselect interrupt Enable.
14219 * 0b0..Disabled. The SlvDeSel interrupt is disabled.
14220 * 0b1..Enabled. The SlvDeSel interrupt is enabled.
14221 */
14222#define I2C_INTENSET_SLVDESELEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SLVDESELEN_SHIFT)) & I2C_INTENSET_SLVDESELEN_MASK)
14223#define I2C_INTENSET_MONRDYEN_MASK (0x10000U)
14224#define I2C_INTENSET_MONRDYEN_SHIFT (16U)
14225/*! MONRDYEN - Monitor data Ready interrupt Enable.
14226 * 0b0..Disabled. The MonRdy interrupt is disabled.
14227 * 0b1..Enabled. The MonRdy interrupt is enabled.
14228 */
14229#define I2C_INTENSET_MONRDYEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MONRDYEN_SHIFT)) & I2C_INTENSET_MONRDYEN_MASK)
14230#define I2C_INTENSET_MONOVEN_MASK (0x20000U)
14231#define I2C_INTENSET_MONOVEN_SHIFT (17U)
14232/*! MONOVEN - Monitor Overrun interrupt Enable.
14233 * 0b0..Disabled. The MonOv interrupt is disabled.
14234 * 0b1..Enabled. The MonOv interrupt is enabled.
14235 */
14236#define I2C_INTENSET_MONOVEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MONOVEN_SHIFT)) & I2C_INTENSET_MONOVEN_MASK)
14237#define I2C_INTENSET_MONIDLEEN_MASK (0x80000U)
14238#define I2C_INTENSET_MONIDLEEN_SHIFT (19U)
14239/*! MONIDLEEN - Monitor Idle interrupt Enable.
14240 * 0b0..Disabled. The MonIdle interrupt is disabled.
14241 * 0b1..Enabled. The MonIdle interrupt is enabled.
14242 */
14243#define I2C_INTENSET_MONIDLEEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_MONIDLEEN_SHIFT)) & I2C_INTENSET_MONIDLEEN_MASK)
14244#define I2C_INTENSET_EVENTTIMEOUTEN_MASK (0x1000000U)
14245#define I2C_INTENSET_EVENTTIMEOUTEN_SHIFT (24U)
14246/*! EVENTTIMEOUTEN - Event time-out interrupt Enable.
14247 * 0b0..Disabled. The Event time-out interrupt is disabled.
14248 * 0b1..Enabled. The Event time-out interrupt is enabled.
14249 */
14250#define I2C_INTENSET_EVENTTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_EVENTTIMEOUTEN_SHIFT)) & I2C_INTENSET_EVENTTIMEOUTEN_MASK)
14251#define I2C_INTENSET_SCLTIMEOUTEN_MASK (0x2000000U)
14252#define I2C_INTENSET_SCLTIMEOUTEN_SHIFT (25U)
14253/*! SCLTIMEOUTEN - SCL time-out interrupt Enable.
14254 * 0b0..Disabled. The SCL time-out interrupt is disabled.
14255 * 0b1..Enabled. The SCL time-out interrupt is enabled.
14256 */
14257#define I2C_INTENSET_SCLTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENSET_SCLTIMEOUTEN_SHIFT)) & I2C_INTENSET_SCLTIMEOUTEN_MASK)
14258/*! @} */
14259
14260/*! @name INTENCLR - Interrupt Enable Clear register. */
14261/*! @{ */
14262#define I2C_INTENCLR_MSTPENDINGCLR_MASK (0x1U)
14263#define I2C_INTENCLR_MSTPENDINGCLR_SHIFT (0U)
14264/*! MSTPENDINGCLR - Master Pending interrupt clear. Writing 1 to this bit clears the corresponding
14265 * bit in the INTENSET register if implemented.
14266 */
14267#define I2C_INTENCLR_MSTPENDINGCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MSTPENDINGCLR_SHIFT)) & I2C_INTENCLR_MSTPENDINGCLR_MASK)
14268#define I2C_INTENCLR_MSTARBLOSSCLR_MASK (0x10U)
14269#define I2C_INTENCLR_MSTARBLOSSCLR_SHIFT (4U)
14270/*! MSTARBLOSSCLR - Master Arbitration Loss interrupt clear.
14271 */
14272#define I2C_INTENCLR_MSTARBLOSSCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MSTARBLOSSCLR_SHIFT)) & I2C_INTENCLR_MSTARBLOSSCLR_MASK)
14273#define I2C_INTENCLR_MSTSTSTPERRCLR_MASK (0x40U)
14274#define I2C_INTENCLR_MSTSTSTPERRCLR_SHIFT (6U)
14275/*! MSTSTSTPERRCLR - Master Start/Stop Error interrupt clear.
14276 */
14277#define I2C_INTENCLR_MSTSTSTPERRCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MSTSTSTPERRCLR_SHIFT)) & I2C_INTENCLR_MSTSTSTPERRCLR_MASK)
14278#define I2C_INTENCLR_SLVPENDINGCLR_MASK (0x100U)
14279#define I2C_INTENCLR_SLVPENDINGCLR_SHIFT (8U)
14280/*! SLVPENDINGCLR - Slave Pending interrupt clear.
14281 */
14282#define I2C_INTENCLR_SLVPENDINGCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SLVPENDINGCLR_SHIFT)) & I2C_INTENCLR_SLVPENDINGCLR_MASK)
14283#define I2C_INTENCLR_SLVNOTSTRCLR_MASK (0x800U)
14284#define I2C_INTENCLR_SLVNOTSTRCLR_SHIFT (11U)
14285/*! SLVNOTSTRCLR - Slave Not Stretching interrupt clear.
14286 */
14287#define I2C_INTENCLR_SLVNOTSTRCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SLVNOTSTRCLR_SHIFT)) & I2C_INTENCLR_SLVNOTSTRCLR_MASK)
14288#define I2C_INTENCLR_SLVDESELCLR_MASK (0x8000U)
14289#define I2C_INTENCLR_SLVDESELCLR_SHIFT (15U)
14290/*! SLVDESELCLR - Slave Deselect interrupt clear.
14291 */
14292#define I2C_INTENCLR_SLVDESELCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SLVDESELCLR_SHIFT)) & I2C_INTENCLR_SLVDESELCLR_MASK)
14293#define I2C_INTENCLR_MONRDYCLR_MASK (0x10000U)
14294#define I2C_INTENCLR_MONRDYCLR_SHIFT (16U)
14295/*! MONRDYCLR - Monitor data Ready interrupt clear.
14296 */
14297#define I2C_INTENCLR_MONRDYCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MONRDYCLR_SHIFT)) & I2C_INTENCLR_MONRDYCLR_MASK)
14298#define I2C_INTENCLR_MONOVCLR_MASK (0x20000U)
14299#define I2C_INTENCLR_MONOVCLR_SHIFT (17U)
14300/*! MONOVCLR - Monitor Overrun interrupt clear.
14301 */
14302#define I2C_INTENCLR_MONOVCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MONOVCLR_SHIFT)) & I2C_INTENCLR_MONOVCLR_MASK)
14303#define I2C_INTENCLR_MONIDLECLR_MASK (0x80000U)
14304#define I2C_INTENCLR_MONIDLECLR_SHIFT (19U)
14305/*! MONIDLECLR - Monitor Idle interrupt clear.
14306 */
14307#define I2C_INTENCLR_MONIDLECLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_MONIDLECLR_SHIFT)) & I2C_INTENCLR_MONIDLECLR_MASK)
14308#define I2C_INTENCLR_EVENTTIMEOUTCLR_MASK (0x1000000U)
14309#define I2C_INTENCLR_EVENTTIMEOUTCLR_SHIFT (24U)
14310/*! EVENTTIMEOUTCLR - Event time-out interrupt clear.
14311 */
14312#define I2C_INTENCLR_EVENTTIMEOUTCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_EVENTTIMEOUTCLR_SHIFT)) & I2C_INTENCLR_EVENTTIMEOUTCLR_MASK)
14313#define I2C_INTENCLR_SCLTIMEOUTCLR_MASK (0x2000000U)
14314#define I2C_INTENCLR_SCLTIMEOUTCLR_SHIFT (25U)
14315/*! SCLTIMEOUTCLR - SCL time-out interrupt clear.
14316 */
14317#define I2C_INTENCLR_SCLTIMEOUTCLR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTENCLR_SCLTIMEOUTCLR_SHIFT)) & I2C_INTENCLR_SCLTIMEOUTCLR_MASK)
14318/*! @} */
14319
14320/*! @name TIMEOUT - Time-out value register. */
14321/*! @{ */
14322#define I2C_TIMEOUT_TOMIN_MASK (0xFU)
14323#define I2C_TIMEOUT_TOMIN_SHIFT (0U)
14324/*! TOMIN - Time-out time value, bottom four bits. These are hard-wired to 0xF. This gives a minimum
14325 * time-out of 16 I2C function clocks and also a time-out resolution of 16 I2C function clocks.
14326 */
14327#define I2C_TIMEOUT_TOMIN(x) (((uint32_t)(((uint32_t)(x)) << I2C_TIMEOUT_TOMIN_SHIFT)) & I2C_TIMEOUT_TOMIN_MASK)
14328#define I2C_TIMEOUT_TO_MASK (0xFFF0U)
14329#define I2C_TIMEOUT_TO_SHIFT (4U)
14330/*! TO - Time-out time value. Specifies the time-out interval value in increments of 16 I 2C
14331 * function clocks, as defined by the CLKDIV register. To change this value while I2C is in operation,
14332 * disable all time-outs, write a new value to TIMEOUT, then re-enable time-outs. 0x000 = A
14333 * time-out will occur after 16 counts of the I2C function clock. 0x001 = A time-out will occur after
14334 * 32 counts of the I2C function clock. 0xFFF = A time-out will occur after 65,536 counts of the
14335 * I2C function clock.
14336 */
14337#define I2C_TIMEOUT_TO(x) (((uint32_t)(((uint32_t)(x)) << I2C_TIMEOUT_TO_SHIFT)) & I2C_TIMEOUT_TO_MASK)
14338/*! @} */
14339
14340/*! @name CLKDIV - Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function. */
14341/*! @{ */
14342#define I2C_CLKDIV_DIVVAL_MASK (0xFFFFU)
14343#define I2C_CLKDIV_DIVVAL_SHIFT (0U)
14344/*! DIVVAL - This field controls how the Flexcomm clock (FCLK) is used by the I2C functions that
14345 * need an internal clock in order to operate. 0x0000 = FCLK is used directly by the I2C. 0x0001 =
14346 * FCLK is divided by 2 before use. 0x0002 = FCLK is divided by 3 before use. 0xFFFF = FCLK is
14347 * divided by 65,536 before use.
14348 */
14349#define I2C_CLKDIV_DIVVAL(x) (((uint32_t)(((uint32_t)(x)) << I2C_CLKDIV_DIVVAL_SHIFT)) & I2C_CLKDIV_DIVVAL_MASK)
14350/*! @} */
14351
14352/*! @name INTSTAT - Interrupt Status register for Master, Slave, and Monitor functions. */
14353/*! @{ */
14354#define I2C_INTSTAT_MSTPENDING_MASK (0x1U)
14355#define I2C_INTSTAT_MSTPENDING_SHIFT (0U)
14356/*! MSTPENDING - Master Pending.
14357 */
14358#define I2C_INTSTAT_MSTPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MSTPENDING_SHIFT)) & I2C_INTSTAT_MSTPENDING_MASK)
14359#define I2C_INTSTAT_MSTARBLOSS_MASK (0x10U)
14360#define I2C_INTSTAT_MSTARBLOSS_SHIFT (4U)
14361/*! MSTARBLOSS - Master Arbitration Loss flag.
14362 */
14363#define I2C_INTSTAT_MSTARBLOSS(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MSTARBLOSS_SHIFT)) & I2C_INTSTAT_MSTARBLOSS_MASK)
14364#define I2C_INTSTAT_MSTSTSTPERR_MASK (0x40U)
14365#define I2C_INTSTAT_MSTSTSTPERR_SHIFT (6U)
14366/*! MSTSTSTPERR - Master Start/Stop Error flag.
14367 */
14368#define I2C_INTSTAT_MSTSTSTPERR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MSTSTSTPERR_SHIFT)) & I2C_INTSTAT_MSTSTSTPERR_MASK)
14369#define I2C_INTSTAT_SLVPENDING_MASK (0x100U)
14370#define I2C_INTSTAT_SLVPENDING_SHIFT (8U)
14371/*! SLVPENDING - Slave Pending.
14372 */
14373#define I2C_INTSTAT_SLVPENDING(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SLVPENDING_SHIFT)) & I2C_INTSTAT_SLVPENDING_MASK)
14374#define I2C_INTSTAT_SLVNOTSTR_MASK (0x800U)
14375#define I2C_INTSTAT_SLVNOTSTR_SHIFT (11U)
14376/*! SLVNOTSTR - Slave Not Stretching status.
14377 */
14378#define I2C_INTSTAT_SLVNOTSTR(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SLVNOTSTR_SHIFT)) & I2C_INTSTAT_SLVNOTSTR_MASK)
14379#define I2C_INTSTAT_SLVDESEL_MASK (0x8000U)
14380#define I2C_INTSTAT_SLVDESEL_SHIFT (15U)
14381/*! SLVDESEL - Slave Deselected flag.
14382 */
14383#define I2C_INTSTAT_SLVDESEL(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SLVDESEL_SHIFT)) & I2C_INTSTAT_SLVDESEL_MASK)
14384#define I2C_INTSTAT_MONRDY_MASK (0x10000U)
14385#define I2C_INTSTAT_MONRDY_SHIFT (16U)
14386/*! MONRDY - Monitor Ready.
14387 */
14388#define I2C_INTSTAT_MONRDY(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MONRDY_SHIFT)) & I2C_INTSTAT_MONRDY_MASK)
14389#define I2C_INTSTAT_MONOV_MASK (0x20000U)
14390#define I2C_INTSTAT_MONOV_SHIFT (17U)
14391/*! MONOV - Monitor Overflow flag.
14392 */
14393#define I2C_INTSTAT_MONOV(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MONOV_SHIFT)) & I2C_INTSTAT_MONOV_MASK)
14394#define I2C_INTSTAT_MONIDLE_MASK (0x80000U)
14395#define I2C_INTSTAT_MONIDLE_SHIFT (19U)
14396/*! MONIDLE - Monitor Idle flag.
14397 */
14398#define I2C_INTSTAT_MONIDLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_MONIDLE_SHIFT)) & I2C_INTSTAT_MONIDLE_MASK)
14399#define I2C_INTSTAT_EVENTTIMEOUT_MASK (0x1000000U)
14400#define I2C_INTSTAT_EVENTTIMEOUT_SHIFT (24U)
14401/*! EVENTTIMEOUT - Event time-out Interrupt flag.
14402 */
14403#define I2C_INTSTAT_EVENTTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_EVENTTIMEOUT_SHIFT)) & I2C_INTSTAT_EVENTTIMEOUT_MASK)
14404#define I2C_INTSTAT_SCLTIMEOUT_MASK (0x2000000U)
14405#define I2C_INTSTAT_SCLTIMEOUT_SHIFT (25U)
14406/*! SCLTIMEOUT - SCL time-out Interrupt flag.
14407 */
14408#define I2C_INTSTAT_SCLTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I2C_INTSTAT_SCLTIMEOUT_SHIFT)) & I2C_INTSTAT_SCLTIMEOUT_MASK)
14409/*! @} */
14410
14411/*! @name MSTCTL - Master control register. */
14412/*! @{ */
14413#define I2C_MSTCTL_MSTCONTINUE_MASK (0x1U)
14414#define I2C_MSTCTL_MSTCONTINUE_SHIFT (0U)
14415/*! MSTCONTINUE - Master Continue. This bit is write-only.
14416 * 0b0..No effect.
14417 * 0b1..Continue. Informs the Master function to continue to the next operation. This must done after writing
14418 * transmit data, reading received data, or any other housekeeping related to the next bus operation.
14419 */
14420#define I2C_MSTCTL_MSTCONTINUE(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTCONTINUE_SHIFT)) & I2C_MSTCTL_MSTCONTINUE_MASK)
14421#define I2C_MSTCTL_MSTSTART_MASK (0x2U)
14422#define I2C_MSTCTL_MSTSTART_SHIFT (1U)
14423/*! MSTSTART - Master Start control. This bit is write-only.
14424 * 0b0..No effect.
14425 * 0b1..Start. A Start will be generated on the I2C bus at the next allowed time.
14426 */
14427#define I2C_MSTCTL_MSTSTART(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTSTART_SHIFT)) & I2C_MSTCTL_MSTSTART_MASK)
14428#define I2C_MSTCTL_MSTSTOP_MASK (0x4U)
14429#define I2C_MSTCTL_MSTSTOP_SHIFT (2U)
14430/*! MSTSTOP - Master Stop control. This bit is write-only.
14431 * 0b0..No effect.
14432 * 0b1..Stop. A Stop will be generated on the I2C bus at the next allowed time, preceded by a NACK to the slave
14433 * if the master is receiving data from the slave (Master Receiver mode).
14434 */
14435#define I2C_MSTCTL_MSTSTOP(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTSTOP_SHIFT)) & I2C_MSTCTL_MSTSTOP_MASK)
14436#define I2C_MSTCTL_MSTDMA_MASK (0x8U)
14437#define I2C_MSTCTL_MSTDMA_SHIFT (3U)
14438/*! MSTDMA - Master DMA enable. Data operations of the I2C can be performed with DMA. Protocol type
14439 * operations such as Start, address, Stop, and address match must always be done with software,
14440 * typically via an interrupt. Address acknowledgement must also be done by software except when
14441 * the I2C is configured to be HSCAPABLE (and address acknowledgement is handled entirely by
14442 * hardware) or when Automatic Operation is enabled. When a DMA data transfer is complete, MSTDMA
14443 * must be cleared prior to beginning the next operation, typically a Start or Stop.This bit is
14444 * read/write.
14445 * 0b0..Disable. No DMA requests are generated for master operation.
14446 * 0b1..Enable. A DMA request is generated for I2C master data operations. When this I2C master is generating
14447 * Acknowledge bits in Master Receiver mode, the acknowledge is generated automatically.
14448 */
14449#define I2C_MSTCTL_MSTDMA(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTCTL_MSTDMA_SHIFT)) & I2C_MSTCTL_MSTDMA_MASK)
14450/*! @} */
14451
14452/*! @name MSTTIME - Master timing configuration. */
14453/*! @{ */
14454#define I2C_MSTTIME_MSTSCLLOW_MASK (0x7U)
14455#define I2C_MSTTIME_MSTSCLLOW_SHIFT (0U)
14456/*! MSTSCLLOW - Master SCL Low time. Specifies the minimum low time that will be asserted by this
14457 * master on SCL. Other devices on the bus (masters or slaves) could lengthen this time. This
14458 * corresponds to the parameter t LOW in the I2C bus specification. I2C bus specification parameters
14459 * tBUF and tSU;STA have the same values and are also controlled by MSTSCLLOW.
14460 * 0b000..2 clocks. Minimum SCL low time is 2 clocks of the I2C clock pre-divider.
14461 * 0b001..3 clocks. Minimum SCL low time is 3 clocks of the I2C clock pre-divider.
14462 * 0b010..4 clocks. Minimum SCL low time is 4 clocks of the I2C clock pre-divider.
14463 * 0b011..5 clocks. Minimum SCL low time is 5 clocks of the I2C clock pre-divider.
14464 * 0b100..6 clocks. Minimum SCL low time is 6 clocks of the I2C clock pre-divider.
14465 * 0b101..7 clocks. Minimum SCL low time is 7 clocks of the I2C clock pre-divider.
14466 * 0b110..8 clocks. Minimum SCL low time is 8 clocks of the I2C clock pre-divider.
14467 * 0b111..9 clocks. Minimum SCL low time is 9 clocks of the I2C clock pre-divider.
14468 */
14469#define I2C_MSTTIME_MSTSCLLOW(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTTIME_MSTSCLLOW_SHIFT)) & I2C_MSTTIME_MSTSCLLOW_MASK)
14470#define I2C_MSTTIME_MSTSCLHIGH_MASK (0x70U)
14471#define I2C_MSTTIME_MSTSCLHIGH_SHIFT (4U)
14472/*! MSTSCLHIGH - Master SCL High time. Specifies the minimum high time that will be asserted by this
14473 * master on SCL. Other masters in a multi-master system could shorten this time. This
14474 * corresponds to the parameter tHIGH in the I2C bus specification. I2C bus specification parameters
14475 * tSU;STO and tHD;STA have the same values and are also controlled by MSTSCLHIGH.
14476 * 0b000..2 clocks. Minimum SCL high time is 2 clock of the I2C clock pre-divider.
14477 * 0b001..3 clocks. Minimum SCL high time is 3 clocks of the I2C clock pre-divider .
14478 * 0b010..4 clocks. Minimum SCL high time is 4 clock of the I2C clock pre-divider.
14479 * 0b011..5 clocks. Minimum SCL high time is 5 clock of the I2C clock pre-divider.
14480 * 0b100..6 clocks. Minimum SCL high time is 6 clock of the I2C clock pre-divider.
14481 * 0b101..7 clocks. Minimum SCL high time is 7 clock of the I2C clock pre-divider.
14482 * 0b110..8 clocks. Minimum SCL high time is 8 clock of the I2C clock pre-divider.
14483 * 0b111..9 clocks. Minimum SCL high time is 9 clocks of the I2C clock pre-divider.
14484 */
14485#define I2C_MSTTIME_MSTSCLHIGH(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTTIME_MSTSCLHIGH_SHIFT)) & I2C_MSTTIME_MSTSCLHIGH_MASK)
14486/*! @} */
14487
14488/*! @name MSTDAT - Combined Master receiver and transmitter data register. */
14489/*! @{ */
14490#define I2C_MSTDAT_DATA_MASK (0xFFU)
14491#define I2C_MSTDAT_DATA_SHIFT (0U)
14492/*! DATA - Master function data register. Read: read the most recently received data for the Master
14493 * function. Write: transmit data using the Master function.
14494 */
14495#define I2C_MSTDAT_DATA(x) (((uint32_t)(((uint32_t)(x)) << I2C_MSTDAT_DATA_SHIFT)) & I2C_MSTDAT_DATA_MASK)
14496/*! @} */
14497
14498/*! @name SLVCTL - Slave control register. */
14499/*! @{ */
14500#define I2C_SLVCTL_SLVCONTINUE_MASK (0x1U)
14501#define I2C_SLVCTL_SLVCONTINUE_SHIFT (0U)
14502/*! SLVCONTINUE - Slave Continue.
14503 * 0b0..No effect.
14504 * 0b1..Continue. Informs the Slave function to continue to the next operation, by clearing the SLVPENDING flag
14505 * in the STAT register. This must be done after writing transmit data, reading received data, or any other
14506 * housekeeping related to the next bus operation. Automatic Operation has different requirements. SLVCONTINUE
14507 * should not be set unless SLVPENDING = 1.
14508 */
14509#define I2C_SLVCTL_SLVCONTINUE(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_SLVCONTINUE_SHIFT)) & I2C_SLVCTL_SLVCONTINUE_MASK)
14510#define I2C_SLVCTL_SLVNACK_MASK (0x2U)
14511#define I2C_SLVCTL_SLVNACK_SHIFT (1U)
14512/*! SLVNACK - Slave NACK.
14513 * 0b0..No effect.
14514 * 0b1..NACK. Causes the Slave function to NACK the master when the slave is receiving data from the master (Slave Receiver mode).
14515 */
14516#define I2C_SLVCTL_SLVNACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_SLVNACK_SHIFT)) & I2C_SLVCTL_SLVNACK_MASK)
14517#define I2C_SLVCTL_SLVDMA_MASK (0x8U)
14518#define I2C_SLVCTL_SLVDMA_SHIFT (3U)
14519/*! SLVDMA - Slave DMA enable.
14520 * 0b0..Disabled. No DMA requests are issued for Slave mode operation.
14521 * 0b1..Enabled. DMA requests are issued for I2C slave data transmission and reception.
14522 */
14523#define I2C_SLVCTL_SLVDMA(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_SLVDMA_SHIFT)) & I2C_SLVCTL_SLVDMA_MASK)
14524#define I2C_SLVCTL_AUTOACK_MASK (0x100U)
14525#define I2C_SLVCTL_AUTOACK_SHIFT (8U)
14526/*! AUTOACK - Automatic Acknowledge.When this bit is set, it will cause an I2C header which matches
14527 * SLVADR0 and the direction set by AUTOMATCHREAD to be ACKed immediately; this is used with DMA
14528 * to allow processing of the data without intervention. If this bit is clear and a header
14529 * matches SLVADR0, the behavior is controlled by AUTONACK in the SLVADR0 register: allowing NACK or
14530 * interrupt.
14531 * 0b0..Normal, non-automatic operation. If AUTONACK = 0, an SlvPending interrupt is generated when a matching
14532 * address is received. If AUTONACK = 1, received addresses are NACKed (ignored).
14533 * 0b1..A header with matching SLVADR0 and matching direction as set by AUTOMATCHREAD will be ACKed immediately,
14534 * allowing the master to move on to the data bytes. If the address matches SLVADR0, but the direction does
14535 * not match AUTOMATCHREAD, the behavior will depend on the AUTONACK bit in the SLVADR0 register: if AUTONACK
14536 * is set, then it will be Nacked; else if AUTONACK is clear, then a SlvPending interrupt is generated.
14537 */
14538#define I2C_SLVCTL_AUTOACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_AUTOACK_SHIFT)) & I2C_SLVCTL_AUTOACK_MASK)
14539#define I2C_SLVCTL_AUTOMATCHREAD_MASK (0x200U)
14540#define I2C_SLVCTL_AUTOMATCHREAD_SHIFT (9U)
14541/*! AUTOMATCHREAD - When AUTOACK is set, this bit controls whether it matches a read or write
14542 * request on the next header with an address matching SLVADR0. Since DMA needs to be configured to
14543 * match the transfer direction, the direction needs to be specified. This bit allows a direction to
14544 * be chosen for the next operation.
14545 * 0b0..The expected next operation in Automatic Mode is an I2C write.
14546 * 0b1..The expected next operation in Automatic Mode is an I2C read.
14547 */
14548#define I2C_SLVCTL_AUTOMATCHREAD(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVCTL_AUTOMATCHREAD_SHIFT)) & I2C_SLVCTL_AUTOMATCHREAD_MASK)
14549/*! @} */
14550
14551/*! @name SLVDAT - Combined Slave receiver and transmitter data register. */
14552/*! @{ */
14553#define I2C_SLVDAT_DATA_MASK (0xFFU)
14554#define I2C_SLVDAT_DATA_SHIFT (0U)
14555/*! DATA - Slave function data register. Read: read the most recently received data for the Slave
14556 * function. Write: transmit data using the Slave function.
14557 */
14558#define I2C_SLVDAT_DATA(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVDAT_DATA_SHIFT)) & I2C_SLVDAT_DATA_MASK)
14559/*! @} */
14560
14561/*! @name SLVADR - Slave address register. */
14562/*! @{ */
14563#define I2C_SLVADR_SADISABLE_MASK (0x1U)
14564#define I2C_SLVADR_SADISABLE_SHIFT (0U)
14565/*! SADISABLE - Slave Address n Disable.
14566 * 0b0..Enabled. Slave Address n is enabled.
14567 * 0b1..Ignored Slave Address n is ignored.
14568 */
14569#define I2C_SLVADR_SADISABLE(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVADR_SADISABLE_SHIFT)) & I2C_SLVADR_SADISABLE_MASK)
14570#define I2C_SLVADR_SLVADR_MASK (0xFEU)
14571#define I2C_SLVADR_SLVADR_SHIFT (1U)
14572/*! SLVADR - Slave Address. Seven bit slave address that is compared to received addresses if enabled.
14573 */
14574#define I2C_SLVADR_SLVADR(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVADR_SLVADR_SHIFT)) & I2C_SLVADR_SLVADR_MASK)
14575#define I2C_SLVADR_AUTONACK_MASK (0x8000U)
14576#define I2C_SLVADR_AUTONACK_SHIFT (15U)
14577/*! AUTONACK - Automatic NACK operation. Used in conjunction with AUTOACK and AUTOMATCHREAD, allows
14578 * software to ignore I2C traffic while handling previous I2C data or other operations.
14579 * 0b0..Normal operation, matching I2C addresses are not ignored.
14580 * 0b1..Automatic-only mode. All incoming addresses are ignored (NACKed), unless AUTOACK is set, it matches
14581 * SLVADRn, and AUTOMATCHREAD matches the direction.
14582 */
14583#define I2C_SLVADR_AUTONACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVADR_AUTONACK_SHIFT)) & I2C_SLVADR_AUTONACK_MASK)
14584/*! @} */
14585
14586/* The count of I2C_SLVADR */
14587#define I2C_SLVADR_COUNT (4U)
14588
14589/*! @name SLVQUAL0 - Slave Qualification for address 0. */
14590/*! @{ */
14591#define I2C_SLVQUAL0_QUALMODE0_MASK (0x1U)
14592#define I2C_SLVQUAL0_QUALMODE0_SHIFT (0U)
14593/*! QUALMODE0 - Qualify mode for slave address 0.
14594 * 0b0..Mask. The SLVQUAL0 field is used as a logical mask for matching address 0.
14595 * 0b1..Extend. The SLVQUAL0 field is used to extend address 0 matching in a range of addresses.
14596 */
14597#define I2C_SLVQUAL0_QUALMODE0(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVQUAL0_QUALMODE0_SHIFT)) & I2C_SLVQUAL0_QUALMODE0_MASK)
14598#define I2C_SLVQUAL0_SLVQUAL0_MASK (0xFEU)
14599#define I2C_SLVQUAL0_SLVQUAL0_SHIFT (1U)
14600/*! SLVQUAL0 - Slave address Qualifier for address 0. A value of 0 causes the address in SLVADR0 to
14601 * be used as-is, assuming that it is enabled. If QUALMODE0 = 0, any bit in this field which is
14602 * set to 1 will cause an automatic match of the corresponding bit of the received address when it
14603 * is compared to the SLVADR0 register. If QUALMODE0 = 1, an address range is matched for
14604 * address 0. This range extends from the value defined by SLVADR0 to the address defined by SLVQUAL0
14605 * (address matches when SLVADR0[7:1] <= received address <= SLVQUAL0[7:1]).
14606 */
14607#define I2C_SLVQUAL0_SLVQUAL0(x) (((uint32_t)(((uint32_t)(x)) << I2C_SLVQUAL0_SLVQUAL0_SHIFT)) & I2C_SLVQUAL0_SLVQUAL0_MASK)
14608/*! @} */
14609
14610/*! @name MONRXDAT - Monitor receiver data register. */
14611/*! @{ */
14612#define I2C_MONRXDAT_MONRXDAT_MASK (0xFFU)
14613#define I2C_MONRXDAT_MONRXDAT_SHIFT (0U)
14614/*! MONRXDAT - Monitor function Receiver Data. This reflects every data byte that passes on the I2C pins.
14615 */
14616#define I2C_MONRXDAT_MONRXDAT(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONRXDAT_SHIFT)) & I2C_MONRXDAT_MONRXDAT_MASK)
14617#define I2C_MONRXDAT_MONSTART_MASK (0x100U)
14618#define I2C_MONRXDAT_MONSTART_SHIFT (8U)
14619/*! MONSTART - Monitor Received Start.
14620 * 0b0..No start detected. The Monitor function has not detected a Start event on the I2C bus.
14621 * 0b1..Start detected. The Monitor function has detected a Start event on the I2C bus.
14622 */
14623#define I2C_MONRXDAT_MONSTART(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONSTART_SHIFT)) & I2C_MONRXDAT_MONSTART_MASK)
14624#define I2C_MONRXDAT_MONRESTART_MASK (0x200U)
14625#define I2C_MONRXDAT_MONRESTART_SHIFT (9U)
14626/*! MONRESTART - Monitor Received Repeated Start.
14627 * 0b0..No repeated start detected. The Monitor function has not detected a Repeated Start event on the I2C bus.
14628 * 0b1..Repeated start detected. The Monitor function has detected a Repeated Start event on the I2C bus.
14629 */
14630#define I2C_MONRXDAT_MONRESTART(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONRESTART_SHIFT)) & I2C_MONRXDAT_MONRESTART_MASK)
14631#define I2C_MONRXDAT_MONNACK_MASK (0x400U)
14632#define I2C_MONRXDAT_MONNACK_SHIFT (10U)
14633/*! MONNACK - Monitor Received NACK.
14634 * 0b0..Acknowledged. The data currently being provided by the Monitor function was acknowledged by at least one master or slave receiver.
14635 * 0b1..Not acknowledged. The data currently being provided by the Monitor function was not acknowledged by any receiver.
14636 */
14637#define I2C_MONRXDAT_MONNACK(x) (((uint32_t)(((uint32_t)(x)) << I2C_MONRXDAT_MONNACK_SHIFT)) & I2C_MONRXDAT_MONNACK_MASK)
14638/*! @} */
14639
14640/*! @name ID - Peripheral identification register. */
14641/*! @{ */
14642#define I2C_ID_APERTURE_MASK (0xFFU)
14643#define I2C_ID_APERTURE_SHIFT (0U)
14644/*! APERTURE - Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.
14645 */
14646#define I2C_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_APERTURE_SHIFT)) & I2C_ID_APERTURE_MASK)
14647#define I2C_ID_MINOR_REV_MASK (0xF00U)
14648#define I2C_ID_MINOR_REV_SHIFT (8U)
14649/*! MINOR_REV - Minor revision of module implementation.
14650 */
14651#define I2C_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_MINOR_REV_SHIFT)) & I2C_ID_MINOR_REV_MASK)
14652#define I2C_ID_MAJOR_REV_MASK (0xF000U)
14653#define I2C_ID_MAJOR_REV_SHIFT (12U)
14654/*! MAJOR_REV - Major revision of module implementation.
14655 */
14656#define I2C_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_MAJOR_REV_SHIFT)) & I2C_ID_MAJOR_REV_MASK)
14657#define I2C_ID_ID_MASK (0xFFFF0000U)
14658#define I2C_ID_ID_SHIFT (16U)
14659/*! ID - Module identifier for the selected function.
14660 */
14661#define I2C_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << I2C_ID_ID_SHIFT)) & I2C_ID_ID_MASK)
14662/*! @} */
14663
14664
14665/*!
14666 * @}
14667 */ /* end of group I2C_Register_Masks */
14668
14669
14670/* I2C - Peripheral instance base addresses */
14671#if (__ARM_FEATURE_CMSE & 0x2)
14672 /** Peripheral I2C0 base address */
14673 #define I2C0_BASE (0x50106000u)
14674 /** Peripheral I2C0 base address */
14675 #define I2C0_BASE_NS (0x40106000u)
14676 /** Peripheral I2C0 base pointer */
14677 #define I2C0 ((I2C_Type *)I2C0_BASE)
14678 /** Peripheral I2C0 base pointer */
14679 #define I2C0_NS ((I2C_Type *)I2C0_BASE_NS)
14680 /** Peripheral I2C1 base address */
14681 #define I2C1_BASE (0x50107000u)
14682 /** Peripheral I2C1 base address */
14683 #define I2C1_BASE_NS (0x40107000u)
14684 /** Peripheral I2C1 base pointer */
14685 #define I2C1 ((I2C_Type *)I2C1_BASE)
14686 /** Peripheral I2C1 base pointer */
14687 #define I2C1_NS ((I2C_Type *)I2C1_BASE_NS)
14688 /** Peripheral I2C2 base address */
14689 #define I2C2_BASE (0x50108000u)
14690 /** Peripheral I2C2 base address */
14691 #define I2C2_BASE_NS (0x40108000u)
14692 /** Peripheral I2C2 base pointer */
14693 #define I2C2 ((I2C_Type *)I2C2_BASE)
14694 /** Peripheral I2C2 base pointer */
14695 #define I2C2_NS ((I2C_Type *)I2C2_BASE_NS)
14696 /** Peripheral I2C3 base address */
14697 #define I2C3_BASE (0x50109000u)
14698 /** Peripheral I2C3 base address */
14699 #define I2C3_BASE_NS (0x40109000u)
14700 /** Peripheral I2C3 base pointer */
14701 #define I2C3 ((I2C_Type *)I2C3_BASE)
14702 /** Peripheral I2C3 base pointer */
14703 #define I2C3_NS ((I2C_Type *)I2C3_BASE_NS)
14704 /** Peripheral I2C4 base address */
14705 #define I2C4_BASE (0x50122000u)
14706 /** Peripheral I2C4 base address */
14707 #define I2C4_BASE_NS (0x40122000u)
14708 /** Peripheral I2C4 base pointer */
14709 #define I2C4 ((I2C_Type *)I2C4_BASE)
14710 /** Peripheral I2C4 base pointer */
14711 #define I2C4_NS ((I2C_Type *)I2C4_BASE_NS)
14712 /** Peripheral I2C5 base address */
14713 #define I2C5_BASE (0x50123000u)
14714 /** Peripheral I2C5 base address */
14715 #define I2C5_BASE_NS (0x40123000u)
14716 /** Peripheral I2C5 base pointer */
14717 #define I2C5 ((I2C_Type *)I2C5_BASE)
14718 /** Peripheral I2C5 base pointer */
14719 #define I2C5_NS ((I2C_Type *)I2C5_BASE_NS)
14720 /** Peripheral I2C6 base address */
14721 #define I2C6_BASE (0x50124000u)
14722 /** Peripheral I2C6 base address */
14723 #define I2C6_BASE_NS (0x40124000u)
14724 /** Peripheral I2C6 base pointer */
14725 #define I2C6 ((I2C_Type *)I2C6_BASE)
14726 /** Peripheral I2C6 base pointer */
14727 #define I2C6_NS ((I2C_Type *)I2C6_BASE_NS)
14728 /** Peripheral I2C7 base address */
14729 #define I2C7_BASE (0x50125000u)
14730 /** Peripheral I2C7 base address */
14731 #define I2C7_BASE_NS (0x40125000u)
14732 /** Peripheral I2C7 base pointer */
14733 #define I2C7 ((I2C_Type *)I2C7_BASE)
14734 /** Peripheral I2C7 base pointer */
14735 #define I2C7_NS ((I2C_Type *)I2C7_BASE_NS)
14736 /** Peripheral I2C15 base address */
14737 #define I2C15_BASE (0x50127000u)
14738 /** Peripheral I2C15 base address */
14739 #define I2C15_BASE_NS (0x40127000u)
14740 /** Peripheral I2C15 base pointer */
14741 #define I2C15 ((I2C_Type *)I2C15_BASE)
14742 /** Peripheral I2C15 base pointer */
14743 #define I2C15_NS ((I2C_Type *)I2C15_BASE_NS)
14744 /** Array initializer of I2C peripheral base addresses */
14745 #define I2C_BASE_ADDRS { I2C0_BASE, I2C1_BASE, I2C2_BASE, I2C3_BASE, I2C4_BASE, I2C5_BASE, I2C6_BASE, I2C7_BASE, I2C15_BASE }
14746 /** Array initializer of I2C peripheral base pointers */
14747 #define I2C_BASE_PTRS { I2C0, I2C1, I2C2, I2C3, I2C4, I2C5, I2C6, I2C7, I2C15 }
14748 /** Array initializer of I2C peripheral base addresses */
14749 #define I2C_BASE_ADDRS_NS { I2C0_BASE_NS, I2C1_BASE_NS, I2C2_BASE_NS, I2C3_BASE_NS, I2C4_BASE_NS, I2C5_BASE_NS, I2C6_BASE_NS, I2C7_BASE_NS, I2C15_BASE_NS }
14750 /** Array initializer of I2C peripheral base pointers */
14751 #define I2C_BASE_PTRS_NS { I2C0_NS, I2C1_NS, I2C2_NS, I2C3_NS, I2C4_NS, I2C5_NS, I2C6_NS, I2C7_NS, I2C15_NS }
14752#else
14753 /** Peripheral I2C0 base address */
14754 #define I2C0_BASE (0x40106000u)
14755 /** Peripheral I2C0 base pointer */
14756 #define I2C0 ((I2C_Type *)I2C0_BASE)
14757 /** Peripheral I2C1 base address */
14758 #define I2C1_BASE (0x40107000u)
14759 /** Peripheral I2C1 base pointer */
14760 #define I2C1 ((I2C_Type *)I2C1_BASE)
14761 /** Peripheral I2C2 base address */
14762 #define I2C2_BASE (0x40108000u)
14763 /** Peripheral I2C2 base pointer */
14764 #define I2C2 ((I2C_Type *)I2C2_BASE)
14765 /** Peripheral I2C3 base address */
14766 #define I2C3_BASE (0x40109000u)
14767 /** Peripheral I2C3 base pointer */
14768 #define I2C3 ((I2C_Type *)I2C3_BASE)
14769 /** Peripheral I2C4 base address */
14770 #define I2C4_BASE (0x40122000u)
14771 /** Peripheral I2C4 base pointer */
14772 #define I2C4 ((I2C_Type *)I2C4_BASE)
14773 /** Peripheral I2C5 base address */
14774 #define I2C5_BASE (0x40123000u)
14775 /** Peripheral I2C5 base pointer */
14776 #define I2C5 ((I2C_Type *)I2C5_BASE)
14777 /** Peripheral I2C6 base address */
14778 #define I2C6_BASE (0x40124000u)
14779 /** Peripheral I2C6 base pointer */
14780 #define I2C6 ((I2C_Type *)I2C6_BASE)
14781 /** Peripheral I2C7 base address */
14782 #define I2C7_BASE (0x40125000u)
14783 /** Peripheral I2C7 base pointer */
14784 #define I2C7 ((I2C_Type *)I2C7_BASE)
14785 /** Peripheral I2C15 base address */
14786 #define I2C15_BASE (0x40127000u)
14787 /** Peripheral I2C15 base pointer */
14788 #define I2C15 ((I2C_Type *)I2C15_BASE)
14789 /** Array initializer of I2C peripheral base addresses */
14790 #define I2C_BASE_ADDRS { I2C0_BASE, I2C1_BASE, I2C2_BASE, I2C3_BASE, I2C4_BASE, I2C5_BASE, I2C6_BASE, I2C7_BASE, I2C15_BASE }
14791 /** Array initializer of I2C peripheral base pointers */
14792 #define I2C_BASE_PTRS { I2C0, I2C1, I2C2, I2C3, I2C4, I2C5, I2C6, I2C7, I2C15 }
14793#endif
14794/** Interrupt vectors for the I2C peripheral type */
14795#define I2C_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM15_IRQn }
14796
14797/*!
14798 * @}
14799 */ /* end of group I2C_Peripheral_Access_Layer */
14800
14801
14802/* ----------------------------------------------------------------------------
14803 -- I2S Peripheral Access Layer
14804 ---------------------------------------------------------------------------- */
14805
14806/*!
14807 * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
14808 * @{
14809 */
14810
14811/** I2S - Register Layout Typedef */
14812typedef struct {
14813 uint8_t RESERVED_0[3072];
14814 __IO uint32_t CFG1; /**< Configuration register 1 for the primary channel pair., offset: 0xC00 */
14815 __IO uint32_t CFG2; /**< Configuration register 2 for the primary channel pair., offset: 0xC04 */
14816 __IO uint32_t STAT; /**< Status register for the primary channel pair., offset: 0xC08 */
14817 uint8_t RESERVED_1[16];
14818 __IO uint32_t DIV; /**< Clock divider, used by all channel pairs., offset: 0xC1C */
14819 struct { /* offset: 0xC20, array step: 0x20 */
14820 __IO uint32_t PCFG1; /**< Configuration register 1 for channel pair, array offset: 0xC20, array step: 0x20 */
14821 __IO uint32_t PCFG2; /**< Configuration register 2 for channel pair, array offset: 0xC24, array step: 0x20 */
14822 __IO uint32_t PSTAT; /**< Status register for channel pair, array offset: 0xC28, array step: 0x20 */
14823 uint8_t RESERVED_0[20];
14824 } SECCHANNEL[3];
14825 uint8_t RESERVED_2[384];
14826 __IO uint32_t FIFOCFG; /**< FIFO configuration and enable register., offset: 0xE00 */
14827 __IO uint32_t FIFOSTAT; /**< FIFO status register., offset: 0xE04 */
14828 __IO uint32_t FIFOTRIG; /**< FIFO trigger settings for interrupt and DMA request., offset: 0xE08 */
14829 uint8_t RESERVED_3[4];
14830 __IO uint32_t FIFOINTENSET; /**< FIFO interrupt enable set (enable) and read register., offset: 0xE10 */
14831 __IO uint32_t FIFOINTENCLR; /**< FIFO interrupt enable clear (disable) and read register., offset: 0xE14 */
14832 __I uint32_t FIFOINTSTAT; /**< FIFO interrupt status register., offset: 0xE18 */
14833 uint8_t RESERVED_4[4];
14834 __O uint32_t FIFOWR; /**< FIFO write data., offset: 0xE20 */
14835 __O uint32_t FIFOWR48H; /**< FIFO write data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA., offset: 0xE24 */
14836 uint8_t RESERVED_5[8];
14837 __I uint32_t FIFORD; /**< FIFO read data., offset: 0xE30 */
14838 __I uint32_t FIFORD48H; /**< FIFO read data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA., offset: 0xE34 */
14839 uint8_t RESERVED_6[8];
14840 __I uint32_t FIFORDNOPOP; /**< FIFO data read with no FIFO pop., offset: 0xE40 */
14841 __I uint32_t FIFORD48HNOPOP; /**< FIFO data read for upper data bits with no FIFO pop. May only be used if the I2S is configured for 2x 24-bit data and not using DMA., offset: 0xE44 */
14842 __I uint32_t FIFOSIZE; /**< FIFO size register, offset: 0xE48 */
14843 uint8_t RESERVED_7[432];
14844 __I uint32_t ID; /**< I2S Module identification, offset: 0xFFC */
14845} I2S_Type;
14846
14847/* ----------------------------------------------------------------------------
14848 -- I2S Register Masks
14849 ---------------------------------------------------------------------------- */
14850
14851/*!
14852 * @addtogroup I2S_Register_Masks I2S Register Masks
14853 * @{
14854 */
14855
14856/*! @name CFG1 - Configuration register 1 for the primary channel pair. */
14857/*! @{ */
14858#define I2S_CFG1_MAINENABLE_MASK (0x1U)
14859#define I2S_CFG1_MAINENABLE_SHIFT (0U)
14860/*! MAINENABLE - Main enable for I 2S function in this Flexcomm
14861 * 0b0..All I 2S channel pairs in this Flexcomm are disabled and the internal state machines, counters, and flags
14862 * are reset. No other channel pairs can be enabled.
14863 * 0b1..This I 2S channel pair is enabled. Other channel pairs in this Flexcomm may be enabled in their individual PAIRENABLE bits.
14864 */
14865#define I2S_CFG1_MAINENABLE(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_MAINENABLE_SHIFT)) & I2S_CFG1_MAINENABLE_MASK)
14866#define I2S_CFG1_DATAPAUSE_MASK (0x2U)
14867#define I2S_CFG1_DATAPAUSE_SHIFT (1U)
14868/*! DATAPAUSE - Data flow Pause. Allows pausing data flow between the I2S serializer/deserializer
14869 * and the FIFO. This could be done in order to change streams, or while restarting after a data
14870 * underflow or overflow. When paused, FIFO operations can be done without corrupting data that is
14871 * in the process of being sent or received. Once a data pause has been requested, the interface
14872 * may need to complete sending data that was in progress before interrupting the flow of data.
14873 * Software must check that the pause is actually in effect before taking action. This is done by
14874 * monitoring the DATAPAUSED flag in the STAT register. When DATAPAUSE is cleared, data transfer
14875 * will resume at the beginning of the next frame.
14876 * 0b0..Normal operation, or resuming normal operation at the next frame if the I2S has already been paused.
14877 * 0b1..A pause in the data flow is being requested. It is in effect when DATAPAUSED in STAT = 1.
14878 */
14879#define I2S_CFG1_DATAPAUSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_DATAPAUSE_SHIFT)) & I2S_CFG1_DATAPAUSE_MASK)
14880#define I2S_CFG1_PAIRCOUNT_MASK (0xCU)
14881#define I2S_CFG1_PAIRCOUNT_SHIFT (2U)
14882/*! PAIRCOUNT - Provides the number of I2S channel pairs in this Flexcomm This is a read-only field
14883 * whose value may be different in other Flexcomms. 00 = there is 1 I2S channel pair in this
14884 * Flexcomm. 01 = there are 2 I2S channel pairs in this Flexcomm. 10 = there are 3 I2S channel pairs
14885 * in this Flexcomm. 11 = there are 4 I2S channel pairs in this Flexcomm.
14886 * 0b00..1 I2S channel pairs in this flexcomm
14887 * 0b01..2 I2S channel pairs in this flexcomm
14888 * 0b10..3 I2S channel pairs in this flexcomm
14889 * 0b11..4 I2S channel pairs in this flexcomm
14890 */
14891#define I2S_CFG1_PAIRCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_PAIRCOUNT_SHIFT)) & I2S_CFG1_PAIRCOUNT_MASK)
14892#define I2S_CFG1_MSTSLVCFG_MASK (0x30U)
14893#define I2S_CFG1_MSTSLVCFG_SHIFT (4U)
14894/*! MSTSLVCFG - Master / slave configuration selection, determining how SCK and WS are used by all channel pairs in this Flexcomm.
14895 * 0b00..Normal slave mode, the default mode. SCK and WS are received from a master and used to transmit or receive data.
14896 * 0b01..WS synchronized master. WS is received from another master and used to synchronize the generation of
14897 * SCK, when divided from the Flexcomm function clock.
14898 * 0b10..Master using an existing SCK. SCK is received and used directly to generate WS, as well as transmitting or receiving data.
14899 * 0b11..Normal master mode. SCK and WS are generated so they can be sent to one or more slave devices.
14900 */
14901#define I2S_CFG1_MSTSLVCFG(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_MSTSLVCFG_SHIFT)) & I2S_CFG1_MSTSLVCFG_MASK)
14902#define I2S_CFG1_MODE_MASK (0xC0U)
14903#define I2S_CFG1_MODE_SHIFT (6U)
14904/*! MODE - Selects the basic I2S operating mode. Other configurations modify this to obtain all
14905 * supported cases. See Formats and modes for examples.
14906 * 0b00..I2S mode a.k.a. 'classic' mode. WS has a 50% duty cycle, with (for each enabled channel pair) one piece
14907 * of left channel data occurring during the first phase, and one pieces of right channel data occurring
14908 * during the second phase. In this mode, the data region begins one clock after the leading WS edge for the
14909 * frame. For a 50% WS duty cycle, FRAMELEN must define an even number of I2S clocks for the frame. If
14910 * FRAMELEN defines an odd number of clocks per frame, the extra clock will occur on the right.
14911 * 0b01..DSP mode where WS has a 50% duty cycle. See remark for mode 0.
14912 * 0b10..DSP mode where WS has a one clock long pulse at the beginning of each data frame.
14913 * 0b11..DSP mode where WS has a one data slot long pulse at the beginning of each data frame.
14914 */
14915#define I2S_CFG1_MODE(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_MODE_SHIFT)) & I2S_CFG1_MODE_MASK)
14916#define I2S_CFG1_RIGHTLOW_MASK (0x100U)
14917#define I2S_CFG1_RIGHTLOW_SHIFT (8U)
14918/*! RIGHTLOW - Right channel data is in the Low portion of FIFO data. Essentially, this swaps left
14919 * and right channel data as it is transferred to or from the FIFO. This bit is not used if the
14920 * data width is greater than 24 bits or if PDMDATA = 1. Note that if the ONECHANNEL field (bit 10
14921 * of this register) = 1, the one channel to be used is the nominally the left channel. POSITION
14922 * can still place that data in the frame where right channel data is normally located. if all
14923 * enabled channel pairs have ONECHANNEL = 1, then RIGHTLOW = 1 is not allowed.
14924 * 0b0..The right channel is taken from the high part of the FIFO data. For example, when data is 16 bits, FIFO
14925 * bits 31:16 are used for the right channel.
14926 * 0b1..The right channel is taken from the low part of the FIFO data. For example, when data is 16 bits, FIFO
14927 * bits 15:0 are used for the right channel.
14928 */
14929#define I2S_CFG1_RIGHTLOW(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_RIGHTLOW_SHIFT)) & I2S_CFG1_RIGHTLOW_MASK)
14930#define I2S_CFG1_LEFTJUST_MASK (0x200U)
14931#define I2S_CFG1_LEFTJUST_SHIFT (9U)
14932/*! LEFTJUST - Left Justify data.
14933 * 0b0..Data is transferred between the FIFO and the I2S serializer/deserializer right justified, i.e. starting
14934 * from bit 0 and continuing to the position defined by DATALEN. This would correspond to right justified data
14935 * in the stream on the data bus.
14936 * 0b1..Data is transferred between the FIFO and the I2S serializer/deserializer left justified, i.e. starting
14937 * from the MSB of the FIFO entry and continuing for the number of bits defined by DATALEN. This would
14938 * correspond to left justified data in the stream on the data bus.
14939 */
14940#define I2S_CFG1_LEFTJUST(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_LEFTJUST_SHIFT)) & I2S_CFG1_LEFTJUST_MASK)
14941#define I2S_CFG1_ONECHANNEL_MASK (0x400U)
14942#define I2S_CFG1_ONECHANNEL_SHIFT (10U)
14943/*! ONECHANNEL - Single channel mode. Applies to both transmit and receive. This configuration bit
14944 * applies only to the first I2S channel pair. Other channel pairs may select this mode
14945 * independently in their separate CFG1 registers.
14946 * 0b0..I2S data for this channel pair is treated as left and right channels.
14947 * 0b1..I2S data for this channel pair is treated as a single channel, functionally the left channel for this
14948 * pair. In mode 0 only, the right side of the frame begins at POSITION = 0x100. This is because mode 0 makes a
14949 * clear distinction between the left and right sides of the frame. When ONECHANNEL = 1, the single channel
14950 * of data may be placed on the right by setting POSITION to 0x100 + the data position within the right side
14951 * (e.g. 0x108 would place data starting at the 8th clock after the middle of the frame). In other modes, data
14952 * for the single channel of data is placed at the clock defined by POSITION.
14953 */
14954#define I2S_CFG1_ONECHANNEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_ONECHANNEL_SHIFT)) & I2S_CFG1_ONECHANNEL_MASK)
14955#define I2S_CFG1_PDMDATA_MASK (0x800U)
14956#define I2S_CFG1_PDMDATA_SHIFT (11U)
14957/*! PDMDATA - PDM Data selection. This bit controls the data source for I2S transmit, and cannot be
14958 * set in Rx mode. This bit only has an effect if the device the Flexcomm resides in includes a
14959 * D-Mic subsystem. For the LPC5411x, this bit applies only to Flexcomm 7.
14960 * 0b0..Normal operation, data is transferred to or from the Flexcomm FIFO.
14961 * 0b1..The data source is the D-Mic subsystem. When PDMDATA = 1, only the primary channel pair can be used in
14962 * this Flexcomm. If ONECHANNEL = 1, only the PDM left data is used. the WS rate must match the Fs (sample
14963 * rate) of the D-Mic decimator. A rate mismatch will at some point cause the I2S to overrun or underrun.
14964 */
14965#define I2S_CFG1_PDMDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_PDMDATA_SHIFT)) & I2S_CFG1_PDMDATA_MASK)
14966#define I2S_CFG1_SCK_POL_MASK (0x1000U)
14967#define I2S_CFG1_SCK_POL_SHIFT (12U)
14968/*! SCK_POL - SCK polarity.
14969 * 0b0..Data is launched on SCK falling edges and sampled on SCK rising edges (standard for I2S).
14970 * 0b1..Data is launched on SCK rising edges and sampled on SCK falling edges.
14971 */
14972#define I2S_CFG1_SCK_POL(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_SCK_POL_SHIFT)) & I2S_CFG1_SCK_POL_MASK)
14973#define I2S_CFG1_WS_POL_MASK (0x2000U)
14974#define I2S_CFG1_WS_POL_SHIFT (13U)
14975/*! WS_POL - WS polarity.
14976 * 0b0..Data frames begin at a falling edge of WS (standard for classic I2S).
14977 * 0b1..WS is inverted, resulting in a data frame beginning at a rising edge of WS (standard for most 'non-classic' variations of I2S).
14978 */
14979#define I2S_CFG1_WS_POL(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_WS_POL_SHIFT)) & I2S_CFG1_WS_POL_MASK)
14980#define I2S_CFG1_DATALEN_MASK (0x1F0000U)
14981#define I2S_CFG1_DATALEN_SHIFT (16U)
14982/*! DATALEN - Data Length, minus 1 encoded, defines the number of data bits to be transmitted or
14983 * received for all I2S channel pairs in this Flexcomm. Note that data is only driven to or received
14984 * from SDA for the number of bits defined by DATALEN. DATALEN is also used in these ways by the
14985 * I2S: Determines the size of data transfers between the FIFO and the I2S
14986 * serializer/deserializer. See FIFO buffer configurations and usage In mode 1, 2, and 3, determines the location of
14987 * right data following left data in the frame. In mode 3 (where WS has a one data slot long pulse
14988 * at the beginning of each data frame) determines the duration of the WS pulse. Values: 0x00 to
14989 * 0x02 = not supported 0x03 = data is 4 bits in length 0x04 = data is 5 bits in length 0x1F =
14990 * data is 32 bits in length
14991 */
14992#define I2S_CFG1_DATALEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG1_DATALEN_SHIFT)) & I2S_CFG1_DATALEN_MASK)
14993/*! @} */
14994
14995/*! @name CFG2 - Configuration register 2 for the primary channel pair. */
14996/*! @{ */
14997#define I2S_CFG2_FRAMELEN_MASK (0x7FFU)
14998#define I2S_CFG2_FRAMELEN_SHIFT (0U)
14999/*! FRAMELEN - Frame Length, minus 1 encoded, defines the number of clocks and data bits in the
15000 * frames that this channel pair participates in.
15001 */
15002#define I2S_CFG2_FRAMELEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG2_FRAMELEN_SHIFT)) & I2S_CFG2_FRAMELEN_MASK)
15003#define I2S_CFG2_POSITION_MASK (0x7FF0000U)
15004#define I2S_CFG2_POSITION_SHIFT (16U)
15005/*! POSITION - Data Position.
15006 */
15007#define I2S_CFG2_POSITION(x) (((uint32_t)(((uint32_t)(x)) << I2S_CFG2_POSITION_SHIFT)) & I2S_CFG2_POSITION_MASK)
15008/*! @} */
15009
15010/*! @name STAT - Status register for the primary channel pair. */
15011/*! @{ */
15012#define I2S_STAT_BUSY_MASK (0x1U)
15013#define I2S_STAT_BUSY_SHIFT (0U)
15014/*! BUSY - Busy status for the primary channel pair. Other BUSY flags may be found in the STAT register for each channel pair.
15015 * 0b0..The transmitter/receiver for channel pair is currently idle.
15016 * 0b1..The transmitter/receiver for channel pair is currently processing data.
15017 */
15018#define I2S_STAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_BUSY_SHIFT)) & I2S_STAT_BUSY_MASK)
15019#define I2S_STAT_SLVFRMERR_MASK (0x2U)
15020#define I2S_STAT_SLVFRMERR_SHIFT (1U)
15021/*! SLVFRMERR - Slave Frame Error flag. This applies when at least one channel pair is operating as
15022 * a slave. An error indicates that the incoming WS signal did not transition as expected due to
15023 * a mismatch between FRAMELEN and the actual incoming I2S stream.
15024 * 0b0..No error has been recorded.
15025 * 0b1..An error has been recorded for some channel pair that is operating in slave mode. ERROR is cleared by writing a 1 to this bit position.
15026 */
15027#define I2S_STAT_SLVFRMERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_SLVFRMERR_SHIFT)) & I2S_STAT_SLVFRMERR_MASK)
15028#define I2S_STAT_LR_MASK (0x4U)
15029#define I2S_STAT_LR_SHIFT (2U)
15030/*! LR - Left/Right indication. This flag is considered to be a debugging aid and is not expected to
15031 * be used by an I2S driver. Valid when one channel pair is busy. Indicates left or right data
15032 * being processed for the currently busy channel pair.
15033 * 0b0..Left channel.
15034 * 0b1..Right channel.
15035 */
15036#define I2S_STAT_LR(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_LR_SHIFT)) & I2S_STAT_LR_MASK)
15037#define I2S_STAT_DATAPAUSED_MASK (0x8U)
15038#define I2S_STAT_DATAPAUSED_SHIFT (3U)
15039/*! DATAPAUSED - Data Paused status flag. Applies to all I2S channels
15040 * 0b0..Data is not currently paused. A data pause may have been requested but is not yet in force, waiting for
15041 * an allowed pause point. Refer to the description of the DATAPAUSE control bit in the CFG1 register.
15042 * 0b1..A data pause has been requested and is now in force.
15043 */
15044#define I2S_STAT_DATAPAUSED(x) (((uint32_t)(((uint32_t)(x)) << I2S_STAT_DATAPAUSED_SHIFT)) & I2S_STAT_DATAPAUSED_MASK)
15045/*! @} */
15046
15047/*! @name DIV - Clock divider, used by all channel pairs. */
15048/*! @{ */
15049#define I2S_DIV_DIV_MASK (0xFFFU)
15050#define I2S_DIV_DIV_SHIFT (0U)
15051/*! DIV - This field controls how this I2S block uses the Flexcomm function clock. 0x000 = The
15052 * Flexcomm function clock is used directly. 0x001 = The Flexcomm function clock is divided by 2.
15053 * 0x002 = The Flexcomm function clock is divided by 3. 0xFFF = The Flexcomm function clock is
15054 * divided by 4,096.
15055 */
15056#define I2S_DIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_DIV_DIV_SHIFT)) & I2S_DIV_DIV_MASK)
15057/*! @} */
15058
15059/*! @name SECCHANNEL_PCFG1 - Configuration register 1 for channel pair */
15060/*! @{ */
15061#define I2S_SECCHANNEL_PCFG1_PAIRENABLE_MASK (0x1U)
15062#define I2S_SECCHANNEL_PCFG1_PAIRENABLE_SHIFT (0U)
15063/*! PAIRENABLE - Enable for this channel pair..
15064 */
15065#define I2S_SECCHANNEL_PCFG1_PAIRENABLE(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PCFG1_PAIRENABLE_SHIFT)) & I2S_SECCHANNEL_PCFG1_PAIRENABLE_MASK)
15066#define I2S_SECCHANNEL_PCFG1_ONECHANNEL_MASK (0x400U)
15067#define I2S_SECCHANNEL_PCFG1_ONECHANNEL_SHIFT (10U)
15068/*! ONECHANNEL - Single channel mode.
15069 */
15070#define I2S_SECCHANNEL_PCFG1_ONECHANNEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PCFG1_ONECHANNEL_SHIFT)) & I2S_SECCHANNEL_PCFG1_ONECHANNEL_MASK)
15071/*! @} */
15072
15073/* The count of I2S_SECCHANNEL_PCFG1 */
15074#define I2S_SECCHANNEL_PCFG1_COUNT (3U)
15075
15076/*! @name SECCHANNEL_PCFG2 - Configuration register 2 for channel pair */
15077/*! @{ */
15078#define I2S_SECCHANNEL_PCFG2_POSITION_MASK (0x1FF0000U)
15079#define I2S_SECCHANNEL_PCFG2_POSITION_SHIFT (16U)
15080/*! POSITION - Data Position.
15081 */
15082#define I2S_SECCHANNEL_PCFG2_POSITION(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PCFG2_POSITION_SHIFT)) & I2S_SECCHANNEL_PCFG2_POSITION_MASK)
15083/*! @} */
15084
15085/* The count of I2S_SECCHANNEL_PCFG2 */
15086#define I2S_SECCHANNEL_PCFG2_COUNT (3U)
15087
15088/*! @name SECCHANNEL_PSTAT - Status register for channel pair */
15089/*! @{ */
15090#define I2S_SECCHANNEL_PSTAT_BUSY_MASK (0x1U)
15091#define I2S_SECCHANNEL_PSTAT_BUSY_SHIFT (0U)
15092/*! BUSY - Busy status for this channel pair.
15093 */
15094#define I2S_SECCHANNEL_PSTAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_BUSY_SHIFT)) & I2S_SECCHANNEL_PSTAT_BUSY_MASK)
15095#define I2S_SECCHANNEL_PSTAT_SLVFRMERR_MASK (0x2U)
15096#define I2S_SECCHANNEL_PSTAT_SLVFRMERR_SHIFT (1U)
15097/*! SLVFRMERR - Save Frame Error flag.
15098 */
15099#define I2S_SECCHANNEL_PSTAT_SLVFRMERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_SLVFRMERR_SHIFT)) & I2S_SECCHANNEL_PSTAT_SLVFRMERR_MASK)
15100#define I2S_SECCHANNEL_PSTAT_LR_MASK (0x4U)
15101#define I2S_SECCHANNEL_PSTAT_LR_SHIFT (2U)
15102/*! LR - Left/Right indication.
15103 */
15104#define I2S_SECCHANNEL_PSTAT_LR(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_LR_SHIFT)) & I2S_SECCHANNEL_PSTAT_LR_MASK)
15105#define I2S_SECCHANNEL_PSTAT_DATAPAUSED_MASK (0x8U)
15106#define I2S_SECCHANNEL_PSTAT_DATAPAUSED_SHIFT (3U)
15107/*! DATAPAUSED - Data Paused status flag.
15108 */
15109#define I2S_SECCHANNEL_PSTAT_DATAPAUSED(x) (((uint32_t)(((uint32_t)(x)) << I2S_SECCHANNEL_PSTAT_DATAPAUSED_SHIFT)) & I2S_SECCHANNEL_PSTAT_DATAPAUSED_MASK)
15110/*! @} */
15111
15112/* The count of I2S_SECCHANNEL_PSTAT */
15113#define I2S_SECCHANNEL_PSTAT_COUNT (3U)
15114
15115/*! @name FIFOCFG - FIFO configuration and enable register. */
15116/*! @{ */
15117#define I2S_FIFOCFG_ENABLETX_MASK (0x1U)
15118#define I2S_FIFOCFG_ENABLETX_SHIFT (0U)
15119/*! ENABLETX - Enable the transmit FIFO.
15120 * 0b0..The transmit FIFO is not enabled.
15121 * 0b1..The transmit FIFO is enabled.
15122 */
15123#define I2S_FIFOCFG_ENABLETX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_ENABLETX_SHIFT)) & I2S_FIFOCFG_ENABLETX_MASK)
15124#define I2S_FIFOCFG_ENABLERX_MASK (0x2U)
15125#define I2S_FIFOCFG_ENABLERX_SHIFT (1U)
15126/*! ENABLERX - Enable the receive FIFO.
15127 * 0b0..The receive FIFO is not enabled.
15128 * 0b1..The receive FIFO is enabled.
15129 */
15130#define I2S_FIFOCFG_ENABLERX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_ENABLERX_SHIFT)) & I2S_FIFOCFG_ENABLERX_MASK)
15131#define I2S_FIFOCFG_TXI2SE0_MASK (0x4U)
15132#define I2S_FIFOCFG_TXI2SE0_SHIFT (2U)
15133/*! TXI2SE0 - Transmit I2S empty 0. Determines the value sent by the I2S in transmit mode if the TX
15134 * FIFO becomes empty. This value is sent repeatedly until the I2S is paused, the error is
15135 * cleared, new data is provided, and the I2S is un-paused.
15136 * 0b0..If the TX FIFO becomes empty, the last value is sent. This setting may be used when the data length is 24
15137 * bits or less, or when MONO = 1 for this channel pair.
15138 * 0b1..If the TX FIFO becomes empty, 0 is sent. Use if the data length is greater than 24 bits or if zero fill is preferred.
15139 */
15140#define I2S_FIFOCFG_TXI2SE0(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_TXI2SE0_SHIFT)) & I2S_FIFOCFG_TXI2SE0_MASK)
15141#define I2S_FIFOCFG_PACK48_MASK (0x8U)
15142#define I2S_FIFOCFG_PACK48_SHIFT (3U)
15143/*! PACK48 - Packing format for 48-bit data. This relates to how data is entered into or taken from the FIFO by software or DMA.
15144 * 0b0..48-bit I2S FIFO entries are handled as all 24-bit values.
15145 * 0b1..48-bit I2S FIFO entries are handled as alternating 32-bit and 16-bit values.
15146 */
15147#define I2S_FIFOCFG_PACK48(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_PACK48_SHIFT)) & I2S_FIFOCFG_PACK48_MASK)
15148#define I2S_FIFOCFG_SIZE_MASK (0x30U)
15149#define I2S_FIFOCFG_SIZE_SHIFT (4U)
15150/*! SIZE - FIFO size configuration. This is a read-only field. 0x0 = FIFO is configured as 16
15151 * entries of 8 bits. 0x1, 0x2, 0x3 = not applicable to USART.
15152 */
15153#define I2S_FIFOCFG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_SIZE_SHIFT)) & I2S_FIFOCFG_SIZE_MASK)
15154#define I2S_FIFOCFG_DMATX_MASK (0x1000U)
15155#define I2S_FIFOCFG_DMATX_SHIFT (12U)
15156/*! DMATX - DMA configuration for transmit.
15157 * 0b0..DMA is not used for the transmit function.
15158 * 0b1..Trigger DMA for the transmit function if the FIFO is not full. Generally, data interrupts would be disabled if DMA is enabled.
15159 */
15160#define I2S_FIFOCFG_DMATX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_DMATX_SHIFT)) & I2S_FIFOCFG_DMATX_MASK)
15161#define I2S_FIFOCFG_DMARX_MASK (0x2000U)
15162#define I2S_FIFOCFG_DMARX_SHIFT (13U)
15163/*! DMARX - DMA configuration for receive.
15164 * 0b0..DMA is not used for the receive function.
15165 * 0b1..Trigger DMA for the receive function if the FIFO is not empty. Generally, data interrupts would be disabled if DMA is enabled.
15166 */
15167#define I2S_FIFOCFG_DMARX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_DMARX_SHIFT)) & I2S_FIFOCFG_DMARX_MASK)
15168#define I2S_FIFOCFG_WAKETX_MASK (0x4000U)
15169#define I2S_FIFOCFG_WAKETX_SHIFT (14U)
15170/*! WAKETX - Wake-up for transmit FIFO level. This allows the device to be woken from reduced power
15171 * modes (up to power-down, as long as the peripheral function works in that power mode) without
15172 * enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The
15173 * CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware
15174 * Wake-up control register.
15175 * 0b0..Only enabled interrupts will wake up the device form reduced power modes.
15176 * 0b1..A device wake-up for DMA will occur if the transmit FIFO level reaches the value specified by TXLVL in
15177 * FIFOTRIG, even when the TXLVL interrupt is not enabled.
15178 */
15179#define I2S_FIFOCFG_WAKETX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_WAKETX_SHIFT)) & I2S_FIFOCFG_WAKETX_MASK)
15180#define I2S_FIFOCFG_WAKERX_MASK (0x8000U)
15181#define I2S_FIFOCFG_WAKERX_SHIFT (15U)
15182/*! WAKERX - Wake-up for receive FIFO level. This allows the device to be woken from reduced power
15183 * modes (up to power-down, as long as the peripheral function works in that power mode) without
15184 * enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The
15185 * CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware
15186 * Wake-up control register.
15187 * 0b0..Only enabled interrupts will wake up the device form reduced power modes.
15188 * 0b1..A device wake-up for DMA will occur if the receive FIFO level reaches the value specified by RXLVL in
15189 * FIFOTRIG, even when the RXLVL interrupt is not enabled.
15190 */
15191#define I2S_FIFOCFG_WAKERX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_WAKERX_SHIFT)) & I2S_FIFOCFG_WAKERX_MASK)
15192#define I2S_FIFOCFG_EMPTYTX_MASK (0x10000U)
15193#define I2S_FIFOCFG_EMPTYTX_SHIFT (16U)
15194/*! EMPTYTX - Empty command for the transmit FIFO. When a 1 is written to this bit, the TX FIFO is emptied.
15195 */
15196#define I2S_FIFOCFG_EMPTYTX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_EMPTYTX_SHIFT)) & I2S_FIFOCFG_EMPTYTX_MASK)
15197#define I2S_FIFOCFG_EMPTYRX_MASK (0x20000U)
15198#define I2S_FIFOCFG_EMPTYRX_SHIFT (17U)
15199/*! EMPTYRX - Empty command for the receive FIFO. When a 1 is written to this bit, the RX FIFO is emptied.
15200 */
15201#define I2S_FIFOCFG_EMPTYRX(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOCFG_EMPTYRX_SHIFT)) & I2S_FIFOCFG_EMPTYRX_MASK)
15202/*! @} */
15203
15204/*! @name FIFOSTAT - FIFO status register. */
15205/*! @{ */
15206#define I2S_FIFOSTAT_TXERR_MASK (0x1U)
15207#define I2S_FIFOSTAT_TXERR_SHIFT (0U)
15208/*! TXERR - TX FIFO error. Will be set if a transmit FIFO error occurs. This could be an overflow
15209 * caused by pushing data into a full FIFO, or by an underflow if the FIFO is empty when data is
15210 * needed. Cleared by writing a 1 to this bit.
15211 */
15212#define I2S_FIFOSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXERR_SHIFT)) & I2S_FIFOSTAT_TXERR_MASK)
15213#define I2S_FIFOSTAT_RXERR_MASK (0x2U)
15214#define I2S_FIFOSTAT_RXERR_SHIFT (1U)
15215/*! RXERR - RX FIFO error. Will be set if a receive FIFO overflow occurs, caused by software or DMA
15216 * not emptying the FIFO fast enough. Cleared by writing a 1 to this bit.
15217 */
15218#define I2S_FIFOSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXERR_SHIFT)) & I2S_FIFOSTAT_RXERR_MASK)
15219#define I2S_FIFOSTAT_PERINT_MASK (0x8U)
15220#define I2S_FIFOSTAT_PERINT_SHIFT (3U)
15221/*! PERINT - Peripheral interrupt. When 1, this indicates that the peripheral function has asserted
15222 * an interrupt. The details can be found by reading the peripheral's STAT register.
15223 */
15224#define I2S_FIFOSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_PERINT_SHIFT)) & I2S_FIFOSTAT_PERINT_MASK)
15225#define I2S_FIFOSTAT_TXEMPTY_MASK (0x10U)
15226#define I2S_FIFOSTAT_TXEMPTY_SHIFT (4U)
15227/*! TXEMPTY - Transmit FIFO empty. When 1, the transmit FIFO is empty. The peripheral may still be processing the last piece of data.
15228 */
15229#define I2S_FIFOSTAT_TXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXEMPTY_SHIFT)) & I2S_FIFOSTAT_TXEMPTY_MASK)
15230#define I2S_FIFOSTAT_TXNOTFULL_MASK (0x20U)
15231#define I2S_FIFOSTAT_TXNOTFULL_SHIFT (5U)
15232/*! TXNOTFULL - Transmit FIFO not full. When 1, the transmit FIFO is not full, so more data can be
15233 * written. When 0, the transmit FIFO is full and another write would cause it to overflow.
15234 */
15235#define I2S_FIFOSTAT_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXNOTFULL_SHIFT)) & I2S_FIFOSTAT_TXNOTFULL_MASK)
15236#define I2S_FIFOSTAT_RXNOTEMPTY_MASK (0x40U)
15237#define I2S_FIFOSTAT_RXNOTEMPTY_SHIFT (6U)
15238/*! RXNOTEMPTY - Receive FIFO not empty. When 1, the receive FIFO is not empty, so data can be read. When 0, the receive FIFO is empty.
15239 */
15240#define I2S_FIFOSTAT_RXNOTEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXNOTEMPTY_SHIFT)) & I2S_FIFOSTAT_RXNOTEMPTY_MASK)
15241#define I2S_FIFOSTAT_RXFULL_MASK (0x80U)
15242#define I2S_FIFOSTAT_RXFULL_SHIFT (7U)
15243/*! RXFULL - Receive FIFO full. When 1, the receive FIFO is full. Data needs to be read out to
15244 * prevent the peripheral from causing an overflow.
15245 */
15246#define I2S_FIFOSTAT_RXFULL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXFULL_SHIFT)) & I2S_FIFOSTAT_RXFULL_MASK)
15247#define I2S_FIFOSTAT_TXLVL_MASK (0x1F00U)
15248#define I2S_FIFOSTAT_TXLVL_SHIFT (8U)
15249/*! TXLVL - Transmit FIFO current level. A 0 means the TX FIFO is currently empty, and the TXEMPTY
15250 * and TXNOTFULL flags will be 1. Other values tell how much data is actually in the TX FIFO at
15251 * the point where the read occurs. If the TX FIFO is full, the TXEMPTY and TXNOTFULL flags will be
15252 * 0.
15253 */
15254#define I2S_FIFOSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_TXLVL_SHIFT)) & I2S_FIFOSTAT_TXLVL_MASK)
15255#define I2S_FIFOSTAT_RXLVL_MASK (0x1F0000U)
15256#define I2S_FIFOSTAT_RXLVL_SHIFT (16U)
15257/*! RXLVL - Receive FIFO current level. A 0 means the RX FIFO is currently empty, and the RXFULL and
15258 * RXNOTEMPTY flags will be 0. Other values tell how much data is actually in the RX FIFO at the
15259 * point where the read occurs. If the RX FIFO is full, the RXFULL and RXNOTEMPTY flags will be
15260 * 1.
15261 */
15262#define I2S_FIFOSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSTAT_RXLVL_SHIFT)) & I2S_FIFOSTAT_RXLVL_MASK)
15263/*! @} */
15264
15265/*! @name FIFOTRIG - FIFO trigger settings for interrupt and DMA request. */
15266/*! @{ */
15267#define I2S_FIFOTRIG_TXLVLENA_MASK (0x1U)
15268#define I2S_FIFOTRIG_TXLVLENA_SHIFT (0U)
15269/*! TXLVLENA - Transmit FIFO level trigger enable. This trigger will become an interrupt if enabled
15270 * in FIFOINTENSET, or a DMA trigger if DMATX in FIFOCFG is set.
15271 * 0b0..Transmit FIFO level does not generate a FIFO level trigger.
15272 * 0b1..An trigger will be generated if the transmit FIFO level reaches the value specified by the TXLVL field in this register.
15273 */
15274#define I2S_FIFOTRIG_TXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_TXLVLENA_SHIFT)) & I2S_FIFOTRIG_TXLVLENA_MASK)
15275#define I2S_FIFOTRIG_RXLVLENA_MASK (0x2U)
15276#define I2S_FIFOTRIG_RXLVLENA_SHIFT (1U)
15277/*! RXLVLENA - Receive FIFO level trigger enable. This trigger will become an interrupt if enabled
15278 * in FIFOINTENSET, or a DMA trigger if DMARX in FIFOCFG is set.
15279 * 0b0..Receive FIFO level does not generate a FIFO level trigger.
15280 * 0b1..An trigger will be generated if the receive FIFO level reaches the value specified by the RXLVL field in this register.
15281 */
15282#define I2S_FIFOTRIG_RXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_RXLVLENA_SHIFT)) & I2S_FIFOTRIG_RXLVLENA_MASK)
15283#define I2S_FIFOTRIG_TXLVL_MASK (0xF00U)
15284#define I2S_FIFOTRIG_TXLVL_SHIFT (8U)
15285/*! TXLVL - Transmit FIFO level trigger point. This field is used only when TXLVLENA = 1. If enabled
15286 * to do so, the FIFO level can wake up the device just enough to perform DMA, then return to
15287 * the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the TX FIFO
15288 * becomes empty. 1 = trigger when the TX FIFO level decreases to one entry. 15 = trigger when the TX
15289 * FIFO level decreases to 15 entries (is no longer full).
15290 */
15291#define I2S_FIFOTRIG_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_TXLVL_SHIFT)) & I2S_FIFOTRIG_TXLVL_MASK)
15292#define I2S_FIFOTRIG_RXLVL_MASK (0xF0000U)
15293#define I2S_FIFOTRIG_RXLVL_SHIFT (16U)
15294/*! RXLVL - Receive FIFO level trigger point. The RX FIFO level is checked when a new piece of data
15295 * is received. This field is used only when RXLVLENA = 1. If enabled to do so, the FIFO level
15296 * can wake up the device just enough to perform DMA, then return to the reduced power mode. See
15297 * Hardware Wake-up control register. 0 = trigger when the RX FIFO has received one entry (is no
15298 * longer empty). 1 = trigger when the RX FIFO has received two entries. 15 = trigger when the RX
15299 * FIFO has received 16 entries (has become full).
15300 */
15301#define I2S_FIFOTRIG_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOTRIG_RXLVL_SHIFT)) & I2S_FIFOTRIG_RXLVL_MASK)
15302/*! @} */
15303
15304/*! @name FIFOINTENSET - FIFO interrupt enable set (enable) and read register. */
15305/*! @{ */
15306#define I2S_FIFOINTENSET_TXERR_MASK (0x1U)
15307#define I2S_FIFOINTENSET_TXERR_SHIFT (0U)
15308/*! TXERR - Determines whether an interrupt occurs when a transmit error occurs, based on the TXERR flag in the FIFOSTAT register.
15309 * 0b0..No interrupt will be generated for a transmit error.
15310 * 0b1..An interrupt will be generated when a transmit error occurs.
15311 */
15312#define I2S_FIFOINTENSET_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_TXERR_SHIFT)) & I2S_FIFOINTENSET_TXERR_MASK)
15313#define I2S_FIFOINTENSET_RXERR_MASK (0x2U)
15314#define I2S_FIFOINTENSET_RXERR_SHIFT (1U)
15315/*! RXERR - Determines whether an interrupt occurs when a receive error occurs, based on the RXERR flag in the FIFOSTAT register.
15316 * 0b0..No interrupt will be generated for a receive error.
15317 * 0b1..An interrupt will be generated when a receive error occurs.
15318 */
15319#define I2S_FIFOINTENSET_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_RXERR_SHIFT)) & I2S_FIFOINTENSET_RXERR_MASK)
15320#define I2S_FIFOINTENSET_TXLVL_MASK (0x4U)
15321#define I2S_FIFOINTENSET_TXLVL_SHIFT (2U)
15322/*! TXLVL - Determines whether an interrupt occurs when a the transmit FIFO reaches the level
15323 * specified by the TXLVL field in the FIFOTRIG register.
15324 * 0b0..No interrupt will be generated based on the TX FIFO level.
15325 * 0b1..If TXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the TX FIFO level decreases
15326 * to the level specified by TXLVL in the FIFOTRIG register.
15327 */
15328#define I2S_FIFOINTENSET_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_TXLVL_SHIFT)) & I2S_FIFOINTENSET_TXLVL_MASK)
15329#define I2S_FIFOINTENSET_RXLVL_MASK (0x8U)
15330#define I2S_FIFOINTENSET_RXLVL_SHIFT (3U)
15331/*! RXLVL - Determines whether an interrupt occurs when a the receive FIFO reaches the level
15332 * specified by the TXLVL field in the FIFOTRIG register.
15333 * 0b0..No interrupt will be generated based on the RX FIFO level.
15334 * 0b1..If RXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the when the RX FIFO level
15335 * increases to the level specified by RXLVL in the FIFOTRIG register.
15336 */
15337#define I2S_FIFOINTENSET_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENSET_RXLVL_SHIFT)) & I2S_FIFOINTENSET_RXLVL_MASK)
15338/*! @} */
15339
15340/*! @name FIFOINTENCLR - FIFO interrupt enable clear (disable) and read register. */
15341/*! @{ */
15342#define I2S_FIFOINTENCLR_TXERR_MASK (0x1U)
15343#define I2S_FIFOINTENCLR_TXERR_SHIFT (0U)
15344/*! TXERR - Writing one clears the corresponding bits in the FIFOINTENSET register.
15345 */
15346#define I2S_FIFOINTENCLR_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_TXERR_SHIFT)) & I2S_FIFOINTENCLR_TXERR_MASK)
15347#define I2S_FIFOINTENCLR_RXERR_MASK (0x2U)
15348#define I2S_FIFOINTENCLR_RXERR_SHIFT (1U)
15349/*! RXERR - Writing one clears the corresponding bits in the FIFOINTENSET register.
15350 */
15351#define I2S_FIFOINTENCLR_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_RXERR_SHIFT)) & I2S_FIFOINTENCLR_RXERR_MASK)
15352#define I2S_FIFOINTENCLR_TXLVL_MASK (0x4U)
15353#define I2S_FIFOINTENCLR_TXLVL_SHIFT (2U)
15354/*! TXLVL - Writing one clears the corresponding bits in the FIFOINTENSET register.
15355 */
15356#define I2S_FIFOINTENCLR_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_TXLVL_SHIFT)) & I2S_FIFOINTENCLR_TXLVL_MASK)
15357#define I2S_FIFOINTENCLR_RXLVL_MASK (0x8U)
15358#define I2S_FIFOINTENCLR_RXLVL_SHIFT (3U)
15359/*! RXLVL - Writing one clears the corresponding bits in the FIFOINTENSET register.
15360 */
15361#define I2S_FIFOINTENCLR_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTENCLR_RXLVL_SHIFT)) & I2S_FIFOINTENCLR_RXLVL_MASK)
15362/*! @} */
15363
15364/*! @name FIFOINTSTAT - FIFO interrupt status register. */
15365/*! @{ */
15366#define I2S_FIFOINTSTAT_TXERR_MASK (0x1U)
15367#define I2S_FIFOINTSTAT_TXERR_SHIFT (0U)
15368/*! TXERR - TX FIFO error.
15369 */
15370#define I2S_FIFOINTSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_TXERR_SHIFT)) & I2S_FIFOINTSTAT_TXERR_MASK)
15371#define I2S_FIFOINTSTAT_RXERR_MASK (0x2U)
15372#define I2S_FIFOINTSTAT_RXERR_SHIFT (1U)
15373/*! RXERR - RX FIFO error.
15374 */
15375#define I2S_FIFOINTSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_RXERR_SHIFT)) & I2S_FIFOINTSTAT_RXERR_MASK)
15376#define I2S_FIFOINTSTAT_TXLVL_MASK (0x4U)
15377#define I2S_FIFOINTSTAT_TXLVL_SHIFT (2U)
15378/*! TXLVL - Transmit FIFO level interrupt.
15379 */
15380#define I2S_FIFOINTSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_TXLVL_SHIFT)) & I2S_FIFOINTSTAT_TXLVL_MASK)
15381#define I2S_FIFOINTSTAT_RXLVL_MASK (0x8U)
15382#define I2S_FIFOINTSTAT_RXLVL_SHIFT (3U)
15383/*! RXLVL - Receive FIFO level interrupt.
15384 */
15385#define I2S_FIFOINTSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_RXLVL_SHIFT)) & I2S_FIFOINTSTAT_RXLVL_MASK)
15386#define I2S_FIFOINTSTAT_PERINT_MASK (0x10U)
15387#define I2S_FIFOINTSTAT_PERINT_SHIFT (4U)
15388/*! PERINT - Peripheral interrupt.
15389 */
15390#define I2S_FIFOINTSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOINTSTAT_PERINT_SHIFT)) & I2S_FIFOINTSTAT_PERINT_MASK)
15391/*! @} */
15392
15393/*! @name FIFOWR - FIFO write data. */
15394/*! @{ */
15395#define I2S_FIFOWR_TXDATA_MASK (0xFFFFFFFFU)
15396#define I2S_FIFOWR_TXDATA_SHIFT (0U)
15397/*! TXDATA - Transmit data to the FIFO. The number of bits used depends on configuration details.
15398 */
15399#define I2S_FIFOWR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOWR_TXDATA_SHIFT)) & I2S_FIFOWR_TXDATA_MASK)
15400/*! @} */
15401
15402/*! @name FIFOWR48H - FIFO write data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA. */
15403/*! @{ */
15404#define I2S_FIFOWR48H_TXDATA_MASK (0xFFFFFFU)
15405#define I2S_FIFOWR48H_TXDATA_SHIFT (0U)
15406/*! TXDATA - Transmit data to the FIFO. Whether this register is used and the number of bits used depends on configuration details.
15407 */
15408#define I2S_FIFOWR48H_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOWR48H_TXDATA_SHIFT)) & I2S_FIFOWR48H_TXDATA_MASK)
15409/*! @} */
15410
15411/*! @name FIFORD - FIFO read data. */
15412/*! @{ */
15413#define I2S_FIFORD_RXDATA_MASK (0xFFFFFFFFU)
15414#define I2S_FIFORD_RXDATA_SHIFT (0U)
15415/*! RXDATA - Received data from the FIFO. The number of bits used depends on configuration details.
15416 */
15417#define I2S_FIFORD_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORD_RXDATA_SHIFT)) & I2S_FIFORD_RXDATA_MASK)
15418/*! @} */
15419
15420/*! @name FIFORD48H - FIFO read data for upper data bits. May only be used if the I2S is configured for 2x 24-bit data and not using DMA. */
15421/*! @{ */
15422#define I2S_FIFORD48H_RXDATA_MASK (0xFFFFFFU)
15423#define I2S_FIFORD48H_RXDATA_SHIFT (0U)
15424/*! RXDATA - Received data from the FIFO. Whether this register is used and the number of bits used depends on configuration details.
15425 */
15426#define I2S_FIFORD48H_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORD48H_RXDATA_SHIFT)) & I2S_FIFORD48H_RXDATA_MASK)
15427/*! @} */
15428
15429/*! @name FIFORDNOPOP - FIFO data read with no FIFO pop. */
15430/*! @{ */
15431#define I2S_FIFORDNOPOP_RXDATA_MASK (0xFFFFFFFFU)
15432#define I2S_FIFORDNOPOP_RXDATA_SHIFT (0U)
15433/*! RXDATA - Received data from the FIFO.
15434 */
15435#define I2S_FIFORDNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORDNOPOP_RXDATA_SHIFT)) & I2S_FIFORDNOPOP_RXDATA_MASK)
15436/*! @} */
15437
15438/*! @name FIFORD48HNOPOP - FIFO data read for upper data bits with no FIFO pop. May only be used if the I2S is configured for 2x 24-bit data and not using DMA. */
15439/*! @{ */
15440#define I2S_FIFORD48HNOPOP_RXDATA_MASK (0xFFFFFFU)
15441#define I2S_FIFORD48HNOPOP_RXDATA_SHIFT (0U)
15442/*! RXDATA - Received data from the FIFO. Whether this register is used and the number of bits used depends on configuration details.
15443 */
15444#define I2S_FIFORD48HNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFORD48HNOPOP_RXDATA_SHIFT)) & I2S_FIFORD48HNOPOP_RXDATA_MASK)
15445/*! @} */
15446
15447/*! @name FIFOSIZE - FIFO size register */
15448/*! @{ */
15449#define I2S_FIFOSIZE_FIFOSIZE_MASK (0x1FU)
15450#define I2S_FIFOSIZE_FIFOSIZE_SHIFT (0U)
15451/*! FIFOSIZE - the fifo size is equal to the template parameter "fifo"/2 .
15452 */
15453#define I2S_FIFOSIZE_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << I2S_FIFOSIZE_FIFOSIZE_SHIFT)) & I2S_FIFOSIZE_FIFOSIZE_MASK)
15454/*! @} */
15455
15456/*! @name ID - I2S Module identification */
15457/*! @{ */
15458#define I2S_ID_APERTURE_MASK (0xFFU)
15459#define I2S_ID_APERTURE_SHIFT (0U)
15460/*! Aperture - Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.
15461 */
15462#define I2S_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_APERTURE_SHIFT)) & I2S_ID_APERTURE_MASK)
15463#define I2S_ID_MINOR_REV_MASK (0xF00U)
15464#define I2S_ID_MINOR_REV_SHIFT (8U)
15465/*! Minor_Rev - Minor revision of module implementation, starting at 0.
15466 */
15467#define I2S_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_MINOR_REV_SHIFT)) & I2S_ID_MINOR_REV_MASK)
15468#define I2S_ID_MAJOR_REV_MASK (0xF000U)
15469#define I2S_ID_MAJOR_REV_SHIFT (12U)
15470/*! Major_Rev - Major revision of module implementation, starting at 0.
15471 */
15472#define I2S_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_MAJOR_REV_SHIFT)) & I2S_ID_MAJOR_REV_MASK)
15473#define I2S_ID_ID_MASK (0xFFFF0000U)
15474#define I2S_ID_ID_SHIFT (16U)
15475/*! ID - Unique module identifier for this IP block.
15476 */
15477#define I2S_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << I2S_ID_ID_SHIFT)) & I2S_ID_ID_MASK)
15478/*! @} */
15479
15480
15481/*!
15482 * @}
15483 */ /* end of group I2S_Register_Masks */
15484
15485
15486/* I2S - Peripheral instance base addresses */
15487#if (__ARM_FEATURE_CMSE & 0x2)
15488 /** Peripheral I2S0 base address */
15489 #define I2S0_BASE (0x50106000u)
15490 /** Peripheral I2S0 base address */
15491 #define I2S0_BASE_NS (0x40106000u)
15492 /** Peripheral I2S0 base pointer */
15493 #define I2S0 ((I2S_Type *)I2S0_BASE)
15494 /** Peripheral I2S0 base pointer */
15495 #define I2S0_NS ((I2S_Type *)I2S0_BASE_NS)
15496 /** Peripheral I2S1 base address */
15497 #define I2S1_BASE (0x50107000u)
15498 /** Peripheral I2S1 base address */
15499 #define I2S1_BASE_NS (0x40107000u)
15500 /** Peripheral I2S1 base pointer */
15501 #define I2S1 ((I2S_Type *)I2S1_BASE)
15502 /** Peripheral I2S1 base pointer */
15503 #define I2S1_NS ((I2S_Type *)I2S1_BASE_NS)
15504 /** Peripheral I2S2 base address */
15505 #define I2S2_BASE (0x50108000u)
15506 /** Peripheral I2S2 base address */
15507 #define I2S2_BASE_NS (0x40108000u)
15508 /** Peripheral I2S2 base pointer */
15509 #define I2S2 ((I2S_Type *)I2S2_BASE)
15510 /** Peripheral I2S2 base pointer */
15511 #define I2S2_NS ((I2S_Type *)I2S2_BASE_NS)
15512 /** Peripheral I2S3 base address */
15513 #define I2S3_BASE (0x50109000u)
15514 /** Peripheral I2S3 base address */
15515 #define I2S3_BASE_NS (0x40109000u)
15516 /** Peripheral I2S3 base pointer */
15517 #define I2S3 ((I2S_Type *)I2S3_BASE)
15518 /** Peripheral I2S3 base pointer */
15519 #define I2S3_NS ((I2S_Type *)I2S3_BASE_NS)
15520 /** Peripheral I2S4 base address */
15521 #define I2S4_BASE (0x50122000u)
15522 /** Peripheral I2S4 base address */
15523 #define I2S4_BASE_NS (0x40122000u)
15524 /** Peripheral I2S4 base pointer */
15525 #define I2S4 ((I2S_Type *)I2S4_BASE)
15526 /** Peripheral I2S4 base pointer */
15527 #define I2S4_NS ((I2S_Type *)I2S4_BASE_NS)
15528 /** Peripheral I2S5 base address */
15529 #define I2S5_BASE (0x50123000u)
15530 /** Peripheral I2S5 base address */
15531 #define I2S5_BASE_NS (0x40123000u)
15532 /** Peripheral I2S5 base pointer */
15533 #define I2S5 ((I2S_Type *)I2S5_BASE)
15534 /** Peripheral I2S5 base pointer */
15535 #define I2S5_NS ((I2S_Type *)I2S5_BASE_NS)
15536 /** Peripheral I2S6 base address */
15537 #define I2S6_BASE (0x50124000u)
15538 /** Peripheral I2S6 base address */
15539 #define I2S6_BASE_NS (0x40124000u)
15540 /** Peripheral I2S6 base pointer */
15541 #define I2S6 ((I2S_Type *)I2S6_BASE)
15542 /** Peripheral I2S6 base pointer */
15543 #define I2S6_NS ((I2S_Type *)I2S6_BASE_NS)
15544 /** Peripheral I2S7 base address */
15545 #define I2S7_BASE (0x50125000u)
15546 /** Peripheral I2S7 base address */
15547 #define I2S7_BASE_NS (0x40125000u)
15548 /** Peripheral I2S7 base pointer */
15549 #define I2S7 ((I2S_Type *)I2S7_BASE)
15550 /** Peripheral I2S7 base pointer */
15551 #define I2S7_NS ((I2S_Type *)I2S7_BASE_NS)
15552 /** Array initializer of I2S peripheral base addresses */
15553 #define I2S_BASE_ADDRS { I2S0_BASE, I2S1_BASE, I2S2_BASE, I2S3_BASE, I2S4_BASE, I2S5_BASE, I2S6_BASE, I2S7_BASE }
15554 /** Array initializer of I2S peripheral base pointers */
15555 #define I2S_BASE_PTRS { I2S0, I2S1, I2S2, I2S3, I2S4, I2S5, I2S6, I2S7 }
15556 /** Array initializer of I2S peripheral base addresses */
15557 #define I2S_BASE_ADDRS_NS { I2S0_BASE_NS, I2S1_BASE_NS, I2S2_BASE_NS, I2S3_BASE_NS, I2S4_BASE_NS, I2S5_BASE_NS, I2S6_BASE_NS, I2S7_BASE_NS }
15558 /** Array initializer of I2S peripheral base pointers */
15559 #define I2S_BASE_PTRS_NS { I2S0_NS, I2S1_NS, I2S2_NS, I2S3_NS, I2S4_NS, I2S5_NS, I2S6_NS, I2S7_NS }
15560#else
15561 /** Peripheral I2S0 base address */
15562 #define I2S0_BASE (0x40106000u)
15563 /** Peripheral I2S0 base pointer */
15564 #define I2S0 ((I2S_Type *)I2S0_BASE)
15565 /** Peripheral I2S1 base address */
15566 #define I2S1_BASE (0x40107000u)
15567 /** Peripheral I2S1 base pointer */
15568 #define I2S1 ((I2S_Type *)I2S1_BASE)
15569 /** Peripheral I2S2 base address */
15570 #define I2S2_BASE (0x40108000u)
15571 /** Peripheral I2S2 base pointer */
15572 #define I2S2 ((I2S_Type *)I2S2_BASE)
15573 /** Peripheral I2S3 base address */
15574 #define I2S3_BASE (0x40109000u)
15575 /** Peripheral I2S3 base pointer */
15576 #define I2S3 ((I2S_Type *)I2S3_BASE)
15577 /** Peripheral I2S4 base address */
15578 #define I2S4_BASE (0x40122000u)
15579 /** Peripheral I2S4 base pointer */
15580 #define I2S4 ((I2S_Type *)I2S4_BASE)
15581 /** Peripheral I2S5 base address */
15582 #define I2S5_BASE (0x40123000u)
15583 /** Peripheral I2S5 base pointer */
15584 #define I2S5 ((I2S_Type *)I2S5_BASE)
15585 /** Peripheral I2S6 base address */
15586 #define I2S6_BASE (0x40124000u)
15587 /** Peripheral I2S6 base pointer */
15588 #define I2S6 ((I2S_Type *)I2S6_BASE)
15589 /** Peripheral I2S7 base address */
15590 #define I2S7_BASE (0x40125000u)
15591 /** Peripheral I2S7 base pointer */
15592 #define I2S7 ((I2S_Type *)I2S7_BASE)
15593 /** Array initializer of I2S peripheral base addresses */
15594 #define I2S_BASE_ADDRS { I2S0_BASE, I2S1_BASE, I2S2_BASE, I2S3_BASE, I2S4_BASE, I2S5_BASE, I2S6_BASE, I2S7_BASE }
15595 /** Array initializer of I2S peripheral base pointers */
15596 #define I2S_BASE_PTRS { I2S0, I2S1, I2S2, I2S3, I2S4, I2S5, I2S6, I2S7 }
15597#endif
15598/** Interrupt vectors for the I2S peripheral type */
15599#define I2S_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn }
15600
15601/*!
15602 * @}
15603 */ /* end of group I2S_Peripheral_Access_Layer */
15604
15605
15606/* ----------------------------------------------------------------------------
15607 -- I3C Peripheral Access Layer
15608 ---------------------------------------------------------------------------- */
15609
15610/*!
15611 * @addtogroup I3C_Peripheral_Access_Layer I3C Peripheral Access Layer
15612 * @{
15613 */
15614
15615/** I3C - Register Layout Typedef */
15616typedef struct {
15617 __IO uint32_t MCONFIG; /**< Master Configuration Register, offset: 0x0 */
15618 __IO uint32_t SCONFIG; /**< Slave Configuration Register, offset: 0x4 */
15619 __IO uint32_t SSTATUS; /**< Slave Status Register, offset: 0x8 */
15620 __IO uint32_t SCTRL; /**< Slave Control Register, offset: 0xC */
15621 __IO uint32_t SINTSET; /**< Slave Interrupt Set Register, offset: 0x10 */
15622 __IO uint32_t SINTCLR; /**< Slave Interrupt Clear Register, offset: 0x14 */
15623 __I uint32_t SINTMASKED; /**< Slave Interrupt Mask Register, offset: 0x18 */
15624 __IO uint32_t SERRWARN; /**< Slave Errors and Warnings Register, offset: 0x1C */
15625 __IO uint32_t SDMACTRL; /**< Slave DMA Control Register, offset: 0x20 */
15626 uint8_t RESERVED_0[8];
15627 __IO uint32_t SDATACTRL; /**< Slave Data Control Register, offset: 0x2C */
15628 __O uint32_t SWDATAB; /**< Slave Write Data Byte Register, offset: 0x30 */
15629 __O uint32_t SWDATABE; /**< Slave Write Data Byte End, offset: 0x34 */
15630 __O uint32_t SWDATAH; /**< Slave Write Data Half-word Register, offset: 0x38 */
15631 __O uint32_t SWDATAHE; /**< Slave Write Data Half-word End Register, offset: 0x3C */
15632 __I uint32_t SRDATAB; /**< Slave Read Data Byte Register, offset: 0x40 */
15633 uint8_t RESERVED_1[4];
15634 __I uint32_t SRDATAH; /**< Slave Read Data Half-word Register, offset: 0x48 */
15635 uint8_t RESERVED_2[20];
15636 __I uint32_t SCAPABILITIES; /**< Slave Capabilities Register, offset: 0x60 */
15637 __IO uint32_t SDYNADDR; /**< Slave Dynamic Address Register, offset: 0x64 */
15638 __IO uint32_t SMAXLIMITS; /**< Slave Maximum Limits Register, offset: 0x68 */
15639 __IO uint32_t SIDPARTNO; /**< Slave ID Part Number Register, offset: 0x6C */
15640 __IO uint32_t SIDEXT; /**< Slave ID Extension Register, offset: 0x70 */
15641 __IO uint32_t SVENDORID; /**< Slave Vendor ID Register, offset: 0x74 */
15642 __IO uint32_t STCCLOCK; /**< Slave Time Control Clock Register, offset: 0x78 */
15643 __I uint32_t SMSGMAPADDR; /**< Slave Message-Mapped Address Register, offset: 0x7C */
15644 uint8_t RESERVED_3[4];
15645 __IO uint32_t MCTRL; /**< Master Main Control Register, offset: 0x84 */
15646 __IO uint32_t MSTATUS; /**< Master Status Register, offset: 0x88 */
15647 __IO uint32_t MIBIRULES; /**< Master In-band Interrupt Registry and Rules Register, offset: 0x8C */
15648 __IO uint32_t MINTSET; /**< Master Interrupt Set Register, offset: 0x90 */
15649 __O uint32_t MINTCLR; /**< Master Interrupt Clear Register, offset: 0x94 */
15650 __I uint32_t MINTMASKED; /**< Master Interrupt Mask Register, offset: 0x98 */
15651 __IO uint32_t MERRWARN; /**< Master Errors and Warnings Register, offset: 0x9C */
15652 __IO uint32_t MDMACTRL; /**< Master DMA Control Register, offset: 0xA0 */
15653 uint8_t RESERVED_4[8];
15654 __IO uint32_t MDATACTRL; /**< Master Data Control Register, offset: 0xAC */
15655 __O uint32_t MWDATAB; /**< Master Write Data Byte Register, offset: 0xB0 */
15656 __O uint32_t MWDATABE; /**< Master Write Data Byte End Register, offset: 0xB4 */
15657 __O uint32_t MWDATAH; /**< Master Write Data Half-word Register, offset: 0xB8 */
15658 __O uint32_t MWDATAHE; /**< Master Write Data Byte End Register, offset: 0xBC */
15659 __I uint32_t MRDATAB; /**< Master Read Data Byte Register, offset: 0xC0 */
15660 uint8_t RESERVED_5[4];
15661 __I uint32_t MRDATAH; /**< Master Read Data Half-word Register, offset: 0xC8 */
15662 uint8_t RESERVED_6[4];
15663 union { /* offset: 0xD0 */
15664 __O uint32_t MWMSG_SDR_CONTROL; /**< Master Write Message in SDR mode, offset: 0xD0 */
15665 __O uint32_t MWMSG_SDR_DATA; /**< Master Write Message Data in SDR mode, offset: 0xD0 */
15666 };
15667 __I uint32_t MRMSG_SDR; /**< Master Read Message in SDR mode, offset: 0xD4 */
15668 union { /* offset: 0xD8 */
15669 __O uint32_t MWMSG_DDR_CONTROL; /**< Master Write Message in DDR mode, offset: 0xD8 */
15670 __O uint32_t MWMSG_DDR_DATA; /**< Master Write Message Data in DDR mode, offset: 0xD8 */
15671 };
15672 __IO uint32_t MRMSG_DDR; /**< Master Read Message in DDR mode, offset: 0xDC */
15673 uint8_t RESERVED_7[4];
15674 __IO uint32_t MDYNADDR; /**< Master Dynamic Address Register, offset: 0xE4 */
15675 uint8_t RESERVED_8[3860];
15676 __I uint32_t SID; /**< Slave Module ID Register, offset: 0xFFC */
15677} I3C_Type;
15678
15679/* ----------------------------------------------------------------------------
15680 -- I3C Register Masks
15681 ---------------------------------------------------------------------------- */
15682
15683/*!
15684 * @addtogroup I3C_Register_Masks I3C Register Masks
15685 * @{
15686 */
15687
15688/*! @name MCONFIG - Master Configuration Register */
15689/*! @{ */
15690#define I3C_MCONFIG_MSTENA_MASK (0x3U)
15691#define I3C_MCONFIG_MSTENA_SHIFT (0U)
15692/*! MSTENA - Master enable
15693 * 0b00..MASTER_OFF: Master is off (is not enabled). If MASTER_OFF is enabled, then the I3C module can only use slave mode.
15694 * 0b01..MASTER_ON: Master is on (is enabled). When used from start-up, this I3C module is master by default (the
15695 * main master). The module will control the bus unless the master is handed off. If the master is handed
15696 * off, then MSTENA must move to 2 after that happens. The handoff means emitting GETACCMST and if accepted,
15697 * the module will emit a STOP and set the MSTENA bit to 2 (or 0).
15698 * 0b10..MASTER_CAPABLE: The I3C module is master-capable; however the module is operating as a slave now. When
15699 * used from the start, the I3C module will start as a slave, but will be prepared to switch to master mode.
15700 * To switch to master mode, the slave emits an Master Request (MR), or gets a GETACCMST CCC command and
15701 * accepts it (to switch on the STOP).
15702 * 0b11..RESERVED
15703 */
15704#define I3C_MCONFIG_MSTENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_MSTENA_SHIFT)) & I3C_MCONFIG_MSTENA_MASK)
15705#define I3C_MCONFIG_DISTO_MASK (0x8U)
15706#define I3C_MCONFIG_DISTO_SHIFT (3U)
15707/*! DISTO - Disable Timeout
15708 */
15709#define I3C_MCONFIG_DISTO(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_DISTO_SHIFT)) & I3C_MCONFIG_DISTO_MASK)
15710#define I3C_MCONFIG_HKEEP_MASK (0x30U)
15711#define I3C_MCONFIG_HKEEP_SHIFT (4U)
15712/*! HKEEP - High-Keeper
15713 * 0b00..NONE: Use PUR (Pull-Up Resistor). Hold SCL High.
15714 * 0b01..WIRED_IN: Wired-in High Keeper controls; use pin_HK (High Keeper) controls.
15715 * 0b10..PASSIVE_SDA: Passive on SDA; can Hi-Z (high impedance) for Bus Free (IDLE) and hold.
15716 * 0b11..PASSIVE_ON_SDA_SCL: Passive on SDA and SCL; can Hi-Z (high impedance) both for Bus Free (IDLE), and can Hi-Z SDA for hold.
15717 */
15718#define I3C_MCONFIG_HKEEP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_HKEEP_SHIFT)) & I3C_MCONFIG_HKEEP_MASK)
15719#define I3C_MCONFIG_ODSTOP_MASK (0x40U)
15720#define I3C_MCONFIG_ODSTOP_SHIFT (6U)
15721/*! ODSTOP - Open drain stop
15722 */
15723#define I3C_MCONFIG_ODSTOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODSTOP_SHIFT)) & I3C_MCONFIG_ODSTOP_MASK)
15724#define I3C_MCONFIG_PPBAUD_MASK (0xF00U)
15725#define I3C_MCONFIG_PPBAUD_SHIFT (8U)
15726/*! PPBAUD - Push-pull baud rate
15727 */
15728#define I3C_MCONFIG_PPBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_PPBAUD_SHIFT)) & I3C_MCONFIG_PPBAUD_MASK)
15729#define I3C_MCONFIG_PPLOW_MASK (0xF000U)
15730#define I3C_MCONFIG_PPLOW_SHIFT (12U)
15731/*! PPLOW - Push-Pull low
15732 */
15733#define I3C_MCONFIG_PPLOW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_PPLOW_SHIFT)) & I3C_MCONFIG_PPLOW_MASK)
15734#define I3C_MCONFIG_ODBAUD_MASK (0xFF0000U)
15735#define I3C_MCONFIG_ODBAUD_SHIFT (16U)
15736/*! ODBAUD - Open drain baud rate
15737 */
15738#define I3C_MCONFIG_ODBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODBAUD_SHIFT)) & I3C_MCONFIG_ODBAUD_MASK)
15739#define I3C_MCONFIG_ODHPP_MASK (0x1000000U)
15740#define I3C_MCONFIG_ODHPP_SHIFT (24U)
15741/*! ODHPP - Open drain high push-pull
15742 */
15743#define I3C_MCONFIG_ODHPP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODHPP_SHIFT)) & I3C_MCONFIG_ODHPP_MASK)
15744#define I3C_MCONFIG_SKEW_MASK (0xE000000U)
15745#define I3C_MCONFIG_SKEW_SHIFT (25U)
15746/*! SKEW - Skew
15747 */
15748#define I3C_MCONFIG_SKEW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_SKEW_SHIFT)) & I3C_MCONFIG_SKEW_MASK)
15749#define I3C_MCONFIG_I2CBAUD_MASK (0xF0000000U)
15750#define I3C_MCONFIG_I2CBAUD_SHIFT (28U)
15751/*! I2CBAUD - I2C baud rate
15752 */
15753#define I3C_MCONFIG_I2CBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_I2CBAUD_SHIFT)) & I3C_MCONFIG_I2CBAUD_MASK)
15754/*! @} */
15755
15756/*! @name SCONFIG - Slave Configuration Register */
15757/*! @{ */
15758#define I3C_SCONFIG_SLVENA_MASK (0x1U)
15759#define I3C_SCONFIG_SLVENA_SHIFT (0U)
15760/*! SLVENA - Slave enable
15761 */
15762#define I3C_SCONFIG_SLVENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_SLVENA_SHIFT)) & I3C_SCONFIG_SLVENA_MASK)
15763#define I3C_SCONFIG_NACK_MASK (0x2U)
15764#define I3C_SCONFIG_NACK_SHIFT (1U)
15765/*! NACK - Not acknowledge
15766 */
15767#define I3C_SCONFIG_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_NACK_SHIFT)) & I3C_SCONFIG_NACK_MASK)
15768#define I3C_SCONFIG_MATCHSS_MASK (0x4U)
15769#define I3C_SCONFIG_MATCHSS_SHIFT (2U)
15770/*! MATCHSS - Match START or STOP
15771 */
15772#define I3C_SCONFIG_MATCHSS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_MATCHSS_SHIFT)) & I3C_SCONFIG_MATCHSS_MASK)
15773#define I3C_SCONFIG_S0IGNORE_MASK (0x8U)
15774#define I3C_SCONFIG_S0IGNORE_SHIFT (3U)
15775/*! S0IGNORE - S0/S1 errors ignore
15776 */
15777#define I3C_SCONFIG_S0IGNORE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_S0IGNORE_SHIFT)) & I3C_SCONFIG_S0IGNORE_MASK)
15778#define I3C_SCONFIG_DDROK_MASK (0x10U)
15779#define I3C_SCONFIG_DDROK_SHIFT (4U)
15780/*! DDROK - Double Data Rate OK
15781 */
15782#define I3C_SCONFIG_DDROK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_DDROK_SHIFT)) & I3C_SCONFIG_DDROK_MASK)
15783#define I3C_SCONFIG_IDRAND_MASK (0x100U)
15784#define I3C_SCONFIG_IDRAND_SHIFT (8U)
15785/*! IDRAND - ID random
15786 */
15787#define I3C_SCONFIG_IDRAND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_IDRAND_SHIFT)) & I3C_SCONFIG_IDRAND_MASK)
15788#define I3C_SCONFIG_OFFLINE_MASK (0x200U)
15789#define I3C_SCONFIG_OFFLINE_SHIFT (9U)
15790/*! OFFLINE - Offline
15791 */
15792#define I3C_SCONFIG_OFFLINE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_OFFLINE_SHIFT)) & I3C_SCONFIG_OFFLINE_MASK)
15793#define I3C_SCONFIG_BAMATCH_MASK (0xFF0000U)
15794#define I3C_SCONFIG_BAMATCH_SHIFT (16U)
15795/*! BAMATCH - Bus available match
15796 */
15797#define I3C_SCONFIG_BAMATCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_BAMATCH_SHIFT)) & I3C_SCONFIG_BAMATCH_MASK)
15798#define I3C_SCONFIG_SADDR_MASK (0xFE000000U)
15799#define I3C_SCONFIG_SADDR_SHIFT (25U)
15800/*! SADDR - Static address
15801 */
15802#define I3C_SCONFIG_SADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_SADDR_SHIFT)) & I3C_SCONFIG_SADDR_MASK)
15803/*! @} */
15804
15805/*! @name SSTATUS - Slave Status Register */
15806/*! @{ */
15807#define I3C_SSTATUS_STNOTSTOP_MASK (0x1U)
15808#define I3C_SSTATUS_STNOTSTOP_SHIFT (0U)
15809/*! STNOTSTOP - Status not stop
15810 */
15811#define I3C_SSTATUS_STNOTSTOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STNOTSTOP_SHIFT)) & I3C_SSTATUS_STNOTSTOP_MASK)
15812#define I3C_SSTATUS_STMSG_MASK (0x2U)
15813#define I3C_SSTATUS_STMSG_SHIFT (1U)
15814/*! STMSG - Status message
15815 */
15816#define I3C_SSTATUS_STMSG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STMSG_SHIFT)) & I3C_SSTATUS_STMSG_MASK)
15817#define I3C_SSTATUS_STCCCH_MASK (0x4U)
15818#define I3C_SSTATUS_STCCCH_SHIFT (2U)
15819/*! STCCCH - Status Common Command Code Handler
15820 */
15821#define I3C_SSTATUS_STCCCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STCCCH_SHIFT)) & I3C_SSTATUS_STCCCH_MASK)
15822#define I3C_SSTATUS_STREQRD_MASK (0x8U)
15823#define I3C_SSTATUS_STREQRD_SHIFT (3U)
15824/*! STREQRD - Status required
15825 */
15826#define I3C_SSTATUS_STREQRD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STREQRD_SHIFT)) & I3C_SSTATUS_STREQRD_MASK)
15827#define I3C_SSTATUS_STREQWR_MASK (0x10U)
15828#define I3C_SSTATUS_STREQWR_SHIFT (4U)
15829/*! STREQWR - Status request write
15830 */
15831#define I3C_SSTATUS_STREQWR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STREQWR_SHIFT)) & I3C_SSTATUS_STREQWR_MASK)
15832#define I3C_SSTATUS_STDAA_MASK (0x20U)
15833#define I3C_SSTATUS_STDAA_SHIFT (5U)
15834/*! STDAA - Status Dynamic Address Assignment
15835 */
15836#define I3C_SSTATUS_STDAA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STDAA_SHIFT)) & I3C_SSTATUS_STDAA_MASK)
15837#define I3C_SSTATUS_STHDR_MASK (0x40U)
15838#define I3C_SSTATUS_STHDR_SHIFT (6U)
15839/*! STHDR - Status High Data Rate
15840 */
15841#define I3C_SSTATUS_STHDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STHDR_SHIFT)) & I3C_SSTATUS_STHDR_MASK)
15842#define I3C_SSTATUS_START_MASK (0x100U)
15843#define I3C_SSTATUS_START_SHIFT (8U)
15844/*! START - Start
15845 */
15846#define I3C_SSTATUS_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_START_SHIFT)) & I3C_SSTATUS_START_MASK)
15847#define I3C_SSTATUS_MATCHED_MASK (0x200U)
15848#define I3C_SSTATUS_MATCHED_SHIFT (9U)
15849/*! MATCHED - Matched
15850 */
15851#define I3C_SSTATUS_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_MATCHED_SHIFT)) & I3C_SSTATUS_MATCHED_MASK)
15852#define I3C_SSTATUS_STOP_MASK (0x400U)
15853#define I3C_SSTATUS_STOP_SHIFT (10U)
15854/*! STOP - Stop
15855 */
15856#define I3C_SSTATUS_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STOP_SHIFT)) & I3C_SSTATUS_STOP_MASK)
15857#define I3C_SSTATUS_RX_PEND_MASK (0x800U)
15858#define I3C_SSTATUS_RX_PEND_SHIFT (11U)
15859/*! RX_PEND - Received message pending
15860 */
15861#define I3C_SSTATUS_RX_PEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_RX_PEND_SHIFT)) & I3C_SSTATUS_RX_PEND_MASK)
15862#define I3C_SSTATUS_TXNOTFULL_MASK (0x1000U)
15863#define I3C_SSTATUS_TXNOTFULL_SHIFT (12U)
15864/*! TXNOTFULL - Transmit buffer is not full
15865 */
15866#define I3C_SSTATUS_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_TXNOTFULL_SHIFT)) & I3C_SSTATUS_TXNOTFULL_MASK)
15867#define I3C_SSTATUS_DACHG_MASK (0x2000U)
15868#define I3C_SSTATUS_DACHG_SHIFT (13U)
15869/*! DACHG - DACHG
15870 */
15871#define I3C_SSTATUS_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_DACHG_SHIFT)) & I3C_SSTATUS_DACHG_MASK)
15872#define I3C_SSTATUS_CCC_MASK (0x4000U)
15873#define I3C_SSTATUS_CCC_SHIFT (14U)
15874/*! CCC - Common Command Code
15875 */
15876#define I3C_SSTATUS_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_CCC_SHIFT)) & I3C_SSTATUS_CCC_MASK)
15877#define I3C_SSTATUS_ERRWARN_MASK (0x8000U)
15878#define I3C_SSTATUS_ERRWARN_SHIFT (15U)
15879/*! ERRWARN - Error warning
15880 */
15881#define I3C_SSTATUS_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_ERRWARN_SHIFT)) & I3C_SSTATUS_ERRWARN_MASK)
15882#define I3C_SSTATUS_HDRMATCH_MASK (0x10000U)
15883#define I3C_SSTATUS_HDRMATCH_SHIFT (16U)
15884/*! HDRMATCH - High Data Rate command match
15885 */
15886#define I3C_SSTATUS_HDRMATCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_HDRMATCH_SHIFT)) & I3C_SSTATUS_HDRMATCH_MASK)
15887#define I3C_SSTATUS_CHANDLED_MASK (0x20000U)
15888#define I3C_SSTATUS_CHANDLED_SHIFT (17U)
15889/*! CHANDLED - Common-Command-Code handled
15890 */
15891#define I3C_SSTATUS_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_CHANDLED_SHIFT)) & I3C_SSTATUS_CHANDLED_MASK)
15892#define I3C_SSTATUS_EVENT_MASK (0x40000U)
15893#define I3C_SSTATUS_EVENT_SHIFT (18U)
15894/*! EVENT - Event
15895 */
15896#define I3C_SSTATUS_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_EVENT_SHIFT)) & I3C_SSTATUS_EVENT_MASK)
15897#define I3C_SSTATUS_EVDET_MASK (0x300000U)
15898#define I3C_SSTATUS_EVDET_SHIFT (20U)
15899/*! EVDET - Event details
15900 * 0b00..NONE: no event or no pending event
15901 * 0b01..NO_REQUEST: Request not sent yet. Either there was no START yet, or is waiting for Bus-Available or Bus-Idle (HJ).
15902 * 0b10..NACKED: Not acknowledged(Request sent and NACKed); the module will try again.
15903 * 0b11..ACKED: Acknowledged (Request sent and ACKed), so Done (unless the time control data is still being sent).
15904 */
15905#define I3C_SSTATUS_EVDET(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_EVDET_SHIFT)) & I3C_SSTATUS_EVDET_MASK)
15906#define I3C_SSTATUS_IBIDIS_MASK (0x1000000U)
15907#define I3C_SSTATUS_IBIDIS_SHIFT (24U)
15908/*! IBIDIS - In-Band Interrupts are disabled
15909 */
15910#define I3C_SSTATUS_IBIDIS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_IBIDIS_SHIFT)) & I3C_SSTATUS_IBIDIS_MASK)
15911#define I3C_SSTATUS_MRDIS_MASK (0x2000000U)
15912#define I3C_SSTATUS_MRDIS_SHIFT (25U)
15913/*! MRDIS - Master requests are disabled
15914 */
15915#define I3C_SSTATUS_MRDIS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_MRDIS_SHIFT)) & I3C_SSTATUS_MRDIS_MASK)
15916#define I3C_SSTATUS_HJDIS_MASK (0x8000000U)
15917#define I3C_SSTATUS_HJDIS_SHIFT (27U)
15918/*! HJDIS - Hot-Join is disabled
15919 */
15920#define I3C_SSTATUS_HJDIS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_HJDIS_SHIFT)) & I3C_SSTATUS_HJDIS_MASK)
15921#define I3C_SSTATUS_ACTSTATE_MASK (0x30000000U)
15922#define I3C_SSTATUS_ACTSTATE_SHIFT (28U)
15923/*! ACTSTATE - Activity state from Common Command Codes (CCC)
15924 * 0b00..NO_LATENCY: normal bus operations
15925 * 0b01..LATENCY_1MS: 1 ms of latency
15926 * 0b10..LATENCY_100MS: 100 ms of latency
15927 * 0b11..LATENCY_10S: 10 seconds of latency
15928 */
15929#define I3C_SSTATUS_ACTSTATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_ACTSTATE_SHIFT)) & I3C_SSTATUS_ACTSTATE_MASK)
15930#define I3C_SSTATUS_TIMECTRL_MASK (0xC0000000U)
15931#define I3C_SSTATUS_TIMECTRL_SHIFT (30U)
15932/*! TIMECTRL - Time control
15933 * 0b00..NO_TIME_CONTROL: No time control is enabled
15934 * 0b01..Reserved
15935 * 0b10..ASYNC_MODE: Asynchronous standard mode (0) is enabled
15936 * 0b11..RESERVED
15937 */
15938#define I3C_SSTATUS_TIMECTRL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_TIMECTRL_SHIFT)) & I3C_SSTATUS_TIMECTRL_MASK)
15939/*! @} */
15940
15941/*! @name SCTRL - Slave Control Register */
15942/*! @{ */
15943#define I3C_SCTRL_EVENT_MASK (0x3U)
15944#define I3C_SCTRL_EVENT_SHIFT (0U)
15945/*! EVENT - EVENT
15946 * 0b00..NORMAL_MODE: If EVENT is set to 0 after was a non-0 value, event processing will cancel if the event
15947 * processing has not yet started; if event processing has already been started, then event processing will not
15948 * be be cancelled.
15949 * 0b01..IBI: Start an In-Band Interrupt. This will try to push an IBI interrupt onto the I3C bus. If data is
15950 * associated with the IBI, then the data will be read from the SCTRL.IBIDATA field. If time control is
15951 * enabled, then this data will also include any time control-related bytes; additionally, the IBIDATA byte will
15952 * have bit 7 set to 1 automatically (as is required for time control). The IBI interrupt will occur after the
15953 * 1st (mandatory) IBIDATA, if any.
15954 * 0b10..MASTER_REQUEST: Start a Master-Request.
15955 * 0b11..HOT_JOIN_REQUEST: Start a Hot-Join request. A Hot-Join Request should only be used when the device is
15956 * powered on after the I3C bus is already powered up, or when the device is connected using hot insertion
15957 * methods (the device is powered up when it is physically inserted onto the powered-up I3C bus). The hot join
15958 * will wait for Bus Idle, and SCTRL.EVENT=HOT_JOIN_REQUEST must be set before the slave enable
15959 * (SCONFIG.SLVENA).
15960 */
15961#define I3C_SCTRL_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_EVENT_SHIFT)) & I3C_SCTRL_EVENT_MASK)
15962#define I3C_SCTRL_IBIDATA_MASK (0xFF00U)
15963#define I3C_SCTRL_IBIDATA_SHIFT (8U)
15964/*! IBIDATA - In-Band Interrupt data
15965 */
15966#define I3C_SCTRL_IBIDATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_IBIDATA_SHIFT)) & I3C_SCTRL_IBIDATA_MASK)
15967#define I3C_SCTRL_PENDINT_MASK (0xF0000U)
15968#define I3C_SCTRL_PENDINT_SHIFT (16U)
15969/*! PENDINT - Pending interrupt
15970 */
15971#define I3C_SCTRL_PENDINT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_PENDINT_SHIFT)) & I3C_SCTRL_PENDINT_MASK)
15972#define I3C_SCTRL_ACTSTATE_MASK (0x300000U)
15973#define I3C_SCTRL_ACTSTATE_SHIFT (20U)
15974/*! ACTSTATE - Activity state (of slave)
15975 */
15976#define I3C_SCTRL_ACTSTATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_ACTSTATE_SHIFT)) & I3C_SCTRL_ACTSTATE_MASK)
15977#define I3C_SCTRL_VENDINFO_MASK (0xFF000000U)
15978#define I3C_SCTRL_VENDINFO_SHIFT (24U)
15979/*! VENDINFO - Vendor information
15980 */
15981#define I3C_SCTRL_VENDINFO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_VENDINFO_SHIFT)) & I3C_SCTRL_VENDINFO_MASK)
15982/*! @} */
15983
15984/*! @name SINTSET - Slave Interrupt Set Register */
15985/*! @{ */
15986#define I3C_SINTSET_START_MASK (0x100U)
15987#define I3C_SINTSET_START_SHIFT (8U)
15988/*! START - Start interrupt enable
15989 */
15990#define I3C_SINTSET_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_START_SHIFT)) & I3C_SINTSET_START_MASK)
15991#define I3C_SINTSET_MATCHED_MASK (0x200U)
15992#define I3C_SINTSET_MATCHED_SHIFT (9U)
15993/*! MATCHED - Match interrupt enable
15994 */
15995#define I3C_SINTSET_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_MATCHED_SHIFT)) & I3C_SINTSET_MATCHED_MASK)
15996#define I3C_SINTSET_STOP_MASK (0x400U)
15997#define I3C_SINTSET_STOP_SHIFT (10U)
15998/*! STOP - Stop interrupt enable
15999 */
16000#define I3C_SINTSET_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_STOP_SHIFT)) & I3C_SINTSET_STOP_MASK)
16001#define I3C_SINTSET_RXPEND_MASK (0x800U)
16002#define I3C_SINTSET_RXPEND_SHIFT (11U)
16003/*! RXPEND - Receive interrupt enable
16004 */
16005#define I3C_SINTSET_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_RXPEND_SHIFT)) & I3C_SINTSET_RXPEND_MASK)
16006#define I3C_SINTSET_TXSEND_MASK (0x1000U)
16007#define I3C_SINTSET_TXSEND_SHIFT (12U)
16008/*! TXSEND - Transmit interrupt enable
16009 */
16010#define I3C_SINTSET_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_TXSEND_SHIFT)) & I3C_SINTSET_TXSEND_MASK)
16011#define I3C_SINTSET_DACHG_MASK (0x2000U)
16012#define I3C_SINTSET_DACHG_SHIFT (13U)
16013/*! DACHG - Dynamic address change interrupt enable
16014 */
16015#define I3C_SINTSET_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_DACHG_SHIFT)) & I3C_SINTSET_DACHG_MASK)
16016#define I3C_SINTSET_CCC_MASK (0x4000U)
16017#define I3C_SINTSET_CCC_SHIFT (14U)
16018/*! CCC - Common Command Code (CCC) (that was not handled by I3C module) interrupt enable
16019 */
16020#define I3C_SINTSET_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_CCC_SHIFT)) & I3C_SINTSET_CCC_MASK)
16021#define I3C_SINTSET_ERRWARN_MASK (0x8000U)
16022#define I3C_SINTSET_ERRWARN_SHIFT (15U)
16023/*! ERRWARN - Error/warning interrupt enable
16024 */
16025#define I3C_SINTSET_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_ERRWARN_SHIFT)) & I3C_SINTSET_ERRWARN_MASK)
16026#define I3C_SINTSET_DDRMATCHED_MASK (0x10000U)
16027#define I3C_SINTSET_DDRMATCHED_SHIFT (16U)
16028/*! DDRMATCHED - Double Data Rate (DDR) interrupt enable
16029 */
16030#define I3C_SINTSET_DDRMATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_DDRMATCHED_SHIFT)) & I3C_SINTSET_DDRMATCHED_MASK)
16031#define I3C_SINTSET_CHANDLED_MASK (0x20000U)
16032#define I3C_SINTSET_CHANDLED_SHIFT (17U)
16033/*! CHANDLED - Common Command Code (CCC) (that was handled by I3C module) interrupt enable
16034 */
16035#define I3C_SINTSET_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_CHANDLED_SHIFT)) & I3C_SINTSET_CHANDLED_MASK)
16036#define I3C_SINTSET_EVENT_MASK (0x40000U)
16037#define I3C_SINTSET_EVENT_SHIFT (18U)
16038/*! EVENT - Event interrupt enable
16039 */
16040#define I3C_SINTSET_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_EVENT_SHIFT)) & I3C_SINTSET_EVENT_MASK)
16041/*! @} */
16042
16043/*! @name SINTCLR - Slave Interrupt Clear Register */
16044/*! @{ */
16045#define I3C_SINTCLR_START_MASK (0x100U)
16046#define I3C_SINTCLR_START_SHIFT (8U)
16047/*! START - START interrupt enable clear
16048 */
16049#define I3C_SINTCLR_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_START_SHIFT)) & I3C_SINTCLR_START_MASK)
16050#define I3C_SINTCLR_MATCHED_MASK (0x200U)
16051#define I3C_SINTCLR_MATCHED_SHIFT (9U)
16052/*! MATCHED - MATCHED interrupt enable clear
16053 */
16054#define I3C_SINTCLR_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_MATCHED_SHIFT)) & I3C_SINTCLR_MATCHED_MASK)
16055#define I3C_SINTCLR_STOP_MASK (0x400U)
16056#define I3C_SINTCLR_STOP_SHIFT (10U)
16057/*! STOP - STOP interrupt enable clear
16058 */
16059#define I3C_SINTCLR_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_STOP_SHIFT)) & I3C_SINTCLR_STOP_MASK)
16060#define I3C_SINTCLR_RXPEND_MASK (0x800U)
16061#define I3C_SINTCLR_RXPEND_SHIFT (11U)
16062/*! RXPEND - RXPEND interrupt enable clear
16063 */
16064#define I3C_SINTCLR_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_RXPEND_SHIFT)) & I3C_SINTCLR_RXPEND_MASK)
16065#define I3C_SINTCLR_TXSEND_MASK (0x1000U)
16066#define I3C_SINTCLR_TXSEND_SHIFT (12U)
16067/*! TXSEND - TXSEND interrupt enable clear
16068 */
16069#define I3C_SINTCLR_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_TXSEND_SHIFT)) & I3C_SINTCLR_TXSEND_MASK)
16070#define I3C_SINTCLR_DACHG_MASK (0x2000U)
16071#define I3C_SINTCLR_DACHG_SHIFT (13U)
16072/*! DACHG - DACHG interrupt enable clear
16073 */
16074#define I3C_SINTCLR_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_DACHG_SHIFT)) & I3C_SINTCLR_DACHG_MASK)
16075#define I3C_SINTCLR_CCC_MASK (0x4000U)
16076#define I3C_SINTCLR_CCC_SHIFT (14U)
16077/*! CCC - CCC interrupt enable clear
16078 */
16079#define I3C_SINTCLR_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_CCC_SHIFT)) & I3C_SINTCLR_CCC_MASK)
16080#define I3C_SINTCLR_ERRWARN_MASK (0x8000U)
16081#define I3C_SINTCLR_ERRWARN_SHIFT (15U)
16082/*! ERRWARN - ERRWARN interrupt enable clear
16083 */
16084#define I3C_SINTCLR_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_ERRWARN_SHIFT)) & I3C_SINTCLR_ERRWARN_MASK)
16085#define I3C_SINTCLR_DDRMATCHED_MASK (0x10000U)
16086#define I3C_SINTCLR_DDRMATCHED_SHIFT (16U)
16087/*! DDRMATCHED - DDRMATCHED interrupt enable clear
16088 */
16089#define I3C_SINTCLR_DDRMATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_DDRMATCHED_SHIFT)) & I3C_SINTCLR_DDRMATCHED_MASK)
16090#define I3C_SINTCLR_CHANDLED_MASK (0x20000U)
16091#define I3C_SINTCLR_CHANDLED_SHIFT (17U)
16092/*! CHANDLED - CHANDLED interrupt enable clear
16093 */
16094#define I3C_SINTCLR_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_CHANDLED_SHIFT)) & I3C_SINTCLR_CHANDLED_MASK)
16095#define I3C_SINTCLR_EVENT_MASK (0x40000U)
16096#define I3C_SINTCLR_EVENT_SHIFT (18U)
16097/*! EVENT - EVENT interrupt enable clear
16098 */
16099#define I3C_SINTCLR_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_EVENT_SHIFT)) & I3C_SINTCLR_EVENT_MASK)
16100/*! @} */
16101
16102/*! @name SINTMASKED - Slave Interrupt Mask Register */
16103/*! @{ */
16104#define I3C_SINTMASKED_START_MASK (0x100U)
16105#define I3C_SINTMASKED_START_SHIFT (8U)
16106/*! START - START interrupt mask
16107 */
16108#define I3C_SINTMASKED_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_START_SHIFT)) & I3C_SINTMASKED_START_MASK)
16109#define I3C_SINTMASKED_MATCHED_MASK (0x200U)
16110#define I3C_SINTMASKED_MATCHED_SHIFT (9U)
16111/*! MATCHED - MATCHED interrupt mask
16112 */
16113#define I3C_SINTMASKED_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_MATCHED_SHIFT)) & I3C_SINTMASKED_MATCHED_MASK)
16114#define I3C_SINTMASKED_STOP_MASK (0x400U)
16115#define I3C_SINTMASKED_STOP_SHIFT (10U)
16116/*! STOP - STOP interrupt mask
16117 */
16118#define I3C_SINTMASKED_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_STOP_SHIFT)) & I3C_SINTMASKED_STOP_MASK)
16119#define I3C_SINTMASKED_RXPEND_MASK (0x800U)
16120#define I3C_SINTMASKED_RXPEND_SHIFT (11U)
16121/*! RXPEND - RXPEND interrupt mask
16122 */
16123#define I3C_SINTMASKED_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_RXPEND_SHIFT)) & I3C_SINTMASKED_RXPEND_MASK)
16124#define I3C_SINTMASKED_TXSEND_MASK (0x1000U)
16125#define I3C_SINTMASKED_TXSEND_SHIFT (12U)
16126/*! TXSEND - TXSEND interrupt mask
16127 */
16128#define I3C_SINTMASKED_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_TXSEND_SHIFT)) & I3C_SINTMASKED_TXSEND_MASK)
16129#define I3C_SINTMASKED_DACHG_MASK (0x2000U)
16130#define I3C_SINTMASKED_DACHG_SHIFT (13U)
16131/*! DACHG - DACHG interrupt mask
16132 */
16133#define I3C_SINTMASKED_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_DACHG_SHIFT)) & I3C_SINTMASKED_DACHG_MASK)
16134#define I3C_SINTMASKED_CCC_MASK (0x4000U)
16135#define I3C_SINTMASKED_CCC_SHIFT (14U)
16136/*! CCC - CCC interrupt mask
16137 */
16138#define I3C_SINTMASKED_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_CCC_SHIFT)) & I3C_SINTMASKED_CCC_MASK)
16139#define I3C_SINTMASKED_ERRWARN_MASK (0x8000U)
16140#define I3C_SINTMASKED_ERRWARN_SHIFT (15U)
16141/*! ERRWARN - ERRWARN interrupt mask
16142 */
16143#define I3C_SINTMASKED_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_ERRWARN_SHIFT)) & I3C_SINTMASKED_ERRWARN_MASK)
16144#define I3C_SINTMASKED_DDRMATCHED_MASK (0x10000U)
16145#define I3C_SINTMASKED_DDRMATCHED_SHIFT (16U)
16146/*! DDRMATCHED - DDRMATCHED interrupt mask
16147 */
16148#define I3C_SINTMASKED_DDRMATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_DDRMATCHED_SHIFT)) & I3C_SINTMASKED_DDRMATCHED_MASK)
16149#define I3C_SINTMASKED_CHANDLED_MASK (0x20000U)
16150#define I3C_SINTMASKED_CHANDLED_SHIFT (17U)
16151/*! CHANDLED - CHANDLED interrupt mask
16152 */
16153#define I3C_SINTMASKED_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_CHANDLED_SHIFT)) & I3C_SINTMASKED_CHANDLED_MASK)
16154#define I3C_SINTMASKED_EVENT_MASK (0x40000U)
16155#define I3C_SINTMASKED_EVENT_SHIFT (18U)
16156/*! EVENT - EVENT interrupt mask
16157 */
16158#define I3C_SINTMASKED_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_EVENT_SHIFT)) & I3C_SINTMASKED_EVENT_MASK)
16159/*! @} */
16160
16161/*! @name SERRWARN - Slave Errors and Warnings Register */
16162/*! @{ */
16163#define I3C_SERRWARN_ORUN_MASK (0x1U)
16164#define I3C_SERRWARN_ORUN_SHIFT (0U)
16165/*! ORUN - Overrun error
16166 */
16167#define I3C_SERRWARN_ORUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_ORUN_SHIFT)) & I3C_SERRWARN_ORUN_MASK)
16168#define I3C_SERRWARN_URUN_MASK (0x2U)
16169#define I3C_SERRWARN_URUN_SHIFT (1U)
16170/*! URUN - Underrun error
16171 */
16172#define I3C_SERRWARN_URUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_URUN_SHIFT)) & I3C_SERRWARN_URUN_MASK)
16173#define I3C_SERRWARN_URUNNACK_MASK (0x4U)
16174#define I3C_SERRWARN_URUNNACK_SHIFT (2U)
16175/*! URUNNACK - Underrun and Not Acknowledged (NACKed) error
16176 */
16177#define I3C_SERRWARN_URUNNACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_URUNNACK_SHIFT)) & I3C_SERRWARN_URUNNACK_MASK)
16178#define I3C_SERRWARN_TERM_MASK (0x8U)
16179#define I3C_SERRWARN_TERM_SHIFT (3U)
16180/*! TERM - Terminated error
16181 */
16182#define I3C_SERRWARN_TERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_TERM_SHIFT)) & I3C_SERRWARN_TERM_MASK)
16183#define I3C_SERRWARN_INVSTART_MASK (0x10U)
16184#define I3C_SERRWARN_INVSTART_SHIFT (4U)
16185/*! INVSTART - Invalid start error
16186 */
16187#define I3C_SERRWARN_INVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_INVSTART_SHIFT)) & I3C_SERRWARN_INVSTART_MASK)
16188#define I3C_SERRWARN_SPAR_MASK (0x100U)
16189#define I3C_SERRWARN_SPAR_SHIFT (8U)
16190/*! SPAR - SDR parity error
16191 */
16192#define I3C_SERRWARN_SPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_SPAR_SHIFT)) & I3C_SERRWARN_SPAR_MASK)
16193#define I3C_SERRWARN_HPAR_MASK (0x200U)
16194#define I3C_SERRWARN_HPAR_SHIFT (9U)
16195/*! HPAR - HDR parity error
16196 */
16197#define I3C_SERRWARN_HPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_HPAR_SHIFT)) & I3C_SERRWARN_HPAR_MASK)
16198#define I3C_SERRWARN_HCRC_MASK (0x400U)
16199#define I3C_SERRWARN_HCRC_SHIFT (10U)
16200/*! HCRC - HDR-DDR CRC error
16201 */
16202#define I3C_SERRWARN_HCRC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_HCRC_SHIFT)) & I3C_SERRWARN_HCRC_MASK)
16203#define I3C_SERRWARN_S0S1_MASK (0x800U)
16204#define I3C_SERRWARN_S0S1_SHIFT (11U)
16205/*! S0S1 - S0 or S1 error
16206 */
16207#define I3C_SERRWARN_S0S1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_S0S1_SHIFT)) & I3C_SERRWARN_S0S1_MASK)
16208#define I3C_SERRWARN_OREAD_MASK (0x10000U)
16209#define I3C_SERRWARN_OREAD_SHIFT (16U)
16210/*! OREAD - Over-read error
16211 */
16212#define I3C_SERRWARN_OREAD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_OREAD_SHIFT)) & I3C_SERRWARN_OREAD_MASK)
16213#define I3C_SERRWARN_OWRITE_MASK (0x20000U)
16214#define I3C_SERRWARN_OWRITE_SHIFT (17U)
16215/*! OWRITE - Over-write error
16216 */
16217#define I3C_SERRWARN_OWRITE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_OWRITE_SHIFT)) & I3C_SERRWARN_OWRITE_MASK)
16218/*! @} */
16219
16220/*! @name SDMACTRL - Slave DMA Control Register */
16221/*! @{ */
16222#define I3C_SDMACTRL_DMAFB_MASK (0x3U)
16223#define I3C_SDMACTRL_DMAFB_SHIFT (0U)
16224/*! DMAFB - DMA Read (From-bus) trigger
16225 * 0b00..DMA not used
16226 * 0b01..DMA is enabled for 1 frame
16227 * 0b10..DMA enable
16228 */
16229#define I3C_SDMACTRL_DMAFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMAFB_SHIFT)) & I3C_SDMACTRL_DMAFB_MASK)
16230#define I3C_SDMACTRL_DMATB_MASK (0xCU)
16231#define I3C_SDMACTRL_DMATB_SHIFT (2U)
16232/*! DMATB - DMA Write (To-bus) trigger
16233 * 0b00..NOT_USED: DMA is not used
16234 * 0b01..ENABLE_ONE_FRAME: DMA is enabled for 1 Frame (ended by DMA or terminated). DMATB auto-clears on a STOP
16235 * or START (see the Match START or STOP bit (SCONFIG.MATCHSS).
16236 * 0b10..ENABLE: DMA is enabled until turned off. Normally, ENABLE should only be used with Master Message mode.
16237 */
16238#define I3C_SDMACTRL_DMATB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMATB_SHIFT)) & I3C_SDMACTRL_DMATB_MASK)
16239#define I3C_SDMACTRL_DMAWIDTH_MASK (0x30U)
16240#define I3C_SDMACTRL_DMAWIDTH_SHIFT (4U)
16241/*! DMAWIDTH - Width of DMA operations
16242 * 0b00..BYTE
16243 * 0b01..BYTE_AGAIN
16244 * 0b10..HALF_WORD: Half word (16 bits). This will make sure that 2 bytes are free/available in the FIFO.
16245 * 0b11..RESERVED
16246 */
16247#define I3C_SDMACTRL_DMAWIDTH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMAWIDTH_SHIFT)) & I3C_SDMACTRL_DMAWIDTH_MASK)
16248/*! @} */
16249
16250/*! @name SDATACTRL - Slave Data Control Register */
16251/*! @{ */
16252#define I3C_SDATACTRL_FLUSHTB_MASK (0x1U)
16253#define I3C_SDATACTRL_FLUSHTB_SHIFT (0U)
16254/*! FLUSHTB - Flush the to-bus buffer/FIFO
16255 */
16256#define I3C_SDATACTRL_FLUSHTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_FLUSHTB_SHIFT)) & I3C_SDATACTRL_FLUSHTB_MASK)
16257#define I3C_SDATACTRL_FLUSHFB_MASK (0x2U)
16258#define I3C_SDATACTRL_FLUSHFB_SHIFT (1U)
16259/*! FLUSHFB - Flushes the from-bus buffer/FIFO
16260 */
16261#define I3C_SDATACTRL_FLUSHFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_FLUSHFB_SHIFT)) & I3C_SDATACTRL_FLUSHFB_MASK)
16262#define I3C_SDATACTRL_UNLOCK_MASK (0x8U)
16263#define I3C_SDATACTRL_UNLOCK_SHIFT (3U)
16264/*! UNLOCK - Unlock
16265 */
16266#define I3C_SDATACTRL_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_UNLOCK_SHIFT)) & I3C_SDATACTRL_UNLOCK_MASK)
16267#define I3C_SDATACTRL_TXTRIG_MASK (0x30U)
16268#define I3C_SDATACTRL_TXTRIG_SHIFT (4U)
16269/*! TXTRIG - Trigger level for TX FIFO emptiness
16270 * 0b00..Trigger on empty
16271 * 0b01..Trigger on ¼ full or less
16272 * 0b10..Trigger on .5 full or less
16273 * 0b11..Trigger on 1 less than full or less (Default)
16274 */
16275#define I3C_SDATACTRL_TXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXTRIG_SHIFT)) & I3C_SDATACTRL_TXTRIG_MASK)
16276#define I3C_SDATACTRL_RXTRIG_MASK (0xC0U)
16277#define I3C_SDATACTRL_RXTRIG_SHIFT (6U)
16278/*! RXTRIG - Trigger level for RX FIFO fullness
16279 * 0b00..Trigger on not empty
16280 * 0b01..Trigger on ¼ or more full
16281 * 0b10..Trigger on .5 or more full
16282 * 0b11..Trigger on 3/4 or more full
16283 */
16284#define I3C_SDATACTRL_RXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXTRIG_SHIFT)) & I3C_SDATACTRL_RXTRIG_MASK)
16285#define I3C_SDATACTRL_TXCOUNT_MASK (0x1F0000U)
16286#define I3C_SDATACTRL_TXCOUNT_SHIFT (16U)
16287/*! TXCOUNT - Count of bytes in TX
16288 */
16289#define I3C_SDATACTRL_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXCOUNT_SHIFT)) & I3C_SDATACTRL_TXCOUNT_MASK)
16290#define I3C_SDATACTRL_RXCOUNT_MASK (0x1F000000U)
16291#define I3C_SDATACTRL_RXCOUNT_SHIFT (24U)
16292/*! RXCOUNT - Count of bytes in RX
16293 */
16294#define I3C_SDATACTRL_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXCOUNT_SHIFT)) & I3C_SDATACTRL_RXCOUNT_MASK)
16295#define I3C_SDATACTRL_TXFULL_MASK (0x40000000U)
16296#define I3C_SDATACTRL_TXFULL_SHIFT (30U)
16297/*! TXFULL - TX is full
16298 * 0b1..TX is full
16299 * 0b0..TX is not full
16300 */
16301#define I3C_SDATACTRL_TXFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXFULL_SHIFT)) & I3C_SDATACTRL_TXFULL_MASK)
16302#define I3C_SDATACTRL_RXEMPTY_MASK (0x80000000U)
16303#define I3C_SDATACTRL_RXEMPTY_SHIFT (31U)
16304/*! RXEMPTY - RX is empty
16305 * 0b1..RX is empty
16306 * 0b0..RX is not empty
16307 */
16308#define I3C_SDATACTRL_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXEMPTY_SHIFT)) & I3C_SDATACTRL_RXEMPTY_MASK)
16309/*! @} */
16310
16311/*! @name SWDATAB - Slave Write Data Byte Register */
16312/*! @{ */
16313#define I3C_SWDATAB_DATA_MASK (0xFFU)
16314#define I3C_SWDATAB_DATA_SHIFT (0U)
16315/*! DATA - The data byte to send to the master
16316 */
16317#define I3C_SWDATAB_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_DATA_SHIFT)) & I3C_SWDATAB_DATA_MASK)
16318#define I3C_SWDATAB_END_MASK (0x100U)
16319#define I3C_SWDATAB_END_SHIFT (8U)
16320/*! END - End
16321 */
16322#define I3C_SWDATAB_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_END_SHIFT)) & I3C_SWDATAB_END_MASK)
16323#define I3C_SWDATAB_END_ALSO_MASK (0x10000U)
16324#define I3C_SWDATAB_END_ALSO_SHIFT (16U)
16325/*! END_ALSO - End also
16326 */
16327#define I3C_SWDATAB_END_ALSO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_END_ALSO_SHIFT)) & I3C_SWDATAB_END_ALSO_MASK)
16328/*! @} */
16329
16330/*! @name SWDATABE - Slave Write Data Byte End */
16331/*! @{ */
16332#define I3C_SWDATABE_DATA_MASK (0xFFU)
16333#define I3C_SWDATABE_DATA_SHIFT (0U)
16334/*! DATA - The data byte to send to the master
16335 */
16336#define I3C_SWDATABE_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATABE_DATA_SHIFT)) & I3C_SWDATABE_DATA_MASK)
16337/*! @} */
16338
16339/*! @name SWDATAH - Slave Write Data Half-word Register */
16340/*! @{ */
16341#define I3C_SWDATAH_DATA0_MASK (0xFFU)
16342#define I3C_SWDATAH_DATA0_SHIFT (0U)
16343/*! DATA0 - The 1st byte to send to the master
16344 */
16345#define I3C_SWDATAH_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_DATA0_SHIFT)) & I3C_SWDATAH_DATA0_MASK)
16346#define I3C_SWDATAH_DATA1_MASK (0xFF00U)
16347#define I3C_SWDATAH_DATA1_SHIFT (8U)
16348/*! DATA1 - The 2nd byte to send to the master
16349 */
16350#define I3C_SWDATAH_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_DATA1_SHIFT)) & I3C_SWDATAH_DATA1_MASK)
16351#define I3C_SWDATAH_END_MASK (0x10000U)
16352#define I3C_SWDATAH_END_SHIFT (16U)
16353/*! END - End of message
16354 */
16355#define I3C_SWDATAH_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_END_SHIFT)) & I3C_SWDATAH_END_MASK)
16356/*! @} */
16357
16358/*! @name SWDATAHE - Slave Write Data Half-word End Register */
16359/*! @{ */
16360#define I3C_SWDATAHE_DATA0_MASK (0xFFU)
16361#define I3C_SWDATAHE_DATA0_SHIFT (0U)
16362/*! DATA0 - The 1st byte to send to the master
16363 */
16364#define I3C_SWDATAHE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAHE_DATA0_SHIFT)) & I3C_SWDATAHE_DATA0_MASK)
16365#define I3C_SWDATAHE_DATA1_MASK (0xFF00U)
16366#define I3C_SWDATAHE_DATA1_SHIFT (8U)
16367/*! DATA1 - The 2nd byte to send to the master
16368 */
16369#define I3C_SWDATAHE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAHE_DATA1_SHIFT)) & I3C_SWDATAHE_DATA1_MASK)
16370/*! @} */
16371
16372/*! @name SRDATAB - Slave Read Data Byte Register */
16373/*! @{ */
16374#define I3C_SRDATAB_DATA0_MASK (0xFFU)
16375#define I3C_SRDATAB_DATA0_SHIFT (0U)
16376/*! DATA0 - Byte read from the master
16377 */
16378#define I3C_SRDATAB_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAB_DATA0_SHIFT)) & I3C_SRDATAB_DATA0_MASK)
16379/*! @} */
16380
16381/*! @name SRDATAH - Slave Read Data Half-word Register */
16382/*! @{ */
16383#define I3C_SRDATAH_LSB_MASK (0xFFU)
16384#define I3C_SRDATAH_LSB_SHIFT (0U)
16385/*! LSB - The 1st byte read from the slave
16386 */
16387#define I3C_SRDATAH_LSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAH_LSB_SHIFT)) & I3C_SRDATAH_LSB_MASK)
16388#define I3C_SRDATAH_MSB_MASK (0xFF00U)
16389#define I3C_SRDATAH_MSB_SHIFT (8U)
16390/*! MSB - The 2nd byte read from the slave
16391 */
16392#define I3C_SRDATAH_MSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAH_MSB_SHIFT)) & I3C_SRDATAH_MSB_MASK)
16393/*! @} */
16394
16395/*! @name SCAPABILITIES - Slave Capabilities Register */
16396/*! @{ */
16397#define I3C_SCAPABILITIES_IDENA_MASK (0x3U)
16398#define I3C_SCAPABILITIES_IDENA_SHIFT (0U)
16399/*! IDENA - ID 48b handler
16400 * 0b00..APPLICATION: Application handles ID 48b
16401 * 0b01..HW: Hardware handles ID 48b
16402 * 0b10..HW_BUT: in hardware but the I3C module instance handles ID 48b.
16403 * 0b11..PARTNO: a part number register (PARTNO) handles ID 48b
16404 */
16405#define I3C_SCAPABILITIES_IDENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_IDENA_SHIFT)) & I3C_SCAPABILITIES_IDENA_MASK)
16406#define I3C_SCAPABILITIES_IDREG_MASK (0x3CU)
16407#define I3C_SCAPABILITIES_IDREG_SHIFT (2U)
16408/*! IDREG - ID register
16409 */
16410#define I3C_SCAPABILITIES_IDREG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_IDREG_SHIFT)) & I3C_SCAPABILITIES_IDREG_MASK)
16411#define I3C_SCAPABILITIES_HDRSUPP_MASK (0x1C0U)
16412#define I3C_SCAPABILITIES_HDRSUPP_SHIFT (6U)
16413/*! HDRSUPP - HDR support
16414 */
16415#define I3C_SCAPABILITIES_HDRSUPP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_HDRSUPP_SHIFT)) & I3C_SCAPABILITIES_HDRSUPP_MASK)
16416#define I3C_SCAPABILITIES_MASTER_MASK (0x200U)
16417#define I3C_SCAPABILITIES_MASTER_SHIFT (9U)
16418/*! MASTER - Master
16419 * 0b0..MASTERNOTSUPPORTED: master capability is not supported.
16420 * 0b1..MASTERSUPPORTED: master capability is supported.
16421 */
16422#define I3C_SCAPABILITIES_MASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_MASTER_SHIFT)) & I3C_SCAPABILITIES_MASTER_MASK)
16423#define I3C_SCAPABILITIES_SADDR_MASK (0xC00U)
16424#define I3C_SCAPABILITIES_SADDR_SHIFT (10U)
16425/*! SADDR - Static address
16426 * 0b00..NO_STATIC: No static address
16427 * 0b01..STATIC: Static address is fixed in hardware
16428 * 0b10..HW_CONTROL: Hardware controls the static address dynamically (for example, from the pin strap)
16429 * 0b11..CONFIG: SCONFIG register supplies the static address
16430 */
16431#define I3C_SCAPABILITIES_SADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_SADDR_SHIFT)) & I3C_SCAPABILITIES_SADDR_MASK)
16432#define I3C_SCAPABILITIES_CCCHANDLE_MASK (0xF000U)
16433#define I3C_SCAPABILITIES_CCCHANDLE_SHIFT (12U)
16434/*! CCCHANDLE - Common Command Codes (CCC) handling
16435 */
16436#define I3C_SCAPABILITIES_CCCHANDLE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_CCCHANDLE_SHIFT)) & I3C_SCAPABILITIES_CCCHANDLE_MASK)
16437#define I3C_SCAPABILITIES_IBI_MR_HJ_MASK (0x1F0000U)
16438#define I3C_SCAPABILITIES_IBI_MR_HJ_SHIFT (16U)
16439/*! IBI_MR_HJ - In-Band Interrupts, Master Requests, Hot Join events
16440 */
16441#define I3C_SCAPABILITIES_IBI_MR_HJ(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_IBI_MR_HJ_SHIFT)) & I3C_SCAPABILITIES_IBI_MR_HJ_MASK)
16442#define I3C_SCAPABILITIES_TIMECTRL_MASK (0x200000U)
16443#define I3C_SCAPABILITIES_TIMECTRL_SHIFT (21U)
16444/*! TIMECTRL - Time control
16445 * 0b0..NO_TIME_CONTROL_TYPE: No time control is enabled
16446 * 0b1..ATLEAST1_TIME_CONTROL: at least one time-control type is supported
16447 */
16448#define I3C_SCAPABILITIES_TIMECTRL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_TIMECTRL_SHIFT)) & I3C_SCAPABILITIES_TIMECTRL_MASK)
16449#define I3C_SCAPABILITIES_EXTFIFO_MASK (0x3800000U)
16450#define I3C_SCAPABILITIES_EXTFIFO_SHIFT (23U)
16451/*! EXTFIFO - External FIFO
16452 * 0b001..STD_EXT_FIFO: standard available/free external FIFO
16453 * 0b011..RESERVED
16454 */
16455#define I3C_SCAPABILITIES_EXTFIFO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_EXTFIFO_SHIFT)) & I3C_SCAPABILITIES_EXTFIFO_MASK)
16456#define I3C_SCAPABILITIES_FIFOTX_MASK (0xC000000U)
16457#define I3C_SCAPABILITIES_FIFOTX_SHIFT (26U)
16458/*! FIFOTX - FIFO transmit
16459 * 0b00..FIFO_2BYTE: 2-byte TX FIFO, the default FIFO transmit value (FIFOTX)
16460 * 0b01..FIFO_4BYTE: 4-byte TX FIFO
16461 * 0b10..FIFO_8BYTE: 8-byte TX FIFO
16462 * 0b11..FIFO_16BYTE: 16-byte TX FIFO
16463 */
16464#define I3C_SCAPABILITIES_FIFOTX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_FIFOTX_SHIFT)) & I3C_SCAPABILITIES_FIFOTX_MASK)
16465#define I3C_SCAPABILITIES_FIFORX_MASK (0x30000000U)
16466#define I3C_SCAPABILITIES_FIFORX_SHIFT (28U)
16467/*! FIFORX - FIFO receive
16468 * 0b00..FIFO_2BYTE: 2 (or 3)-byte RX FIFO, the default FIFO receive value (FIFORX)
16469 * 0b01..FIFO_4BYTE: 4-byte RX FIFO
16470 * 0b10..FIFO_8BYTE: 8-byte RX FIFO
16471 * 0b11..FIFO_16BYTE: 16-byte RX FIFO
16472 */
16473#define I3C_SCAPABILITIES_FIFORX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_FIFORX_SHIFT)) & I3C_SCAPABILITIES_FIFORX_MASK)
16474#define I3C_SCAPABILITIES_INT_MASK (0x40000000U)
16475#define I3C_SCAPABILITIES_INT_SHIFT (30U)
16476/*! INT - INT
16477 * 0b1..Interrupts are supported
16478 * 0b0..Interrupts are not supported
16479 */
16480#define I3C_SCAPABILITIES_INT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_INT_SHIFT)) & I3C_SCAPABILITIES_INT_MASK)
16481#define I3C_SCAPABILITIES_DMA_MASK (0x80000000U)
16482#define I3C_SCAPABILITIES_DMA_SHIFT (31U)
16483/*! DMA - DMA
16484 * 0b1..DMA is supported
16485 * 0b0..DMA is not supported
16486 */
16487#define I3C_SCAPABILITIES_DMA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_DMA_SHIFT)) & I3C_SCAPABILITIES_DMA_MASK)
16488/*! @} */
16489
16490/*! @name SDYNADDR - Slave Dynamic Address Register */
16491/*! @{ */
16492#define I3C_SDYNADDR_DAVALID_MASK (0x1U)
16493#define I3C_SDYNADDR_DAVALID_SHIFT (0U)
16494/*! DAVALID - DAVALID
16495 * 0b0..DANOTASSIGNED: a Dynamic Address is not assigned
16496 * 0b1..DAASSIGNED: a Dynamic Address is assigned
16497 */
16498#define I3C_SDYNADDR_DAVALID(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDYNADDR_DAVALID_SHIFT)) & I3C_SDYNADDR_DAVALID_MASK)
16499#define I3C_SDYNADDR_DADDR_MASK (0xFEU)
16500#define I3C_SDYNADDR_DADDR_SHIFT (1U)
16501/*! DADDR - Dynamic address
16502 */
16503#define I3C_SDYNADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDYNADDR_DADDR_SHIFT)) & I3C_SDYNADDR_DADDR_MASK)
16504#define I3C_SDYNADDR_MAPIDX_MASK (0xF00U)
16505#define I3C_SDYNADDR_MAPIDX_SHIFT (8U)
16506/*! MAPIDX - Mapped Dynamic Address
16507 */
16508#define I3C_SDYNADDR_MAPIDX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDYNADDR_MAPIDX_SHIFT)) & I3C_SDYNADDR_MAPIDX_MASK)
16509#define I3C_SDYNADDR_MAPSA_MASK (0x1000U)
16510#define I3C_SDYNADDR_MAPSA_SHIFT (12U)
16511/*! MAPSA - Map a Static Address
16512 */
16513#define I3C_SDYNADDR_MAPSA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDYNADDR_MAPSA_SHIFT)) & I3C_SDYNADDR_MAPSA_MASK)
16514#define I3C_SDYNADDR_KEY_MASK (0xFFFF0000U)
16515#define I3C_SDYNADDR_KEY_SHIFT (16U)
16516/*! KEY - Key
16517 */
16518#define I3C_SDYNADDR_KEY(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDYNADDR_KEY_SHIFT)) & I3C_SDYNADDR_KEY_MASK)
16519/*! @} */
16520
16521/*! @name SMAXLIMITS - Slave Maximum Limits Register */
16522/*! @{ */
16523#define I3C_SMAXLIMITS_MAXRD_MASK (0xFFFU)
16524#define I3C_SMAXLIMITS_MAXRD_SHIFT (0U)
16525/*! MAXRD - Maximum read length
16526 */
16527#define I3C_SMAXLIMITS_MAXRD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAXLIMITS_MAXRD_SHIFT)) & I3C_SMAXLIMITS_MAXRD_MASK)
16528#define I3C_SMAXLIMITS_MAXWR_MASK (0xFFF0000U)
16529#define I3C_SMAXLIMITS_MAXWR_SHIFT (16U)
16530/*! MAXWR - Maximum write length
16531 */
16532#define I3C_SMAXLIMITS_MAXWR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAXLIMITS_MAXWR_SHIFT)) & I3C_SMAXLIMITS_MAXWR_MASK)
16533/*! @} */
16534
16535/*! @name SIDPARTNO - Slave ID Part Number Register */
16536/*! @{ */
16537#define I3C_SIDPARTNO_PARTNO_MASK (0xFFFFFFFFU)
16538#define I3C_SIDPARTNO_PARTNO_SHIFT (0U)
16539/*! PARTNO - Part number
16540 */
16541#define I3C_SIDPARTNO_PARTNO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SIDPARTNO_PARTNO_SHIFT)) & I3C_SIDPARTNO_PARTNO_MASK)
16542/*! @} */
16543
16544/*! @name SIDEXT - Slave ID Extension Register */
16545/*! @{ */
16546#define I3C_SIDEXT_DCR_MASK (0xFF00U)
16547#define I3C_SIDEXT_DCR_SHIFT (8U)
16548/*! DCR - Device Characteristic Register
16549 */
16550#define I3C_SIDEXT_DCR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SIDEXT_DCR_SHIFT)) & I3C_SIDEXT_DCR_MASK)
16551#define I3C_SIDEXT_BCR_MASK (0xFF0000U)
16552#define I3C_SIDEXT_BCR_SHIFT (16U)
16553/*! BCR - Bus Characteristics Register
16554 */
16555#define I3C_SIDEXT_BCR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SIDEXT_BCR_SHIFT)) & I3C_SIDEXT_BCR_MASK)
16556/*! @} */
16557
16558/*! @name SVENDORID - Slave Vendor ID Register */
16559/*! @{ */
16560#define I3C_SVENDORID_VID_MASK (0x7FFFU)
16561#define I3C_SVENDORID_VID_SHIFT (0U)
16562/*! VID - Vendor ID
16563 */
16564#define I3C_SVENDORID_VID(x) (((uint32_t)(((uint32_t)(x)) << I3C_SVENDORID_VID_SHIFT)) & I3C_SVENDORID_VID_MASK)
16565/*! @} */
16566
16567/*! @name STCCLOCK - Slave Time Control Clock Register */
16568/*! @{ */
16569#define I3C_STCCLOCK_ACCURACY_MASK (0xFFU)
16570#define I3C_STCCLOCK_ACCURACY_SHIFT (0U)
16571/*! ACCURACY - Clock accuracy
16572 */
16573#define I3C_STCCLOCK_ACCURACY(x) (((uint32_t)(((uint32_t)(x)) << I3C_STCCLOCK_ACCURACY_SHIFT)) & I3C_STCCLOCK_ACCURACY_MASK)
16574#define I3C_STCCLOCK_FREQ_MASK (0xFF00U)
16575#define I3C_STCCLOCK_FREQ_SHIFT (8U)
16576/*! FREQ - Clock frequency
16577 */
16578#define I3C_STCCLOCK_FREQ(x) (((uint32_t)(((uint32_t)(x)) << I3C_STCCLOCK_FREQ_SHIFT)) & I3C_STCCLOCK_FREQ_MASK)
16579/*! @} */
16580
16581/*! @name SMSGMAPADDR - Slave Message-Mapped Address Register */
16582/*! @{ */
16583#define I3C_SMSGMAPADDR_MAPLAST_MASK (0xFU)
16584#define I3C_SMSGMAPADDR_MAPLAST_SHIFT (0U)
16585/*! MAPLAST - Matched address index
16586 */
16587#define I3C_SMSGMAPADDR_MAPLAST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_MAPLAST_SHIFT)) & I3C_SMSGMAPADDR_MAPLAST_MASK)
16588#define I3C_SMSGMAPADDR_MAPLASTM1_MASK (0xF00U)
16589#define I3C_SMSGMAPADDR_MAPLASTM1_SHIFT (8U)
16590/*! MAPLASTM1 - Previous match index 1
16591 */
16592#define I3C_SMSGMAPADDR_MAPLASTM1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_MAPLASTM1_SHIFT)) & I3C_SMSGMAPADDR_MAPLASTM1_MASK)
16593#define I3C_SMSGMAPADDR_MAPLASTM2_MASK (0xF0000U)
16594#define I3C_SMSGMAPADDR_MAPLASTM2_SHIFT (16U)
16595/*! MAPLASTM2 - Previous match index 2
16596 */
16597#define I3C_SMSGMAPADDR_MAPLASTM2(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_MAPLASTM2_SHIFT)) & I3C_SMSGMAPADDR_MAPLASTM2_MASK)
16598/*! @} */
16599
16600/*! @name MCTRL - Master Main Control Register */
16601/*! @{ */
16602#define I3C_MCTRL_REQUEST_MASK (0x7U)
16603#define I3C_MCTRL_REQUEST_SHIFT (0U)
16604/*! REQUEST - Request
16605 * 0b000..NONE: Returns to this when finished with any request. The MSTATUS register indicates the master's
16606 * state. See also AutoIBI mode. NONE is only written as 0: when setting RDTERM to 1 (to stop a read in
16607 * progress) or when setting IBI reponse field (IBIRESP) for MSG use
16608 * 0b001..EMITSTARTADDR: Emit START with address and direction from a stopped state or in the middle of a Single
16609 * Data Rate (SDR) message. If from a stopped state (IDLE), then emit start may be prevented by an event
16610 * (like IBI, MR, HJ), in which case the appropriate interrupt is signaled; note that Emit START can be
16611 * resubmitted.
16612 * 0b010..EMITSTOP: Emit a STOP on bus. Must be in Single Data Rate (SDR) mode. If in Dynamic Address Assignment
16613 * (DAA) mode, Emit stop will exit DAA mode.
16614 * 0b011..IBIACKNACK: Manual In-Band Interrupt (IBI) Acknowledge (ACK) or Not Acknowledge (NACK). When IBIRESP
16615 * has indicated a hold on an In-Band Interrupt to allow a manual decision, this request completes it. Uses
16616 * IBIRESP to provide the information.
16617 * 0b100..PROCESSDAA: If not in Dynamic Address Assignment (DAA) mode now, will issue START, 7E, ENTDAA, and then
16618 * will emit 7E/R to process each slave. Will stop just before the new Dynamic Address (DA) is to be
16619 * emitted. The next Process DAA request will use the Addr field as the new DA to assign. If NACKed on the 7E/R,
16620 * then the interrupt will indicate this situation, and a STOP will be emitted.
16621 * 0b101..RESERVED
16622 * 0b110..FORCEEXIT and IBHR: Emit an Exit Pattern from any state, but end Double Data Rate (DDR) (including
16623 * MSGDDR), if in DDR mode now. Includes a STOP afterward. If TYPE != 0, then it will perform an IBHR (In-Band
16624 * Hardware Reset). If TYPE=2, then it does a normal reset (DEFRST can prevent the reset). If TYPE=3, it
16625 * does a forced reset (will always reset).
16626 * 0b111..AUTOIBI: Hold in a stopped state, but auto-emit START,7E when the slave is holding down SDA to get an
16627 * In-Band Interrupt (IBI). Actual In-Band Interrupt handling is defined by IBIRESP.
16628 */
16629#define I3C_MCTRL_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_REQUEST_SHIFT)) & I3C_MCTRL_REQUEST_MASK)
16630#define I3C_MCTRL_TYPE_MASK (0x30U)
16631#define I3C_MCTRL_TYPE_SHIFT (4U)
16632/*! TYPE - Bus type with START
16633 * 0b00..I3C: Normally the SDR mode of I3C. For ForceExit, the Exit pattern.
16634 * 0b01..I2C: Normally the Standard I2C protocol.
16635 * 0b10..DDR: (Double Data Rate): Normally the HDR-DDR mode of I3C. Enter DDR mode (7E and then ENTHDR0), if the
16636 * module is not already in DDR mode. The 1st byte written to the TX FIFO should be a command, and should
16637 * already be in the FIFO. To end DDR mode, use ForceExit. For ForceExit, the normal IBHR (In-Band Hardware
16638 * Reset).
16639 * 0b11..For ForcedExit, this is forced IBHR.
16640 */
16641#define I3C_MCTRL_TYPE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_TYPE_SHIFT)) & I3C_MCTRL_TYPE_MASK)
16642#define I3C_MCTRL_IBIRESP_MASK (0xC0U)
16643#define I3C_MCTRL_IBIRESP_SHIFT (6U)
16644/*! IBIRESP - In-Band Interrupt (IBI) response
16645 * 0b00..ACK: Acknowledge. A mandatory byte (or not) is decided by the Master In-band Interrupt Registry and
16646 * Rules Register (MIBIRULES). To limit the maximum number of IBI bytes, configure the Read Termination field
16647 * (MCTRL.RDTERM).
16648 * 0b01..NACK: Not acknowledge
16649 * 0b10..ACK_WITH_MANDATORY: Acknowledge with mandatory byte (ignores the MIBIRULES register). Acknowledge with
16650 * mandatory byte should not be used, unless only slaves with a mandatory byte can cause an In-Band Interrupt.
16651 * 0b11..MANUAL: stop and wait for a decision using the IBIAckNack request
16652 */
16653#define I3C_MCTRL_IBIRESP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_IBIRESP_SHIFT)) & I3C_MCTRL_IBIRESP_MASK)
16654#define I3C_MCTRL_DIR_MASK (0x100U)
16655#define I3C_MCTRL_DIR_SHIFT (8U)
16656/*! DIR - DIR
16657 * 0b0..DIRWRITE: Write
16658 * 0b1..DIRREAD: Read
16659 */
16660#define I3C_MCTRL_DIR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_DIR_SHIFT)) & I3C_MCTRL_DIR_MASK)
16661#define I3C_MCTRL_ADDR_MASK (0xFE00U)
16662#define I3C_MCTRL_ADDR_SHIFT (9U)
16663/*! ADDR - ADDR
16664 */
16665#define I3C_MCTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_ADDR_SHIFT)) & I3C_MCTRL_ADDR_MASK)
16666#define I3C_MCTRL_RDTERM_MASK (0xFF0000U)
16667#define I3C_MCTRL_RDTERM_SHIFT (16U)
16668/*! RDTERM - Read terminate
16669 */
16670#define I3C_MCTRL_RDTERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_RDTERM_SHIFT)) & I3C_MCTRL_RDTERM_MASK)
16671/*! @} */
16672
16673/*! @name MSTATUS - Master Status Register */
16674/*! @{ */
16675#define I3C_MSTATUS_STATE_MASK (0x7U)
16676#define I3C_MSTATUS_STATE_SHIFT (0U)
16677/*! STATE - State of the master
16678 * 0b000..IDLE: the bus has STOPped.
16679 * 0b001..SLVREQ: (Slave Request state) the bus has STOPped but a slave is holding SDA low. If using auto-emit
16680 * IBI (MCTRL.AutoIBI), then the master will not stay in the Slave Request state.
16681 * 0b010..MSGSDR: in Single Data Rate (SDR) Message state (from using MWMSG_SDR)
16682 * 0b011..NORMACT: normal active Single Data Rate (SDR) state (from using MCTRL and MWDATAn and MRDATAn
16683 * registers). The master will stay in the NORMACT state until a STOP is issued.
16684 * 0b100..MSGDDR: in Double Data Rate (DDR) Message mode (from using MWMSG_DDR or using the normal method with
16685 * DDR). The master will stay in the DDR state, until the master exits using EXIT (emits the Exit pattern).
16686 * 0b101..DAA: in Enter Dynamic Address Assignment (ENTDAA) mode
16687 * 0b110..IBIACK: waiting for an In-Band Interrupt (IBI) ACK/NACK decision
16688 * 0b111..IBIRCV: Receiving an In-Band Interrupt (IBI); this IBIRCV state is used after IBI/MR/HJ has won the
16689 * arbitration, and IBIRCV state is also used for IBI mandatory byte (if any) and any bytes that follow.
16690 */
16691#define I3C_MSTATUS_STATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_STATE_SHIFT)) & I3C_MSTATUS_STATE_MASK)
16692#define I3C_MSTATUS_BETWEEN_MASK (0x10U)
16693#define I3C_MSTATUS_BETWEEN_SHIFT (4U)
16694/*! BETWEEN - Between messages or Dynamic Address Assignments (DAA)
16695 */
16696#define I3C_MSTATUS_BETWEEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_BETWEEN_SHIFT)) & I3C_MSTATUS_BETWEEN_MASK)
16697#define I3C_MSTATUS_NACKED_MASK (0x20U)
16698#define I3C_MSTATUS_NACKED_SHIFT (5U)
16699/*! NACKED - Not acknowledged
16700 */
16701#define I3C_MSTATUS_NACKED(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_NACKED_SHIFT)) & I3C_MSTATUS_NACKED_MASK)
16702#define I3C_MSTATUS_IBITYPE_MASK (0xC0U)
16703#define I3C_MSTATUS_IBITYPE_SHIFT (6U)
16704/*! IBITYPE - In-Band Interrupt (IBI) type
16705 * 0b00..NONE: cleared when IBI Won bit (MSTATUS.IBIWON) is cleared
16706 * 0b01..IBI: In-Band Interrupt
16707 * 0b10..MR: Master Request
16708 * 0b11..HJ: Hot-Join
16709 */
16710#define I3C_MSTATUS_IBITYPE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_IBITYPE_SHIFT)) & I3C_MSTATUS_IBITYPE_MASK)
16711#define I3C_MSTATUS_SLVSTART_MASK (0x100U)
16712#define I3C_MSTATUS_SLVSTART_SHIFT (8U)
16713/*! SLVSTART - Slave start
16714 */
16715#define I3C_MSTATUS_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_SLVSTART_SHIFT)) & I3C_MSTATUS_SLVSTART_MASK)
16716#define I3C_MSTATUS_MCTRLDONE_MASK (0x200U)
16717#define I3C_MSTATUS_MCTRLDONE_SHIFT (9U)
16718/*! MCTRLDONE - Master control done
16719 */
16720#define I3C_MSTATUS_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_MCTRLDONE_SHIFT)) & I3C_MSTATUS_MCTRLDONE_MASK)
16721#define I3C_MSTATUS_COMPLETE_MASK (0x400U)
16722#define I3C_MSTATUS_COMPLETE_SHIFT (10U)
16723/*! COMPLETE - COMPLETE
16724 */
16725#define I3C_MSTATUS_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_COMPLETE_SHIFT)) & I3C_MSTATUS_COMPLETE_MASK)
16726#define I3C_MSTATUS_RXPEND_MASK (0x800U)
16727#define I3C_MSTATUS_RXPEND_SHIFT (11U)
16728/*! RXPEND - RXPEND
16729 */
16730#define I3C_MSTATUS_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_RXPEND_SHIFT)) & I3C_MSTATUS_RXPEND_MASK)
16731#define I3C_MSTATUS_TXNOTFULL_MASK (0x1000U)
16732#define I3C_MSTATUS_TXNOTFULL_SHIFT (12U)
16733/*! TXNOTFULL - TX buffer/FIFO not yet full
16734 */
16735#define I3C_MSTATUS_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_TXNOTFULL_SHIFT)) & I3C_MSTATUS_TXNOTFULL_MASK)
16736#define I3C_MSTATUS_IBIWON_MASK (0x2000U)
16737#define I3C_MSTATUS_IBIWON_SHIFT (13U)
16738/*! IBIWON - In-Band Interrupt (IBI) won
16739 */
16740#define I3C_MSTATUS_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_IBIWON_SHIFT)) & I3C_MSTATUS_IBIWON_MASK)
16741#define I3C_MSTATUS_ERRWARN_MASK (0x8000U)
16742#define I3C_MSTATUS_ERRWARN_SHIFT (15U)
16743/*! ERRWARN - Error or warning
16744 */
16745#define I3C_MSTATUS_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_ERRWARN_SHIFT)) & I3C_MSTATUS_ERRWARN_MASK)
16746#define I3C_MSTATUS_NOWMASTER_MASK (0x80000U)
16747#define I3C_MSTATUS_NOWMASTER_SHIFT (19U)
16748/*! NOWMASTER - Now master (now this module is a master)
16749 */
16750#define I3C_MSTATUS_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_NOWMASTER_SHIFT)) & I3C_MSTATUS_NOWMASTER_MASK)
16751#define I3C_MSTATUS_IBIADDR_MASK (0x7F000000U)
16752#define I3C_MSTATUS_IBIADDR_SHIFT (24U)
16753/*! IBIADDR - IBI address
16754 */
16755#define I3C_MSTATUS_IBIADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_IBIADDR_SHIFT)) & I3C_MSTATUS_IBIADDR_MASK)
16756/*! @} */
16757
16758/*! @name MIBIRULES - Master In-band Interrupt Registry and Rules Register */
16759/*! @{ */
16760#define I3C_MIBIRULES_ADDR0_MASK (0x3FU)
16761#define I3C_MIBIRULES_ADDR0_SHIFT (0U)
16762/*! ADDR0 - ADDR0
16763 */
16764#define I3C_MIBIRULES_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR0_SHIFT)) & I3C_MIBIRULES_ADDR0_MASK)
16765#define I3C_MIBIRULES_ADDR1_MASK (0xFC0U)
16766#define I3C_MIBIRULES_ADDR1_SHIFT (6U)
16767/*! ADDR1 - ADDR1
16768 */
16769#define I3C_MIBIRULES_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR1_SHIFT)) & I3C_MIBIRULES_ADDR1_MASK)
16770#define I3C_MIBIRULES_ADDR2_MASK (0x3F000U)
16771#define I3C_MIBIRULES_ADDR2_SHIFT (12U)
16772/*! ADDR2 - ADDR2
16773 */
16774#define I3C_MIBIRULES_ADDR2(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR2_SHIFT)) & I3C_MIBIRULES_ADDR2_MASK)
16775#define I3C_MIBIRULES_ADDR3_MASK (0xFC0000U)
16776#define I3C_MIBIRULES_ADDR3_SHIFT (18U)
16777/*! ADDR3 - ADDR3
16778 */
16779#define I3C_MIBIRULES_ADDR3(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR3_SHIFT)) & I3C_MIBIRULES_ADDR3_MASK)
16780#define I3C_MIBIRULES_ADDR4_MASK (0x3F000000U)
16781#define I3C_MIBIRULES_ADDR4_SHIFT (24U)
16782/*! ADDR4 - ADDR4
16783 */
16784#define I3C_MIBIRULES_ADDR4(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR4_SHIFT)) & I3C_MIBIRULES_ADDR4_MASK)
16785#define I3C_MIBIRULES_MSB0_MASK (0x40000000U)
16786#define I3C_MIBIRULES_MSB0_SHIFT (30U)
16787/*! MSB0 - Set Most Significant address Bit to 0
16788 */
16789#define I3C_MIBIRULES_MSB0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_MSB0_SHIFT)) & I3C_MIBIRULES_MSB0_MASK)
16790#define I3C_MIBIRULES_NOBYTE_MASK (0x80000000U)
16791#define I3C_MIBIRULES_NOBYTE_SHIFT (31U)
16792/*! NOBYTE - No IBI byte
16793 */
16794#define I3C_MIBIRULES_NOBYTE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_NOBYTE_SHIFT)) & I3C_MIBIRULES_NOBYTE_MASK)
16795/*! @} */
16796
16797/*! @name MINTSET - Master Interrupt Set Register */
16798/*! @{ */
16799#define I3C_MINTSET_SLVSTART_MASK (0x100U)
16800#define I3C_MINTSET_SLVSTART_SHIFT (8U)
16801/*! SLVSTART - Slave start interrupt enable
16802 */
16803#define I3C_MINTSET_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_SLVSTART_SHIFT)) & I3C_MINTSET_SLVSTART_MASK)
16804#define I3C_MINTSET_MCTRLDONE_MASK (0x200U)
16805#define I3C_MINTSET_MCTRLDONE_SHIFT (9U)
16806/*! MCTRLDONE - Master control done interrupt enable
16807 */
16808#define I3C_MINTSET_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_MCTRLDONE_SHIFT)) & I3C_MINTSET_MCTRLDONE_MASK)
16809#define I3C_MINTSET_COMPLETE_MASK (0x400U)
16810#define I3C_MINTSET_COMPLETE_SHIFT (10U)
16811/*! COMPLETE - Completed message interrupt enable
16812 */
16813#define I3C_MINTSET_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_COMPLETE_SHIFT)) & I3C_MINTSET_COMPLETE_MASK)
16814#define I3C_MINTSET_RXPEND_MASK (0x800U)
16815#define I3C_MINTSET_RXPEND_SHIFT (11U)
16816/*! RXPEND - RX pending interrupt enable
16817 */
16818#define I3C_MINTSET_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_RXPEND_SHIFT)) & I3C_MINTSET_RXPEND_MASK)
16819#define I3C_MINTSET_TXNOTFULL_MASK (0x1000U)
16820#define I3C_MINTSET_TXNOTFULL_SHIFT (12U)
16821/*! TXNOTFULL - TX buffer/FIFO is not full interrupt enable
16822 */
16823#define I3C_MINTSET_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_TXNOTFULL_SHIFT)) & I3C_MINTSET_TXNOTFULL_MASK)
16824#define I3C_MINTSET_IBIWON_MASK (0x2000U)
16825#define I3C_MINTSET_IBIWON_SHIFT (13U)
16826/*! IBIWON - In-Band Interrupt (IBI) won interrupt enable
16827 */
16828#define I3C_MINTSET_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_IBIWON_SHIFT)) & I3C_MINTSET_IBIWON_MASK)
16829#define I3C_MINTSET_ERRWARN_MASK (0x8000U)
16830#define I3C_MINTSET_ERRWARN_SHIFT (15U)
16831/*! ERRWARN - Error or warning (ERRWARN) interrupt enable
16832 */
16833#define I3C_MINTSET_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_ERRWARN_SHIFT)) & I3C_MINTSET_ERRWARN_MASK)
16834#define I3C_MINTSET_NOWMASTER_MASK (0x80000U)
16835#define I3C_MINTSET_NOWMASTER_SHIFT (19U)
16836/*! NOWMASTER - Now master (now this I3C module is a master) interrupt enable
16837 */
16838#define I3C_MINTSET_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_NOWMASTER_SHIFT)) & I3C_MINTSET_NOWMASTER_MASK)
16839/*! @} */
16840
16841/*! @name MINTCLR - Master Interrupt Clear Register */
16842/*! @{ */
16843#define I3C_MINTCLR_SLVSTART_MASK (0x100U)
16844#define I3C_MINTCLR_SLVSTART_SHIFT (8U)
16845/*! SLVSTART - SLVSTART interrupt enable clear
16846 */
16847#define I3C_MINTCLR_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_SLVSTART_SHIFT)) & I3C_MINTCLR_SLVSTART_MASK)
16848#define I3C_MINTCLR_MCTRLDONE_MASK (0x200U)
16849#define I3C_MINTCLR_MCTRLDONE_SHIFT (9U)
16850/*! MCTRLDONE - MCTRLDONE interrupt enable clear
16851 */
16852#define I3C_MINTCLR_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_MCTRLDONE_SHIFT)) & I3C_MINTCLR_MCTRLDONE_MASK)
16853#define I3C_MINTCLR_COMPLETE_MASK (0x400U)
16854#define I3C_MINTCLR_COMPLETE_SHIFT (10U)
16855/*! COMPLETE - COMPLETE interrupt enable clear
16856 */
16857#define I3C_MINTCLR_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_COMPLETE_SHIFT)) & I3C_MINTCLR_COMPLETE_MASK)
16858#define I3C_MINTCLR_RXPEND_MASK (0x800U)
16859#define I3C_MINTCLR_RXPEND_SHIFT (11U)
16860/*! RXPEND - RXPEND interrupt enable clear
16861 */
16862#define I3C_MINTCLR_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_RXPEND_SHIFT)) & I3C_MINTCLR_RXPEND_MASK)
16863#define I3C_MINTCLR_TXNOTFULL_MASK (0x1000U)
16864#define I3C_MINTCLR_TXNOTFULL_SHIFT (12U)
16865/*! TXNOTFULL - TXNOTFULL interrupt enable clear
16866 */
16867#define I3C_MINTCLR_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_TXNOTFULL_SHIFT)) & I3C_MINTCLR_TXNOTFULL_MASK)
16868#define I3C_MINTCLR_IBIWON_MASK (0x2000U)
16869#define I3C_MINTCLR_IBIWON_SHIFT (13U)
16870/*! IBIWON - IBIWON interrupt enable clear
16871 */
16872#define I3C_MINTCLR_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_IBIWON_SHIFT)) & I3C_MINTCLR_IBIWON_MASK)
16873#define I3C_MINTCLR_ERRWARN_MASK (0x8000U)
16874#define I3C_MINTCLR_ERRWARN_SHIFT (15U)
16875/*! ERRWARN - ERRWARN interrupt enable clear
16876 */
16877#define I3C_MINTCLR_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_ERRWARN_SHIFT)) & I3C_MINTCLR_ERRWARN_MASK)
16878#define I3C_MINTCLR_NOWMASTER_MASK (0x80000U)
16879#define I3C_MINTCLR_NOWMASTER_SHIFT (19U)
16880/*! NOWMASTER - NOWMASTER interrupt enable clear
16881 */
16882#define I3C_MINTCLR_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_NOWMASTER_SHIFT)) & I3C_MINTCLR_NOWMASTER_MASK)
16883/*! @} */
16884
16885/*! @name MINTMASKED - Master Interrupt Mask Register */
16886/*! @{ */
16887#define I3C_MINTMASKED_SLVSTART_MASK (0x100U)
16888#define I3C_MINTMASKED_SLVSTART_SHIFT (8U)
16889/*! SLVSTART - SLVSTART interrupt mask
16890 */
16891#define I3C_MINTMASKED_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_SLVSTART_SHIFT)) & I3C_MINTMASKED_SLVSTART_MASK)
16892#define I3C_MINTMASKED_MCTRLDONE_MASK (0x200U)
16893#define I3C_MINTMASKED_MCTRLDONE_SHIFT (9U)
16894/*! MCTRLDONE - MCTRLDONE interrupt mask
16895 */
16896#define I3C_MINTMASKED_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_MCTRLDONE_SHIFT)) & I3C_MINTMASKED_MCTRLDONE_MASK)
16897#define I3C_MINTMASKED_COMPLETE_MASK (0x400U)
16898#define I3C_MINTMASKED_COMPLETE_SHIFT (10U)
16899/*! COMPLETE - COMPLETE interrupt mask
16900 */
16901#define I3C_MINTMASKED_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_COMPLETE_SHIFT)) & I3C_MINTMASKED_COMPLETE_MASK)
16902#define I3C_MINTMASKED_RXPEND_MASK (0x800U)
16903#define I3C_MINTMASKED_RXPEND_SHIFT (11U)
16904/*! RXPEND - RXPEND interrupt mask
16905 */
16906#define I3C_MINTMASKED_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_RXPEND_SHIFT)) & I3C_MINTMASKED_RXPEND_MASK)
16907#define I3C_MINTMASKED_TXNOTFULL_MASK (0x1000U)
16908#define I3C_MINTMASKED_TXNOTFULL_SHIFT (12U)
16909/*! TXNOTFULL - TXNOTFULL interrupt mask
16910 */
16911#define I3C_MINTMASKED_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_TXNOTFULL_SHIFT)) & I3C_MINTMASKED_TXNOTFULL_MASK)
16912#define I3C_MINTMASKED_IBIWON_MASK (0x2000U)
16913#define I3C_MINTMASKED_IBIWON_SHIFT (13U)
16914/*! IBIWON - IBIWON interrupt mask
16915 */
16916#define I3C_MINTMASKED_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_IBIWON_SHIFT)) & I3C_MINTMASKED_IBIWON_MASK)
16917#define I3C_MINTMASKED_ERRWARN_MASK (0x8000U)
16918#define I3C_MINTMASKED_ERRWARN_SHIFT (15U)
16919/*! ERRWARN - ERRWARN interrupt mask
16920 */
16921#define I3C_MINTMASKED_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_ERRWARN_SHIFT)) & I3C_MINTMASKED_ERRWARN_MASK)
16922#define I3C_MINTMASKED_NOWMASTER_MASK (0x80000U)
16923#define I3C_MINTMASKED_NOWMASTER_SHIFT (19U)
16924/*! NOWMASTER - NOWMASTER interrupt mask
16925 */
16926#define I3C_MINTMASKED_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_NOWMASTER_SHIFT)) & I3C_MINTMASKED_NOWMASTER_MASK)
16927/*! @} */
16928
16929/*! @name MERRWARN - Master Errors and Warnings Register */
16930/*! @{ */
16931#define I3C_MERRWARN_NACK_MASK (0x4U)
16932#define I3C_MERRWARN_NACK_SHIFT (2U)
16933/*! NACK - Not acknowledge (NACK) error
16934 */
16935#define I3C_MERRWARN_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_NACK_SHIFT)) & I3C_MERRWARN_NACK_MASK)
16936#define I3C_MERRWARN_WRABT_MASK (0x8U)
16937#define I3C_MERRWARN_WRABT_SHIFT (3U)
16938/*! WRABT - WRABT (Write abort) error
16939 */
16940#define I3C_MERRWARN_WRABT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_WRABT_SHIFT)) & I3C_MERRWARN_WRABT_MASK)
16941#define I3C_MERRWARN_TERM_MASK (0x10U)
16942#define I3C_MERRWARN_TERM_SHIFT (4U)
16943/*! TERM - Terminate error
16944 */
16945#define I3C_MERRWARN_TERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_TERM_SHIFT)) & I3C_MERRWARN_TERM_MASK)
16946#define I3C_MERRWARN_HPAR_MASK (0x200U)
16947#define I3C_MERRWARN_HPAR_SHIFT (9U)
16948/*! HPAR - High data rate parity
16949 */
16950#define I3C_MERRWARN_HPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_HPAR_SHIFT)) & I3C_MERRWARN_HPAR_MASK)
16951#define I3C_MERRWARN_HCRC_MASK (0x400U)
16952#define I3C_MERRWARN_HCRC_SHIFT (10U)
16953/*! HCRC - High data rate CRC error
16954 */
16955#define I3C_MERRWARN_HCRC(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_HCRC_SHIFT)) & I3C_MERRWARN_HCRC_MASK)
16956#define I3C_MERRWARN_OREAD_MASK (0x10000U)
16957#define I3C_MERRWARN_OREAD_SHIFT (16U)
16958/*! OREAD - Over-read error
16959 */
16960#define I3C_MERRWARN_OREAD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_OREAD_SHIFT)) & I3C_MERRWARN_OREAD_MASK)
16961#define I3C_MERRWARN_OWRITE_MASK (0x20000U)
16962#define I3C_MERRWARN_OWRITE_SHIFT (17U)
16963/*! OWRITE - Over-write error
16964 */
16965#define I3C_MERRWARN_OWRITE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_OWRITE_SHIFT)) & I3C_MERRWARN_OWRITE_MASK)
16966#define I3C_MERRWARN_MSGERR_MASK (0x40000U)
16967#define I3C_MERRWARN_MSGERR_SHIFT (18U)
16968/*! MSGERR - Message error
16969 */
16970#define I3C_MERRWARN_MSGERR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_MSGERR_SHIFT)) & I3C_MERRWARN_MSGERR_MASK)
16971#define I3C_MERRWARN_INVREQ_MASK (0x80000U)
16972#define I3C_MERRWARN_INVREQ_SHIFT (19U)
16973/*! INVREQ - Invalid request error
16974 */
16975#define I3C_MERRWARN_INVREQ(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_INVREQ_SHIFT)) & I3C_MERRWARN_INVREQ_MASK)
16976#define I3C_MERRWARN_TIMEOUT_MASK (0x100000U)
16977#define I3C_MERRWARN_TIMEOUT_SHIFT (20U)
16978/*! TIMEOUT - TIMEOUT error
16979 */
16980#define I3C_MERRWARN_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_TIMEOUT_SHIFT)) & I3C_MERRWARN_TIMEOUT_MASK)
16981/*! @} */
16982
16983/*! @name MDMACTRL - Master DMA Control Register */
16984/*! @{ */
16985#define I3C_MDMACTRL_DMAFB_MASK (0x3U)
16986#define I3C_MDMACTRL_DMAFB_SHIFT (0U)
16987/*! DMAFB - DMA from bus
16988 * 0b00..NOT_USED: DMA is not used
16989 * 0b01..ENABLE_ONE_FRAME: DMA is enabled for 1 frame. DMAFB auto-clears on STOP or repeated START. See MCONFIG.MATCHSS.
16990 * 0b10..ENABLE: DMA is enabled until the DMA is turned off.
16991 */
16992#define I3C_MDMACTRL_DMAFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMAFB_SHIFT)) & I3C_MDMACTRL_DMAFB_MASK)
16993#define I3C_MDMACTRL_DMATB_MASK (0xCU)
16994#define I3C_MDMACTRL_DMATB_SHIFT (2U)
16995/*! DMATB - DMA to bus
16996 * 0b00..NOT_USED: DMA is not used
16997 * 0b01..ENABLE_ONE_FRAME: DMA is enabled for 1 frame (ended by DMA or Terminated). DMATB auto-clears on STOP or START. See MCONFIG.MATCHSS.
16998 * 0b10..ENABLE: DMA is enabled until DMA is turned off. Normally DMA ENABLE should only be used in Master Message mode.
16999 */
17000#define I3C_MDMACTRL_DMATB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMATB_SHIFT)) & I3C_MDMACTRL_DMATB_MASK)
17001#define I3C_MDMACTRL_DMAWIDTH_MASK (0x30U)
17002#define I3C_MDMACTRL_DMAWIDTH_SHIFT (4U)
17003/*! DMAWIDTH - DMA width
17004 * 0b00..BYTE
17005 * 0b01..BYTE_AGAIN
17006 * 0b10..HALF_WORD: Half-word (16 bits). This will make sure that 2 bytes are free/available in FIFO.
17007 * 0b11..RESERVED
17008 */
17009#define I3C_MDMACTRL_DMAWIDTH(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMAWIDTH_SHIFT)) & I3C_MDMACTRL_DMAWIDTH_MASK)
17010/*! @} */
17011
17012/*! @name MDATACTRL - Master Data Control Register */
17013/*! @{ */
17014#define I3C_MDATACTRL_FLUSHTB_MASK (0x1U)
17015#define I3C_MDATACTRL_FLUSHTB_SHIFT (0U)
17016/*! FLUSHTB - Flush to-bus buffer/FIFO
17017 */
17018#define I3C_MDATACTRL_FLUSHTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_FLUSHTB_SHIFT)) & I3C_MDATACTRL_FLUSHTB_MASK)
17019#define I3C_MDATACTRL_FLUSHFB_MASK (0x2U)
17020#define I3C_MDATACTRL_FLUSHFB_SHIFT (1U)
17021/*! FLUSHFB - Flush from-bus buffer/FIFO
17022 */
17023#define I3C_MDATACTRL_FLUSHFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_FLUSHFB_SHIFT)) & I3C_MDATACTRL_FLUSHFB_MASK)
17024#define I3C_MDATACTRL_UNLOCK_MASK (0x4U)
17025#define I3C_MDATACTRL_UNLOCK_SHIFT (2U)
17026/*! UNLOCK - Unlock
17027 */
17028#define I3C_MDATACTRL_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_UNLOCK_SHIFT)) & I3C_MDATACTRL_UNLOCK_MASK)
17029#define I3C_MDATACTRL_TXTRIG_MASK (0x30U)
17030#define I3C_MDATACTRL_TXTRIG_SHIFT (4U)
17031/*! TXTRIG - TX trigger level
17032 */
17033#define I3C_MDATACTRL_TXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXTRIG_SHIFT)) & I3C_MDATACTRL_TXTRIG_MASK)
17034#define I3C_MDATACTRL_RXTRIG_MASK (0xC0U)
17035#define I3C_MDATACTRL_RXTRIG_SHIFT (6U)
17036/*! RXTRIG - RX trigger level
17037 */
17038#define I3C_MDATACTRL_RXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXTRIG_SHIFT)) & I3C_MDATACTRL_RXTRIG_MASK)
17039#define I3C_MDATACTRL_TXCOUNT_MASK (0x1F0000U)
17040#define I3C_MDATACTRL_TXCOUNT_SHIFT (16U)
17041/*! TXCOUNT - TX byte count
17042 */
17043#define I3C_MDATACTRL_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXCOUNT_SHIFT)) & I3C_MDATACTRL_TXCOUNT_MASK)
17044#define I3C_MDATACTRL_RXCOUNT_MASK (0x1F000000U)
17045#define I3C_MDATACTRL_RXCOUNT_SHIFT (24U)
17046/*! RXCOUNT - RX byte count
17047 */
17048#define I3C_MDATACTRL_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXCOUNT_SHIFT)) & I3C_MDATACTRL_RXCOUNT_MASK)
17049#define I3C_MDATACTRL_TXFULL_MASK (0x40000000U)
17050#define I3C_MDATACTRL_TXFULL_SHIFT (30U)
17051/*! TXFULL - TX is full
17052 */
17053#define I3C_MDATACTRL_TXFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXFULL_SHIFT)) & I3C_MDATACTRL_TXFULL_MASK)
17054#define I3C_MDATACTRL_RXEMPTY_MASK (0x80000000U)
17055#define I3C_MDATACTRL_RXEMPTY_SHIFT (31U)
17056/*! RXEMPTY - RX is empty
17057 */
17058#define I3C_MDATACTRL_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXEMPTY_SHIFT)) & I3C_MDATACTRL_RXEMPTY_MASK)
17059/*! @} */
17060
17061/*! @name MWDATAB - Master Write Data Byte Register */
17062/*! @{ */
17063#define I3C_MWDATAB_DATA_MASK (0xFFU)
17064#define I3C_MWDATAB_DATA_SHIFT (0U)
17065/*! DATA - Data byte
17066 */
17067#define I3C_MWDATAB_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_DATA_SHIFT)) & I3C_MWDATAB_DATA_MASK)
17068#define I3C_MWDATAB_END_MASK (0x100U)
17069#define I3C_MWDATAB_END_SHIFT (8U)
17070/*! END - End of message
17071 */
17072#define I3C_MWDATAB_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_END_SHIFT)) & I3C_MWDATAB_END_MASK)
17073#define I3C_MWDATAB_END_ALSO_MASK (0x10000U)
17074#define I3C_MWDATAB_END_ALSO_SHIFT (16U)
17075/*! END_ALSO - End of message also
17076 */
17077#define I3C_MWDATAB_END_ALSO(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_END_ALSO_SHIFT)) & I3C_MWDATAB_END_ALSO_MASK)
17078/*! @} */
17079
17080/*! @name MWDATABE - Master Write Data Byte End Register */
17081/*! @{ */
17082#define I3C_MWDATABE_DATA_MASK (0xFFU)
17083#define I3C_MWDATABE_DATA_SHIFT (0U)
17084/*! DATA - Data
17085 */
17086#define I3C_MWDATABE_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATABE_DATA_SHIFT)) & I3C_MWDATABE_DATA_MASK)
17087/*! @} */
17088
17089/*! @name MWDATAH - Master Write Data Half-word Register */
17090/*! @{ */
17091#define I3C_MWDATAH_DATA0_MASK (0xFFU)
17092#define I3C_MWDATAH_DATA0_SHIFT (0U)
17093/*! DATA0 - Data byte 0
17094 */
17095#define I3C_MWDATAH_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_DATA0_SHIFT)) & I3C_MWDATAH_DATA0_MASK)
17096#define I3C_MWDATAH_DATA1_MASK (0xFF00U)
17097#define I3C_MWDATAH_DATA1_SHIFT (8U)
17098/*! DATA1 - Data byte 1
17099 */
17100#define I3C_MWDATAH_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_DATA1_SHIFT)) & I3C_MWDATAH_DATA1_MASK)
17101#define I3C_MWDATAH_END_MASK (0x10000U)
17102#define I3C_MWDATAH_END_SHIFT (16U)
17103/*! END - End of message
17104 */
17105#define I3C_MWDATAH_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_END_SHIFT)) & I3C_MWDATAH_END_MASK)
17106/*! @} */
17107
17108/*! @name MWDATAHE - Master Write Data Byte End Register */
17109/*! @{ */
17110#define I3C_MWDATAHE_DATA0_MASK (0xFFU)
17111#define I3C_MWDATAHE_DATA0_SHIFT (0U)
17112/*! DATA0 - DATA 0
17113 */
17114#define I3C_MWDATAHE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAHE_DATA0_SHIFT)) & I3C_MWDATAHE_DATA0_MASK)
17115#define I3C_MWDATAHE_DATA1_MASK (0xFF00U)
17116#define I3C_MWDATAHE_DATA1_SHIFT (8U)
17117/*! DATA1 - DATA 1
17118 */
17119#define I3C_MWDATAHE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAHE_DATA1_SHIFT)) & I3C_MWDATAHE_DATA1_MASK)
17120/*! @} */
17121
17122/*! @name MRDATAB - Master Read Data Byte Register */
17123/*! @{ */
17124#define I3C_MRDATAB_VALUE_MASK (0xFFU)
17125#define I3C_MRDATAB_VALUE_SHIFT (0U)
17126/*! VALUE - VALUE
17127 */
17128#define I3C_MRDATAB_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAB_VALUE_SHIFT)) & I3C_MRDATAB_VALUE_MASK)
17129/*! @} */
17130
17131/*! @name MRDATAH - Master Read Data Half-word Register */
17132/*! @{ */
17133#define I3C_MRDATAH_LSB_MASK (0xFFU)
17134#define I3C_MRDATAH_LSB_SHIFT (0U)
17135/*! LSB - LSB
17136 */
17137#define I3C_MRDATAH_LSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAH_LSB_SHIFT)) & I3C_MRDATAH_LSB_MASK)
17138#define I3C_MRDATAH_MSB_MASK (0xFF00U)
17139#define I3C_MRDATAH_MSB_SHIFT (8U)
17140/*! MSB - MSB
17141 */
17142#define I3C_MRDATAH_MSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAH_MSB_SHIFT)) & I3C_MRDATAH_MSB_MASK)
17143/*! @} */
17144
17145/*! @name MWMSG_SDR_CONTROL - Master Write Message in SDR mode */
17146/*! @{ */
17147#define I3C_MWMSG_SDR_CONTROL_DIR_MASK (0x1U)
17148#define I3C_MWMSG_SDR_CONTROL_DIR_SHIFT (0U)
17149/*! DIR - Direction
17150 * 0b0..Write
17151 * 0b1..Read
17152 */
17153#define I3C_MWMSG_SDR_CONTROL_DIR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_DIR_SHIFT)) & I3C_MWMSG_SDR_CONTROL_DIR_MASK)
17154#define I3C_MWMSG_SDR_CONTROL_ADDR_MASK (0xFEU)
17155#define I3C_MWMSG_SDR_CONTROL_ADDR_SHIFT (1U)
17156/*! ADDR - Address to be written to
17157 */
17158#define I3C_MWMSG_SDR_CONTROL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_ADDR_SHIFT)) & I3C_MWMSG_SDR_CONTROL_ADDR_MASK)
17159#define I3C_MWMSG_SDR_CONTROL_END_MASK (0x100U)
17160#define I3C_MWMSG_SDR_CONTROL_END_SHIFT (8U)
17161/*! END - End of SDR message
17162 */
17163#define I3C_MWMSG_SDR_CONTROL_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_END_SHIFT)) & I3C_MWMSG_SDR_CONTROL_END_MASK)
17164#define I3C_MWMSG_SDR_CONTROL_I2C_MASK (0x400U)
17165#define I3C_MWMSG_SDR_CONTROL_I2C_SHIFT (10U)
17166/*! I2C - I2C
17167 * 0b0..I3C message
17168 * 0b1..I2C message
17169 */
17170#define I3C_MWMSG_SDR_CONTROL_I2C(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_I2C_SHIFT)) & I3C_MWMSG_SDR_CONTROL_I2C_MASK)
17171#define I3C_MWMSG_SDR_CONTROL_LEN_MASK (0xF800U)
17172#define I3C_MWMSG_SDR_CONTROL_LEN_SHIFT (11U)
17173/*! LEN - Length
17174 */
17175#define I3C_MWMSG_SDR_CONTROL_LEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_LEN_SHIFT)) & I3C_MWMSG_SDR_CONTROL_LEN_MASK)
17176/*! @} */
17177
17178/*! @name MWMSG_SDR_DATA - Master Write Message Data in SDR mode */
17179/*! @{ */
17180#define I3C_MWMSG_SDR_DATA_DATA16B_MASK (0xFFFFU)
17181#define I3C_MWMSG_SDR_DATA_DATA16B_SHIFT (0U)
17182/*! DATA16B - Data
17183 */
17184#define I3C_MWMSG_SDR_DATA_DATA16B(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_DATA_DATA16B_SHIFT)) & I3C_MWMSG_SDR_DATA_DATA16B_MASK)
17185#define I3C_MWMSG_SDR_DATA_END_MASK (0x10000U)
17186#define I3C_MWMSG_SDR_DATA_END_SHIFT (16U)
17187/*! END - End of message
17188 */
17189#define I3C_MWMSG_SDR_DATA_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_DATA_END_SHIFT)) & I3C_MWMSG_SDR_DATA_END_MASK)
17190/*! @} */
17191
17192/*! @name MRMSG_SDR - Master Read Message in SDR mode */
17193/*! @{ */
17194#define I3C_MRMSG_SDR_DATA_MASK (0xFFFFU)
17195#define I3C_MRMSG_SDR_DATA_SHIFT (0U)
17196/*! DATA - Data
17197 */
17198#define I3C_MRMSG_SDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRMSG_SDR_DATA_SHIFT)) & I3C_MRMSG_SDR_DATA_MASK)
17199/*! @} */
17200
17201/*! @name MWMSG_DDR_CONTROL - Master Write Message in DDR mode */
17202/*! @{ */
17203#define I3C_MWMSG_DDR_CONTROL_LEN_MASK (0x3FFU)
17204#define I3C_MWMSG_DDR_CONTROL_LEN_SHIFT (0U)
17205/*! LEN - Length of message
17206 */
17207#define I3C_MWMSG_DDR_CONTROL_LEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_CONTROL_LEN_SHIFT)) & I3C_MWMSG_DDR_CONTROL_LEN_MASK)
17208#define I3C_MWMSG_DDR_CONTROL_END_MASK (0x4000U)
17209#define I3C_MWMSG_DDR_CONTROL_END_SHIFT (14U)
17210/*! END - End of message
17211 */
17212#define I3C_MWMSG_DDR_CONTROL_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_CONTROL_END_SHIFT)) & I3C_MWMSG_DDR_CONTROL_END_MASK)
17213/*! @} */
17214
17215/*! @name MWMSG_DDR_DATA - Master Write Message Data in DDR mode */
17216/*! @{ */
17217#define I3C_MWMSG_DDR_DATA_DATA16B_MASK (0xFFFFU)
17218#define I3C_MWMSG_DDR_DATA_DATA16B_SHIFT (0U)
17219/*! DATA16B - Data
17220 */
17221#define I3C_MWMSG_DDR_DATA_DATA16B(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_DATA_DATA16B_SHIFT)) & I3C_MWMSG_DDR_DATA_DATA16B_MASK)
17222#define I3C_MWMSG_DDR_DATA_END_MASK (0x10000U)
17223#define I3C_MWMSG_DDR_DATA_END_SHIFT (16U)
17224/*! END - End of message
17225 */
17226#define I3C_MWMSG_DDR_DATA_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_DATA_END_SHIFT)) & I3C_MWMSG_DDR_DATA_END_MASK)
17227/*! @} */
17228
17229/*! @name MRMSG_DDR - Master Read Message in DDR mode */
17230/*! @{ */
17231#define I3C_MRMSG_DDR_DATA_MASK (0xFFFFU)
17232#define I3C_MRMSG_DDR_DATA_SHIFT (0U)
17233/*! DATA - Data
17234 */
17235#define I3C_MRMSG_DDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRMSG_DDR_DATA_SHIFT)) & I3C_MRMSG_DDR_DATA_MASK)
17236#define I3C_MRMSG_DDR_CLEN_MASK (0x3FF0000U)
17237#define I3C_MRMSG_DDR_CLEN_SHIFT (16U)
17238/*! CLEN - Current length
17239 */
17240#define I3C_MRMSG_DDR_CLEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRMSG_DDR_CLEN_SHIFT)) & I3C_MRMSG_DDR_CLEN_MASK)
17241/*! @} */
17242
17243/*! @name MDYNADDR - Master Dynamic Address Register */
17244/*! @{ */
17245#define I3C_MDYNADDR_DAVALID_MASK (0x1U)
17246#define I3C_MDYNADDR_DAVALID_SHIFT (0U)
17247/*! DAVALID - Dynamic address valid
17248 */
17249#define I3C_MDYNADDR_DAVALID(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDYNADDR_DAVALID_SHIFT)) & I3C_MDYNADDR_DAVALID_MASK)
17250#define I3C_MDYNADDR_DADDR_MASK (0xFEU)
17251#define I3C_MDYNADDR_DADDR_SHIFT (1U)
17252/*! DADDR - Dynamic address
17253 */
17254#define I3C_MDYNADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDYNADDR_DADDR_SHIFT)) & I3C_MDYNADDR_DADDR_MASK)
17255/*! @} */
17256
17257/*! @name SID - Slave Module ID Register */
17258/*! @{ */
17259#define I3C_SID_ID_MASK (0xFFFFFFFFU)
17260#define I3C_SID_ID_SHIFT (0U)
17261/*! ID - ID
17262 */
17263#define I3C_SID_ID(x) (((uint32_t)(((uint32_t)(x)) << I3C_SID_ID_SHIFT)) & I3C_SID_ID_MASK)
17264/*! @} */
17265
17266
17267/*!
17268 * @}
17269 */ /* end of group I3C_Register_Masks */
17270
17271
17272/* I3C - Peripheral instance base addresses */
17273#if (__ARM_FEATURE_CMSE & 0x2)
17274 /** Peripheral I3C base address */
17275 #define I3C_BASE (0x50036000u)
17276 /** Peripheral I3C base address */
17277 #define I3C_BASE_NS (0x40036000u)
17278 /** Peripheral I3C base pointer */
17279 #define I3C ((I3C_Type *)I3C_BASE)
17280 /** Peripheral I3C base pointer */
17281 #define I3C_NS ((I3C_Type *)I3C_BASE_NS)
17282 /** Array initializer of I3C peripheral base addresses */
17283 #define I3C_BASE_ADDRS { I3C_BASE }
17284 /** Array initializer of I3C peripheral base pointers */
17285 #define I3C_BASE_PTRS { I3C }
17286 /** Array initializer of I3C peripheral base addresses */
17287 #define I3C_BASE_ADDRS_NS { I3C_BASE_NS }
17288 /** Array initializer of I3C peripheral base pointers */
17289 #define I3C_BASE_PTRS_NS { I3C_NS }
17290#else
17291 /** Peripheral I3C base address */
17292 #define I3C_BASE (0x40036000u)
17293 /** Peripheral I3C base pointer */
17294 #define I3C ((I3C_Type *)I3C_BASE)
17295 /** Array initializer of I3C peripheral base addresses */
17296 #define I3C_BASE_ADDRS { I3C_BASE }
17297 /** Array initializer of I3C peripheral base pointers */
17298 #define I3C_BASE_PTRS { I3C }
17299#endif
17300/** Interrupt vectors for the I3C peripheral type */
17301#define I3C_IRQS { I3C0_IRQn }
17302
17303/*!
17304 * @}
17305 */ /* end of group I3C_Peripheral_Access_Layer */
17306
17307
17308/* ----------------------------------------------------------------------------
17309 -- INPUTMUX Peripheral Access Layer
17310 ---------------------------------------------------------------------------- */
17311
17312/*!
17313 * @addtogroup INPUTMUX_Peripheral_Access_Layer INPUTMUX Peripheral Access Layer
17314 * @{
17315 */
17316
17317/** INPUTMUX - Register Layout Typedef */
17318typedef struct {
17319 __IO uint32_t SCT0_IN_SEL[7]; /**< SCT Peripheral Input Multiplexers N, array offset: 0x0, array step: 0x4 */
17320 uint8_t RESERVED_0[228];
17321 __IO uint32_t PINT_SEL[8]; /**< GPIO Pin Input Multiplexer N, array offset: 0x100, array step: 0x4 */
17322 uint8_t RESERVED_1[32];
17323 __IO uint32_t DSP_INT_SEL[27]; /**< DSP Interrupt Input Multiplexers N, array offset: 0x140, array step: 0x4 */
17324 uint8_t RESERVED_2[84];
17325 __IO uint32_t DMAC0_ITRIG_SEL[33]; /**< DMAC0 Input Trigger Multiplexers N, array offset: 0x200, array step: 0x4 */
17326 uint8_t RESERVED_3[124];
17327 __IO uint32_t DMAC0_OTRIG_SEL[4]; /**< DMAC0 Output Trigger Multiplexers N, array offset: 0x300, array step: 0x4 */
17328 uint8_t RESERVED_4[240];
17329 __IO uint32_t DMAC1_ITRIG_SEL[33]; /**< DMAC1 Input Trigger Multiplexers N, array offset: 0x400, array step: 0x4 */
17330 uint8_t RESERVED_5[124];
17331 __IO uint32_t DMAC1_OTRIG_SEL[4]; /**< DMAC1 Output Trigger Multiplexers N, array offset: 0x500, array step: 0x4 */
17332 uint8_t RESERVED_6[240];
17333 __IO uint32_t CT32BIT_CAP_SEL[5][4]; /**< CT32BIT N Counter Timer Capture Trigger Multiplexers M, array offset: 0x600, array step: index*0x10, index2*0x4 */
17334 uint8_t RESERVED_7[176];
17335 __IO uint32_t FMEASURE_CH_SEL[2]; /**< Frequency Measurement Input Channel Multiplexers, array offset: 0x700, array step: 0x4 */
17336 uint8_t RESERVED_8[56];
17337 __IO uint32_t DMAC0_REQ_ENA0; /**< DMAC0 request enable 0, offset: 0x740 */
17338 uint8_t RESERVED_9[4];
17339 __O uint32_t DMAC0_REQ_ENA0_SET; /**< DMAC0 request enable set 0, offset: 0x748 */
17340 uint8_t RESERVED_10[4];
17341 __O uint32_t DMAC0_REQ_ENA0_CLR; /**< DMAC0 request enable clear 0, offset: 0x750 */
17342 uint8_t RESERVED_11[12];
17343 __IO uint32_t DMAC1_REQ_ENA0; /**< DMAC1 request enable 0, offset: 0x760 */
17344 uint8_t RESERVED_12[4];
17345 __O uint32_t DMAC1_REQ_ENA0_SET; /**< DMAC1 request enable set 0, offset: 0x768 */
17346 uint8_t RESERVED_13[4];
17347 __O uint32_t DMAC1_REQ_ENA0_CLR; /**< DMAC1 request enable clear 0, offset: 0x770 */
17348 uint8_t RESERVED_14[12];
17349 __IO uint32_t DMAC0_ITRIG_ENA0; /**< DMAC0 input trigger enable 0, offset: 0x780 */
17350 uint8_t RESERVED_15[4];
17351 __O uint32_t DMAC0_ITRIG_ENA0_SET; /**< DMAC0 input trigger enable set 0, offset: 0x788 */
17352 uint8_t RESERVED_16[4];
17353 __O uint32_t DMAC0_ITRIG_ENA0_CLR; /**< DMAC0 input trigger enable clear 0, offset: 0x790 */
17354 uint8_t RESERVED_17[12];
17355 __IO uint32_t DMAC1_ITRIG_ENA0; /**< DMAC1 input trigger enable 0, offset: 0x7A0 */
17356 uint8_t RESERVED_18[4];
17357 __O uint32_t DMAC1_ITRIG_ENA0_SET; /**< DMAC1 input trigger enable set 0, offset: 0x7A8 */
17358 uint8_t RESERVED_19[4];
17359 __O uint32_t DMAC1_ITRIG_ENA0_CLR; /**< DMAC1 input trigger enable clear 0, offset: 0x7B0 */
17360} INPUTMUX_Type;
17361
17362/* ----------------------------------------------------------------------------
17363 -- INPUTMUX Register Masks
17364 ---------------------------------------------------------------------------- */
17365
17366/*!
17367 * @addtogroup INPUTMUX_Register_Masks INPUTMUX Register Masks
17368 * @{
17369 */
17370
17371/*! @name SCT0_IN_SEL - SCT Peripheral Input Multiplexers N */
17372/*! @{ */
17373#define INPUTMUX_SCT0_IN_SEL_SCT_IN_SEL_MASK (0x1FU)
17374#define INPUTMUX_SCT0_IN_SEL_SCT_IN_SEL_SHIFT (0U)
17375/*! SCT_IN_SEL - SCT0 Input(n) Selection. 24:1 Selection for each. . .
17376 * 0b00000..SCT0_PIN_INP0
17377 * 0b00001..SCT0_PIN_INP1
17378 * 0b00010..SCT0_PIN_INP2
17379 * 0b00011..SCT0_PIN_INP3
17380 * 0b00100..SCT0_PIN_INP4
17381 * 0b00101..SCT0_PIN_INP5
17382 * 0b00110..SCT0_PIN_INP6
17383 * 0b00111..SCT0_PIN_INP7
17384 * 0b01000..CT32BIT0_MAT0
17385 * 0b01001..CT32BIT1_MAT0
17386 * 0b01010..CT32BIT2_MAT0
17387 * 0b01011..CT32BIT3_MAT0
17388 * 0b01100..CT32BIT4_MAT0
17389 * 0b01101..ADCIRQ
17390 * 0b01110..GPIOINT_BMATCH
17391 * 0b01111..USB1_FRAME_TOGGLE
17392 * 0b10000..CMP0_OUT
17393 * 0b10001..SHARED I2S0_SCLK
17394 * 0b10010..SHARED I2S1_SCLK
17395 * 0b10011..SHARED I2S0_WS
17396 * 0b10100..SHARED I2S1_WS
17397 * 0b10101..MCLK
17398 * 0b10110..ARM_TXEV
17399 * 0b10111..DEBUG_HALTED
17400 * 0b11000..RESERVED
17401 * 0b11001..RESERVED
17402 * 0b11010..RESERVED
17403 * 0b11011..RESERVED
17404 * 0b11100..RESERVED
17405 * 0b11101..RESERVED
17406 * 0b11110..RESERVED
17407 * 0b11111..RESERVED
17408 */
17409#define INPUTMUX_SCT0_IN_SEL_SCT_IN_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_SCT0_IN_SEL_SCT_IN_SEL_SHIFT)) & INPUTMUX_SCT0_IN_SEL_SCT_IN_SEL_MASK)
17410/*! @} */
17411
17412/* The count of INPUTMUX_SCT0_IN_SEL */
17413#define INPUTMUX_SCT0_IN_SEL_COUNT (7U)
17414
17415/*! @name PINT_SEL - GPIO Pin Input Multiplexer N */
17416/*! @{ */
17417#define INPUTMUX_PINT_SEL_PINT_SEL_MASK (0xFFU)
17418#define INPUTMUX_PINT_SEL_PINT_SEL_SHIFT (0U)
17419/*! PINT_SEL - Port Input (PIOx.y) 64 to 8 Mux Select. . . Pin number select for pin interrupt or
17420 * pattern match engine input. (For PIOx_y: INTPIN = (x * 32) + y. PIO0_0 to PIO1_31 correspond to
17421 * numbers 0 to 63.
17422 */
17423#define INPUTMUX_PINT_SEL_PINT_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_PINT_SEL_PINT_SEL_SHIFT)) & INPUTMUX_PINT_SEL_PINT_SEL_MASK)
17424/*! @} */
17425
17426/* The count of INPUTMUX_PINT_SEL */
17427#define INPUTMUX_PINT_SEL_COUNT (8U)
17428
17429/*! @name DSP_INT_SEL - DSP Interrupt Input Multiplexers N */
17430/*! @{ */
17431#define INPUTMUX_DSP_INT_SEL_DSP_INT_SEL_MASK (0x3FU)
17432#define INPUTMUX_DSP_INT_SEL_DSP_INT_SEL_SHIFT (0U)
17433/*! DSP_INT_SEL - DSP Input(n) Selection. 34:1 Selection for each. . .
17434 * 0b000000..FLEXCOMM0
17435 * 0b000001..FLEXCOMM1
17436 * 0b000010..FLEXCOMM2
17437 * 0b000011..FLEXCOMM3
17438 * 0b000100..FLEXCOMM4
17439 * 0b000101..FLEXCOMM5
17440 * 0b000110..FLEXCOMM6
17441 * 0b000111..FLEXCOMM7
17442 * 0b001000..GPIO_INT0_IRQ0
17443 * 0b001001..GPIO_INT0_IRQ1
17444 * 0b001010..GPIO_INT0_IRQ2
17445 * 0b001011..GPIO_INT0_IRQ3
17446 * 0b001100..GPIO_INT0_IRQ4
17447 * 0b001101..GPIO_INT0_IRQ5
17448 * 0b001110..GPIO_INT0_IRQ6
17449 * 0b001111..GPIO_INT0_IRQ7
17450 * 0b010000..NSHSGPIO_INT0
17451 * 0b010001..NSHSGPIO_INT1
17452 * 0b010010..WDT1
17453 * 0b010011..DMAC0
17454 * 0b010100..DMAC1
17455 * 0b010101..MU
17456 * 0b010110..UTICK0
17457 * 0b010111..MRT0
17458 * 0b011000..OS_EVENT_TIMER or OS_EVENT_WAKEUP
17459 * 0b011001..CT32BIT0
17460 * 0b011010..CT32BIT1
17461 * 0b011011..CT32BIT2
17462 * 0b011100..CT32BIT3
17463 * 0b011101..CT32BIT4
17464 * 0b011110..RTC_LITE0_ALARM or RTC_LITE0_WAKEUP
17465 * 0b011111..I3C0
17466 * 0b100000..DMIC0
17467 * 0b100001..HWVAD0
17468 * 0b100010..FLEXSPI
17469 * 0b100011..RESERVED
17470 * 0b100100..RESERVED
17471 * 0b100101..RESERVED
17472 * 0b100110..RESERVED
17473 * 0b100111..RESERVED
17474 * 0b101000..RESERVED
17475 * 0b101001..RESERVED
17476 * 0b101010..RESERVED
17477 * 0b101011..RESERVED
17478 * 0b101100..RESERVED
17479 * 0b101101..RESERVED
17480 * 0b101110..RESERVED
17481 * 0b101111..RESERVED
17482 * 0b110000..RESERVED
17483 * 0b110001..RESERVED
17484 * 0b110010..RESERVED
17485 * 0b110011..RESERVED
17486 * 0b110100..RESERVED
17487 * 0b110101..RESERVED
17488 * 0b110110..RESERVED
17489 * 0b110111..RESERVED
17490 * 0b111000..RESERVED
17491 * 0b111001..RESERVED
17492 * 0b111010..RESERVED
17493 * 0b111011..RESERVED
17494 * 0b111100..RESERVED
17495 * 0b111101..RESERVED
17496 * 0b111110..RESERVED
17497 * 0b111111..RESERVED
17498 */
17499#define INPUTMUX_DSP_INT_SEL_DSP_INT_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DSP_INT_SEL_DSP_INT_SEL_SHIFT)) & INPUTMUX_DSP_INT_SEL_DSP_INT_SEL_MASK)
17500/*! @} */
17501
17502/* The count of INPUTMUX_DSP_INT_SEL */
17503#define INPUTMUX_DSP_INT_SEL_COUNT (27U)
17504
17505/*! @name DMAC0_ITRIG_SEL - DMAC0 Input Trigger Multiplexers N */
17506/*! @{ */
17507#define INPUTMUX_DMAC0_ITRIG_SEL_DMA0_ITRIG_SEL_MASK (0x1FU)
17508#define INPUTMUX_DMAC0_ITRIG_SEL_DMA0_ITRIG_SEL_SHIFT (0U)
17509/*! DMA0_ITRIG_SEL - DMA Input Triggers(n) Selection. 22:1 Selection for each. . .
17510 * 0b00000..NSGPIOPINT0_INT0
17511 * 0b00001..NSGPIOPINT0_INT1
17512 * 0b00010..NSGPIOPINT0_INT2
17513 * 0b00011..NSGPIOPINT0_INT3
17514 * 0b00100..CT32BIT0_DMAREQ_M0
17515 * 0b00101..CT32BIT0_DMAREQ_M1
17516 * 0b00110..CT32BIT1_DMAREQ_M0
17517 * 0b00111..CT32BIT1_DMAREQ_M1
17518 * 0b01000..CT32BIT2_DMAREQ_M0
17519 * 0b01001..CT32BIT2_DMAREQ_M1
17520 * 0b01010..CT32BIT3_DMAREQ_M0
17521 * 0b01011..CT32BIT3_DMAREQ_M1
17522 * 0b01100..CT32BIT4_DMAREQ_M0
17523 * 0b01101..CT32BIT4_DMAREQ_M1
17524 * 0b01110..DMAC0_TRIGOUT_A
17525 * 0b01111..DMAC0_TRIGOUT_B
17526 * 0b10000..DMAC0_TRIGOUT_C
17527 * 0b10001..DMAC0_TRIGOUT_D
17528 * 0b10010..SCT0_DMA0
17529 * 0b10011..SCT0_DMA1
17530 * 0b10100..HASHCRYPT_OUT_DMA
17531 * 0b10101..ACMP_DMA
17532 * 0b10110..RESERVED16
17533 * 0b10111..RESERVED17
17534 * 0b11000..ADC_DMAC
17535 * 0b11001..RESERVED
17536 * 0b11010..RESERVED
17537 * 0b11011..RESERVED
17538 * 0b11100..FLEXSPI_RX
17539 * 0b11101..FLEXSPI_TX
17540 * 0b11110..RESERVED
17541 * 0b11111..RESERVED
17542 */
17543#define INPUTMUX_DMAC0_ITRIG_SEL_DMA0_ITRIG_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_SEL_DMA0_ITRIG_SEL_SHIFT)) & INPUTMUX_DMAC0_ITRIG_SEL_DMA0_ITRIG_SEL_MASK)
17544/*! @} */
17545
17546/* The count of INPUTMUX_DMAC0_ITRIG_SEL */
17547#define INPUTMUX_DMAC0_ITRIG_SEL_COUNT (33U)
17548
17549/*! @name DMAC0_OTRIG_SEL - DMAC0 Output Trigger Multiplexers N */
17550/*! @{ */
17551#define INPUTMUX_DMAC0_OTRIG_SEL_DMAC0_OTRIG_SEL_MASK (0x3FU)
17552#define INPUTMUX_DMAC0_OTRIG_SEL_DMAC0_OTRIG_SEL_SHIFT (0U)
17553/*! DMAC0_OTRIG_SEL - DMAC0 Output Triggers Select for A, B, C, D IE.,DMAC0_OTRIG_A, DMAC0_OTRIG_B,
17554 * DMAC0_OTRIG_C, DMAC0_OTRIG_D DMA0 Output Triggers(n) Selection. 32:1 Selection for each. . .
17555 * 0b000000..DMAC0_OTRIG_CH0
17556 * 0b000001..DMAC0_OTRIG_CH1
17557 * 0b000010..DMAC0_OTRIG_CH2
17558 * 0b000011..DMAC0_OTRIG_CH3
17559 * 0b000100..DMAC0_OTRIG_CH4
17560 * 0b000101..DMAC0_OTRIG_CH5
17561 * 0b000110..DMAC0_OTRIG_CH6
17562 * 0b000111..DMAC0_OTRIG_CH7
17563 * 0b001000..DMAC0_OTRIG_CH8
17564 * 0b001001..DMAC0_OTRIG_CH9
17565 * 0b001010..DMAC0_OTRIG_CH10
17566 * 0b001011..DMAC0_OTRIG_CH11
17567 * 0b001100..DMAC0_OTRIG_CH12
17568 * 0b001101..DMAC0_OTRIG_CH13
17569 * 0b001110..DMAC0_OTRIG_CH14
17570 * 0b001111..DMAC0_OTRIG_CH15
17571 * 0b010000..DMAC0_OTRIG_CH16
17572 * 0b010001..DMAC0_OTRIG_CH17
17573 * 0b010010..DMAC0_OTRIG_CH18
17574 * 0b010011..DMAC0_OTRIG_CH19
17575 * 0b010100..DMAC0_OTRIG_CH20
17576 * 0b010101..DMAC0_OTRIG_CH21
17577 * 0b010110..DMAC0_OTRIG_CH22
17578 * 0b010111..DMAC0_OTRIG_CH23
17579 * 0b011000..DMAC0_OTRIG_CH24
17580 * 0b011001..DMAC0_OTRIG_CH25
17581 * 0b011010..DMAC0_OTRIG_CH26
17582 * 0b011011..DMAC0_OTRIG_CH27
17583 * 0b011100..DMAC0_OTRIG_CH28
17584 * 0b011101..DMAC0_OTRIG_CH29
17585 * 0b011110..DMAC0_OTRIG_CH30
17586 * 0b011111..DMAC0_OTRIG_CH31
17587 * 0b100000..DMAC0_OTRIG_CH32
17588 */
17589#define INPUTMUX_DMAC0_OTRIG_SEL_DMAC0_OTRIG_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_OTRIG_SEL_DMAC0_OTRIG_SEL_SHIFT)) & INPUTMUX_DMAC0_OTRIG_SEL_DMAC0_OTRIG_SEL_MASK)
17590/*! @} */
17591
17592/* The count of INPUTMUX_DMAC0_OTRIG_SEL */
17593#define INPUTMUX_DMAC0_OTRIG_SEL_COUNT (4U)
17594
17595/*! @name DMAC1_ITRIG_SEL - DMAC1 Input Trigger Multiplexers N */
17596/*! @{ */
17597#define INPUTMUX_DMAC1_ITRIG_SEL_DMA1_ITRIG_SEL_MASK (0x1FU)
17598#define INPUTMUX_DMAC1_ITRIG_SEL_DMA1_ITRIG_SEL_SHIFT (0U)
17599/*! DMA1_ITRIG_SEL - DMA Input Triggers(n) Selection. 18:1 Selection for each. . .
17600 * 0b00000..NSGPIOPINT0_INT0
17601 * 0b00001..NSGPIOPINT0_INT1
17602 * 0b00010..NSGPIOPINT0_INT2
17603 * 0b00011..NSGPIOPINT0_INT3
17604 * 0b00100..CT32BIT0_DMAREQ_M0
17605 * 0b00101..CT32BIT0_DMAREQ_M1
17606 * 0b00110..CT32BIT1_DMAREQ_M0
17607 * 0b00111..CT32BIT1_DMAREQ_M1
17608 * 0b01000..CT32BIT2_DMAREQ_M0
17609 * 0b01001..CT32BIT2_DMAREQ_M1
17610 * 0b01010..CT32BIT3_DMAREQ_M0
17611 * 0b01011..CT32BIT3_DMAREQ_M1
17612 * 0b01100..CT32BIT4_DMAREQ_M0
17613 * 0b01101..CT32BIT4_DMAREQ_M1
17614 * 0b01110..DMAC1_TRIGOUT_A
17615 * 0b01111..DMAC1_TRIGOUT_B
17616 * 0b10000..DMAC1_TRIGOUT_C
17617 * 0b10001..DMAC0_TRIGOUT_D
17618 * 0b10010..SCT0_DMAC0
17619 * 0b10011..SCT0_DMAC1
17620 * 0b10100..HASHCRYPT_OUT_DMA
17621 * 0b10101..ACMP_DMA
17622 * 0b10110..RESERVED16
17623 * 0b10111..RESERVED17
17624 * 0b11000..ADC_DMAC
17625 * 0b11001..RESERVED
17626 * 0b11010..RESERVED
17627 * 0b11011..RESERVED
17628 * 0b11100..FLEXSPI_RX
17629 * 0b11101..FLEXSPI_TX
17630 * 0b11110..RESERVED
17631 * 0b11111..RESERVED
17632 */
17633#define INPUTMUX_DMAC1_ITRIG_SEL_DMA1_ITRIG_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_SEL_DMA1_ITRIG_SEL_SHIFT)) & INPUTMUX_DMAC1_ITRIG_SEL_DMA1_ITRIG_SEL_MASK)
17634/*! @} */
17635
17636/* The count of INPUTMUX_DMAC1_ITRIG_SEL */
17637#define INPUTMUX_DMAC1_ITRIG_SEL_COUNT (33U)
17638
17639/*! @name DMAC1_OTRIG_SEL - DMAC1 Output Trigger Multiplexers N */
17640/*! @{ */
17641#define INPUTMUX_DMAC1_OTRIG_SEL_DMAC1_OTRIG_SEL_MASK (0x3FU)
17642#define INPUTMUX_DMAC1_OTRIG_SEL_DMAC1_OTRIG_SEL_SHIFT (0U)
17643/*! DMAC1_OTRIG_SEL - DMA1 Output Triggers Select for A, B, C, D IE., DMA1_OTRIG_A, DMA1_OTRIG_B,
17644 * DM1_OTRIG_C, DMA1_OTRIG_D DMA0 Output Triggers(n) Selection. 32:1 Selection for each. . .
17645 * 0b000000..DMAC1_OTRIG_CH0
17646 * 0b000001..DMAC1_OTRIG_CH1
17647 * 0b000010..DMAC1_OTRIG_CH2
17648 * 0b000011..DMAC1_OTRIG_CH3
17649 * 0b000100..DMAC1_OTRIG_CH4
17650 * 0b000101..DMAC1_OTRIG_CH5
17651 * 0b000110..DMAC1_OTRIG_CH6
17652 * 0b000111..DMAC1_OTRIG_CH7
17653 * 0b001000..DMAC1_OTRIG_CH8
17654 * 0b001001..DMAC1_OTRIG_CH9
17655 * 0b001010..DMAC1_OTRIG_CH10
17656 * 0b001011..DMAC1_OTRIG_CH11
17657 * 0b001100..DMAC1_OTRIG_CH12
17658 * 0b001101..DMAC1_OTRIG_CH13
17659 * 0b001110..DMAC1_OTRIG_CH14
17660 * 0b001111..DMAC1_OTRIG_CH15
17661 * 0b010000..DMAC1_OTRIG_CH16
17662 * 0b010001..DMAC1_OTRIG_CH17
17663 * 0b010010..DMAC1_OTRIG_CH18
17664 * 0b010011..DMAC1_OTRIG_CH19
17665 * 0b010100..DMAC1_OTRIG_CH20
17666 * 0b010101..DMAC1_OTRIG_CH21
17667 * 0b010110..DMAC1_OTRIG_CH22
17668 * 0b010111..DMAC1_OTRIG_CH23
17669 * 0b011000..DMAC1_OTRIG_CH24
17670 * 0b011001..DMAC1_OTRIG_CH25
17671 * 0b011010..DMAC1_OTRIG_CH26
17672 * 0b011011..DMAC1_OTRIG_CH27
17673 * 0b011100..DMAC1_OTRIG_CH28
17674 * 0b011101..DMAC1_OTRIG_CH29
17675 * 0b011110..DMAC1_OTRIG_CH30
17676 * 0b011111..DMAC1_OTRIG_CH31
17677 * 0b100000..DMAC1_OTRIG_CH32
17678 */
17679#define INPUTMUX_DMAC1_OTRIG_SEL_DMAC1_OTRIG_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_OTRIG_SEL_DMAC1_OTRIG_SEL_SHIFT)) & INPUTMUX_DMAC1_OTRIG_SEL_DMAC1_OTRIG_SEL_MASK)
17680/*! @} */
17681
17682/* The count of INPUTMUX_DMAC1_OTRIG_SEL */
17683#define INPUTMUX_DMAC1_OTRIG_SEL_COUNT (4U)
17684
17685/*! @name CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL - CT32BIT N Counter Timer Capture Trigger Multiplexers M */
17686/*! @{ */
17687#define INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_CAPn_SEL_MASK (0x1FU)
17688#define INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_CAPn_SEL_SHIFT (0U)
17689/*! CAPn_SEL - Counter Timer m, Capture Port Input n 19:1 Mux Select. . .
17690 * 0b00000..CT_INP0
17691 * 0b00001..CT_INP1
17692 * 0b00010..CT_INP2
17693 * 0b00011..CT_INP3
17694 * 0b00100..CT_INP4
17695 * 0b00101..CT_INP5
17696 * 0b00110..CT_INP6
17697 * 0b00111..CT_INP7
17698 * 0b01000..CT_INP8
17699 * 0b01001..CT_INP9
17700 * 0b01010..CT_INP10
17701 * 0b01011..CT_INP11
17702 * 0b01100..CT_INP12
17703 * 0b01101..CT_INP13
17704 * 0b01110..CT_INP14
17705 * 0b01111..CT_INP15
17706 * 0b10000..SHARED I2S0_WS
17707 * 0b10001..SHARED I2S1_WS
17708 * 0b10010..USB1_FRAME_TOGGLE
17709 * 0b10011..RESERVED
17710 * 0b10100..RESERVED
17711 * 0b10101..RESERVED
17712 * 0b10110..RESERVED
17713 * 0b10111..RESERVED
17714 * 0b11000..RESERVED
17715 * 0b11001..RESERVED
17716 * 0b11010..RESERVED
17717 * 0b11011..RESERVED
17718 * 0b11100..RESERVED
17719 * 0b11101..RESERVED
17720 * 0b11110..RESERVED
17721 * 0b11111..RESERVED
17722 */
17723#define INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_CAPn_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_CAPn_SEL_SHIFT)) & INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_CAPn_SEL_MASK)
17724/*! @} */
17725
17726/* The count of INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL */
17727#define INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_COUNT (5U)
17728
17729/* The count of INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL */
17730#define INPUTMUX_CT32BITN_CAPM_SEL_CT32BIT_CAP_SEL_COUNT2 (4U)
17731
17732/*! @name FMEASURE_CH_SEL - Frequency Measurement Input Channel Multiplexers */
17733/*! @{ */
17734#define INPUTMUX_FMEASURE_CH_SEL_FMEASURE_SEL_MASK (0x1FU)
17735#define INPUTMUX_FMEASURE_CH_SEL_FMEASURE_SEL_SHIFT (0U)
17736/*! FMEASURE_SEL - Frequency Measure Channel n Selection 7:1 Mux Select. . .
17737 * 0b00000..XTALIN
17738 * 0b00001..SFRO
17739 * 0b00010..FFRO
17740 * 0b00011..Low Power Oscillator Clock (LPOSC)
17741 * 0b00100..RTC 32KHz OSC
17742 * 0b00101..MAIN_SYS_CLOCK
17743 * 0b00110..FREQME_GPIO_CLK
17744 * 0b00111..RESERVED
17745 * 0b01000..RESERVED
17746 * 0b01001..RESERVED
17747 * 0b01010..RESERVED
17748 * 0b01011..RESERVED
17749 * 0b01100..RESERVED
17750 * 0b01101..RESERVED
17751 * 0b01110..RESERVED
17752 * 0b01111..RESERVED
17753 * 0b10000..RESERVED
17754 * 0b10001..RESERVED
17755 * 0b10010..RESERVED
17756 * 0b10011..RESERVED
17757 * 0b10100..RESERVED
17758 * 0b10101..RESERVED
17759 * 0b10110..RESERVED
17760 * 0b10111..RESERVED
17761 * 0b11000..RESERVED
17762 * 0b11001..RESERVED
17763 * 0b11010..RESERVED
17764 * 0b11011..RESERVED
17765 * 0b11100..RESERVED
17766 * 0b11101..RESERVED
17767 * 0b11110..RESERVED
17768 * 0b11111..RESERVED
17769 */
17770#define INPUTMUX_FMEASURE_CH_SEL_FMEASURE_SEL(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_FMEASURE_CH_SEL_FMEASURE_SEL_SHIFT)) & INPUTMUX_FMEASURE_CH_SEL_FMEASURE_SEL_MASK)
17771/*! @} */
17772
17773/* The count of INPUTMUX_FMEASURE_CH_SEL */
17774#define INPUTMUX_FMEASURE_CH_SEL_COUNT (2U)
17775
17776/*! @name DMAC0_REQ_ENA0 - DMAC0 request enable 0 */
17777/*! @{ */
17778#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_RX_MASK (0x1U)
17779#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_RX_SHIFT (0U)
17780/*! FLEXCOMM0_RX - FLEXCOMM0 RX enable
17781 * 0b0..disable
17782 * 0b1..enable
17783 */
17784#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_RX_MASK)
17785#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_TX_MASK (0x2U)
17786#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_TX_SHIFT (1U)
17787/*! FLEXCOMM0_TX - FLEXCOMM0 TX enable
17788 * 0b0..disable
17789 * 0b1..enable
17790 */
17791#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM0_TX_MASK)
17792#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_RX_MASK (0x4U)
17793#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_RX_SHIFT (2U)
17794/*! FLEXCOMM1_RX - FLEXCOMM1 RX enable
17795 * 0b0..disable
17796 * 0b1..enable
17797 */
17798#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_RX_MASK)
17799#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_TX_MASK (0x8U)
17800#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_TX_SHIFT (3U)
17801/*! FLEXCOMM1_TX - FLEXCOMM1 TX enable
17802 * 0b0..disable
17803 * 0b1..enable
17804 */
17805#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM1_TX_MASK)
17806#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_RX_MASK (0x10U)
17807#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_RX_SHIFT (4U)
17808/*! FLEXCOMM2_RX - FLEXCOMM2 RX enable
17809 * 0b0..disable
17810 * 0b1..enable
17811 */
17812#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_RX_MASK)
17813#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_TX_MASK (0x20U)
17814#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_TX_SHIFT (5U)
17815/*! FLEXCOMM2_TX - FLEXCOMM2 TX enable
17816 * 0b0..disable
17817 * 0b1..enable
17818 */
17819#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM2_TX_MASK)
17820#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_RX_MASK (0x40U)
17821#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_RX_SHIFT (6U)
17822/*! FLEXCOMM3_RX - FLEXCOMM3 RX enable
17823 * 0b0..disable
17824 * 0b1..enable
17825 */
17826#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_RX_MASK)
17827#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_TX_MASK (0x80U)
17828#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_TX_SHIFT (7U)
17829/*! FLEXCOMM3_TX - FLEXCOMM3 TX enable
17830 * 0b0..disable
17831 * 0b1..enable
17832 */
17833#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM3_TX_MASK)
17834#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_RX_MASK (0x100U)
17835#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_RX_SHIFT (8U)
17836/*! FLEXCOMM4_RX - FLEXCOMM4 RX enable
17837 * 0b0..disable
17838 * 0b1..enable
17839 */
17840#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_RX_MASK)
17841#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_TX_MASK (0x200U)
17842#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_TX_SHIFT (9U)
17843/*! FLEXCOMM4_TX - FLEXCOMM4 TX enable
17844 * 0b0..disable
17845 * 0b1..enable
17846 */
17847#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM4_TX_MASK)
17848#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_RX_MASK (0x400U)
17849#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_RX_SHIFT (10U)
17850/*! FLEXCOMM5_RX - FLEXCOMM5 RX enable
17851 * 0b0..disable
17852 * 0b1..enable
17853 */
17854#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_RX_MASK)
17855#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_TX_MASK (0x800U)
17856#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_TX_SHIFT (11U)
17857/*! FLEXCOMM5_TX - FLEXCOMM5 TX enable
17858 * 0b0..disable
17859 * 0b1..enable
17860 */
17861#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM5_TX_MASK)
17862#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_RX_MASK (0x1000U)
17863#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_RX_SHIFT (12U)
17864/*! FLEXCOMM6_RX - FLEXCOMM6 RX enable
17865 * 0b0..disable
17866 * 0b1..enable
17867 */
17868#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_RX_MASK)
17869#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_TX_MASK (0x2000U)
17870#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_TX_SHIFT (13U)
17871/*! FLEXCOMM6_TX - FLEXCOMM6 TX enable
17872 * 0b0..disable
17873 * 0b1..enable
17874 */
17875#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM6_TX_MASK)
17876#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_RX_MASK (0x4000U)
17877#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_RX_SHIFT (14U)
17878/*! FLEXCOMM7_RX - FLEXCOMM7 RX enable
17879 * 0b0..disable
17880 * 0b1..enable
17881 */
17882#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_RX_MASK)
17883#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_TX_MASK (0x8000U)
17884#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_TX_SHIFT (15U)
17885/*! FLEXCOMM7_TX - FLEXCOMM7 TX enable
17886 * 0b0..disable
17887 * 0b1..enable
17888 */
17889#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM7_TX_MASK)
17890#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH0_MASK (0x10000U)
17891#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH0_SHIFT (16U)
17892/*! DMIC0CH0 - DMIC0 channel 0 enable
17893 * 0b0..disable
17894 * 0b1..enable
17895 */
17896#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH0_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH0_MASK)
17897#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH1_MASK (0x20000U)
17898#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH1_SHIFT (17U)
17899/*! DMIC0CH1 - DMIC0 channel 1 enable
17900 * 0b0..disable
17901 * 0b1..enable
17902 */
17903#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH1_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH1_MASK)
17904#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH2_MASK (0x40000U)
17905#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH2_SHIFT (18U)
17906/*! DMIC0CH2 - DMIC0 channel 2 enable
17907 * 0b0..disable
17908 * 0b1..enable
17909 */
17910#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH2_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH2_MASK)
17911#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH3_MASK (0x80000U)
17912#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH3_SHIFT (19U)
17913/*! DMIC0CH3 - DMIC0 channel 3 enable
17914 * 0b0..disable
17915 * 0b1..enable
17916 */
17917#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH3_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH3_MASK)
17918#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH4_MASK (0x100000U)
17919#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH4_SHIFT (20U)
17920/*! DMIC0CH4 - DMIC0 channel 4 enable
17921 * 0b0..disable
17922 * 0b1..enable
17923 */
17924#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH4_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH4_MASK)
17925#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH5_MASK (0x200000U)
17926#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH5_SHIFT (21U)
17927/*! DMIC0CH5 - DMIC0 channel 5 enable
17928 * 0b0..disable
17929 * 0b1..enable
17930 */
17931#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH5_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH5_MASK)
17932#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH6_MASK (0x400000U)
17933#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH6_SHIFT (22U)
17934/*! DMIC0CH6 - DMIC0 channel 6 enable
17935 * 0b0..disable
17936 * 0b1..enable
17937 */
17938#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH6_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH6_MASK)
17939#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH7_MASK (0x800000U)
17940#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH7_SHIFT (23U)
17941/*! DMIC0CH7 - DMIC0 channel 7 enable
17942 * 0b0..disable
17943 * 0b1..enable
17944 */
17945#define INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH7_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_DMIC0CH7_MASK)
17946#define INPUTMUX_DMAC0_REQ_ENA0_I3C0_RX_MASK (0x1000000U)
17947#define INPUTMUX_DMAC0_REQ_ENA0_I3C0_RX_SHIFT (24U)
17948/*! I3C0_RX - I3C RX enable
17949 * 0b0..disable
17950 * 0b1..enable
17951 */
17952#define INPUTMUX_DMAC0_REQ_ENA0_I3C0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_I3C0_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_I3C0_RX_MASK)
17953#define INPUTMUX_DMAC0_REQ_ENA0_I3C0_TX_MASK (0x2000000U)
17954#define INPUTMUX_DMAC0_REQ_ENA0_I3C0_TX_SHIFT (25U)
17955/*! I3C0_TX - I3C TX enable
17956 * 0b0..disable
17957 * 0b1..enable
17958 */
17959#define INPUTMUX_DMAC0_REQ_ENA0_I3C0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_I3C0_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_I3C0_TX_MASK)
17960#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_RX_MASK (0x4000000U)
17961#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_RX_SHIFT (26U)
17962/*! FLEXCOMM14_RX - FLEXCOMM14 RX enable
17963 * 0b0..disable
17964 * 0b1..enable
17965 */
17966#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_RX_MASK)
17967#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_TX_MASK (0x8000000U)
17968#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_TX_SHIFT (27U)
17969/*! FLEXCOMM14_TX - FLEXCOMM14 TX enable
17970 * 0b0..disable
17971 * 0b1..enable
17972 */
17973#define INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_FLEXCOMM14_TX_MASK)
17974#define INPUTMUX_DMAC0_REQ_ENA0_HASHCRYPT_MASK (0x40000000U)
17975#define INPUTMUX_DMAC0_REQ_ENA0_HASHCRYPT_SHIFT (30U)
17976/*! HASHCRYPT - hash enable
17977 * 0b0..disable
17978 * 0b1..enable
17979 */
17980#define INPUTMUX_DMAC0_REQ_ENA0_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_HASHCRYPT_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_HASHCRYPT_MASK)
17981/*! @} */
17982
17983/*! @name DMAC0_REQ_ENA0_SET - DMAC0 request enable set 0 */
17984/*! @{ */
17985#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_RX_MASK (0x1U)
17986#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_RX_SHIFT (0U)
17987/*! FLEXCOMM0_RX - FLEXCOMM0 RX enable set
17988 * 0b0..No Effect
17989 * 0b1..Sets the ENA0 Bit
17990 */
17991#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_RX_MASK)
17992#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_TX_MASK (0x2U)
17993#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_TX_SHIFT (1U)
17994/*! FLEXCOMM0_TX - FLEXCOMM0 TX enable set
17995 * 0b0..No Effect
17996 * 0b1..Sets the ENA0 Bit
17997 */
17998#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM0_TX_MASK)
17999#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_RX_MASK (0x4U)
18000#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_RX_SHIFT (2U)
18001/*! FLEXCOMM1_RX - FLEXCOMM1 RX enable set
18002 * 0b0..No Effect
18003 * 0b1..Sets the ENA0 Bit
18004 */
18005#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_RX_MASK)
18006#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_TX_MASK (0x8U)
18007#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_TX_SHIFT (3U)
18008/*! FLEXCOMM1_TX - FLEXCOMM1 TX enable set
18009 * 0b0..No Effect
18010 * 0b1..Sets the ENA0 Bit
18011 */
18012#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM1_TX_MASK)
18013#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_RX_MASK (0x10U)
18014#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_RX_SHIFT (4U)
18015/*! FLEXCOMM2_RX - FLEXCOMM2 RX enable set
18016 * 0b0..No Effect
18017 * 0b1..Sets the ENA0 Bit
18018 */
18019#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_RX_MASK)
18020#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_TX_MASK (0x20U)
18021#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_TX_SHIFT (5U)
18022/*! FLEXCOMM2_TX - FLEXCOMM2 TX enable set
18023 * 0b0..No Effect
18024 * 0b1..Sets the ENA0 Bit
18025 */
18026#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM2_TX_MASK)
18027#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_RX_MASK (0x40U)
18028#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_RX_SHIFT (6U)
18029/*! FLEXCOMM3_RX - FLEXCOMM3 RX enable set
18030 * 0b0..No Effect
18031 * 0b1..Sets the ENA0 Bit
18032 */
18033#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_RX_MASK)
18034#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_TX_MASK (0x80U)
18035#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_TX_SHIFT (7U)
18036/*! FLEXCOMM3_TX - FLEXCOMM3 TX enable set
18037 * 0b0..No Effect
18038 * 0b1..Sets the ENA0 Bit
18039 */
18040#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM3_TX_MASK)
18041#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_RX_MASK (0x100U)
18042#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_RX_SHIFT (8U)
18043/*! FLEXCOMM4_RX - FLEXCOMM4 RX enable set
18044 * 0b0..No Effect
18045 * 0b1..Sets the ENA0 Bit
18046 */
18047#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_RX_MASK)
18048#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_TX_MASK (0x200U)
18049#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_TX_SHIFT (9U)
18050/*! FLEXCOMM4_TX - FLEXCOMM4 TX enable set
18051 * 0b0..No Effect
18052 * 0b1..Sets the ENA0 Bit
18053 */
18054#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM4_TX_MASK)
18055#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_RX_MASK (0x400U)
18056#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_RX_SHIFT (10U)
18057/*! FLEXCOMM5_RX - FLEXCOMM5 RX enable set
18058 * 0b0..No Effect
18059 * 0b1..Sets the ENA0 Bit
18060 */
18061#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_RX_MASK)
18062#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_TX_MASK (0x800U)
18063#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_TX_SHIFT (11U)
18064/*! FLEXCOMM5_TX - FLEXCOMM5 TX enable set
18065 * 0b0..No Effect
18066 * 0b1..Sets the ENA0 Bit
18067 */
18068#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM5_TX_MASK)
18069#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_RX_MASK (0x1000U)
18070#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_RX_SHIFT (12U)
18071/*! FLEXCOMM6_RX - FLEXCOMM6 RX enable set
18072 * 0b0..No Effect
18073 * 0b1..Sets the ENA0 Bit
18074 */
18075#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_RX_MASK)
18076#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_TX_MASK (0x2000U)
18077#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_TX_SHIFT (13U)
18078/*! FLEXCOMM6_TX - FLEXCOMM6 TX enable set
18079 * 0b0..No Effect
18080 * 0b1..Sets the ENA0 Bit
18081 */
18082#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM6_TX_MASK)
18083#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_RX_MASK (0x4000U)
18084#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_RX_SHIFT (14U)
18085/*! FLEXCOMM7_RX - FLEXCOMM7 RX enable set
18086 * 0b0..No Effect
18087 * 0b1..Sets the ENA0 Bit
18088 */
18089#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_RX_MASK)
18090#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_TX_MASK (0x8000U)
18091#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_TX_SHIFT (15U)
18092/*! FLEXCOMM7_TX - FLEXCOMM7 TX enable set
18093 * 0b0..No Effect
18094 * 0b1..Sets the ENA0 Bit
18095 */
18096#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM7_TX_MASK)
18097#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH0_MASK (0x10000U)
18098#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH0_SHIFT (16U)
18099/*! DMIC0CH0 - DMIC0 channel 0 enable set
18100 * 0b0..No Effect
18101 * 0b1..Sets the ENA0 Bit
18102 */
18103#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH0_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH0_MASK)
18104#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH1_MASK (0x20000U)
18105#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH1_SHIFT (17U)
18106/*! DMIC0CH1 - DMIC0 channel 1 enable set
18107 * 0b0..No Effect
18108 * 0b1..Sets the ENA0 Bit
18109 */
18110#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH1_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH1_MASK)
18111#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH2_MASK (0x40000U)
18112#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH2_SHIFT (18U)
18113/*! DMIC0CH2 - DMIC0 channel 2 enable set
18114 * 0b0..No Effect
18115 * 0b1..Sets the ENA0 Bit
18116 */
18117#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH2_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH2_MASK)
18118#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH3_MASK (0x80000U)
18119#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH3_SHIFT (19U)
18120/*! DMIC0CH3 - DMIC0 channel 3 enable set
18121 * 0b0..No Effect
18122 * 0b1..Sets the ENA0 Bit
18123 */
18124#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH3_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH3_MASK)
18125#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH4_MASK (0x100000U)
18126#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH4_SHIFT (20U)
18127/*! DMIC0CH4 - DMIC0 channel 4 enable set
18128 * 0b0..No Effect
18129 * 0b1..Sets the ENA0 Bit
18130 */
18131#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH4_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH4_MASK)
18132#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH5_MASK (0x200000U)
18133#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH5_SHIFT (21U)
18134/*! DMIC0CH5 - DMIC0 channel 5 enable set
18135 * 0b0..No Effect
18136 * 0b1..Sets the ENA0 Bit
18137 */
18138#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH5_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH5_MASK)
18139#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH6_MASK (0x400000U)
18140#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH6_SHIFT (22U)
18141/*! DMIC0CH6 - DMIC0 channel 6 enable set
18142 * 0b0..No Effect
18143 * 0b1..Sets the ENA0 Bit
18144 */
18145#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH6_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH6_MASK)
18146#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH7_MASK (0x800000U)
18147#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH7_SHIFT (23U)
18148/*! DMIC0CH7 - DMIC0 channel 7 enable set
18149 * 0b0..No Effect
18150 * 0b1..Sets the ENA0 Bit
18151 */
18152#define INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH7_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_DMIC0CH7_MASK)
18153#define INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_RX_MASK (0x1000000U)
18154#define INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_RX_SHIFT (24U)
18155/*! I3C0_RX - I3C RX enable set
18156 * 0b0..No Effect
18157 * 0b1..Sets the ENA0 Bit
18158 */
18159#define INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_RX_MASK)
18160#define INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_TX_MASK (0x2000000U)
18161#define INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_TX_SHIFT (25U)
18162/*! I3C0_TX - I3C TX enable set
18163 * 0b0..No Effect
18164 * 0b1..Sets the ENA0 Bit
18165 */
18166#define INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_I3C0_TX_MASK)
18167#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_RX_MASK (0x4000000U)
18168#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_RX_SHIFT (26U)
18169/*! FLEXCOMM14_RX - FLEXCOMM14 TX enable set
18170 * 0b0..No Effect
18171 * 0b1..Sets the ENA0 Bit
18172 */
18173#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_RX_MASK)
18174#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_TX_MASK (0x8000000U)
18175#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_TX_SHIFT (27U)
18176/*! FLEXCOMM14_TX - FLEXCOMM15 RX enable set
18177 * 0b0..No Effect
18178 * 0b1..Sets the ENA0 Bit
18179 */
18180#define INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_FLEXCOMM14_TX_MASK)
18181#define INPUTMUX_DMAC0_REQ_ENA0_SET_HASHCRYPT_MASK (0x40000000U)
18182#define INPUTMUX_DMAC0_REQ_ENA0_SET_HASHCRYPT_SHIFT (30U)
18183/*! HASHCRYPT - Hash enable set
18184 * 0b0..No Effect
18185 * 0b1..Sets the ENA0 Bit
18186 */
18187#define INPUTMUX_DMAC0_REQ_ENA0_SET_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_SET_HASHCRYPT_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_SET_HASHCRYPT_MASK)
18188/*! @} */
18189
18190/*! @name DMAC0_REQ_ENA0_CLR - DMAC0 request enable clear 0 */
18191/*! @{ */
18192#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_RX_MASK (0x1U)
18193#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_RX_SHIFT (0U)
18194/*! FLEXCOMM0_RX - FLEXCOMM0 RX enable clear
18195 * 0b0..No Effect
18196 * 0b1..Clears the ENA0 Bit
18197 */
18198#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_RX_MASK)
18199#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_TX_MASK (0x2U)
18200#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_TX_SHIFT (1U)
18201/*! FLEXCOMM0_TX - FLEXCOMM0 TX enable clear
18202 * 0b0..No Effect
18203 * 0b1..Clears the ENA0 Bit
18204 */
18205#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM0_TX_MASK)
18206#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_RX_MASK (0x4U)
18207#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_RX_SHIFT (2U)
18208/*! FLEXCOMM1_RX - FLEXCOMM1 RX enable clear
18209 * 0b0..No Effect
18210 * 0b1..Clears the ENA0 Bit
18211 */
18212#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_RX_MASK)
18213#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_TX_MASK (0x8U)
18214#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_TX_SHIFT (3U)
18215/*! FLEXCOMM1_TX - FLEXCOMM1 TX enable clear
18216 * 0b0..No Effect
18217 * 0b1..Clears the ENA0 Bit
18218 */
18219#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM1_TX_MASK)
18220#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_RX_MASK (0x10U)
18221#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_RX_SHIFT (4U)
18222/*! FLEXCOMM2_RX - FLEXCOMM2 RX enable clear
18223 * 0b0..No Effect
18224 * 0b1..Clears the ENA0 Bit
18225 */
18226#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_RX_MASK)
18227#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_TX_MASK (0x20U)
18228#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_TX_SHIFT (5U)
18229/*! FLEXCOMM2_TX - FLEXCOMM2 TX enable clear
18230 * 0b0..No Effect
18231 * 0b1..Clears the ENA0 Bit
18232 */
18233#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM2_TX_MASK)
18234#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_RX_MASK (0x40U)
18235#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_RX_SHIFT (6U)
18236/*! FLEXCOMM3_RX - FLEXCOMM3 RX enable clear
18237 * 0b0..No Effect
18238 * 0b1..Clears the ENA0 Bit
18239 */
18240#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_RX_MASK)
18241#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_TX_MASK (0x80U)
18242#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_TX_SHIFT (7U)
18243/*! FLEXCOMM3_TX - FLEXCOMM3 TX enable clear
18244 * 0b0..No Effect
18245 * 0b1..Clears the ENA0 Bit
18246 */
18247#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM3_TX_MASK)
18248#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_RX_MASK (0x100U)
18249#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_RX_SHIFT (8U)
18250/*! FLEXCOMM4_RX - FLEXCOMM4 RX enable clear
18251 * 0b0..No Effect
18252 * 0b1..Clears the ENA0 Bit
18253 */
18254#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_RX_MASK)
18255#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_TX_MASK (0x200U)
18256#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_TX_SHIFT (9U)
18257/*! FLEXCOMM4_TX - FLEXCOMM4 TX enable clear
18258 * 0b0..No Effect
18259 * 0b1..Clears the ENA0 Bit
18260 */
18261#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM4_TX_MASK)
18262#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_RX_MASK (0x400U)
18263#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_RX_SHIFT (10U)
18264/*! FLEXCOMM5_RX - FLEXCOMM5 RX enable clear
18265 * 0b0..No Effect
18266 * 0b1..Clears the ENA0 Bit
18267 */
18268#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_RX_MASK)
18269#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_TX_MASK (0x800U)
18270#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_TX_SHIFT (11U)
18271/*! FLEXCOMM5_TX - FLEXCOMM5 TX enable clear
18272 * 0b0..No Effect
18273 * 0b1..Clears the ENA0 Bit
18274 */
18275#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM5_TX_MASK)
18276#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_RX_MASK (0x1000U)
18277#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_RX_SHIFT (12U)
18278/*! FLEXCOMM6_RX - FLEXCOMM6 RX enable clear
18279 * 0b0..No Effect
18280 * 0b1..Clears the ENA0 Bit
18281 */
18282#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_RX_MASK)
18283#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_TX_MASK (0x2000U)
18284#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_TX_SHIFT (13U)
18285/*! FLEXCOMM6_TX - FLEXCOMM6 TX enable clear
18286 * 0b0..No Effect
18287 * 0b1..Clears the ENA0 Bit
18288 */
18289#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM6_TX_MASK)
18290#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_RX_MASK (0x4000U)
18291#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_RX_SHIFT (14U)
18292/*! FLEXCOMM7_RX - FLEXCOMM7 RX enable clear
18293 * 0b0..No Effect
18294 * 0b1..Clears the ENA0 Bit
18295 */
18296#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_RX_MASK)
18297#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_TX_MASK (0x8000U)
18298#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_TX_SHIFT (15U)
18299/*! FLEXCOMM7_TX - FLEXCOMM7 TX enable clear
18300 * 0b0..No Effect
18301 * 0b1..Clears the ENA0 Bit
18302 */
18303#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM7_TX_MASK)
18304#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH0_MASK (0x10000U)
18305#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH0_SHIFT (16U)
18306/*! DMIC0CH0 - DMIC0 channel 0 enable clear
18307 * 0b0..No Effect
18308 * 0b1..Clears the ENA0 Bit
18309 */
18310#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH0_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH0_MASK)
18311#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH1_MASK (0x20000U)
18312#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH1_SHIFT (17U)
18313/*! DMIC0CH1 - DMIC0 channel 1 enable clear
18314 * 0b0..No Effect
18315 * 0b1..Clears the ENA0 Bit
18316 */
18317#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH1_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH1_MASK)
18318#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH2_MASK (0x40000U)
18319#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH2_SHIFT (18U)
18320/*! DMIC0CH2 - DMIC0 channel 2 enable clear
18321 * 0b0..No Effect
18322 * 0b1..Clears the ENA0 Bit
18323 */
18324#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH2_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH2_MASK)
18325#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH3_MASK (0x80000U)
18326#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH3_SHIFT (19U)
18327/*! DMIC0CH3 - DMIC0 channel 3 enable clear
18328 * 0b0..No Effect
18329 * 0b1..Clears the ENA0 Bit
18330 */
18331#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH3_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH3_MASK)
18332#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH4_MASK (0x100000U)
18333#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH4_SHIFT (20U)
18334/*! DMIC0CH4 - DMIC0 channel 4 enable clear
18335 * 0b0..No Effect
18336 * 0b1..Clears the ENA0 Bit
18337 */
18338#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH4_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH4_MASK)
18339#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH5_MASK (0x200000U)
18340#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH5_SHIFT (21U)
18341/*! DMIC0CH5 - DMIC0 channel 5 enable clear
18342 * 0b0..No Effect
18343 * 0b1..Clears the ENA0 Bit
18344 */
18345#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH5_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH5_MASK)
18346#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH6_MASK (0x400000U)
18347#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH6_SHIFT (22U)
18348/*! DMIC0CH6 - DMIC0 channel 6 enable clear
18349 * 0b0..No Effect
18350 * 0b1..Clears the ENA0 Bit
18351 */
18352#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH6_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH6_MASK)
18353#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH7_MASK (0x800000U)
18354#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH7_SHIFT (23U)
18355/*! DMIC0CH7 - DMIC0 channel 7 enable clear
18356 * 0b0..No Effect
18357 * 0b1..Clears the ENA0 Bit
18358 */
18359#define INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH7_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_DMIC0CH7_MASK)
18360#define INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_RX_MASK (0x1000000U)
18361#define INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_RX_SHIFT (24U)
18362/*! I3C0_RX - I3C RX enable clear
18363 * 0b0..No Effect
18364 * 0b1..Clears the ENA0 Bit
18365 */
18366#define INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_RX_MASK)
18367#define INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_TX_MASK (0x2000000U)
18368#define INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_TX_SHIFT (25U)
18369/*! I3C0_TX - I3C TX enable clear
18370 * 0b0..No Effect
18371 * 0b1..Clears the ENA0 Bit
18372 */
18373#define INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_I3C0_TX_MASK)
18374#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_RX_MASK (0x4000000U)
18375#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_RX_SHIFT (26U)
18376/*! FLEXCOMM14_RX - FLEXCOMM14 RX enable clear
18377 * 0b0..No Effect
18378 * 0b1..Clears the ENA0 Bit
18379 */
18380#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_RX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_RX_MASK)
18381#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_TX_MASK (0x8000000U)
18382#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_TX_SHIFT (27U)
18383/*! FLEXCOMM14_TX - FLEXCOMM14 TX enable clear
18384 * 0b0..No Effect
18385 * 0b1..Clears the ENA0 Bit
18386 */
18387#define INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_TX_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_FLEXCOMM14_TX_MASK)
18388#define INPUTMUX_DMAC0_REQ_ENA0_CLR_HASHCRYPT_MASK (0x40000000U)
18389#define INPUTMUX_DMAC0_REQ_ENA0_CLR_HASHCRYPT_SHIFT (30U)
18390/*! HASHCRYPT - Hash enable clear
18391 * 0b0..No Effect
18392 * 0b1..Clears the ENA0 Bit
18393 */
18394#define INPUTMUX_DMAC0_REQ_ENA0_CLR_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_REQ_ENA0_CLR_HASHCRYPT_SHIFT)) & INPUTMUX_DMAC0_REQ_ENA0_CLR_HASHCRYPT_MASK)
18395/*! @} */
18396
18397/*! @name DMAC1_REQ_ENA0 - DMAC1 request enable 0 */
18398/*! @{ */
18399#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_RX_MASK (0x1U)
18400#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_RX_SHIFT (0U)
18401/*! FLEXCOMM0_RX - FLEXCOMM0 RX enable
18402 * 0b0..disable
18403 * 0b1..enable
18404 */
18405#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_RX_MASK)
18406#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_TX_MASK (0x2U)
18407#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_TX_SHIFT (1U)
18408/*! FLEXCOMM0_TX - FLEXCOMM0 TX enable
18409 * 0b0..disable
18410 * 0b1..enable
18411 */
18412#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM0_TX_MASK)
18413#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_RX_MASK (0x4U)
18414#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_RX_SHIFT (2U)
18415/*! FLEXCOMM1_RX - FLEXCOMM1 RX enable
18416 * 0b0..disable
18417 * 0b1..enable
18418 */
18419#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_RX_MASK)
18420#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_TX_MASK (0x8U)
18421#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_TX_SHIFT (3U)
18422/*! FLEXCOMM1_TX - FLEXCOMM1 TX enable
18423 * 0b0..disable
18424 * 0b1..enable
18425 */
18426#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM1_TX_MASK)
18427#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_RX_MASK (0x10U)
18428#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_RX_SHIFT (4U)
18429/*! FLEXCOMM2_RX - FLEXCOMM2 RX enable
18430 * 0b0..disable
18431 * 0b1..enable
18432 */
18433#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_RX_MASK)
18434#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_TX_MASK (0x20U)
18435#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_TX_SHIFT (5U)
18436/*! FLEXCOMM2_TX - FLEXCOMM2 TX enable
18437 * 0b0..disable
18438 * 0b1..enable
18439 */
18440#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM2_TX_MASK)
18441#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_RX_MASK (0x40U)
18442#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_RX_SHIFT (6U)
18443/*! FLEXCOMM3_RX - FLEXCOMM3 RX enable
18444 * 0b0..disable
18445 * 0b1..enable
18446 */
18447#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_RX_MASK)
18448#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_TX_MASK (0x80U)
18449#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_TX_SHIFT (7U)
18450/*! FLEXCOMM3_TX - FLEXCOMM3 TX enable
18451 * 0b0..disable
18452 * 0b1..enable
18453 */
18454#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM3_TX_MASK)
18455#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_RX_MASK (0x100U)
18456#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_RX_SHIFT (8U)
18457/*! FLEXCOMM4_RX - FLEXCOMM4 RX enable
18458 * 0b0..disable
18459 * 0b1..enable
18460 */
18461#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_RX_MASK)
18462#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_TX_MASK (0x200U)
18463#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_TX_SHIFT (9U)
18464/*! FLEXCOMM4_TX - FLEXCOMM4 TX enable
18465 * 0b0..disable
18466 * 0b1..enable
18467 */
18468#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM4_TX_MASK)
18469#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_RX_MASK (0x400U)
18470#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_RX_SHIFT (10U)
18471/*! FLEXCOMM5_RX - FLEXCOMM5 RX enable
18472 * 0b0..disable
18473 * 0b1..enable
18474 */
18475#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_RX_MASK)
18476#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_TX_MASK (0x800U)
18477#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_TX_SHIFT (11U)
18478/*! FLEXCOMM5_TX - FLEXCOMM5 TX enable
18479 * 0b0..disable
18480 * 0b1..enable
18481 */
18482#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM5_TX_MASK)
18483#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_RX_MASK (0x1000U)
18484#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_RX_SHIFT (12U)
18485/*! FLEXCOMM6_RX - FLEXCOMM6 RX enable
18486 * 0b0..disable
18487 * 0b1..enable
18488 */
18489#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_RX_MASK)
18490#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_TX_MASK (0x2000U)
18491#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_TX_SHIFT (13U)
18492/*! FLEXCOMM6_TX - FLEXCOMM6 TX enable
18493 * 0b0..disable
18494 * 0b1..enable
18495 */
18496#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM6_TX_MASK)
18497#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_RX_MASK (0x4000U)
18498#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_RX_SHIFT (14U)
18499/*! FLEXCOMM7_RX - FLEXCOMM7 RX enable
18500 * 0b0..disable
18501 * 0b1..enable
18502 */
18503#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_RX_MASK)
18504#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_TX_MASK (0x8000U)
18505#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_TX_SHIFT (15U)
18506/*! FLEXCOMM7_TX - FLEXCOMM7 TX enable
18507 * 0b0..disable
18508 * 0b1..enable
18509 */
18510#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM7_TX_MASK)
18511#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH0_MASK (0x10000U)
18512#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH0_SHIFT (16U)
18513/*! DMIC0CH0 - DMIC0 channel 0 enable
18514 * 0b0..disable
18515 * 0b1..enable
18516 */
18517#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH0_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH0_MASK)
18518#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH1_MASK (0x20000U)
18519#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH1_SHIFT (17U)
18520/*! DMIC0CH1 - DMIC0 channel 1 enable
18521 * 0b0..disable
18522 * 0b1..enable
18523 */
18524#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH1_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH1_MASK)
18525#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH2_MASK (0x40000U)
18526#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH2_SHIFT (18U)
18527/*! DMIC0CH2 - DMIC0 channel 2 enable
18528 * 0b0..disable
18529 * 0b1..enable
18530 */
18531#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH2_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH2_MASK)
18532#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH3_MASK (0x80000U)
18533#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH3_SHIFT (19U)
18534/*! DMIC0CH3 - DMIC0 channel 3 enable
18535 * 0b0..disable
18536 * 0b1..enable
18537 */
18538#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH3_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH3_MASK)
18539#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH4_MASK (0x100000U)
18540#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH4_SHIFT (20U)
18541/*! DMIC0CH4 - DMIC0 channel 4 enable
18542 * 0b0..disable
18543 * 0b1..enable
18544 */
18545#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH4_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH4_MASK)
18546#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH5_MASK (0x200000U)
18547#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH5_SHIFT (21U)
18548/*! DMIC0CH5 - DMIC0 channel 5 enable
18549 * 0b0..disable
18550 * 0b1..enable
18551 */
18552#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH5_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH5_MASK)
18553#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH6_MASK (0x400000U)
18554#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH6_SHIFT (22U)
18555/*! DMIC0CH6 - DMIC0 channel 6 enable
18556 * 0b0..disable
18557 * 0b1..enable
18558 */
18559#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH6_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH6_MASK)
18560#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH7_MASK (0x800000U)
18561#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH7_SHIFT (23U)
18562/*! DMIC0CH7 - DMIC0 channel 7 enable
18563 * 0b0..disable
18564 * 0b1..enable
18565 */
18566#define INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH7_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_DMIC0CH7_MASK)
18567#define INPUTMUX_DMAC1_REQ_ENA0_I3C0_RX_MASK (0x1000000U)
18568#define INPUTMUX_DMAC1_REQ_ENA0_I3C0_RX_SHIFT (24U)
18569/*! I3C0_RX - I3C RX enable
18570 * 0b0..disable
18571 * 0b1..enable
18572 */
18573#define INPUTMUX_DMAC1_REQ_ENA0_I3C0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_I3C0_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_I3C0_RX_MASK)
18574#define INPUTMUX_DMAC1_REQ_ENA0_I3C0_TX_MASK (0x2000000U)
18575#define INPUTMUX_DMAC1_REQ_ENA0_I3C0_TX_SHIFT (25U)
18576/*! I3C0_TX - I3C TX enable
18577 * 0b0..disable
18578 * 0b1..enable
18579 */
18580#define INPUTMUX_DMAC1_REQ_ENA0_I3C0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_I3C0_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_I3C0_TX_MASK)
18581#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_RX_MASK (0x4000000U)
18582#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_RX_SHIFT (26U)
18583/*! FLEXCOMM14_RX - FLEXCOMM14 RX enable
18584 * 0b0..disable
18585 * 0b1..enable
18586 */
18587#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_RX_MASK)
18588#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_TX_MASK (0x8000000U)
18589#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_TX_SHIFT (27U)
18590/*! FLEXCOMM14_TX - FLEXCOMM14 TX enable
18591 * 0b0..disable
18592 * 0b1..enable
18593 */
18594#define INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_FLEXCOMM14_TX_MASK)
18595#define INPUTMUX_DMAC1_REQ_ENA0_HASHCRYPT_MASK (0x40000000U)
18596#define INPUTMUX_DMAC1_REQ_ENA0_HASHCRYPT_SHIFT (30U)
18597/*! HASHCRYPT - hash enable
18598 * 0b0..disable
18599 * 0b1..enable
18600 */
18601#define INPUTMUX_DMAC1_REQ_ENA0_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_HASHCRYPT_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_HASHCRYPT_MASK)
18602/*! @} */
18603
18604/*! @name DMAC1_REQ_ENA0_SET - DMAC1 request enable set 0 */
18605/*! @{ */
18606#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_RX_MASK (0x1U)
18607#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_RX_SHIFT (0U)
18608/*! FLEXCOMM0_RX - FLEXCOMM0 RX enable set
18609 * 0b0..No Effect
18610 * 0b1..Sets the ENA0 Bit
18611 */
18612#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_RX_MASK)
18613#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_TX_MASK (0x2U)
18614#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_TX_SHIFT (1U)
18615/*! FLEXCOMM0_TX - FLEXCOMM0 TX enable set
18616 * 0b0..No Effect
18617 * 0b1..Sets the ENA0 Bit
18618 */
18619#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM0_TX_MASK)
18620#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_RX_MASK (0x4U)
18621#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_RX_SHIFT (2U)
18622/*! FLEXCOMM1_RX - FLEXCOMM1 RX enable set
18623 * 0b0..No Effect
18624 * 0b1..Sets the ENA0 Bit
18625 */
18626#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_RX_MASK)
18627#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_TX_MASK (0x8U)
18628#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_TX_SHIFT (3U)
18629/*! FLEXCOMM1_TX - FLEXCOMM1 TX enable set
18630 * 0b0..No Effect
18631 * 0b1..Sets the ENA0 Bit
18632 */
18633#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM1_TX_MASK)
18634#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_RX_MASK (0x10U)
18635#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_RX_SHIFT (4U)
18636/*! FLEXCOMM2_RX - FLEXCOMM2 RX enable set
18637 * 0b0..No Effect
18638 * 0b1..Sets the ENA0 Bit
18639 */
18640#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_RX_MASK)
18641#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_TX_MASK (0x20U)
18642#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_TX_SHIFT (5U)
18643/*! FLEXCOMM2_TX - FLEXCOMM2 TX enable set
18644 * 0b0..No Effect
18645 * 0b1..Sets the ENA0 Bit
18646 */
18647#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM2_TX_MASK)
18648#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_RX_MASK (0x40U)
18649#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_RX_SHIFT (6U)
18650/*! FLEXCOMM3_RX - FLEXCOMM3 RX enable set
18651 * 0b0..No Effect
18652 * 0b1..Sets the ENA0 Bit
18653 */
18654#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_RX_MASK)
18655#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_TX_MASK (0x80U)
18656#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_TX_SHIFT (7U)
18657/*! FLEXCOMM3_TX - FLEXCOMM3 TX enable set
18658 * 0b0..No Effect
18659 * 0b1..Sets the ENA0 Bit
18660 */
18661#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM3_TX_MASK)
18662#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_RX_MASK (0x100U)
18663#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_RX_SHIFT (8U)
18664/*! FLEXCOMM4_RX - FLEXCOMM4 RX enable set
18665 * 0b0..No Effect
18666 * 0b1..Sets the ENA0 Bit
18667 */
18668#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_RX_MASK)
18669#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_TX_MASK (0x200U)
18670#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_TX_SHIFT (9U)
18671/*! FLEXCOMM4_TX - FLEXCOMM4 TX enable set
18672 * 0b0..No Effect
18673 * 0b1..Sets the ENA0 Bit
18674 */
18675#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM4_TX_MASK)
18676#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_RX_MASK (0x400U)
18677#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_RX_SHIFT (10U)
18678/*! FLEXCOMM5_RX - FLEXCOMM5 RX enable set
18679 * 0b0..No Effect
18680 * 0b1..Sets the ENA0 Bit
18681 */
18682#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_RX_MASK)
18683#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_TX_MASK (0x800U)
18684#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_TX_SHIFT (11U)
18685/*! FLEXCOMM5_TX - FLEXCOMM5 TX enable set
18686 * 0b0..No Effect
18687 * 0b1..Sets the ENA0 Bit
18688 */
18689#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM5_TX_MASK)
18690#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_RX_MASK (0x1000U)
18691#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_RX_SHIFT (12U)
18692/*! FLEXCOMM6_RX - FLEXCOMM6 RX enable set
18693 * 0b0..No Effect
18694 * 0b1..Sets the ENA0 Bit
18695 */
18696#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_RX_MASK)
18697#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_TX_MASK (0x2000U)
18698#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_TX_SHIFT (13U)
18699/*! FLEXCOMM6_TX - FLEXCOMM6 TX enable set
18700 * 0b0..No Effect
18701 * 0b1..Sets the ENA0 Bit
18702 */
18703#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM6_TX_MASK)
18704#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_RX_MASK (0x4000U)
18705#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_RX_SHIFT (14U)
18706/*! FLEXCOMM7_RX - FLEXCOMM7 RX enable set
18707 * 0b0..No Effect
18708 * 0b1..Sets the ENA0 Bit
18709 */
18710#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_RX_MASK)
18711#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_TX_MASK (0x8000U)
18712#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_TX_SHIFT (15U)
18713/*! FLEXCOMM7_TX - FLEXCOMM7 TX enable set
18714 * 0b0..No Effect
18715 * 0b1..Sets the ENA0 Bit
18716 */
18717#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM7_TX_MASK)
18718#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH0_MASK (0x10000U)
18719#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH0_SHIFT (16U)
18720/*! DMIC0CH0 - DMIC0 channel 0 enable set
18721 * 0b0..No Effect
18722 * 0b1..Sets the ENA0 Bit
18723 */
18724#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH0_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH0_MASK)
18725#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH1_MASK (0x20000U)
18726#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH1_SHIFT (17U)
18727/*! DMIC0CH1 - DMIC0 channel 1 enable set
18728 * 0b0..No Effect
18729 * 0b1..Sets the ENA0 Bit
18730 */
18731#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH1_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH1_MASK)
18732#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH2_MASK (0x40000U)
18733#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH2_SHIFT (18U)
18734/*! DMIC0CH2 - DMIC0 channel 2 enable set
18735 * 0b0..No Effect
18736 * 0b1..Sets the ENA0 Bit
18737 */
18738#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH2_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH2_MASK)
18739#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH3_MASK (0x80000U)
18740#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH3_SHIFT (19U)
18741/*! DMIC0CH3 - DMIC0 channel 3 enable set
18742 * 0b0..No Effect
18743 * 0b1..Sets the ENA0 Bit
18744 */
18745#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH3_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH3_MASK)
18746#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH4_MASK (0x100000U)
18747#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH4_SHIFT (20U)
18748/*! DMIC0CH4 - DMIC0 channel 4 enable set
18749 * 0b0..No Effect
18750 * 0b1..Sets the ENA0 Bit
18751 */
18752#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH4_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH4_MASK)
18753#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH5_MASK (0x200000U)
18754#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH5_SHIFT (21U)
18755/*! DMIC0CH5 - DMIC0 channel 5 enable set
18756 * 0b0..No Effect
18757 * 0b1..Sets the ENA0 Bit
18758 */
18759#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH5_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH5_MASK)
18760#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH6_MASK (0x400000U)
18761#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH6_SHIFT (22U)
18762/*! DMIC0CH6 - DMIC0 channel 6 enable set
18763 * 0b0..No Effect
18764 * 0b1..Sets the ENA0 Bit
18765 */
18766#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH6_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH6_MASK)
18767#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH7_MASK (0x800000U)
18768#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH7_SHIFT (23U)
18769/*! DMIC0CH7 - DMIC0 channel 7 enable set
18770 * 0b0..No Effect
18771 * 0b1..Sets the ENA0 Bit
18772 */
18773#define INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH7_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_DMIC0CH7_MASK)
18774#define INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_RX_MASK (0x1000000U)
18775#define INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_RX_SHIFT (24U)
18776/*! I3C0_RX - I3C RX enable set
18777 * 0b0..No Effect
18778 * 0b1..Sets the ENA0 Bit
18779 */
18780#define INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_RX_MASK)
18781#define INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_TX_MASK (0x2000000U)
18782#define INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_TX_SHIFT (25U)
18783/*! I3C0_TX - I3C TX enable set
18784 * 0b0..No Effect
18785 * 0b1..Sets the ENA0 Bit
18786 */
18787#define INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_I3C0_TX_MASK)
18788#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_RX_MASK (0x4000000U)
18789#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_RX_SHIFT (26U)
18790/*! FLEXCOMM14_RX - FLEXCOMM14 TX enable set
18791 * 0b0..No Effect
18792 * 0b1..Sets the ENA0 Bit
18793 */
18794#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_RX_MASK)
18795#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_TX_MASK (0x8000000U)
18796#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_TX_SHIFT (27U)
18797/*! FLEXCOMM14_TX - FLEXCOMM15 RX enable set
18798 * 0b0..No Effect
18799 * 0b1..Sets the ENA0 Bit
18800 */
18801#define INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_FLEXCOMM14_TX_MASK)
18802#define INPUTMUX_DMAC1_REQ_ENA0_SET_HASHCRYPT_MASK (0x40000000U)
18803#define INPUTMUX_DMAC1_REQ_ENA0_SET_HASHCRYPT_SHIFT (30U)
18804/*! HASHCRYPT - Hash enable set
18805 * 0b0..No Effect
18806 * 0b1..Sets the ENA0 Bit
18807 */
18808#define INPUTMUX_DMAC1_REQ_ENA0_SET_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_SET_HASHCRYPT_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_SET_HASHCRYPT_MASK)
18809/*! @} */
18810
18811/*! @name DMAC1_REQ_ENA0_CLR - DMAC1 request enable clear 0 */
18812/*! @{ */
18813#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_RX_MASK (0x1U)
18814#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_RX_SHIFT (0U)
18815/*! FLEXCOMM0_RX - FLEXCOMM0 RX enable clear
18816 * 0b0..No Effect
18817 * 0b1..Clears the ENA0 Bit
18818 */
18819#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_RX_MASK)
18820#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_TX_MASK (0x2U)
18821#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_TX_SHIFT (1U)
18822/*! FLEXCOMM0_TX - FLEXCOMM0 TX enable clear
18823 * 0b0..No Effect
18824 * 0b1..Clears the ENA0 Bit
18825 */
18826#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM0_TX_MASK)
18827#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_RX_MASK (0x4U)
18828#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_RX_SHIFT (2U)
18829/*! FLEXCOMM1_RX - FLEXCOMM1 RX enable clear
18830 * 0b0..No Effect
18831 * 0b1..Clears the ENA0 Bit
18832 */
18833#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_RX_MASK)
18834#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_TX_MASK (0x8U)
18835#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_TX_SHIFT (3U)
18836/*! FLEXCOMM1_TX - FLEXCOMM1 TX enable clear
18837 * 0b0..No Effect
18838 * 0b1..Clears the ENA0 Bit
18839 */
18840#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM1_TX_MASK)
18841#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_RX_MASK (0x10U)
18842#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_RX_SHIFT (4U)
18843/*! FLEXCOMM2_RX - FLEXCOMM2 RX enable clear
18844 * 0b0..No Effect
18845 * 0b1..Clears the ENA0 Bit
18846 */
18847#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_RX_MASK)
18848#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_TX_MASK (0x20U)
18849#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_TX_SHIFT (5U)
18850/*! FLEXCOMM2_TX - FLEXCOMM2 TX enable clear
18851 * 0b0..No Effect
18852 * 0b1..Clears the ENA0 Bit
18853 */
18854#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM2_TX_MASK)
18855#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_RX_MASK (0x40U)
18856#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_RX_SHIFT (6U)
18857/*! FLEXCOMM3_RX - FLEXCOMM3 RX enable clear
18858 * 0b0..No Effect
18859 * 0b1..Clears the ENA0 Bit
18860 */
18861#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_RX_MASK)
18862#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_TX_MASK (0x80U)
18863#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_TX_SHIFT (7U)
18864/*! FLEXCOMM3_TX - FLEXCOMM3 TX enable clear
18865 * 0b0..No Effect
18866 * 0b1..Clears the ENA0 Bit
18867 */
18868#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM3_TX_MASK)
18869#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_RX_MASK (0x100U)
18870#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_RX_SHIFT (8U)
18871/*! FLEXCOMM4_RX - FLEXCOMM4 RX enable clear
18872 * 0b0..No Effect
18873 * 0b1..Clears the ENA0 Bit
18874 */
18875#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_RX_MASK)
18876#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_TX_MASK (0x200U)
18877#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_TX_SHIFT (9U)
18878/*! FLEXCOMM4_TX - FLEXCOMM4 TX enable clear
18879 * 0b0..No Effect
18880 * 0b1..Clears the ENA0 Bit
18881 */
18882#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM4_TX_MASK)
18883#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_RX_MASK (0x400U)
18884#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_RX_SHIFT (10U)
18885/*! FLEXCOMM5_RX - FLEXCOMM5 RX enable clear
18886 * 0b0..No Effect
18887 * 0b1..Clears the ENA0 Bit
18888 */
18889#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_RX_MASK)
18890#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_TX_MASK (0x800U)
18891#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_TX_SHIFT (11U)
18892/*! FLEXCOMM5_TX - FLEXCOMM5 TX enable clear
18893 * 0b0..No Effect
18894 * 0b1..Clears the ENA0 Bit
18895 */
18896#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM5_TX_MASK)
18897#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_RX_MASK (0x1000U)
18898#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_RX_SHIFT (12U)
18899/*! FLEXCOMM6_RX - FLEXCOMM6 RX enable clear
18900 * 0b0..No Effect
18901 * 0b1..Clears the ENA0 Bit
18902 */
18903#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_RX_MASK)
18904#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_TX_MASK (0x2000U)
18905#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_TX_SHIFT (13U)
18906/*! FLEXCOMM6_TX - FLEXCOMM6 TX enable clear
18907 * 0b0..No Effect
18908 * 0b1..Clears the ENA0 Bit
18909 */
18910#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM6_TX_MASK)
18911#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_RX_MASK (0x4000U)
18912#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_RX_SHIFT (14U)
18913/*! FLEXCOMM7_RX - FLEXCOMM7 RX enable clear
18914 * 0b0..No Effect
18915 * 0b1..Clears the ENA0 Bit
18916 */
18917#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_RX_MASK)
18918#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_TX_MASK (0x8000U)
18919#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_TX_SHIFT (15U)
18920/*! FLEXCOMM7_TX - FLEXCOMM7 TX enable clear
18921 * 0b0..No Effect
18922 * 0b1..Clears the ENA0 Bit
18923 */
18924#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM7_TX_MASK)
18925#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH0_MASK (0x10000U)
18926#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH0_SHIFT (16U)
18927/*! DMIC0CH0 - DMIC0 channel 0 enable clear
18928 * 0b0..No Effect
18929 * 0b1..Clears the ENA0 Bit
18930 */
18931#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH0_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH0_MASK)
18932#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH1_MASK (0x20000U)
18933#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH1_SHIFT (17U)
18934/*! DMIC0CH1 - DMIC0 channel 1 enable clear
18935 * 0b0..No Effect
18936 * 0b1..Clears the ENA0 Bit
18937 */
18938#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH1_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH1_MASK)
18939#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH2_MASK (0x40000U)
18940#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH2_SHIFT (18U)
18941/*! DMIC0CH2 - DMIC0 channel 2 enable clear
18942 * 0b0..No Effect
18943 * 0b1..Clears the ENA0 Bit
18944 */
18945#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH2_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH2_MASK)
18946#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH3_MASK (0x80000U)
18947#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH3_SHIFT (19U)
18948/*! DMIC0CH3 - DMIC0 channel 3 enable clear
18949 * 0b0..No Effect
18950 * 0b1..Clears the ENA0 Bit
18951 */
18952#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH3_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH3_MASK)
18953#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH4_MASK (0x100000U)
18954#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH4_SHIFT (20U)
18955/*! DMIC0CH4 - DMIC0 channel 4 enable clear
18956 * 0b0..No Effect
18957 * 0b1..Clears the ENA0 Bit
18958 */
18959#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH4_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH4_MASK)
18960#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH5_MASK (0x200000U)
18961#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH5_SHIFT (21U)
18962/*! DMIC0CH5 - DMIC0 channel 5 enable clear
18963 * 0b0..No Effect
18964 * 0b1..Clears the ENA0 Bit
18965 */
18966#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH5_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH5_MASK)
18967#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH6_MASK (0x400000U)
18968#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH6_SHIFT (22U)
18969/*! DMIC0CH6 - DMIC0 channel 6 enable clear
18970 * 0b0..No Effect
18971 * 0b1..Clears the ENA0 Bit
18972 */
18973#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH6_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH6_MASK)
18974#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH7_MASK (0x800000U)
18975#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH7_SHIFT (23U)
18976/*! DMIC0CH7 - DMIC0 channel 7 enable clear
18977 * 0b0..No Effect
18978 * 0b1..Clears the ENA0 Bit
18979 */
18980#define INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH7_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_DMIC0CH7_MASK)
18981#define INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_RX_MASK (0x1000000U)
18982#define INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_RX_SHIFT (24U)
18983/*! I3C0_RX - I3C RX enable clear
18984 * 0b0..No Effect
18985 * 0b1..Clears the ENA0 Bit
18986 */
18987#define INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_RX_MASK)
18988#define INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_TX_MASK (0x2000000U)
18989#define INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_TX_SHIFT (25U)
18990/*! I3C0_TX - I3C TX enable clear
18991 * 0b0..No Effect
18992 * 0b1..Clears the ENA0 Bit
18993 */
18994#define INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_I3C0_TX_MASK)
18995#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_RX_MASK (0x4000000U)
18996#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_RX_SHIFT (26U)
18997/*! FLEXCOMM14_RX - FLEXCOMM14 RX enable clear
18998 * 0b0..No Effect
18999 * 0b1..Clears the ENA0 Bit
19000 */
19001#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_RX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_RX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_RX_MASK)
19002#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_TX_MASK (0x8000000U)
19003#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_TX_SHIFT (27U)
19004/*! FLEXCOMM14_TX - FLEXCOMM14 TX enable clear
19005 * 0b0..No Effect
19006 * 0b1..Clears the ENA0 Bit
19007 */
19008#define INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_TX(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_TX_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_FLEXCOMM14_TX_MASK)
19009#define INPUTMUX_DMAC1_REQ_ENA0_CLR_HASHCRYPT_MASK (0x40000000U)
19010#define INPUTMUX_DMAC1_REQ_ENA0_CLR_HASHCRYPT_SHIFT (30U)
19011/*! HASHCRYPT - Hash enable clear
19012 * 0b0..No Effect
19013 * 0b1..Clears the ENA0 Bit
19014 */
19015#define INPUTMUX_DMAC1_REQ_ENA0_CLR_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_REQ_ENA0_CLR_HASHCRYPT_SHIFT)) & INPUTMUX_DMAC1_REQ_ENA0_CLR_HASHCRYPT_MASK)
19016/*! @} */
19017
19018/*! @name DMAC0_ITRIG_ENA0 - DMAC0 input trigger enable 0 */
19019/*! @{ */
19020#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX0_MASK (0x1U)
19021#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX0_SHIFT (0U)
19022/*! DMAC0_ITRIG_INMUX0 - DMAC0 input trigger inmux 0 enable
19023 * 0b0..disable
19024 * 0b1..enable
19025 */
19026#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX0_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX0_MASK)
19027#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX1_MASK (0x2U)
19028#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX1_SHIFT (1U)
19029/*! DMAC0_ITRIG_INMUX1 - DMAC0 input trigger inmux 1 enable
19030 * 0b0..disable
19031 * 0b1..enable
19032 */
19033#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX1_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX1_MASK)
19034#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX2_MASK (0x4U)
19035#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX2_SHIFT (2U)
19036/*! DMAC0_ITRIG_INMUX2 - DMAC0 input trigger inmux 2 enable
19037 * 0b0..disable
19038 * 0b1..enable
19039 */
19040#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX2_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX2_MASK)
19041#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX3_MASK (0x8U)
19042#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX3_SHIFT (3U)
19043/*! DMAC0_ITRIG_INMUX3 - DMAC0 input trigger inmux 3 enable
19044 * 0b0..disable
19045 * 0b1..enable
19046 */
19047#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX3_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX3_MASK)
19048#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX4_MASK (0x10U)
19049#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX4_SHIFT (4U)
19050/*! DMAC0_ITRIG_INMUX4 - DMAC0 input trigger inmux 4 enable
19051 * 0b0..disable
19052 * 0b1..enable
19053 */
19054#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX4_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX4_MASK)
19055#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX5_MASK (0x20U)
19056#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX5_SHIFT (5U)
19057/*! DMAC0_ITRIG_INMUX5 - DMAC0 input trigger inmux 5 enable
19058 * 0b0..disable
19059 * 0b1..enable
19060 */
19061#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX5_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX5_MASK)
19062#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX6_MASK (0x40U)
19063#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX6_SHIFT (6U)
19064/*! DMAC0_ITRIG_INMUX6 - DMAC0 input trigger inmux 6 enable
19065 * 0b0..disable
19066 * 0b1..enable
19067 */
19068#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX6_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX6_MASK)
19069#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX7_MASK (0x80U)
19070#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX7_SHIFT (7U)
19071/*! DMAC0_ITRIG_INMUX7 - DMAC0 input trigger inmux 7 enable
19072 * 0b0..disable
19073 * 0b1..enable
19074 */
19075#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX7_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX7_MASK)
19076#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX8_MASK (0x100U)
19077#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX8_SHIFT (8U)
19078/*! DMAC0_ITRIG_INMUX8 - DMAC0 input trigger inmux 8 enable
19079 * 0b0..disable
19080 * 0b1..enable
19081 */
19082#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX8(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX8_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX8_MASK)
19083#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX9_MASK (0x200U)
19084#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX9_SHIFT (9U)
19085/*! DMAC0_ITRIG_INMUX9 - DMAC0 input trigger inmux 9 enable
19086 * 0b0..disable
19087 * 0b1..enable
19088 */
19089#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX9(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX9_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX9_MASK)
19090#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX10_MASK (0x400U)
19091#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX10_SHIFT (10U)
19092/*! DMAC0_ITRIG_INMUX10 - DMAC0 input trigger inmux 10 enable
19093 * 0b0..disable
19094 * 0b1..enable
19095 */
19096#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX10(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX10_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX10_MASK)
19097#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX11_MASK (0x800U)
19098#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX11_SHIFT (11U)
19099/*! DMAC0_ITRIG_INMUX11 - DMAC0 input trigger inmux 11 enable
19100 * 0b0..disable
19101 * 0b1..enable
19102 */
19103#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX11(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX11_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX11_MASK)
19104#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX12_MASK (0x1000U)
19105#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX12_SHIFT (12U)
19106/*! DMAC0_ITRIG_INMUX12 - DMAC0 input trigger inmux 12 enable
19107 * 0b0..disable
19108 * 0b1..enable
19109 */
19110#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX12(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX12_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX12_MASK)
19111#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX13_MASK (0x2000U)
19112#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX13_SHIFT (13U)
19113/*! DMAC0_ITRIG_INMUX13 - DMAC0 input trigger inmux 13 enable
19114 * 0b0..disable
19115 * 0b1..enable
19116 */
19117#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX13(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX13_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX13_MASK)
19118#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX14_MASK (0x4000U)
19119#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX14_SHIFT (14U)
19120/*! DMAC0_ITRIG_INMUX14 - DMAC0 input trigger inmux 14 enable
19121 * 0b0..disable
19122 * 0b1..enable
19123 */
19124#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX14(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX14_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX14_MASK)
19125#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX15_MASK (0x8000U)
19126#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX15_SHIFT (15U)
19127/*! DMAC0_ITRIG_INMUX15 - DMAC0 input trigger inmux 15 enable
19128 * 0b0..disable
19129 * 0b1..enable
19130 */
19131#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX15(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX15_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX15_MASK)
19132#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX16_MASK (0x10000U)
19133#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX16_SHIFT (16U)
19134/*! DMAC0_ITRIG_INMUX16 - DMAC0 input trigger inmux 16 enable
19135 * 0b0..disable
19136 * 0b1..enable
19137 */
19138#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX16(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX16_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX16_MASK)
19139#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX17_MASK (0x20000U)
19140#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX17_SHIFT (17U)
19141/*! DMAC0_ITRIG_INMUX17 - DMAC0 input trigger inmux 17 enable
19142 * 0b0..disable
19143 * 0b1..enable
19144 */
19145#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX17(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX17_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX17_MASK)
19146#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX18_MASK (0x40000U)
19147#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX18_SHIFT (18U)
19148/*! DMAC0_ITRIG_INMUX18 - DMAC0 input trigger inmux 18 enable
19149 * 0b0..disable
19150 * 0b1..enable
19151 */
19152#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX18(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX18_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX18_MASK)
19153#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX19_MASK (0x80000U)
19154#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX19_SHIFT (19U)
19155/*! DMAC0_ITRIG_INMUX19 - DMAC0 input trigger inmux 19 enable
19156 * 0b0..disable
19157 * 0b1..enable
19158 */
19159#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX19(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX19_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX19_MASK)
19160#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX20_MASK (0x100000U)
19161#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX20_SHIFT (20U)
19162/*! DMAC0_ITRIG_INMUX20 - DMAC0 input trigger inmux 20 enable
19163 * 0b0..disable
19164 * 0b1..enable
19165 */
19166#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX20(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX20_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX20_MASK)
19167#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX21_MASK (0x200000U)
19168#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX21_SHIFT (21U)
19169/*! DMAC0_ITRIG_INMUX21 - DMAC0 input trigger inmux 21 enable
19170 * 0b0..disable
19171 * 0b1..enable
19172 */
19173#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX21(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX21_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX21_MASK)
19174#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX22_MASK (0x400000U)
19175#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX22_SHIFT (22U)
19176/*! DMAC0_ITRIG_INMUX22 - DMAC0 input trigger inmux 22 enable
19177 * 0b0..disable
19178 * 0b1..enable
19179 */
19180#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX22(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX22_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX22_MASK)
19181#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX23_MASK (0x800000U)
19182#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX23_SHIFT (23U)
19183/*! DMAC0_ITRIG_INMUX23 - DMAC0 input trigger inmux 23 enable
19184 * 0b0..disable
19185 * 0b1..enable
19186 */
19187#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX23(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX23_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX23_MASK)
19188#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX24_MASK (0x1000000U)
19189#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX24_SHIFT (24U)
19190/*! DMAC0_ITRIG_INMUX24 - DMAC0 input trigger inmux 24 enable
19191 * 0b0..disable
19192 * 0b1..enable
19193 */
19194#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX24(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX24_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX24_MASK)
19195#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX25_MASK (0x2000000U)
19196#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX25_SHIFT (25U)
19197/*! DMAC0_ITRIG_INMUX25 - DMAC0 input trigger inmux 25 enable
19198 * 0b0..disable
19199 * 0b1..enable
19200 */
19201#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX25(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX25_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX25_MASK)
19202#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX26_MASK (0x4000000U)
19203#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX26_SHIFT (26U)
19204/*! DMAC0_ITRIG_INMUX26 - DMAC0 input trigger inmux 26 enable
19205 * 0b0..disable
19206 * 0b1..enable
19207 */
19208#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX26(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX26_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX26_MASK)
19209#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX27_MASK (0x8000000U)
19210#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX27_SHIFT (27U)
19211/*! DMAC0_ITRIG_INMUX27 - DMAC0 input trigger inmux 27 enable
19212 * 0b0..disable
19213 * 0b1..enable
19214 */
19215#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX27(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX27_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX27_MASK)
19216#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX28_MASK (0x10000000U)
19217#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX28_SHIFT (28U)
19218/*! DMAC0_ITRIG_INMUX28 - DMAC0 input trigger inmux 28 enable
19219 * 0b0..disable
19220 * 0b1..enable
19221 */
19222#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX28(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX28_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX28_MASK)
19223#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX29_MASK (0x20000000U)
19224#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX29_SHIFT (29U)
19225/*! DMAC0_ITRIG_INMUX29 - DMAC0 input trigger inmux 29 enable
19226 * 0b0..disable
19227 * 0b1..enable
19228 */
19229#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX29(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX29_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX29_MASK)
19230#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX30_MASK (0x40000000U)
19231#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX30_SHIFT (30U)
19232/*! DMAC0_ITRIG_INMUX30 - DMAC0 input trigger inmux 30 enable
19233 * 0b0..disable
19234 * 0b1..enable
19235 */
19236#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX30(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX30_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX30_MASK)
19237#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX31_MASK (0x80000000U)
19238#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX31_SHIFT (31U)
19239/*! DMAC0_ITRIG_INMUX31 - DMAC0 input trigger inmux 31 enable
19240 * 0b0..disable
19241 * 0b1..enable
19242 */
19243#define INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX31(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX31_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_DMAC0_ITRIG_INMUX31_MASK)
19244/*! @} */
19245
19246/*! @name DMAC0_ITRIG_ENA0_SET - DMAC0 input trigger enable set 0 */
19247/*! @{ */
19248#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX0_MASK (0x1U)
19249#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX0_SHIFT (0U)
19250/*! DMAC0_ITRIG_INMUX0 - DMAC0 input trigger inmux 0 enable set
19251 * 0b0..No Effect
19252 * 0b1..Sets the ENA0 Bit
19253 */
19254#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX0_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX0_MASK)
19255#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX1_MASK (0x2U)
19256#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX1_SHIFT (1U)
19257/*! DMAC0_ITRIG_INMUX1 - DMAC0 input trigger inmux 1 enable set
19258 * 0b0..No Effect
19259 * 0b1..Sets the ENA0 Bit
19260 */
19261#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX1_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX1_MASK)
19262#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX2_MASK (0x4U)
19263#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX2_SHIFT (2U)
19264/*! DMAC0_ITRIG_INMUX2 - DMAC0 input trigger inmux 2 enable set
19265 */
19266#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX2_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX2_MASK)
19267#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX3_MASK (0x8U)
19268#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX3_SHIFT (3U)
19269/*! DMAC0_ITRIG_INMUX3 - DMAC0 input trigger inmux 3 enable set
19270 * 0b0..No Effect
19271 * 0b1..Sets the ENA0 Bit
19272 */
19273#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX3_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX3_MASK)
19274#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX4_MASK (0x10U)
19275#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX4_SHIFT (4U)
19276/*! DMAC0_ITRIG_INMUX4 - DMAC0 input trigger inmux 4 enable set
19277 * 0b0..No Effect
19278 * 0b1..Sets the ENA0 Bit
19279 */
19280#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX4_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX4_MASK)
19281#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX5_MASK (0x20U)
19282#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX5_SHIFT (5U)
19283/*! DMAC0_ITRIG_INMUX5 - DMAC0 input trigger inmux 5 enable set
19284 * 0b0..No Effect
19285 * 0b1..Sets the ENA0 Bit
19286 */
19287#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX5_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX5_MASK)
19288#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX6_MASK (0x40U)
19289#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX6_SHIFT (6U)
19290/*! DMAC0_ITRIG_INMUX6 - DMAC0 input trigger inmux 6 enable set
19291 * 0b0..No Effect
19292 * 0b1..Sets the ENA0 Bit
19293 */
19294#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX6_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX6_MASK)
19295#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX7_MASK (0x80U)
19296#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX7_SHIFT (7U)
19297/*! DMAC0_ITRIG_INMUX7 - DMAC0 input trigger inmux 7 enable set
19298 * 0b0..No Effect
19299 * 0b1..Sets the ENA0 Bit
19300 */
19301#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX7_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX7_MASK)
19302#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX8_MASK (0x100U)
19303#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX8_SHIFT (8U)
19304/*! DMAC0_ITRIG_INMUX8 - DMAC0 input trigger inmux 8 enable set
19305 * 0b0..No Effect
19306 * 0b1..Sets the ENA0 Bit
19307 */
19308#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX8(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX8_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX8_MASK)
19309#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX9_MASK (0x200U)
19310#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX9_SHIFT (9U)
19311/*! DMAC0_ITRIG_INMUX9 - DMAC0 input trigger inmux 9 enable set
19312 * 0b0..No Effect
19313 * 0b1..Sets the ENA0 Bit
19314 */
19315#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX9(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX9_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX9_MASK)
19316#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX10_MASK (0x400U)
19317#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX10_SHIFT (10U)
19318/*! DMAC0_ITRIG_INMUX10 - DMAC0 input trigger inmux 10 enable set
19319 * 0b0..No Effect
19320 * 0b1..Sets the ENA0 Bit
19321 */
19322#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX10(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX10_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX10_MASK)
19323#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX11_MASK (0x800U)
19324#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX11_SHIFT (11U)
19325/*! DMAC0_ITRIG_INMUX11 - DMAC0 input trigger inmux 11 enable set
19326 * 0b0..No Effect
19327 * 0b1..Sets the ENA0 Bit
19328 */
19329#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX11(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX11_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX11_MASK)
19330#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX12_MASK (0x1000U)
19331#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX12_SHIFT (12U)
19332/*! DMAC0_ITRIG_INMUX12 - DMAC0 input trigger inmux 12 enable set
19333 * 0b0..No Effect
19334 * 0b1..Sets the ENA0 Bit
19335 */
19336#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX12(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX12_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX12_MASK)
19337#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX13_MASK (0x2000U)
19338#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX13_SHIFT (13U)
19339/*! DMAC0_ITRIG_INMUX13 - DMAC0 input trigger inmux 13 enable set
19340 * 0b0..No Effect
19341 * 0b1..Sets the ENA0 Bit
19342 */
19343#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX13(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX13_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX13_MASK)
19344#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX14_MASK (0x4000U)
19345#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX14_SHIFT (14U)
19346/*! DMAC0_ITRIG_INMUX14 - DMAC0 input trigger inmux 14 enable set
19347 * 0b0..No Effect
19348 * 0b1..Sets the ENA0 Bit
19349 */
19350#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX14(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX14_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX14_MASK)
19351#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX15_MASK (0x8000U)
19352#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX15_SHIFT (15U)
19353/*! DMAC0_ITRIG_INMUX15 - DMAC0 input trigger inmux 15 enable set
19354 * 0b0..No Effect
19355 * 0b1..Sets the ENA0 Bit
19356 */
19357#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX15(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX15_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX15_MASK)
19358#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX16_MASK (0x10000U)
19359#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX16_SHIFT (16U)
19360/*! DMAC0_ITRIG_INMUX16 - DMAC0 input trigger inmux 16 enable set
19361 * 0b0..No Effect
19362 * 0b1..Sets the ENA0 Bit
19363 */
19364#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX16(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX16_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX16_MASK)
19365#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX17_MASK (0x20000U)
19366#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX17_SHIFT (17U)
19367/*! DMAC0_ITRIG_INMUX17 - DMAC0 input trigger inmux 17 enable set
19368 * 0b0..No Effect
19369 * 0b1..Sets the ENA0 Bit
19370 */
19371#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX17(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX17_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX17_MASK)
19372#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX18_MASK (0x40000U)
19373#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX18_SHIFT (18U)
19374/*! DMAC0_ITRIG_INMUX18 - DMAC0 input trigger inmux 18 enable set
19375 * 0b0..No Effect
19376 * 0b1..Sets the ENA0 Bit
19377 */
19378#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX18(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX18_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX18_MASK)
19379#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX19_MASK (0x80000U)
19380#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX19_SHIFT (19U)
19381/*! DMAC0_ITRIG_INMUX19 - DMAC0 input trigger inmux 19 enable set
19382 * 0b0..No Effect
19383 * 0b1..Sets the ENA0 Bit
19384 */
19385#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX19(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX19_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX19_MASK)
19386#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX20_MASK (0x100000U)
19387#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX20_SHIFT (20U)
19388/*! DMAC0_ITRIG_INMUX20 - DMAC0 input trigger inmux 20 enable set
19389 * 0b0..No Effect
19390 * 0b1..Sets the ENA0 Bit
19391 */
19392#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX20(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX20_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX20_MASK)
19393#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX21_MASK (0x200000U)
19394#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX21_SHIFT (21U)
19395/*! DMAC0_ITRIG_INMUX21 - DMAC0 input trigger inmux 21 enable set
19396 * 0b0..No Effect
19397 * 0b1..Sets the ENA0 Bit
19398 */
19399#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX21(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX21_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX21_MASK)
19400#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX22_MASK (0x400000U)
19401#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX22_SHIFT (22U)
19402/*! DMAC0_ITRIG_INMUX22 - DMAC0 input trigger inmux 22 enable set
19403 * 0b0..No Effect
19404 * 0b1..Sets the ENA0 Bit
19405 */
19406#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX22(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX22_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX22_MASK)
19407#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX23_MASK (0x800000U)
19408#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX23_SHIFT (23U)
19409/*! DMAC0_ITRIG_INMUX23 - DMAC0 input trigger inmux 23 enable set
19410 * 0b0..No Effect
19411 * 0b1..Sets the ENA0 Bit
19412 */
19413#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX23(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX23_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX23_MASK)
19414#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX24_MASK (0x1000000U)
19415#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX24_SHIFT (24U)
19416/*! DMAC0_ITRIG_INMUX24 - DMAC0 input trigger inmux 24 enable set
19417 * 0b0..No Effect
19418 * 0b1..Sets the ENA0 Bit
19419 */
19420#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX24(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX24_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX24_MASK)
19421#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX25_MASK (0x2000000U)
19422#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX25_SHIFT (25U)
19423/*! DMAC0_ITRIG_INMUX25 - DMAC0 input trigger inmux 25 enable set
19424 * 0b0..No Effect
19425 * 0b1..Sets the ENA0 Bit
19426 */
19427#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX25(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX25_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX25_MASK)
19428#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX26_MASK (0x4000000U)
19429#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX26_SHIFT (26U)
19430/*! DMAC0_ITRIG_INMUX26 - DMAC0 input trigger inmux 26 enable set
19431 * 0b0..No Effect
19432 * 0b1..Sets the ENA0 Bit
19433 */
19434#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX26(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX26_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX26_MASK)
19435#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX27_MASK (0x8000000U)
19436#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX27_SHIFT (27U)
19437/*! DMAC0_ITRIG_INMUX27 - DMAC0 input trigger inmux 27 enable set
19438 * 0b0..No Effect
19439 * 0b1..Sets the ENA0 Bit
19440 */
19441#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX27(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX27_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX27_MASK)
19442#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX28_MASK (0x10000000U)
19443#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX28_SHIFT (28U)
19444/*! DMAC0_ITRIG_INMUX28 - DMAC0 input trigger inmux 28 enable set
19445 * 0b0..No Effect
19446 * 0b1..Sets the ENA0 Bit
19447 */
19448#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX28(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX28_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX28_MASK)
19449#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX29_MASK (0x20000000U)
19450#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX29_SHIFT (29U)
19451/*! DMAC0_ITRIG_INMUX29 - DMAC0 input trigger inmux 29 enable set
19452 * 0b0..No Effect
19453 * 0b1..Sets the ENA0 Bit
19454 */
19455#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX29(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX29_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX29_MASK)
19456#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX30_MASK (0x40000000U)
19457#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX30_SHIFT (30U)
19458/*! DMAC0_ITRIG_INMUX30 - DMAC0 input trigger inmux 30 enable set
19459 * 0b0..No Effect
19460 * 0b1..Sets the ENA0 Bit
19461 */
19462#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX30(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX30_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX30_MASK)
19463#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX31_MASK (0x80000000U)
19464#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX31_SHIFT (31U)
19465/*! DMAC0_ITRIG_INMUX31 - DMAC0 input trigger inmux 31 enable set
19466 * 0b0..No Effect
19467 * 0b1..Sets the ENA0 Bit
19468 */
19469#define INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX31(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX31_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_SET_DMAC0_ITRIG_INMUX31_MASK)
19470/*! @} */
19471
19472/*! @name DMAC0_ITRIG_ENA0_CLR - DMAC0 input trigger enable clear 0 */
19473/*! @{ */
19474#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX0_MASK (0x1U)
19475#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX0_SHIFT (0U)
19476/*! DMAC0_ITRIG_INMUX0 - DMAC0 input trigger inmux 0 enable clear
19477 * 0b0..No Effect
19478 * 0b1..clears the ENA0 Bit
19479 */
19480#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX0_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX0_MASK)
19481#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX1_MASK (0x2U)
19482#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX1_SHIFT (1U)
19483/*! DMAC0_ITRIG_INMUX1 - DMAC0 input trigger inmux 1 enable clear
19484 * 0b0..No Effect
19485 * 0b1..clears the ENA0 Bit
19486 */
19487#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX1_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX1_MASK)
19488#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX2_MASK (0x4U)
19489#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX2_SHIFT (2U)
19490/*! DMAC0_ITRIG_INMUX2 - DMAC0 input trigger inmux 2 enable clear
19491 */
19492#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX2_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX2_MASK)
19493#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX3_MASK (0x8U)
19494#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX3_SHIFT (3U)
19495/*! DMAC0_ITRIG_INMUX3 - DMAC0 input trigger inmux 3 enable clear
19496 * 0b0..No Effect
19497 * 0b1..clears the ENA0 Bit
19498 */
19499#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX3_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX3_MASK)
19500#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX4_MASK (0x10U)
19501#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX4_SHIFT (4U)
19502/*! DMAC0_ITRIG_INMUX4 - DMAC0 input trigger inmux 4 enable clear
19503 * 0b0..No Effect
19504 * 0b1..clears the ENA0 Bit
19505 */
19506#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX4_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX4_MASK)
19507#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX5_MASK (0x20U)
19508#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX5_SHIFT (5U)
19509/*! DMAC0_ITRIG_INMUX5 - DMAC0 input trigger inmux 5 enable clear
19510 * 0b0..No Effect
19511 * 0b1..clears the ENA0 Bit
19512 */
19513#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX5_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX5_MASK)
19514#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX6_MASK (0x40U)
19515#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX6_SHIFT (6U)
19516/*! DMAC0_ITRIG_INMUX6 - DMAC0 input trigger inmux 6 enable clear
19517 * 0b0..No Effect
19518 * 0b1..clears the ENA0 Bit
19519 */
19520#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX6_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX6_MASK)
19521#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX7_MASK (0x80U)
19522#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX7_SHIFT (7U)
19523/*! DMAC0_ITRIG_INMUX7 - DMAC0 input trigger inmux 7 enable clear
19524 * 0b0..No Effect
19525 * 0b1..clears the ENA0 Bit
19526 */
19527#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX7_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX7_MASK)
19528#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX8_MASK (0x100U)
19529#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX8_SHIFT (8U)
19530/*! DMAC0_ITRIG_INMUX8 - DMAC0 input trigger inmux 8 enable clear
19531 * 0b0..No Effect
19532 * 0b1..clears the ENA0 Bit
19533 */
19534#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX8(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX8_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX8_MASK)
19535#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX9_MASK (0x200U)
19536#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX9_SHIFT (9U)
19537/*! DMAC0_ITRIG_INMUX9 - DMAC0 input trigger inmux 9 enable clear
19538 * 0b0..No Effect
19539 * 0b1..clears the ENA0 Bit
19540 */
19541#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX9(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX9_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX9_MASK)
19542#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX10_MASK (0x400U)
19543#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX10_SHIFT (10U)
19544/*! DMAC0_ITRIG_INMUX10 - DMAC0 input trigger inmux 10 enable clear
19545 * 0b0..No Effect
19546 * 0b1..clears the ENA0 Bit
19547 */
19548#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX10(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX10_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX10_MASK)
19549#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX11_MASK (0x800U)
19550#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX11_SHIFT (11U)
19551/*! DMAC0_ITRIG_INMUX11 - DMAC0 input trigger inmux 11 enable clear
19552 * 0b0..No Effect
19553 * 0b1..clears the ENA0 Bit
19554 */
19555#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX11(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX11_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX11_MASK)
19556#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX12_MASK (0x1000U)
19557#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX12_SHIFT (12U)
19558/*! DMAC0_ITRIG_INMUX12 - DMAC0 input trigger inmux 12 enable clear
19559 * 0b0..No Effect
19560 * 0b1..clears the ENA0 Bit
19561 */
19562#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX12(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX12_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX12_MASK)
19563#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX13_MASK (0x2000U)
19564#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX13_SHIFT (13U)
19565/*! DMAC0_ITRIG_INMUX13 - DMAC0 input trigger inmux 13 enable clear
19566 * 0b0..No Effect
19567 * 0b1..clears the ENA0 Bit
19568 */
19569#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX13(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX13_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX13_MASK)
19570#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX14_MASK (0x4000U)
19571#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX14_SHIFT (14U)
19572/*! DMAC0_ITRIG_INMUX14 - DMAC0 input trigger inmux 14 enable clear
19573 * 0b0..No Effect
19574 * 0b1..clears the ENA0 Bit
19575 */
19576#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX14(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX14_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX14_MASK)
19577#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX15_MASK (0x8000U)
19578#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX15_SHIFT (15U)
19579/*! DMAC0_ITRIG_INMUX15 - DMAC0 input trigger inmux 15 enable clear
19580 * 0b0..No Effect
19581 * 0b1..clears the ENA0 Bit
19582 */
19583#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX15(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX15_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX15_MASK)
19584#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX16_MASK (0x10000U)
19585#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX16_SHIFT (16U)
19586/*! DMAC0_ITRIG_INMUX16 - DMAC0 input trigger inmux 16 enable clear
19587 * 0b0..No Effect
19588 * 0b1..clears the ENA0 Bit
19589 */
19590#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX16(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX16_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX16_MASK)
19591#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX17_MASK (0x20000U)
19592#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX17_SHIFT (17U)
19593/*! DMAC0_ITRIG_INMUX17 - DMAC0 input trigger inmux 17 enable clear
19594 * 0b0..No Effect
19595 * 0b1..clears the ENA0 Bit
19596 */
19597#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX17(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX17_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX17_MASK)
19598#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX18_MASK (0x40000U)
19599#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX18_SHIFT (18U)
19600/*! DMAC0_ITRIG_INMUX18 - DMAC0 input trigger inmux 18 enable clear
19601 * 0b0..No Effect
19602 * 0b1..clears the ENA0 Bit
19603 */
19604#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX18(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX18_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX18_MASK)
19605#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX19_MASK (0x80000U)
19606#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX19_SHIFT (19U)
19607/*! DMAC0_ITRIG_INMUX19 - DMAC0 input trigger inmux 19 enable clear
19608 * 0b0..No Effect
19609 * 0b1..clears the ENA0 Bit
19610 */
19611#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX19(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX19_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX19_MASK)
19612#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX20_MASK (0x100000U)
19613#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX20_SHIFT (20U)
19614/*! DMAC0_ITRIG_INMUX20 - DMAC0 input trigger inmux 20 enable clear
19615 * 0b0..No Effect
19616 * 0b1..clears the ENA0 Bit
19617 */
19618#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX20(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX20_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX20_MASK)
19619#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX21_MASK (0x200000U)
19620#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX21_SHIFT (21U)
19621/*! DMAC0_ITRIG_INMUX21 - DMAC0 input trigger inmux 21 enable clear
19622 * 0b0..No Effect
19623 * 0b1..clears the ENA0 Bit
19624 */
19625#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX21(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX21_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX21_MASK)
19626#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX22_MASK (0x400000U)
19627#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX22_SHIFT (22U)
19628/*! DMAC0_ITRIG_INMUX22 - DMAC0 input trigger inmux 22 enable clear
19629 * 0b0..No Effect
19630 * 0b1..clears the ENA0 Bit
19631 */
19632#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX22(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX22_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX22_MASK)
19633#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX23_MASK (0x800000U)
19634#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX23_SHIFT (23U)
19635/*! DMAC0_ITRIG_INMUX23 - DMAC0 input trigger inmux 23 enable clear
19636 * 0b0..No Effect
19637 * 0b1..clears the ENA0 Bit
19638 */
19639#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX23(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX23_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX23_MASK)
19640#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX24_MASK (0x1000000U)
19641#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX24_SHIFT (24U)
19642/*! DMAC0_ITRIG_INMUX24 - DMAC0 input trigger inmux 24 enable clear
19643 * 0b0..No Effect
19644 * 0b1..clears the ENA0 Bit
19645 */
19646#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX24(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX24_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX24_MASK)
19647#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX25_MASK (0x2000000U)
19648#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX25_SHIFT (25U)
19649/*! DMAC0_ITRIG_INMUX25 - DMAC0 input trigger inmux 25 enable clear
19650 * 0b0..No Effect
19651 * 0b1..clears the ENA0 Bit
19652 */
19653#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX25(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX25_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX25_MASK)
19654#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX26_MASK (0x4000000U)
19655#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX26_SHIFT (26U)
19656/*! DMAC0_ITRIG_INMUX26 - DMAC0 input trigger inmux 26 enable clear
19657 * 0b0..No Effect
19658 * 0b1..clears the ENA0 Bit
19659 */
19660#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX26(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX26_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX26_MASK)
19661#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX27_MASK (0x8000000U)
19662#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX27_SHIFT (27U)
19663/*! DMAC0_ITRIG_INMUX27 - DMAC0 input trigger inmux 27 enable clear
19664 * 0b0..No Effect
19665 * 0b1..clears the ENA0 Bit
19666 */
19667#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX27(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX27_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX27_MASK)
19668#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX28_MASK (0x10000000U)
19669#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX28_SHIFT (28U)
19670/*! DMAC0_ITRIG_INMUX28 - DMAC0 input trigger inmux 28 enable clear
19671 * 0b0..No Effect
19672 * 0b1..clears the ENA0 Bit
19673 */
19674#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX28(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX28_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX28_MASK)
19675#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX29_MASK (0x20000000U)
19676#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX29_SHIFT (29U)
19677/*! DMAC0_ITRIG_INMUX29 - DMAC0 input trigger inmux 29 enable clear
19678 * 0b0..No Effect
19679 * 0b1..clears the ENA0 Bit
19680 */
19681#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX29(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX29_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX29_MASK)
19682#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX30_MASK (0x40000000U)
19683#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX30_SHIFT (30U)
19684/*! DMAC0_ITRIG_INMUX30 - DMAC0 input trigger inmux 30 enable clear
19685 * 0b0..No Effect
19686 * 0b1..clears the ENA0 Bit
19687 */
19688#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX30(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX30_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX30_MASK)
19689#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX31_MASK (0x80000000U)
19690#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX31_SHIFT (31U)
19691/*! DMAC0_ITRIG_INMUX31 - DMAC0 input trigger inmux 31 enable clear
19692 * 0b0..No Effect
19693 * 0b1..clears the ENA0 Bit
19694 */
19695#define INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX31(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX31_SHIFT)) & INPUTMUX_DMAC0_ITRIG_ENA0_CLR_DMAC0_ITRIG_INMUX31_MASK)
19696/*! @} */
19697
19698/*! @name DMAC1_ITRIG_ENA0 - DMAC1 input trigger enable 0 */
19699/*! @{ */
19700#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX0_MASK (0x1U)
19701#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX0_SHIFT (0U)
19702/*! DMAC1_ITRIG_INMUX0 - DMAC1 input trigger inmux 0 enable
19703 * 0b0..disable
19704 * 0b1..enable
19705 */
19706#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX0_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX0_MASK)
19707#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX1_MASK (0x2U)
19708#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX1_SHIFT (1U)
19709/*! DMAC1_ITRIG_INMUX1 - DMAC1 input trigger inmux 1 enable
19710 * 0b0..disable
19711 * 0b1..enable
19712 */
19713#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX1_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX1_MASK)
19714#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX2_MASK (0x4U)
19715#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX2_SHIFT (2U)
19716/*! DMAC1_ITRIG_INMUX2 - DMAC1 input trigger inmux 2 enable
19717 * 0b0..disable
19718 * 0b1..enable
19719 */
19720#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX2_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX2_MASK)
19721#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX3_MASK (0x8U)
19722#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX3_SHIFT (3U)
19723/*! DMAC1_ITRIG_INMUX3 - DMAC1 input trigger inmux 3 enable
19724 * 0b0..disable
19725 * 0b1..enable
19726 */
19727#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX3_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX3_MASK)
19728#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX4_MASK (0x10U)
19729#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX4_SHIFT (4U)
19730/*! DMAC1_ITRIG_INMUX4 - DMAC1 input trigger inmux 4 enable
19731 * 0b0..disable
19732 * 0b1..enable
19733 */
19734#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX4_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX4_MASK)
19735#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX5_MASK (0x20U)
19736#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX5_SHIFT (5U)
19737/*! DMAC1_ITRIG_INMUX5 - DMAC1 input trigger inmux 5 enable
19738 * 0b0..disable
19739 * 0b1..enable
19740 */
19741#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX5_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX5_MASK)
19742#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX6_MASK (0x40U)
19743#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX6_SHIFT (6U)
19744/*! DMAC1_ITRIG_INMUX6 - DMAC1 input trigger inmux 6 enable
19745 * 0b0..disable
19746 * 0b1..enable
19747 */
19748#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX6_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX6_MASK)
19749#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX7_MASK (0x80U)
19750#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX7_SHIFT (7U)
19751/*! DMAC1_ITRIG_INMUX7 - DMAC1 input trigger inmux 7 enable
19752 * 0b0..disable
19753 * 0b1..enable
19754 */
19755#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX7_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX7_MASK)
19756#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX8_MASK (0x100U)
19757#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX8_SHIFT (8U)
19758/*! DMAC1_ITRIG_INMUX8 - DMAC1 input trigger inmux 8 enable
19759 * 0b0..disable
19760 * 0b1..enable
19761 */
19762#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX8(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX8_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX8_MASK)
19763#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX9_MASK (0x200U)
19764#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX9_SHIFT (9U)
19765/*! DMAC1_ITRIG_INMUX9 - DMAC1 input trigger inmux 9 enable
19766 * 0b0..disable
19767 * 0b1..enable
19768 */
19769#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX9(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX9_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX9_MASK)
19770#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX10_MASK (0x400U)
19771#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX10_SHIFT (10U)
19772/*! DMAC1_ITRIG_INMUX10 - DMAC1 input trigger inmux 10 enable
19773 * 0b0..disable
19774 * 0b1..enable
19775 */
19776#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX10(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX10_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX10_MASK)
19777#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX11_MASK (0x800U)
19778#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX11_SHIFT (11U)
19779/*! DMAC1_ITRIG_INMUX11 - DMAC1 input trigger inmux 11 enable
19780 * 0b0..disable
19781 * 0b1..enable
19782 */
19783#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX11(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX11_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX11_MASK)
19784#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX12_MASK (0x1000U)
19785#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX12_SHIFT (12U)
19786/*! DMAC1_ITRIG_INMUX12 - DMAC1 input trigger inmux 12 enable
19787 * 0b0..disable
19788 * 0b1..enable
19789 */
19790#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX12(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX12_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX12_MASK)
19791#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX13_MASK (0x2000U)
19792#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX13_SHIFT (13U)
19793/*! DMAC1_ITRIG_INMUX13 - DMAC1 input trigger inmux 13 enable
19794 * 0b0..disable
19795 * 0b1..enable
19796 */
19797#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX13(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX13_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX13_MASK)
19798#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX14_MASK (0x4000U)
19799#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX14_SHIFT (14U)
19800/*! DMAC1_ITRIG_INMUX14 - DMAC1 input trigger inmux 14 enable
19801 * 0b0..disable
19802 * 0b1..enable
19803 */
19804#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX14(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX14_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX14_MASK)
19805#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX15_MASK (0x8000U)
19806#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX15_SHIFT (15U)
19807/*! DMAC1_ITRIG_INMUX15 - DMAC1 input trigger inmux 15 enable
19808 * 0b0..disable
19809 * 0b1..enable
19810 */
19811#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX15(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX15_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX15_MASK)
19812#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX16_MASK (0x10000U)
19813#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX16_SHIFT (16U)
19814/*! DMAC1_ITRIG_INMUX16 - DMAC1 input trigger inmux 16 enable
19815 * 0b0..disable
19816 * 0b1..enable
19817 */
19818#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX16(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX16_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX16_MASK)
19819#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX17_MASK (0x20000U)
19820#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX17_SHIFT (17U)
19821/*! DMAC1_ITRIG_INMUX17 - DMAC1 input trigger inmux 17 enable
19822 * 0b0..disable
19823 * 0b1..enable
19824 */
19825#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX17(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX17_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX17_MASK)
19826#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX18_MASK (0x40000U)
19827#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX18_SHIFT (18U)
19828/*! DMAC1_ITRIG_INMUX18 - DMAC1 input trigger inmux 18 enable
19829 * 0b0..disable
19830 * 0b1..enable
19831 */
19832#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX18(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX18_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX18_MASK)
19833#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX19_MASK (0x80000U)
19834#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX19_SHIFT (19U)
19835/*! DMAC1_ITRIG_INMUX19 - DMAC1 input trigger inmux 19 enable
19836 * 0b0..disable
19837 * 0b1..enable
19838 */
19839#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX19(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX19_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX19_MASK)
19840#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX20_MASK (0x100000U)
19841#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX20_SHIFT (20U)
19842/*! DMAC1_ITRIG_INMUX20 - DMAC1 input trigger inmux 20 enable
19843 * 0b0..disable
19844 * 0b1..enable
19845 */
19846#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX20(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX20_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX20_MASK)
19847#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX21_MASK (0x200000U)
19848#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX21_SHIFT (21U)
19849/*! DMAC1_ITRIG_INMUX21 - DMAC1 input trigger inmux 21 enable
19850 * 0b0..disable
19851 * 0b1..enable
19852 */
19853#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX21(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX21_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX21_MASK)
19854#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX22_MASK (0x400000U)
19855#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX22_SHIFT (22U)
19856/*! DMAC1_ITRIG_INMUX22 - DMAC1 input trigger inmux 22 enable
19857 * 0b0..disable
19858 * 0b1..enable
19859 */
19860#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX22(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX22_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX22_MASK)
19861#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX23_MASK (0x800000U)
19862#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX23_SHIFT (23U)
19863/*! DMAC1_ITRIG_INMUX23 - DMAC1 input trigger inmux 23 enable
19864 * 0b0..disable
19865 * 0b1..enable
19866 */
19867#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX23(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX23_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX23_MASK)
19868#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX24_MASK (0x1000000U)
19869#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX24_SHIFT (24U)
19870/*! DMAC1_ITRIG_INMUX24 - DMAC1 input trigger inmux 24 enable
19871 * 0b0..disable
19872 * 0b1..enable
19873 */
19874#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX24(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX24_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX24_MASK)
19875#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX25_MASK (0x2000000U)
19876#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX25_SHIFT (25U)
19877/*! DMAC1_ITRIG_INMUX25 - DMAC1 input trigger inmux 25 enable
19878 * 0b0..disable
19879 * 0b1..enable
19880 */
19881#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX25(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX25_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX25_MASK)
19882#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX26_MASK (0x4000000U)
19883#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX26_SHIFT (26U)
19884/*! DMAC1_ITRIG_INMUX26 - DMAC1 input trigger inmux 25 enable
19885 * 0b0..disable
19886 * 0b1..enable
19887 */
19888#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX26(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX26_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX26_MASK)
19889#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX27_MASK (0x8000000U)
19890#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX27_SHIFT (27U)
19891/*! DMAC1_ITRIG_INMUX27 - DMAC1 input trigger inmux 25 enable
19892 * 0b0..disable
19893 * 0b1..enable
19894 */
19895#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX27(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX27_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX27_MASK)
19896#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX28_MASK (0x10000000U)
19897#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX28_SHIFT (28U)
19898/*! DMAC1_ITRIG_INMUX28 - DMAC1 input trigger inmux 25 enable
19899 * 0b0..disable
19900 * 0b1..enable
19901 */
19902#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX28(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX28_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX28_MASK)
19903#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX29_MASK (0x20000000U)
19904#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX29_SHIFT (29U)
19905/*! DMAC1_ITRIG_INMUX29 - DMAC1 input trigger inmux 25 enable
19906 * 0b0..disable
19907 * 0b1..enable
19908 */
19909#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX29(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX29_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX29_MASK)
19910#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX30_MASK (0x40000000U)
19911#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX30_SHIFT (30U)
19912/*! DMAC1_ITRIG_INMUX30 - DMAC1 input trigger inmux 25 enable
19913 * 0b0..disable
19914 * 0b1..enable
19915 */
19916#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX30(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX30_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX30_MASK)
19917#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX31_MASK (0x80000000U)
19918#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX31_SHIFT (31U)
19919/*! DMAC1_ITRIG_INMUX31 - DMAC1 input trigger inmux 25 enable
19920 * 0b0..disable
19921 * 0b1..enable
19922 */
19923#define INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX31(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX31_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_DMAC1_ITRIG_INMUX31_MASK)
19924/*! @} */
19925
19926/*! @name DMAC1_ITRIG_ENA0_SET - DMAC1 input trigger enable set 0 */
19927/*! @{ */
19928#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX0_MASK (0x1U)
19929#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX0_SHIFT (0U)
19930/*! DMAC1_ITRIG_INMUX0 - DMAC1 input trigger inmux 0 enable set
19931 * 0b0..No Effect
19932 * 0b1..Sets the ENA0 Bit
19933 */
19934#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX0_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX0_MASK)
19935#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX1_MASK (0x2U)
19936#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX1_SHIFT (1U)
19937/*! DMAC1_ITRIG_INMUX1 - DMAC1 input trigger inmux 1 enable set
19938 * 0b0..No Effect
19939 * 0b1..Sets the ENA0 Bit
19940 */
19941#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX1_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX1_MASK)
19942#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX2_MASK (0x4U)
19943#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX2_SHIFT (2U)
19944/*! DMAC1_ITRIG_INMUX2 - DMAC1 input trigger inmux 2 enable set
19945 */
19946#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX2_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX2_MASK)
19947#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX3_MASK (0x8U)
19948#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX3_SHIFT (3U)
19949/*! DMAC1_ITRIG_INMUX3 - DMAC1 input trigger inmux 3 enable set
19950 * 0b0..No Effect
19951 * 0b1..Sets the ENA0 Bit
19952 */
19953#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX3_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX3_MASK)
19954#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX4_MASK (0x10U)
19955#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX4_SHIFT (4U)
19956/*! DMAC1_ITRIG_INMUX4 - DMAC1 input trigger inmux 4 enable set
19957 * 0b0..No Effect
19958 * 0b1..Sets the ENA0 Bit
19959 */
19960#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX4_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX4_MASK)
19961#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX5_MASK (0x20U)
19962#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX5_SHIFT (5U)
19963/*! DMAC1_ITRIG_INMUX5 - DMAC1 input trigger inmux 5 enable set
19964 * 0b0..No Effect
19965 * 0b1..Sets the ENA0 Bit
19966 */
19967#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX5_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX5_MASK)
19968#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX6_MASK (0x40U)
19969#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX6_SHIFT (6U)
19970/*! DMAC1_ITRIG_INMUX6 - DMAC1 input trigger inmux 6 enable set
19971 * 0b0..No Effect
19972 * 0b1..Sets the ENA0 Bit
19973 */
19974#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX6_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX6_MASK)
19975#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX7_MASK (0x80U)
19976#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX7_SHIFT (7U)
19977/*! DMAC1_ITRIG_INMUX7 - DMAC1 input trigger inmux 7 enable set
19978 * 0b0..No Effect
19979 * 0b1..Sets the ENA0 Bit
19980 */
19981#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX7_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX7_MASK)
19982#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX8_MASK (0x100U)
19983#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX8_SHIFT (8U)
19984/*! DMAC1_ITRIG_INMUX8 - DMAC1 input trigger inmux 8 enable set
19985 * 0b0..No Effect
19986 * 0b1..Sets the ENA0 Bit
19987 */
19988#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX8(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX8_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX8_MASK)
19989#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX9_MASK (0x200U)
19990#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX9_SHIFT (9U)
19991/*! DMAC1_ITRIG_INMUX9 - DMAC1 input trigger inmux 9 enable set
19992 * 0b0..No Effect
19993 * 0b1..Sets the ENA0 Bit
19994 */
19995#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX9(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX9_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX9_MASK)
19996#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX10_MASK (0x400U)
19997#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX10_SHIFT (10U)
19998/*! DMAC1_ITRIG_INMUX10 - DMAC1 input trigger inmux 10 enable set
19999 * 0b0..No Effect
20000 * 0b1..Sets the ENA0 Bit
20001 */
20002#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX10(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX10_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX10_MASK)
20003#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX11_MASK (0x800U)
20004#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX11_SHIFT (11U)
20005/*! DMAC1_ITRIG_INMUX11 - DMAC1 input trigger inmux 11 enable set
20006 * 0b0..No Effect
20007 * 0b1..Sets the ENA0 Bit
20008 */
20009#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX11(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX11_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX11_MASK)
20010#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX12_MASK (0x1000U)
20011#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX12_SHIFT (12U)
20012/*! DMAC1_ITRIG_INMUX12 - DMAC1 input trigger inmux 12 enable set
20013 * 0b0..No Effect
20014 * 0b1..Sets the ENA0 Bit
20015 */
20016#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX12(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX12_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX12_MASK)
20017#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX13_MASK (0x2000U)
20018#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX13_SHIFT (13U)
20019/*! DMAC1_ITRIG_INMUX13 - DMAC1 input trigger inmux 13 enable set
20020 * 0b0..No Effect
20021 * 0b1..Sets the ENA0 Bit
20022 */
20023#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX13(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX13_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX13_MASK)
20024#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX14_MASK (0x4000U)
20025#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX14_SHIFT (14U)
20026/*! DMAC1_ITRIG_INMUX14 - DMAC1 input trigger inmux 14 enable set
20027 * 0b0..No Effect
20028 * 0b1..Sets the ENA0 Bit
20029 */
20030#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX14(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX14_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX14_MASK)
20031#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX15_MASK (0x8000U)
20032#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX15_SHIFT (15U)
20033/*! DMAC1_ITRIG_INMUX15 - DMAC1 input trigger inmux 15 enable set
20034 * 0b0..No Effect
20035 * 0b1..Sets the ENA0 Bit
20036 */
20037#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX15(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX15_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX15_MASK)
20038#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX16_MASK (0x10000U)
20039#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX16_SHIFT (16U)
20040/*! DMAC1_ITRIG_INMUX16 - DMAC1 input trigger inmux 16 enable set
20041 * 0b0..No Effect
20042 * 0b1..Sets the ENA0 Bit
20043 */
20044#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX16(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX16_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX16_MASK)
20045#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX17_MASK (0x20000U)
20046#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX17_SHIFT (17U)
20047/*! DMAC1_ITRIG_INMUX17 - DMAC1 input trigger inmux 17 enable set
20048 * 0b0..No Effect
20049 * 0b1..Sets the ENA0 Bit
20050 */
20051#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX17(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX17_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX17_MASK)
20052#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX18_MASK (0x40000U)
20053#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX18_SHIFT (18U)
20054/*! DMAC1_ITRIG_INMUX18 - DMAC1 input trigger inmux 18 enable set
20055 * 0b0..No Effect
20056 * 0b1..Sets the ENA0 Bit
20057 */
20058#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX18(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX18_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX18_MASK)
20059#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX19_MASK (0x80000U)
20060#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX19_SHIFT (19U)
20061/*! DMAC1_ITRIG_INMUX19 - DMAC1 input trigger inmux 19 enable set
20062 * 0b0..No Effect
20063 * 0b1..Sets the ENA0 Bit
20064 */
20065#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX19(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX19_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX19_MASK)
20066#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX20_MASK (0x100000U)
20067#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX20_SHIFT (20U)
20068/*! DMAC1_ITRIG_INMUX20 - DMAC1 input trigger inmux 20 enable set
20069 * 0b0..No Effect
20070 * 0b1..Sets the ENA0 Bit
20071 */
20072#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX20(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX20_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX20_MASK)
20073#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX21_MASK (0x200000U)
20074#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX21_SHIFT (21U)
20075/*! DMAC1_ITRIG_INMUX21 - DMAC1 input trigger inmux 21 enable set
20076 * 0b0..No Effect
20077 * 0b1..Sets the ENA0 Bit
20078 */
20079#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX21(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX21_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX21_MASK)
20080#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX22_MASK (0x400000U)
20081#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX22_SHIFT (22U)
20082/*! DMAC1_ITRIG_INMUX22 - DMAC1 input trigger inmux 22 enable set
20083 * 0b0..No Effect
20084 * 0b1..Sets the ENA0 Bit
20085 */
20086#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX22(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX22_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX22_MASK)
20087#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX23_MASK (0x800000U)
20088#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX23_SHIFT (23U)
20089/*! DMAC1_ITRIG_INMUX23 - DMAC1 input trigger inmux 23 enable set
20090 * 0b0..No Effect
20091 * 0b1..Sets the ENA0 Bit
20092 */
20093#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX23(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX23_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX23_MASK)
20094#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX24_MASK (0x1000000U)
20095#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX24_SHIFT (24U)
20096/*! DMAC1_ITRIG_INMUX24 - DMAC1 input trigger inmux 24 enable set
20097 * 0b0..No Effect
20098 * 0b1..Sets the ENA0 Bit
20099 */
20100#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX24(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX24_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX24_MASK)
20101#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX25_MASK (0x2000000U)
20102#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX25_SHIFT (25U)
20103/*! DMAC1_ITRIG_INMUX25 - DMAC1 input trigger inmux 25 enable set
20104 * 0b0..No Effect
20105 * 0b1..Sets the ENA0 Bit
20106 */
20107#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX25(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX25_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX25_MASK)
20108#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX26_MASK (0x4000000U)
20109#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX26_SHIFT (26U)
20110/*! DMAC1_ITRIG_INMUX26 - DMAC1 input trigger inmux 25 enable set
20111 * 0b0..No Effect
20112 * 0b1..Sets the ENA0 Bit
20113 */
20114#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX26(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX26_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX26_MASK)
20115#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX27_MASK (0x8000000U)
20116#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX27_SHIFT (27U)
20117/*! DMAC1_ITRIG_INMUX27 - DMAC1 input trigger inmux 25 enable set
20118 * 0b0..No Effect
20119 * 0b1..Sets the ENA0 Bit
20120 */
20121#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX27(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX27_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX27_MASK)
20122#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX28_MASK (0x10000000U)
20123#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX28_SHIFT (28U)
20124/*! DMAC1_ITRIG_INMUX28 - DMAC1 input trigger inmux 25 enable set
20125 * 0b0..No Effect
20126 * 0b1..Sets the ENA0 Bit
20127 */
20128#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX28(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX28_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX28_MASK)
20129#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX29_MASK (0x20000000U)
20130#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX29_SHIFT (29U)
20131/*! DMAC1_ITRIG_INMUX29 - DMAC1 input trigger inmux 25 enable set
20132 * 0b0..No Effect
20133 * 0b1..Sets the ENA0 Bit
20134 */
20135#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX29(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX29_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX29_MASK)
20136#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX30_MASK (0x40000000U)
20137#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX30_SHIFT (30U)
20138/*! DMAC1_ITRIG_INMUX30 - DMAC1 input trigger inmux 25 enable set
20139 * 0b0..No Effect
20140 * 0b1..Sets the ENA0 Bit
20141 */
20142#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX30(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX30_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX30_MASK)
20143#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX31_MASK (0x80000000U)
20144#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX31_SHIFT (31U)
20145/*! DMAC1_ITRIG_INMUX31 - DMAC1 input trigger inmux 25 enable set
20146 * 0b0..No Effect
20147 * 0b1..Sets the ENA0 Bit
20148 */
20149#define INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX31(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX31_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_SET_DMAC1_ITRIG_INMUX31_MASK)
20150/*! @} */
20151
20152/*! @name DMAC1_ITRIG_ENA0_CLR - DMAC1 input trigger enable clear 0 */
20153/*! @{ */
20154#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX0_MASK (0x1U)
20155#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX0_SHIFT (0U)
20156/*! DMAC1_ITRIG_INMUX0 - DMAC1 input trigger inmux 0 enable clear
20157 * 0b0..No Effect
20158 * 0b1..clears the ENA0 Bit
20159 */
20160#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX0(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX0_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX0_MASK)
20161#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX1_MASK (0x2U)
20162#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX1_SHIFT (1U)
20163/*! DMAC1_ITRIG_INMUX1 - DMAC1 input trigger inmux 1 enable clear
20164 * 0b0..No Effect
20165 * 0b1..clears the ENA0 Bit
20166 */
20167#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX1(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX1_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX1_MASK)
20168#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX2_MASK (0x4U)
20169#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX2_SHIFT (2U)
20170/*! DMAC1_ITRIG_INMUX2 - DMAC1 input trigger inmux 2 enable clear
20171 */
20172#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX2(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX2_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX2_MASK)
20173#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX3_MASK (0x8U)
20174#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX3_SHIFT (3U)
20175/*! DMAC1_ITRIG_INMUX3 - DMAC1 input trigger inmux 3 enable clear
20176 * 0b0..No Effect
20177 * 0b1..clears the ENA0 Bit
20178 */
20179#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX3(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX3_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX3_MASK)
20180#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX4_MASK (0x10U)
20181#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX4_SHIFT (4U)
20182/*! DMAC1_ITRIG_INMUX4 - DMAC1 input trigger inmux 4 enable clear
20183 * 0b0..No Effect
20184 * 0b1..clears the ENA0 Bit
20185 */
20186#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX4(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX4_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX4_MASK)
20187#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX5_MASK (0x20U)
20188#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX5_SHIFT (5U)
20189/*! DMAC1_ITRIG_INMUX5 - DMAC1 input trigger inmux 5 enable clear
20190 * 0b0..No Effect
20191 * 0b1..clears the ENA0 Bit
20192 */
20193#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX5(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX5_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX5_MASK)
20194#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX6_MASK (0x40U)
20195#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX6_SHIFT (6U)
20196/*! DMAC1_ITRIG_INMUX6 - DMAC1 input trigger inmux 6 enable clear
20197 * 0b0..No Effect
20198 * 0b1..clears the ENA0 Bit
20199 */
20200#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX6(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX6_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX6_MASK)
20201#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX7_MASK (0x80U)
20202#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX7_SHIFT (7U)
20203/*! DMAC1_ITRIG_INMUX7 - DMAC1 input trigger inmux 7 enable clear
20204 * 0b0..No Effect
20205 * 0b1..clears the ENA0 Bit
20206 */
20207#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX7(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX7_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX7_MASK)
20208#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX8_MASK (0x100U)
20209#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX8_SHIFT (8U)
20210/*! DMAC1_ITRIG_INMUX8 - DMAC1 input trigger inmux 8 enable clear
20211 * 0b0..No Effect
20212 * 0b1..clears the ENA0 Bit
20213 */
20214#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX8(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX8_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX8_MASK)
20215#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX9_MASK (0x200U)
20216#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX9_SHIFT (9U)
20217/*! DMAC1_ITRIG_INMUX9 - DMAC1 input trigger inmux 9 enable clear
20218 * 0b0..No Effect
20219 * 0b1..clears the ENA0 Bit
20220 */
20221#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX9(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX9_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX9_MASK)
20222#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX10_MASK (0x400U)
20223#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX10_SHIFT (10U)
20224/*! DMAC1_ITRIG_INMUX10 - DMAC1 input trigger inmux 10 enable clear
20225 * 0b0..No Effect
20226 * 0b1..clears the ENA0 Bit
20227 */
20228#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX10(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX10_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX10_MASK)
20229#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX11_MASK (0x800U)
20230#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX11_SHIFT (11U)
20231/*! DMAC1_ITRIG_INMUX11 - DMAC1 input trigger inmux 11 enable clear
20232 * 0b0..No Effect
20233 * 0b1..clears the ENA0 Bit
20234 */
20235#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX11(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX11_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX11_MASK)
20236#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX12_MASK (0x1000U)
20237#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX12_SHIFT (12U)
20238/*! DMAC1_ITRIG_INMUX12 - DMAC1 input trigger inmux 12 enable clear
20239 * 0b0..No Effect
20240 * 0b1..clears the ENA0 Bit
20241 */
20242#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX12(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX12_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX12_MASK)
20243#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX13_MASK (0x2000U)
20244#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX13_SHIFT (13U)
20245/*! DMAC1_ITRIG_INMUX13 - DMAC1 input trigger inmux 13 enable clear
20246 * 0b0..No Effect
20247 * 0b1..clears the ENA0 Bit
20248 */
20249#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX13(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX13_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX13_MASK)
20250#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX14_MASK (0x4000U)
20251#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX14_SHIFT (14U)
20252/*! DMAC1_ITRIG_INMUX14 - DMAC1 input trigger inmux 14 enable clear
20253 * 0b0..No Effect
20254 * 0b1..clears the ENA0 Bit
20255 */
20256#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX14(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX14_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX14_MASK)
20257#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX15_MASK (0x8000U)
20258#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX15_SHIFT (15U)
20259/*! DMAC1_ITRIG_INMUX15 - DMAC1 input trigger inmux 15 enable clear
20260 * 0b0..No Effect
20261 * 0b1..clears the ENA0 Bit
20262 */
20263#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX15(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX15_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX15_MASK)
20264#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX16_MASK (0x10000U)
20265#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX16_SHIFT (16U)
20266/*! DMAC1_ITRIG_INMUX16 - DMAC1 input trigger inmux 16 enable clear
20267 * 0b0..No Effect
20268 * 0b1..clears the ENA0 Bit
20269 */
20270#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX16(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX16_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX16_MASK)
20271#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX17_MASK (0x20000U)
20272#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX17_SHIFT (17U)
20273/*! DMAC1_ITRIG_INMUX17 - DMAC1 input trigger inmux 17 enable clear
20274 * 0b0..No Effect
20275 * 0b1..clears the ENA0 Bit
20276 */
20277#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX17(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX17_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX17_MASK)
20278#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX18_MASK (0x40000U)
20279#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX18_SHIFT (18U)
20280/*! DMAC1_ITRIG_INMUX18 - DMAC1 input trigger inmux 18 enable clear
20281 * 0b0..No Effect
20282 * 0b1..clears the ENA0 Bit
20283 */
20284#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX18(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX18_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX18_MASK)
20285#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX19_MASK (0x80000U)
20286#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX19_SHIFT (19U)
20287/*! DMAC1_ITRIG_INMUX19 - DMAC1 input trigger inmux 19 enable clear
20288 * 0b0..No Effect
20289 * 0b1..clears the ENA0 Bit
20290 */
20291#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX19(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX19_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX19_MASK)
20292#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX20_MASK (0x100000U)
20293#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX20_SHIFT (20U)
20294/*! DMAC1_ITRIG_INMUX20 - DMAC1 input trigger inmux 20 enable clear
20295 * 0b0..No Effect
20296 * 0b1..clears the ENA0 Bit
20297 */
20298#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX20(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX20_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX20_MASK)
20299#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX21_MASK (0x200000U)
20300#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX21_SHIFT (21U)
20301/*! DMAC1_ITRIG_INMUX21 - DMAC1 input trigger inmux 21 enable clear
20302 * 0b0..No Effect
20303 * 0b1..clears the ENA0 Bit
20304 */
20305#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX21(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX21_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX21_MASK)
20306#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX22_MASK (0x400000U)
20307#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX22_SHIFT (22U)
20308/*! DMAC1_ITRIG_INMUX22 - DMAC1 input trigger inmux 22 enable clear
20309 * 0b0..No Effect
20310 * 0b1..clears the ENA0 Bit
20311 */
20312#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX22(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX22_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX22_MASK)
20313#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX23_MASK (0x800000U)
20314#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX23_SHIFT (23U)
20315/*! DMAC1_ITRIG_INMUX23 - DMAC1 input trigger inmux 23 enable clear
20316 * 0b0..No Effect
20317 * 0b1..clears the ENA0 Bit
20318 */
20319#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX23(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX23_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX23_MASK)
20320#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX24_MASK (0x1000000U)
20321#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX24_SHIFT (24U)
20322/*! DMAC1_ITRIG_INMUX24 - DMAC1 input trigger inmux 24 enable clear
20323 * 0b0..No Effect
20324 * 0b1..clears the ENA0 Bit
20325 */
20326#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX24(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX24_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX24_MASK)
20327#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX25_MASK (0x2000000U)
20328#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX25_SHIFT (25U)
20329/*! DMAC1_ITRIG_INMUX25 - DMAC1 input trigger inmux 25 enable clear
20330 * 0b0..No Effect
20331 * 0b1..clears the ENA0 Bit
20332 */
20333#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX25(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX25_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX25_MASK)
20334#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX26_MASK (0x4000000U)
20335#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX26_SHIFT (26U)
20336/*! DMAC1_ITRIG_INMUX26 - DMAC1 input trigger inmux 25 enable clear
20337 * 0b0..No Effect
20338 * 0b1..clears the ENA0 Bit
20339 */
20340#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX26(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX26_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX26_MASK)
20341#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX27_MASK (0x8000000U)
20342#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX27_SHIFT (27U)
20343/*! DMAC1_ITRIG_INMUX27 - DMAC1 input trigger inmux 25 enable clear
20344 * 0b0..No Effect
20345 * 0b1..clears the ENA0 Bit
20346 */
20347#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX27(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX27_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX27_MASK)
20348#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX28_MASK (0x10000000U)
20349#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX28_SHIFT (28U)
20350/*! DMAC1_ITRIG_INMUX28 - DMAC1 input trigger inmux 25 enable clear
20351 * 0b0..No Effect
20352 * 0b1..clears the ENA0 Bit
20353 */
20354#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX28(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX28_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX28_MASK)
20355#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX29_MASK (0x20000000U)
20356#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX29_SHIFT (29U)
20357/*! DMAC1_ITRIG_INMUX29 - DMAC1 input trigger inmux 25 enable clear
20358 * 0b0..No Effect
20359 * 0b1..clears the ENA0 Bit
20360 */
20361#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX29(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX29_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX29_MASK)
20362#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX30_MASK (0x40000000U)
20363#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX30_SHIFT (30U)
20364/*! DMAC1_ITRIG_INMUX30 - DMAC1 input trigger inmux 25 enable clear
20365 * 0b0..No Effect
20366 * 0b1..clears the ENA0 Bit
20367 */
20368#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX30(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX30_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX30_MASK)
20369#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX31_MASK (0x80000000U)
20370#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX31_SHIFT (31U)
20371/*! DMAC1_ITRIG_INMUX31 - DMAC1 input trigger inmux 25 enable clear
20372 * 0b0..No Effect
20373 * 0b1..clears the ENA0 Bit
20374 */
20375#define INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX31(x) (((uint32_t)(((uint32_t)(x)) << INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX31_SHIFT)) & INPUTMUX_DMAC1_ITRIG_ENA0_CLR_DMAC1_ITRIG_INMUX31_MASK)
20376/*! @} */
20377
20378
20379/*!
20380 * @}
20381 */ /* end of group INPUTMUX_Register_Masks */
20382
20383
20384/* INPUTMUX - Peripheral instance base addresses */
20385#if (__ARM_FEATURE_CMSE & 0x2)
20386 /** Peripheral INPUTMUX base address */
20387 #define INPUTMUX_BASE (0x50026000u)
20388 /** Peripheral INPUTMUX base address */
20389 #define INPUTMUX_BASE_NS (0x40026000u)
20390 /** Peripheral INPUTMUX base pointer */
20391 #define INPUTMUX ((INPUTMUX_Type *)INPUTMUX_BASE)
20392 /** Peripheral INPUTMUX base pointer */
20393 #define INPUTMUX_NS ((INPUTMUX_Type *)INPUTMUX_BASE_NS)
20394 /** Array initializer of INPUTMUX peripheral base addresses */
20395 #define INPUTMUX_BASE_ADDRS { INPUTMUX_BASE }
20396 /** Array initializer of INPUTMUX peripheral base pointers */
20397 #define INPUTMUX_BASE_PTRS { INPUTMUX }
20398 /** Array initializer of INPUTMUX peripheral base addresses */
20399 #define INPUTMUX_BASE_ADDRS_NS { INPUTMUX_BASE_NS }
20400 /** Array initializer of INPUTMUX peripheral base pointers */
20401 #define INPUTMUX_BASE_PTRS_NS { INPUTMUX_NS }
20402#else
20403 /** Peripheral INPUTMUX base address */
20404 #define INPUTMUX_BASE (0x40026000u)
20405 /** Peripheral INPUTMUX base pointer */
20406 #define INPUTMUX ((INPUTMUX_Type *)INPUTMUX_BASE)
20407 /** Array initializer of INPUTMUX peripheral base addresses */
20408 #define INPUTMUX_BASE_ADDRS { INPUTMUX_BASE }
20409 /** Array initializer of INPUTMUX peripheral base pointers */
20410 #define INPUTMUX_BASE_PTRS { INPUTMUX }
20411#endif
20412
20413/*!
20414 * @}
20415 */ /* end of group INPUTMUX_Peripheral_Access_Layer */
20416
20417
20418/* ----------------------------------------------------------------------------
20419 -- IOPCTL Peripheral Access Layer
20420 ---------------------------------------------------------------------------- */
20421
20422/*!
20423 * @addtogroup IOPCTL_Peripheral_Access_Layer IOPCTL Peripheral Access Layer
20424 * @{
20425 */
20426
20427/** IOPCTL - Register Layout Typedef */
20428typedef struct {
20429 __IO uint32_t PIO[8][32]; /**< iop pad control register for port0 to port5, array offset: 0x0, array step: index*0x80, index2*0x4 */
20430 __IO uint32_t FC15_I2C_SCL; /**< Special Registers (No GPIO Function), offset: 0x400 */
20431 __IO uint32_t FC15_I2C_SDA; /**< Special Registers (No GPIO Function), offset: 0x404 */
20432} IOPCTL_Type;
20433
20434/* ----------------------------------------------------------------------------
20435 -- IOPCTL Register Masks
20436 ---------------------------------------------------------------------------- */
20437
20438/*!
20439 * @addtogroup IOPCTL_Register_Masks IOPCTL Register Masks
20440 * @{
20441 */
20442
20443/*! @name PIO - iop pad control register for port0 to port5 */
20444/*! @{ */
20445#define IOPCTL_PIO_FSEL_MASK (0xFU)
20446#define IOPCTL_PIO_FSEL_SHIFT (0U)
20447/*! FSEL - Function Selector. . .(FSELs Sources can be found in the next several pages.)
20448 * 0b0000..Function 0.
20449 * 0b0001..Function 1.
20450 * 0b0010..Function 2.
20451 * 0b0011..Function 3.
20452 * 0b0100..Function 4.
20453 * 0b0101..Function 5.
20454 * 0b0110..Function 6.
20455 * 0b0111..Function 7.
20456 * 0b1000..Function 8.
20457 * 0b1001..Function 9.
20458 * 0b1010..Function 10.
20459 * 0b1011..Function 11.
20460 * 0b1100..Function 12.
20461 * 0b1101..Function 13.
20462 * 0b1110..Function 14.
20463 * 0b1111..Function 15.
20464 */
20465#define IOPCTL_PIO_FSEL(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_FSEL_SHIFT)) & IOPCTL_PIO_FSEL_MASK)
20466#define IOPCTL_PIO_PUPDENA_MASK (0x10U)
20467#define IOPCTL_PIO_PUPDENA_SHIFT (4U)
20468/*! PUPDENA - Pullup / Pulldown Enable. . .
20469 * 0b0..Disable.
20470 * 0b1..Enable.
20471 */
20472#define IOPCTL_PIO_PUPDENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_PUPDENA_SHIFT)) & IOPCTL_PIO_PUPDENA_MASK)
20473#define IOPCTL_PIO_PUPDSEL_MASK (0x20U)
20474#define IOPCTL_PIO_PUPDSEL_SHIFT (5U)
20475/*! PUPDSEL - Pullup or Pulldown Selector. . .
20476 * 0b0..Pull-down.
20477 * 0b1..Pull-up.
20478 */
20479#define IOPCTL_PIO_PUPDSEL(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_PUPDSEL_SHIFT)) & IOPCTL_PIO_PUPDSEL_MASK)
20480#define IOPCTL_PIO_IBENA_MASK (0x40U)
20481#define IOPCTL_PIO_IBENA_SHIFT (6U)
20482/*! IBENA - Input Buffer Enable. .
20483 * 0b0..Disable.
20484 * 0b1..Enable.
20485 */
20486#define IOPCTL_PIO_IBENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_IBENA_SHIFT)) & IOPCTL_PIO_IBENA_MASK)
20487#define IOPCTL_PIO_SLEWRATE_MASK (0x80U)
20488#define IOPCTL_PIO_SLEWRATE_SHIFT (7U)
20489/*! SLEWRATE - Slew Rate Control. . .
20490 * 0b0..Slew Rate is Normal.
20491 * 0b1..Slew Rate Slow.
20492 */
20493#define IOPCTL_PIO_SLEWRATE(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_SLEWRATE_SHIFT)) & IOPCTL_PIO_SLEWRATE_MASK)
20494#define IOPCTL_PIO_FULLDRIVE_MASK (0x100U)
20495#define IOPCTL_PIO_FULLDRIVE_SHIFT (8U)
20496/*! FULLDRIVE - Drive Selector. . .
20497 * 0b0..Normal Drive.
20498 * 0b1..Full Drive.
20499 */
20500#define IOPCTL_PIO_FULLDRIVE(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_FULLDRIVE_SHIFT)) & IOPCTL_PIO_FULLDRIVE_MASK)
20501#define IOPCTL_PIO_AMENA_MASK (0x200U)
20502#define IOPCTL_PIO_AMENA_SHIFT (9U)
20503/*! AMENA - Analog Mux Enable. . .
20504 * 0b0..Disable.
20505 * 0b1..Enable.
20506 */
20507#define IOPCTL_PIO_AMENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_AMENA_SHIFT)) & IOPCTL_PIO_AMENA_MASK)
20508#define IOPCTL_PIO_ODENA_MASK (0x400U)
20509#define IOPCTL_PIO_ODENA_SHIFT (10U)
20510/*! ODENA - Pseudo Output Drain Enable. . .
20511 * 0b0..Disable.
20512 * 0b1..Enable.
20513 */
20514#define IOPCTL_PIO_ODENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_ODENA_SHIFT)) & IOPCTL_PIO_ODENA_MASK)
20515#define IOPCTL_PIO_IIENA_MASK (0x800U)
20516#define IOPCTL_PIO_IIENA_SHIFT (11U)
20517/*! IIENA - Input Invert Enable. . .
20518 * 0b0..Disable.
20519 * 0b1..Enable.
20520 */
20521#define IOPCTL_PIO_IIENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_PIO_IIENA_SHIFT)) & IOPCTL_PIO_IIENA_MASK)
20522/*! @} */
20523
20524/* The count of IOPCTL_PIO */
20525#define IOPCTL_PIO_COUNT (8U)
20526
20527/* The count of IOPCTL_PIO */
20528#define IOPCTL_PIO_COUNT2 (32U)
20529
20530/*! @name FC15_I2C_SCL - Special Registers (No GPIO Function) */
20531/*! @{ */
20532#define IOPCTL_FC15_I2C_SCL_FSEL_MASK (0xFU)
20533#define IOPCTL_FC15_I2C_SCL_FSEL_SHIFT (0U)
20534/*! FSEL - Function Selector. . .(FSELs Sources can be found in the next several pages.)
20535 * 0b0000..Function 0.
20536 * 0b0001..Function 1.
20537 * 0b0010..Function 2.
20538 * 0b0011..Function 3.
20539 * 0b0100..Function 4.
20540 * 0b0101..Function 5.
20541 * 0b0110..Function 6.
20542 * 0b0111..Function 7.
20543 * 0b1000..Function 8.
20544 * 0b1001..Function 9.
20545 * 0b1010..Function 10.
20546 * 0b1011..Function 11.
20547 * 0b1100..Function 12.
20548 * 0b1101..Function 13.
20549 * 0b1110..Function 14.
20550 * 0b1111..Function 15.
20551 */
20552#define IOPCTL_FC15_I2C_SCL_FSEL(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_FSEL_SHIFT)) & IOPCTL_FC15_I2C_SCL_FSEL_MASK)
20553#define IOPCTL_FC15_I2C_SCL_PUPDENA_MASK (0x10U)
20554#define IOPCTL_FC15_I2C_SCL_PUPDENA_SHIFT (4U)
20555/*! PUPDENA - Pullup / Pulldown Enable. . .
20556 * 0b0..Disable.
20557 * 0b1..Enable.
20558 */
20559#define IOPCTL_FC15_I2C_SCL_PUPDENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_PUPDENA_SHIFT)) & IOPCTL_FC15_I2C_SCL_PUPDENA_MASK)
20560#define IOPCTL_FC15_I2C_SCL_PUPDSEL_MASK (0x20U)
20561#define IOPCTL_FC15_I2C_SCL_PUPDSEL_SHIFT (5U)
20562/*! PUPDSEL - Pullup or Pulldown Selector. . .
20563 * 0b0..Pull-down.
20564 * 0b1..Pull-up.
20565 */
20566#define IOPCTL_FC15_I2C_SCL_PUPDSEL(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_PUPDSEL_SHIFT)) & IOPCTL_FC15_I2C_SCL_PUPDSEL_MASK)
20567#define IOPCTL_FC15_I2C_SCL_IBENA_MASK (0x40U)
20568#define IOPCTL_FC15_I2C_SCL_IBENA_SHIFT (6U)
20569/*! IBENA - Input Buffer Enable. .
20570 * 0b0..Disable.
20571 * 0b1..Enable.
20572 */
20573#define IOPCTL_FC15_I2C_SCL_IBENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_IBENA_SHIFT)) & IOPCTL_FC15_I2C_SCL_IBENA_MASK)
20574#define IOPCTL_FC15_I2C_SCL_SLEWRATE_MASK (0x80U)
20575#define IOPCTL_FC15_I2C_SCL_SLEWRATE_SHIFT (7U)
20576/*! SLEWRATE - Slew Rate Control. . .
20577 * 0b0..Slew Rate is Normal.
20578 * 0b1..Slew Rate Slow.
20579 */
20580#define IOPCTL_FC15_I2C_SCL_SLEWRATE(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_SLEWRATE_SHIFT)) & IOPCTL_FC15_I2C_SCL_SLEWRATE_MASK)
20581#define IOPCTL_FC15_I2C_SCL_FULLDRIVE_MASK (0x100U)
20582#define IOPCTL_FC15_I2C_SCL_FULLDRIVE_SHIFT (8U)
20583/*! FULLDRIVE - Drive Selector. . .
20584 * 0b0..Normal Drive.
20585 * 0b1..Full Drive.
20586 */
20587#define IOPCTL_FC15_I2C_SCL_FULLDRIVE(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_FULLDRIVE_SHIFT)) & IOPCTL_FC15_I2C_SCL_FULLDRIVE_MASK)
20588#define IOPCTL_FC15_I2C_SCL_AMENA_MASK (0x200U)
20589#define IOPCTL_FC15_I2C_SCL_AMENA_SHIFT (9U)
20590/*! AMENA - Analog Mux Enable. . .
20591 * 0b0..Disable.
20592 * 0b1..Enable.
20593 */
20594#define IOPCTL_FC15_I2C_SCL_AMENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_AMENA_SHIFT)) & IOPCTL_FC15_I2C_SCL_AMENA_MASK)
20595#define IOPCTL_FC15_I2C_SCL_ODENA_MASK (0x400U)
20596#define IOPCTL_FC15_I2C_SCL_ODENA_SHIFT (10U)
20597/*! ODENA - Pseudo Output Drain Enable. . .
20598 * 0b0..Disable.
20599 * 0b1..Enable.
20600 */
20601#define IOPCTL_FC15_I2C_SCL_ODENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_ODENA_SHIFT)) & IOPCTL_FC15_I2C_SCL_ODENA_MASK)
20602#define IOPCTL_FC15_I2C_SCL_IIENA_MASK (0x800U)
20603#define IOPCTL_FC15_I2C_SCL_IIENA_SHIFT (11U)
20604/*! IIENA - Input Invert Enable. . .
20605 * 0b0..Disable.
20606 * 0b1..Enable.
20607 */
20608#define IOPCTL_FC15_I2C_SCL_IIENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SCL_IIENA_SHIFT)) & IOPCTL_FC15_I2C_SCL_IIENA_MASK)
20609/*! @} */
20610
20611/*! @name FC15_I2C_SDA - Special Registers (No GPIO Function) */
20612/*! @{ */
20613#define IOPCTL_FC15_I2C_SDA_FSEL_MASK (0xFU)
20614#define IOPCTL_FC15_I2C_SDA_FSEL_SHIFT (0U)
20615/*! FSEL - Function Selector. . .(FSELs Sources can be found in the next several pages.)
20616 * 0b0000..Function 0.
20617 * 0b0001..Function 1.
20618 * 0b0010..Function 2.
20619 * 0b0011..Function 3.
20620 * 0b0100..Function 4.
20621 * 0b0101..Function 5.
20622 * 0b0110..Function 6.
20623 * 0b0111..Function 7.
20624 * 0b1000..Function 8.
20625 * 0b1001..Function 9.
20626 * 0b1010..Function 10.
20627 * 0b1011..Function 11.
20628 * 0b1100..Function 12.
20629 * 0b1101..Function 13.
20630 * 0b1110..Function 14.
20631 * 0b1111..Function 15.
20632 */
20633#define IOPCTL_FC15_I2C_SDA_FSEL(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_FSEL_SHIFT)) & IOPCTL_FC15_I2C_SDA_FSEL_MASK)
20634#define IOPCTL_FC15_I2C_SDA_PUPDENA_MASK (0x10U)
20635#define IOPCTL_FC15_I2C_SDA_PUPDENA_SHIFT (4U)
20636/*! PUPDENA - Pullup / Pulldown Enable. . .
20637 * 0b0..Disable.
20638 * 0b1..Enable.
20639 */
20640#define IOPCTL_FC15_I2C_SDA_PUPDENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_PUPDENA_SHIFT)) & IOPCTL_FC15_I2C_SDA_PUPDENA_MASK)
20641#define IOPCTL_FC15_I2C_SDA_PUPDSEL_MASK (0x20U)
20642#define IOPCTL_FC15_I2C_SDA_PUPDSEL_SHIFT (5U)
20643/*! PUPDSEL - Pullup or Pulldown Selector. . .
20644 * 0b0..Pull-down.
20645 * 0b1..Pull-up.
20646 */
20647#define IOPCTL_FC15_I2C_SDA_PUPDSEL(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_PUPDSEL_SHIFT)) & IOPCTL_FC15_I2C_SDA_PUPDSEL_MASK)
20648#define IOPCTL_FC15_I2C_SDA_IBENA_MASK (0x40U)
20649#define IOPCTL_FC15_I2C_SDA_IBENA_SHIFT (6U)
20650/*! IBENA - Input Buffer Enable. .
20651 * 0b0..Disable.
20652 * 0b1..Enable.
20653 */
20654#define IOPCTL_FC15_I2C_SDA_IBENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_IBENA_SHIFT)) & IOPCTL_FC15_I2C_SDA_IBENA_MASK)
20655#define IOPCTL_FC15_I2C_SDA_SLEWRATE_MASK (0x80U)
20656#define IOPCTL_FC15_I2C_SDA_SLEWRATE_SHIFT (7U)
20657/*! SLEWRATE - Slew Rate Control. . .
20658 * 0b0..Slew Rate is Normal.
20659 * 0b1..Slew Rate Slow.
20660 */
20661#define IOPCTL_FC15_I2C_SDA_SLEWRATE(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_SLEWRATE_SHIFT)) & IOPCTL_FC15_I2C_SDA_SLEWRATE_MASK)
20662#define IOPCTL_FC15_I2C_SDA_FULLDRIVE_MASK (0x100U)
20663#define IOPCTL_FC15_I2C_SDA_FULLDRIVE_SHIFT (8U)
20664/*! FULLDRIVE - Drive Selector. . .
20665 * 0b0..Normal Drive.
20666 * 0b1..Full Drive.
20667 */
20668#define IOPCTL_FC15_I2C_SDA_FULLDRIVE(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_FULLDRIVE_SHIFT)) & IOPCTL_FC15_I2C_SDA_FULLDRIVE_MASK)
20669#define IOPCTL_FC15_I2C_SDA_AMENA_MASK (0x200U)
20670#define IOPCTL_FC15_I2C_SDA_AMENA_SHIFT (9U)
20671/*! AMENA - Analog Mux Enable. . .
20672 * 0b0..Disable.
20673 * 0b1..Enable.
20674 */
20675#define IOPCTL_FC15_I2C_SDA_AMENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_AMENA_SHIFT)) & IOPCTL_FC15_I2C_SDA_AMENA_MASK)
20676#define IOPCTL_FC15_I2C_SDA_ODENA_MASK (0x400U)
20677#define IOPCTL_FC15_I2C_SDA_ODENA_SHIFT (10U)
20678/*! ODENA - Pseudo Output Drain Enable. . .
20679 * 0b0..Disable.
20680 * 0b1..Enable.
20681 */
20682#define IOPCTL_FC15_I2C_SDA_ODENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_ODENA_SHIFT)) & IOPCTL_FC15_I2C_SDA_ODENA_MASK)
20683#define IOPCTL_FC15_I2C_SDA_IIENA_MASK (0x800U)
20684#define IOPCTL_FC15_I2C_SDA_IIENA_SHIFT (11U)
20685/*! IIENA - Input Invert Enable. . .
20686 * 0b0..Disable.
20687 * 0b1..Enable.
20688 */
20689#define IOPCTL_FC15_I2C_SDA_IIENA(x) (((uint32_t)(((uint32_t)(x)) << IOPCTL_FC15_I2C_SDA_IIENA_SHIFT)) & IOPCTL_FC15_I2C_SDA_IIENA_MASK)
20690/*! @} */
20691
20692
20693/*!
20694 * @}
20695 */ /* end of group IOPCTL_Register_Masks */
20696
20697
20698/* IOPCTL - Peripheral instance base addresses */
20699#if (__ARM_FEATURE_CMSE & 0x2)
20700 /** Peripheral IOPCTL base address */
20701 #define IOPCTL_BASE (0x50004000u)
20702 /** Peripheral IOPCTL base address */
20703 #define IOPCTL_BASE_NS (0x40004000u)
20704 /** Peripheral IOPCTL base pointer */
20705 #define IOPCTL ((IOPCTL_Type *)IOPCTL_BASE)
20706 /** Peripheral IOPCTL base pointer */
20707 #define IOPCTL_NS ((IOPCTL_Type *)IOPCTL_BASE_NS)
20708 /** Array initializer of IOPCTL peripheral base addresses */
20709 #define IOPCTL_BASE_ADDRS { IOPCTL_BASE }
20710 /** Array initializer of IOPCTL peripheral base pointers */
20711 #define IOPCTL_BASE_PTRS { IOPCTL }
20712 /** Array initializer of IOPCTL peripheral base addresses */
20713 #define IOPCTL_BASE_ADDRS_NS { IOPCTL_BASE_NS }
20714 /** Array initializer of IOPCTL peripheral base pointers */
20715 #define IOPCTL_BASE_PTRS_NS { IOPCTL_NS }
20716#else
20717 /** Peripheral IOPCTL base address */
20718 #define IOPCTL_BASE (0x40004000u)
20719 /** Peripheral IOPCTL base pointer */
20720 #define IOPCTL ((IOPCTL_Type *)IOPCTL_BASE)
20721 /** Array initializer of IOPCTL peripheral base addresses */
20722 #define IOPCTL_BASE_ADDRS { IOPCTL_BASE }
20723 /** Array initializer of IOPCTL peripheral base pointers */
20724 #define IOPCTL_BASE_PTRS { IOPCTL }
20725#endif
20726
20727/*!
20728 * @}
20729 */ /* end of group IOPCTL_Peripheral_Access_Layer */
20730
20731
20732/* ----------------------------------------------------------------------------
20733 -- MRT Peripheral Access Layer
20734 ---------------------------------------------------------------------------- */
20735
20736/*!
20737 * @addtogroup MRT_Peripheral_Access_Layer MRT Peripheral Access Layer
20738 * @{
20739 */
20740
20741/** MRT - Register Layout Typedef */
20742typedef struct {
20743 struct { /* offset: 0x0, array step: 0x10 */
20744 __IO uint32_t INTVAL; /**< MRT Time interval value register. This value is loaded into the TIMER register., array offset: 0x0, array step: 0x10 */
20745 __I uint32_t TIMER; /**< MRT Timer register. This register reads the value of the down-counter., array offset: 0x4, array step: 0x10 */
20746 __IO uint32_t CTRL; /**< MRT Control register. This register controls the MRT modes., array offset: 0x8, array step: 0x10 */
20747 __IO uint32_t STAT; /**< MRT Status register., array offset: 0xC, array step: 0x10 */
20748 } CHANNEL[4];
20749 uint8_t RESERVED_0[176];
20750 __IO uint32_t MODCFG; /**< Module Configuration register. This register provides information about this particular MRT instance, and allows choosing an overall mode for the idle channel feature., offset: 0xF0 */
20751 __I uint32_t IDLE_CH; /**< Idle channel register. This register returns the number of the first idle channel., offset: 0xF4 */
20752 __IO uint32_t IRQ_FLAG; /**< Global interrupt flag register, offset: 0xF8 */
20753} MRT_Type;
20754
20755/* ----------------------------------------------------------------------------
20756 -- MRT Register Masks
20757 ---------------------------------------------------------------------------- */
20758
20759/*!
20760 * @addtogroup MRT_Register_Masks MRT Register Masks
20761 * @{
20762 */
20763
20764/*! @name CHANNEL_INTVAL - MRT Time interval value register. This value is loaded into the TIMER register. */
20765/*! @{ */
20766#define MRT_CHANNEL_INTVAL_IVALUE_MASK (0xFFFFFFU)
20767#define MRT_CHANNEL_INTVAL_IVALUE_SHIFT (0U)
20768/*! IVALUE - Time interval load value. This value is loaded into the TIMERn register and the MRT
20769 * channel n starts counting down from IVALUE -1. If the timer is idle, writing a non-zero value to
20770 * this bit field starts the timer immediately. If the timer is running, writing a zero to this
20771 * bit field does the following: If LOAD = 1, the timer stops immediately. If LOAD = 0, the timer
20772 * stops at the end of the time interval.
20773 */
20774#define MRT_CHANNEL_INTVAL_IVALUE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_INTVAL_IVALUE_SHIFT)) & MRT_CHANNEL_INTVAL_IVALUE_MASK)
20775#define MRT_CHANNEL_INTVAL_LOAD_MASK (0x80000000U)
20776#define MRT_CHANNEL_INTVAL_LOAD_SHIFT (31U)
20777/*! LOAD - Determines how the timer interval value IVALUE -1 is loaded into the TIMERn register.
20778 * This bit is write-only. Reading this bit always returns 0.
20779 * 0b0..No force load. The load from the INTVALn register to the TIMERn register is processed at the end of the
20780 * time interval if the repeat mode is selected.
20781 * 0b1..Force load. The INTVALn interval value IVALUE -1 is immediately loaded into the TIMERn register while TIMERn is running.
20782 */
20783#define MRT_CHANNEL_INTVAL_LOAD(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_INTVAL_LOAD_SHIFT)) & MRT_CHANNEL_INTVAL_LOAD_MASK)
20784/*! @} */
20785
20786/* The count of MRT_CHANNEL_INTVAL */
20787#define MRT_CHANNEL_INTVAL_COUNT (4U)
20788
20789/*! @name CHANNEL_TIMER - MRT Timer register. This register reads the value of the down-counter. */
20790/*! @{ */
20791#define MRT_CHANNEL_TIMER_VALUE_MASK (0xFFFFFFU)
20792#define MRT_CHANNEL_TIMER_VALUE_SHIFT (0U)
20793/*! VALUE - Holds the current timer value of the down-counter. The initial value of the TIMERn
20794 * register is loaded as IVALUE - 1 from the INTVALn register either at the end of the time interval
20795 * or immediately in the following cases: INTVALn register is updated in the idle state. INTVALn
20796 * register is updated with LOAD = 1. When the timer is in idle state, reading this bit fields
20797 * returns -1 (0x00FF FFFF).
20798 */
20799#define MRT_CHANNEL_TIMER_VALUE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_TIMER_VALUE_SHIFT)) & MRT_CHANNEL_TIMER_VALUE_MASK)
20800/*! @} */
20801
20802/* The count of MRT_CHANNEL_TIMER */
20803#define MRT_CHANNEL_TIMER_COUNT (4U)
20804
20805/*! @name CHANNEL_CTRL - MRT Control register. This register controls the MRT modes. */
20806/*! @{ */
20807#define MRT_CHANNEL_CTRL_INTEN_MASK (0x1U)
20808#define MRT_CHANNEL_CTRL_INTEN_SHIFT (0U)
20809/*! INTEN - Enable the TIMERn interrupt.
20810 * 0b0..Disabled. TIMERn interrupt is disabled.
20811 * 0b1..Enabled. TIMERn interrupt is enabled.
20812 */
20813#define MRT_CHANNEL_CTRL_INTEN(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_CTRL_INTEN_SHIFT)) & MRT_CHANNEL_CTRL_INTEN_MASK)
20814#define MRT_CHANNEL_CTRL_MODE_MASK (0x6U)
20815#define MRT_CHANNEL_CTRL_MODE_SHIFT (1U)
20816/*! MODE - Selects timer mode.
20817 * 0b00..Repeat interrupt mode.
20818 * 0b01..One-shot interrupt mode.
20819 * 0b10..One-shot stall mode.
20820 * 0b11..Reserved.
20821 */
20822#define MRT_CHANNEL_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_CTRL_MODE_SHIFT)) & MRT_CHANNEL_CTRL_MODE_MASK)
20823/*! @} */
20824
20825/* The count of MRT_CHANNEL_CTRL */
20826#define MRT_CHANNEL_CTRL_COUNT (4U)
20827
20828/*! @name CHANNEL_STAT - MRT Status register. */
20829/*! @{ */
20830#define MRT_CHANNEL_STAT_INTFLAG_MASK (0x1U)
20831#define MRT_CHANNEL_STAT_INTFLAG_SHIFT (0U)
20832/*! INTFLAG - Monitors the interrupt flag.
20833 * 0b0..No pending interrupt. Writing a zero is equivalent to no operation.
20834 * 0b1..Pending interrupt. The interrupt is pending because TIMERn has reached the end of the time interval. If
20835 * the INTEN bit in the CONTROLn is also set to 1, the interrupt for timer channel n and the global interrupt
20836 * are raised. Writing a 1 to this bit clears the interrupt request.
20837 */
20838#define MRT_CHANNEL_STAT_INTFLAG(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_STAT_INTFLAG_SHIFT)) & MRT_CHANNEL_STAT_INTFLAG_MASK)
20839#define MRT_CHANNEL_STAT_RUN_MASK (0x2U)
20840#define MRT_CHANNEL_STAT_RUN_SHIFT (1U)
20841/*! RUN - Indicates the state of TIMERn. This bit is read-only.
20842 * 0b0..Idle state. TIMERn is stopped.
20843 * 0b1..Running. TIMERn is running.
20844 */
20845#define MRT_CHANNEL_STAT_RUN(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_STAT_RUN_SHIFT)) & MRT_CHANNEL_STAT_RUN_MASK)
20846#define MRT_CHANNEL_STAT_INUSE_MASK (0x4U)
20847#define MRT_CHANNEL_STAT_INUSE_SHIFT (2U)
20848/*! INUSE - Channel In Use flag. Operating details depend on the MULTITASK bit in the MODCFG
20849 * register, and affects the use of IDLE_CH. See Idle channel register for details of the two operating
20850 * modes.
20851 * 0b0..This channel is not in use.
20852 * 0b1..This channel is in use.
20853 */
20854#define MRT_CHANNEL_STAT_INUSE(x) (((uint32_t)(((uint32_t)(x)) << MRT_CHANNEL_STAT_INUSE_SHIFT)) & MRT_CHANNEL_STAT_INUSE_MASK)
20855/*! @} */
20856
20857/* The count of MRT_CHANNEL_STAT */
20858#define MRT_CHANNEL_STAT_COUNT (4U)
20859
20860/*! @name MODCFG - Module Configuration register. This register provides information about this particular MRT instance, and allows choosing an overall mode for the idle channel feature. */
20861/*! @{ */
20862#define MRT_MODCFG_NOC_MASK (0xFU)
20863#define MRT_MODCFG_NOC_SHIFT (0U)
20864/*! NOC - Identifies the number of channels in this MRT.(4 channels on this device.)
20865 */
20866#define MRT_MODCFG_NOC(x) (((uint32_t)(((uint32_t)(x)) << MRT_MODCFG_NOC_SHIFT)) & MRT_MODCFG_NOC_MASK)
20867#define MRT_MODCFG_NOB_MASK (0x1F0U)
20868#define MRT_MODCFG_NOB_SHIFT (4U)
20869/*! NOB - Identifies the number of timer bits in this MRT. (24 bits wide on this device.)
20870 */
20871#define MRT_MODCFG_NOB(x) (((uint32_t)(((uint32_t)(x)) << MRT_MODCFG_NOB_SHIFT)) & MRT_MODCFG_NOB_MASK)
20872#define MRT_MODCFG_MULTITASK_MASK (0x80000000U)
20873#define MRT_MODCFG_MULTITASK_SHIFT (31U)
20874/*! MULTITASK - Selects the operating mode for the INUSE flags and the IDLE_CH register.
20875 * 0b0..Hardware status mode. In this mode, the INUSE(n) flags for all channels are reset.
20876 * 0b1..Multi-task mode.
20877 */
20878#define MRT_MODCFG_MULTITASK(x) (((uint32_t)(((uint32_t)(x)) << MRT_MODCFG_MULTITASK_SHIFT)) & MRT_MODCFG_MULTITASK_MASK)
20879/*! @} */
20880
20881/*! @name IDLE_CH - Idle channel register. This register returns the number of the first idle channel. */
20882/*! @{ */
20883#define MRT_IDLE_CH_CHAN_MASK (0xF0U)
20884#define MRT_IDLE_CH_CHAN_SHIFT (4U)
20885/*! CHAN - Idle channel. Reading the CHAN bits, returns the lowest idle timer channel. The number is
20886 * positioned such that it can be used as an offset from the MRT base address in order to access
20887 * the registers for the allocated channel. If all timer channels are running, CHAN = 0xF. See
20888 * text above for more details.
20889 */
20890#define MRT_IDLE_CH_CHAN(x) (((uint32_t)(((uint32_t)(x)) << MRT_IDLE_CH_CHAN_SHIFT)) & MRT_IDLE_CH_CHAN_MASK)
20891/*! @} */
20892
20893/*! @name IRQ_FLAG - Global interrupt flag register */
20894/*! @{ */
20895#define MRT_IRQ_FLAG_GFLAG0_MASK (0x1U)
20896#define MRT_IRQ_FLAG_GFLAG0_SHIFT (0U)
20897/*! GFLAG0 - Monitors the interrupt flag of TIMER0.
20898 * 0b0..No pending interrupt. Writing a zero is equivalent to no operation.
20899 * 0b1..Pending interrupt. The interrupt is pending because TIMER0 has reached the end of the time interval. If
20900 * the INTEN bit in the CONTROL0 register is also set to 1, the interrupt for timer channel 0 and the global
20901 * interrupt are raised. Writing a 1 to this bit clears the interrupt request.
20902 */
20903#define MRT_IRQ_FLAG_GFLAG0(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG0_SHIFT)) & MRT_IRQ_FLAG_GFLAG0_MASK)
20904#define MRT_IRQ_FLAG_GFLAG1_MASK (0x2U)
20905#define MRT_IRQ_FLAG_GFLAG1_SHIFT (1U)
20906/*! GFLAG1 - Monitors the interrupt flag of TIMER1. See description of channel 0.
20907 */
20908#define MRT_IRQ_FLAG_GFLAG1(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG1_SHIFT)) & MRT_IRQ_FLAG_GFLAG1_MASK)
20909#define MRT_IRQ_FLAG_GFLAG2_MASK (0x4U)
20910#define MRT_IRQ_FLAG_GFLAG2_SHIFT (2U)
20911/*! GFLAG2 - Monitors the interrupt flag of TIMER2. See description of channel 0.
20912 */
20913#define MRT_IRQ_FLAG_GFLAG2(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG2_SHIFT)) & MRT_IRQ_FLAG_GFLAG2_MASK)
20914#define MRT_IRQ_FLAG_GFLAG3_MASK (0x8U)
20915#define MRT_IRQ_FLAG_GFLAG3_SHIFT (3U)
20916/*! GFLAG3 - Monitors the interrupt flag of TIMER3. See description of channel 0.
20917 */
20918#define MRT_IRQ_FLAG_GFLAG3(x) (((uint32_t)(((uint32_t)(x)) << MRT_IRQ_FLAG_GFLAG3_SHIFT)) & MRT_IRQ_FLAG_GFLAG3_MASK)
20919/*! @} */
20920
20921
20922/*!
20923 * @}
20924 */ /* end of group MRT_Register_Masks */
20925
20926
20927/* MRT - Peripheral instance base addresses */
20928#if (__ARM_FEATURE_CMSE & 0x2)
20929 /** Peripheral MRT0 base address */
20930 #define MRT0_BASE (0x5002D000u)
20931 /** Peripheral MRT0 base address */
20932 #define MRT0_BASE_NS (0x4002D000u)
20933 /** Peripheral MRT0 base pointer */
20934 #define MRT0 ((MRT_Type *)MRT0_BASE)
20935 /** Peripheral MRT0 base pointer */
20936 #define MRT0_NS ((MRT_Type *)MRT0_BASE_NS)
20937 /** Array initializer of MRT peripheral base addresses */
20938 #define MRT_BASE_ADDRS { MRT0_BASE }
20939 /** Array initializer of MRT peripheral base pointers */
20940 #define MRT_BASE_PTRS { MRT0 }
20941 /** Array initializer of MRT peripheral base addresses */
20942 #define MRT_BASE_ADDRS_NS { MRT0_BASE_NS }
20943 /** Array initializer of MRT peripheral base pointers */
20944 #define MRT_BASE_PTRS_NS { MRT0_NS }
20945#else
20946 /** Peripheral MRT0 base address */
20947 #define MRT0_BASE (0x4002D000u)
20948 /** Peripheral MRT0 base pointer */
20949 #define MRT0 ((MRT_Type *)MRT0_BASE)
20950 /** Array initializer of MRT peripheral base addresses */
20951 #define MRT_BASE_ADDRS { MRT0_BASE }
20952 /** Array initializer of MRT peripheral base pointers */
20953 #define MRT_BASE_PTRS { MRT0 }
20954#endif
20955/** Interrupt vectors for the MRT peripheral type */
20956#define MRT_IRQS { MRT0_IRQn }
20957
20958/*!
20959 * @}
20960 */ /* end of group MRT_Peripheral_Access_Layer */
20961
20962/*!
20963 * @brief Power mode definition.
20964 */
20965typedef enum _mu_power_mode
20966{
20967 kMU_PowerModeRun = 0x00U, /*!< Run mode. */
20968 kMU_PowerModeWait = 0x01U, /*!< WAIT mode. */
20969 kMU_PowerModeStop = 0x02U, /*!< STOP/VLPS mode. */
20970} mu_power_mode_t;
20971
20972
20973/* ----------------------------------------------------------------------------
20974 -- MU Peripheral Access Layer
20975 ---------------------------------------------------------------------------- */
20976
20977/*!
20978 * @addtogroup MU_Peripheral_Access_Layer MU Peripheral Access Layer
20979 * @{
20980 */
20981
20982/** MU - Register Layout Typedef */
20983typedef struct {
20984 __I uint32_t VER; /**< Version ID Register, offset: 0x0 */
20985 __I uint32_t PAR; /**< Use Parameter register to determine the parameter settings of MUA., offset: 0x4 */
20986 uint8_t RESERVED_0[24];
20987 __IO uint32_t TR[4]; /**< Transmit Register, array offset: 0x20, array step: 0x4 */
20988 uint8_t RESERVED_1[16];
20989 __IO uint32_t RR[4]; /**< Receive Register., array offset: 0x40, array step: 0x4 */
20990 uint8_t RESERVED_2[16];
20991 __IO uint32_t SR; /**< Status Register, offset: 0x60 */
20992 __IO uint32_t CR; /**< Control Register, offset: 0x64 */
20993} MU_Type;
20994
20995/* ----------------------------------------------------------------------------
20996 -- MU Register Masks
20997 ---------------------------------------------------------------------------- */
20998
20999/*!
21000 * @addtogroup MU_Register_Masks MU Register Masks
21001 * @{
21002 */
21003
21004/*! @name VER - Version ID Register */
21005/*! @{ */
21006#define MU_VER_FEATURE_MASK (0xFFFFU)
21007#define MU_VER_FEATURE_SHIFT (0U)
21008/*! FEATURE - Feature Specification Number
21009 * 0b0000000000000000..Standard features implemented
21010 * 0b0000000000000001..RAIP and RAIE register bits implemented on MUA side
21011 * 0b0000000000000010..MUA and MUB implemented with the same function. some bits in CR register are moved to CCR register.
21012 * 0b0000000000000100..some sync logic are deleted for synchronized MUA and MUB. RAIP and RDIP monitor Core reset
21013 * instead of MU reset. Add HRIP and MURIP and their interrupt enable bits on both sides.
21014 * Delete RS bit. Add COO mode in PM state.
21015 */
21016#define MU_VER_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_FEATURE_SHIFT)) & MU_VER_FEATURE_MASK)
21017#define MU_VER_MINOR_MASK (0xFF0000U)
21018#define MU_VER_MINOR_SHIFT (16U)
21019/*! MINOR - Minor Version Number
21020 */
21021#define MU_VER_MINOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MINOR_SHIFT)) & MU_VER_MINOR_MASK)
21022#define MU_VER_MAJOR_MASK (0xFF000000U)
21023#define MU_VER_MAJOR_SHIFT (24U)
21024/*! MAJOR - Major Version Number
21025 */
21026#define MU_VER_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MAJOR_SHIFT)) & MU_VER_MAJOR_MASK)
21027/*! @} */
21028
21029/*! @name PAR - Use Parameter register to determine the parameter settings of MUA. */
21030/*! @{ */
21031#define MU_PAR_PARAMETER_MASK (0xFFFFFFFFU)
21032#define MU_PAR_PARAMETER_SHIFT (0U)
21033#define MU_PAR_PARAMETER(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_PARAMETER_SHIFT)) & MU_PAR_PARAMETER_MASK)
21034/*! @} */
21035
21036/*! @name TR - Transmit Register */
21037/*! @{ */
21038#define MU_TR_DATA_MASK (0xFFFFFFFFU)
21039#define MU_TR_DATA_SHIFT (0U)
21040/*! DATA - DATA
21041 */
21042#define MU_TR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_TR_DATA_SHIFT)) & MU_TR_DATA_MASK)
21043/*! @} */
21044
21045/* The count of MU_TR */
21046#define MU_TR_COUNT (4U)
21047
21048/*! @name RR - Receive Register. */
21049/*! @{ */
21050#define MU_RR_DATA_MASK (0xFFFFFFFFU)
21051#define MU_RR_DATA_SHIFT (0U)
21052/*! DATA - DATA
21053 */
21054#define MU_RR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_RR_DATA_SHIFT)) & MU_RR_DATA_MASK)
21055/*! @} */
21056
21057/* The count of MU_RR */
21058#define MU_RR_COUNT (4U)
21059
21060/*! @name SR - Status Register */
21061/*! @{ */
21062#define MU_SR_Fn_MASK (0x7U)
21063#define MU_SR_Fn_SHIFT (0U)
21064/*! Fn - Fn
21065 * 0b000..Fn bit in the CR register is written 0 (default).
21066 * 0b001..Fn bit in the CR register is written 1.
21067 */
21068#define MU_SR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_Fn_SHIFT)) & MU_SR_Fn_MASK)
21069#define MU_SR_EP_MASK (0x10U)
21070#define MU_SR_EP_SHIFT (4U)
21071/*! EP - EP
21072 * 0b0..The MUA side event is not pending (default).
21073 * 0b1..The MUA side event is pending.
21074 */
21075#define MU_SR_EP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_EP_SHIFT)) & MU_SR_EP_MASK)
21076#define MU_SR_PM_MASK (0x60U)
21077#define MU_SR_PM_SHIFT (5U)
21078/*! PM - PM
21079 * 0b00..The MUB processor is in Run Mode.
21080 * 0b01..The MUB processor is in WAIT Mode.
21081 */
21082#define MU_SR_PM(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_PM_SHIFT)) & MU_SR_PM_MASK)
21083#define MU_SR_RS_MASK (0x80U)
21084#define MU_SR_RS_SHIFT (7U)
21085/*! RS - RS
21086 * 0b0..The MUB side of the MU is not in reset.
21087 * 0b1..The MUB side of the MU is in reset.
21088 */
21089#define MU_SR_RS(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RS_SHIFT)) & MU_SR_RS_MASK)
21090#define MU_SR_FUP_MASK (0x100U)
21091#define MU_SR_FUP_SHIFT (8U)
21092/*! FUP - FUP
21093 * 0b0..No flags updated, initiated by the MUA, in progress (default)
21094 * 0b1..MUA initiated flags update, processing
21095 */
21096#define MU_SR_FUP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_FUP_SHIFT)) & MU_SR_FUP_MASK)
21097#define MU_SR_RDIP_MASK (0x200U)
21098#define MU_SR_RDIP_SHIFT (9U)
21099/*! RDIP - BRDIP
21100 * 0b0..Processor B-side did not exit reset
21101 * 0b1..Processor B-side exited from reset
21102 */
21103#define MU_SR_RDIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RDIP_SHIFT)) & MU_SR_RDIP_MASK)
21104#define MU_SR_RAIP_MASK (0x400U)
21105#define MU_SR_RAIP_SHIFT (10U)
21106/*! RAIP - RAIP
21107 * 0b0..Processor B-side did not enter reset
21108 * 0b1..Processor B-side entered reset
21109 */
21110#define MU_SR_RAIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RAIP_SHIFT)) & MU_SR_RAIP_MASK)
21111#define MU_SR_TEn_MASK (0xF00000U)
21112#define MU_SR_TEn_SHIFT (20U)
21113/*! TEn - TEn
21114 * 0b0000..MUA TRn register is not empty.
21115 * 0b0001..MUA TRn register is empty (default).
21116 */
21117#define MU_SR_TEn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_TEn_SHIFT)) & MU_SR_TEn_MASK)
21118#define MU_SR_RFn_MASK (0xF000000U)
21119#define MU_SR_RFn_SHIFT (24U)
21120/*! RFn - RFn
21121 * 0b0000..MUA RRn register is not full (default).
21122 * 0b0001..MUA RRn register has received data from MUB TRn register and is ready to be read by the MUA.
21123 */
21124#define MU_SR_RFn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RFn_SHIFT)) & MU_SR_RFn_MASK)
21125#define MU_SR_GIPn_MASK (0xF0000000U)
21126#define MU_SR_GIPn_SHIFT (28U)
21127/*! GIPn - GIPn
21128 * 0b0000..MUA general purpose interrupt n is not pending. (default)
21129 * 0b0001..MUA general purpose interrupt n is pending.
21130 */
21131#define MU_SR_GIPn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_GIPn_SHIFT)) & MU_SR_GIPn_MASK)
21132/*! @} */
21133
21134/*! @name CR - Control Register */
21135/*! @{ */
21136#define MU_CR_Fn_MASK (0x7U)
21137#define MU_CR_Fn_SHIFT (0U)
21138/*! Fn - Fn
21139 * 0b000..Clears the Fn bit in the SR register.
21140 * 0b001..Sets the Fn bit in the SR register.
21141 */
21142#define MU_CR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_Fn_SHIFT)) & MU_CR_Fn_MASK)
21143#define MU_CR_MUR_MASK (0x20U)
21144#define MU_CR_MUR_SHIFT (5U)
21145/*! MUR - MUR
21146 * 0b0..N/A. Self clearing bit (default).
21147 * 0b1..Asserts the MU reset.
21148 */
21149#define MU_CR_MUR(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MUR_SHIFT)) & MU_CR_MUR_MASK)
21150#define MU_CR_RDIE_MASK (0x40U)
21151#define MU_CR_RDIE_SHIFT (6U)
21152/*! RDIE - BRDIE
21153 * 0b0..Disables Processor A General Purpose Interrupt 3 request due to Processor B reset de-assertion.
21154 * 0b1..Enables Processor A General Purpose Interrupt 3 request due to Processor B reset de-assertion.
21155 */
21156#define MU_CR_RDIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RDIE_SHIFT)) & MU_CR_RDIE_MASK)
21157#define MU_CR_RAIE_MASK (0x1000U)
21158#define MU_CR_RAIE_SHIFT (12U)
21159/*! RAIE - RAIE
21160 * 0b0..Disables Processor A General Purpose Interrupt 3 request due to Processor B reset assertion.
21161 * 0b1..Enables Processor A General Purpose Interrupt 3 request due to Processor B reset assertion.
21162 */
21163#define MU_CR_RAIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RAIE_SHIFT)) & MU_CR_RAIE_MASK)
21164#define MU_CR_GIRn_MASK (0xF0000U)
21165#define MU_CR_GIRn_SHIFT (16U)
21166/*! GIRn - GIRn
21167 * 0b0000..MUA General Interrupt n is not requested to the MUB (default).
21168 * 0b0001..MUA General Interrupt n is requested to the MUB.
21169 */
21170#define MU_CR_GIRn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIRn_SHIFT)) & MU_CR_GIRn_MASK)
21171#define MU_CR_TIEn_MASK (0xF00000U)
21172#define MU_CR_TIEn_SHIFT (20U)
21173/*! TIEn - TIEn
21174 * 0b0000..Disables MUA Transmit Interrupt n. (default)
21175 * 0b0001..Enables MUA Transmit Interrupt n.
21176 */
21177#define MU_CR_TIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_TIEn_SHIFT)) & MU_CR_TIEn_MASK)
21178#define MU_CR_RIEn_MASK (0xF000000U)
21179#define MU_CR_RIEn_SHIFT (24U)
21180/*! RIEn - RIEn
21181 * 0b0000..Disables MUA Receive Interrupt n. (default)
21182 * 0b0001..Enables MUA Receive Interrupt n.
21183 */
21184#define MU_CR_RIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RIEn_SHIFT)) & MU_CR_RIEn_MASK)
21185#define MU_CR_GIEn_MASK (0xF0000000U)
21186#define MU_CR_GIEn_SHIFT (28U)
21187/*! GIEn - GIEn
21188 * 0b0000..Disables MUA General Interrupt n. (default)
21189 * 0b0001..Enables MUA General Interrupt n.
21190 */
21191#define MU_CR_GIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIEn_SHIFT)) & MU_CR_GIEn_MASK)
21192/*! @} */
21193
21194
21195/*!
21196 * @}
21197 */ /* end of group MU_Register_Masks */
21198
21199
21200/* MU - Peripheral instance base addresses */
21201#if (__ARM_FEATURE_CMSE & 0x2)
21202 /** Peripheral MUA base address */
21203 #define MUA_BASE (0x50110000u)
21204 /** Peripheral MUA base address */
21205 #define MUA_BASE_NS (0x40110000u)
21206 /** Peripheral MUA base pointer */
21207 #define MUA ((MU_Type *)MUA_BASE)
21208 /** Peripheral MUA base pointer */
21209 #define MUA_NS ((MU_Type *)MUA_BASE_NS)
21210 /** Array initializer of MU peripheral base addresses */
21211 #define MU_BASE_ADDRS { MUA_BASE }
21212 /** Array initializer of MU peripheral base pointers */
21213 #define MU_BASE_PTRS { MUA }
21214 /** Array initializer of MU peripheral base addresses */
21215 #define MU_BASE_ADDRS_NS { MUA_BASE_NS }
21216 /** Array initializer of MU peripheral base pointers */
21217 #define MU_BASE_PTRS_NS { MUA_NS }
21218#else
21219 /** Peripheral MUA base address */
21220 #define MUA_BASE (0x40110000u)
21221 /** Peripheral MUA base pointer */
21222 #define MUA ((MU_Type *)MUA_BASE)
21223 /** Array initializer of MU peripheral base addresses */
21224 #define MU_BASE_ADDRS { MUA_BASE }
21225 /** Array initializer of MU peripheral base pointers */
21226 #define MU_BASE_PTRS { MUA }
21227#endif
21228/** Interrupt vectors for the MU peripheral type */
21229#define MU_IRQS { MU_A_IRQn }
21230
21231/*!
21232 * @}
21233 */ /* end of group MU_Peripheral_Access_Layer */
21234
21235
21236/* ----------------------------------------------------------------------------
21237 -- OCOTP Peripheral Access Layer
21238 ---------------------------------------------------------------------------- */
21239
21240/*!
21241 * @addtogroup OCOTP_Peripheral_Access_Layer OCOTP Peripheral Access Layer
21242 * @{
21243 */
21244
21245/** OCOTP - Register Layout Typedef */
21246typedef struct {
21247 __IO uint32_t OTP_SHADOW[496]; /**< OTP shadow register N, array offset: 0x0, array step: 0x4 */
21248 uint8_t RESERVED_0[64];
21249 __IO uint32_t OTP_CTRL; /**< Control/address register, offset: 0x800 */
21250 __IO uint32_t OTP_PDN; /**< Power-down register, offset: 0x804 */
21251 __I uint32_t OTP_WRITE_DATA; /**< OTP programming data register, offset: 0x808 */
21252 __IO uint32_t OTP_READ_CTRL; /**< OTP read start register, offset: 0x80C */
21253 __I uint32_t OTP_READ_DATA; /**< OTP read data register, offset: 0x810 */
21254 __IO uint32_t OTP_CLK_DIV; /**< OTP clock divider register, offset: 0x814 */
21255 uint8_t RESERVED_1[4];
21256 __IO uint32_t OTP_CRC_ADDR; /**< CRC address range register, offset: 0x81C */
21257 __IO uint32_t OTP_CRC_VALUE; /**< CRC result register, offset: 0x820 */
21258 __IO uint32_t OTP_STATUS; /**< Status register, offset: 0x824 */
21259 uint8_t RESERVED_2[4];
21260 __I uint32_t OTP_VERSION; /**< VERSION ID register, offset: 0x82C */
21261} OCOTP_Type;
21262
21263/* ----------------------------------------------------------------------------
21264 -- OCOTP Register Masks
21265 ---------------------------------------------------------------------------- */
21266
21267/*!
21268 * @addtogroup OCOTP_Register_Masks OCOTP Register Masks
21269 * @{
21270 */
21271
21272/*! @name OTP_SHADOW - OTP shadow register N */
21273/*! @{ */
21274#define OCOTP_OTP_SHADOW_shadow_MASK (0xFFFFFFFFU)
21275#define OCOTP_OTP_SHADOW_shadow_SHIFT (0U)
21276/*! shadow - OTP shadow register
21277 */
21278#define OCOTP_OTP_SHADOW_shadow(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_SHADOW_shadow_SHIFT)) & OCOTP_OTP_SHADOW_shadow_MASK)
21279/*! @} */
21280
21281/* The count of OCOTP_OTP_SHADOW */
21282#define OCOTP_OTP_SHADOW_COUNT (496U)
21283
21284/*! @name OTP_CTRL - Control/address register */
21285/*! @{ */
21286#define OCOTP_OTP_CTRL_ADDR_MASK (0x1FFU)
21287#define OCOTP_OTP_CTRL_ADDR_SHIFT (0U)
21288/*! ADDR - OTP word address for read/programming
21289 */
21290#define OCOTP_OTP_CTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CTRL_ADDR_SHIFT)) & OCOTP_OTP_CTRL_ADDR_MASK)
21291#define OCOTP_OTP_CTRL_RELOAD_SHADOWS_MASK (0x800U)
21292#define OCOTP_OTP_CTRL_RELOAD_SHADOWS_SHIFT (11U)
21293/*! RELOAD_SHADOWS - Set to force re-loading the shadow registers (HW/SW capability and LOCK). This
21294 * operation will automatically set OTP_STATUS.BUSY. Once the shadow registers have been
21295 * re-loaded, OTP_STATUS.BUSY and RELOAD_SHADOWS are automatically cleared by the controller
21296 */
21297#define OCOTP_OTP_CTRL_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CTRL_RELOAD_SHADOWS_SHIFT)) & OCOTP_OTP_CTRL_RELOAD_SHADOWS_MASK)
21298#define OCOTP_OTP_CTRL_CRC_TEST_MASK (0x1000U)
21299#define OCOTP_OTP_CTRL_CRC_TEST_SHIFT (12U)
21300/*! CRC_TEST - Set to start CRC calculation. This operation will automatically set OTP_STATUS.BUSY.
21301 * Once CRC is calculation done, OTP_STATUS.BUSY and CRC_TEST are automatically cleared by the
21302 * controller
21303 */
21304#define OCOTP_OTP_CTRL_CRC_TEST(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CTRL_CRC_TEST_SHIFT)) & OCOTP_OTP_CTRL_CRC_TEST_MASK)
21305#define OCOTP_OTP_CTRL_WORDLOCK_MASK (0x8000U)
21306#define OCOTP_OTP_CTRL_WORDLOCK_SHIFT (15U)
21307/*! WORDLOCK - Set to write-lock the fuse word when it's being programming. When programming with
21308 * ECC mode, it recommends to set this bit.
21309 */
21310#define OCOTP_OTP_CTRL_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CTRL_WORDLOCK_SHIFT)) & OCOTP_OTP_CTRL_WORDLOCK_MASK)
21311#define OCOTP_OTP_CTRL_WR_UNLOCK_MASK (0xFFFF0000U)
21312#define OCOTP_OTP_CTRL_WR_UNLOCK_SHIFT (16U)
21313/*! WR_UNLOCK - Write 0x3E77 to enable OTP write accesses. NOTE: The write operation must be
21314 * unlocked for each word by writing 0x3E77 to WR_UNLOCK field. Then writing to OTP_WRITE_DATA register
21315 * will automatically start the programming procedure.
21316 */
21317#define OCOTP_OTP_CTRL_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CTRL_WR_UNLOCK_SHIFT)) & OCOTP_OTP_CTRL_WR_UNLOCK_MASK)
21318/*! @} */
21319
21320/*! @name OTP_PDN - Power-down register */
21321/*! @{ */
21322#define OCOTP_OTP_PDN_PDN_MASK (0x1U)
21323#define OCOTP_OTP_PDN_PDN_SHIFT (0U)
21324/*! PDN - This bit indicates the PDN value of OTP memory. Writing 1 to the bit to clear PDN. Writing
21325 * 0 has no effect. Note: Software need to write 1 to this bit to shut off power of OTP memory
21326 * after system power up. At the beginning of every fuse operation, the controller will
21327 * automatically turn-on power to the OPT memory. After every fuse operation, software also need to write 1
21328 * to this bit to shut off power to the OTP memory to reduce power consumption.
21329 */
21330#define OCOTP_OTP_PDN_PDN(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_PDN_PDN_SHIFT)) & OCOTP_OTP_PDN_PDN_MASK)
21331/*! @} */
21332
21333/*! @name OTP_WRITE_DATA - OTP programming data register */
21334/*! @{ */
21335#define OCOTP_OTP_WRITE_DATA_WRITE_DATA_MASK (0xFFFFFFFFU)
21336#define OCOTP_OTP_WRITE_DATA_WRITE_DATA_SHIFT (0U)
21337/*! WRITE_DATA - Fuse word programming data. After the write operation is unlocked in OTP_CTRL
21338 * register, writing data to this register automatically start the programming procedure.
21339 */
21340#define OCOTP_OTP_WRITE_DATA_WRITE_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_WRITE_DATA_WRITE_DATA_SHIFT)) & OCOTP_OTP_WRITE_DATA_WRITE_DATA_MASK)
21341/*! @} */
21342
21343/*! @name OTP_READ_CTRL - OTP read start register */
21344/*! @{ */
21345#define OCOTP_OTP_READ_CTRL_READ_MASK (0x1U)
21346#define OCOTP_OTP_READ_CTRL_READ_SHIFT (0U)
21347#define OCOTP_OTP_READ_CTRL_READ(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_READ_CTRL_READ_SHIFT)) & OCOTP_OTP_READ_CTRL_READ_MASK)
21348/*! @} */
21349
21350/*! @name OTP_READ_DATA - OTP read data register */
21351/*! @{ */
21352#define OCOTP_OTP_READ_DATA_READ_DATA_MASK (0xFFFFFFFFU)
21353#define OCOTP_OTP_READ_DATA_READ_DATA_SHIFT (0U)
21354/*! READ_DATA - Fuse word read data from read operation
21355 */
21356#define OCOTP_OTP_READ_DATA_READ_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_READ_DATA_READ_DATA_SHIFT)) & OCOTP_OTP_READ_DATA_READ_DATA_MASK)
21357/*! @} */
21358
21359/*! @name OTP_CLK_DIV - OTP clock divider register */
21360/*! @{ */
21361#define OCOTP_OTP_CLK_DIV_DIV_MASK (0xFU)
21362#define OCOTP_OTP_CLK_DIV_DIV_SHIFT (0U)
21363/*! DIV - Clock divider value by -1 encoding. It's used to generate the clock to OTP memory
21364 * (otp_clk) with apb_clk. The maximum otp_clk frequency is 120Mhz. 0: Divide by 1
21365 * 0b0000..Divide by 1
21366 * 0b0001..Divide by 2
21367 * 0b0010..Divide by 3
21368 * 0b0011..Divide by 4
21369 * 0b0100..Divide by 5
21370 * 0b0101..Divide by 6
21371 * 0b0110..Divide by 7
21372 * 0b0111..Divide by 8
21373 * 0b1000..Divide by 9
21374 * 0b1001..Divide by 10
21375 * 0b1010..Divide by 11
21376 * 0b1011..Divide by 12
21377 * 0b1100..Divide by 13
21378 * 0b1101..Divide by 14
21379 * 0b1110..Divide by 15
21380 * 0b1111..Divide by 16
21381 */
21382#define OCOTP_OTP_CLK_DIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CLK_DIV_DIV_SHIFT)) & OCOTP_OTP_CLK_DIV_DIV_MASK)
21383#define OCOTP_OTP_CLK_DIV_RESET_MASK (0x20000000U)
21384#define OCOTP_OTP_CLK_DIV_RESET_SHIFT (29U)
21385/*! RESET - Resets the divider counter. Can be used to make sure a new divider value is used right
21386 * away rather than completing the previous count.
21387 */
21388#define OCOTP_OTP_CLK_DIV_RESET(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CLK_DIV_RESET_SHIFT)) & OCOTP_OTP_CLK_DIV_RESET_MASK)
21389#define OCOTP_OTP_CLK_DIV_HALT_MASK (0x40000000U)
21390#define OCOTP_OTP_CLK_DIV_HALT_SHIFT (30U)
21391/*! HALT - Halts the divider counter. The intent is to allow the divider's clock source to be
21392 * changed without the risk of a glitch at the output.
21393 */
21394#define OCOTP_OTP_CLK_DIV_HALT(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CLK_DIV_HALT_SHIFT)) & OCOTP_OTP_CLK_DIV_HALT_MASK)
21395#define OCOTP_OTP_CLK_DIV_REQFLAG_MASK (0x80000000U)
21396#define OCOTP_OTP_CLK_DIV_REQFLAG_SHIFT (31U)
21397/*! REQFLAG - Divider status flag. Set when a change is made to the divider value, cleared when the change is complete.
21398 */
21399#define OCOTP_OTP_CLK_DIV_REQFLAG(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CLK_DIV_REQFLAG_SHIFT)) & OCOTP_OTP_CLK_DIV_REQFLAG_MASK)
21400/*! @} */
21401
21402/*! @name OTP_CRC_ADDR - CRC address range register */
21403/*! @{ */
21404#define OCOTP_OTP_CRC_ADDR_CRC_START_ADDR_MASK (0x1FFU)
21405#define OCOTP_OTP_CRC_ADDR_CRC_START_ADDR_SHIFT (0U)
21406/*! CRC_START_ADDR - CRC starting fuse word address
21407 */
21408#define OCOTP_OTP_CRC_ADDR_CRC_START_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CRC_ADDR_CRC_START_ADDR_SHIFT)) & OCOTP_OTP_CRC_ADDR_CRC_START_ADDR_MASK)
21409#define OCOTP_OTP_CRC_ADDR_CRC_END_ADDR_MASK (0x1FF000U)
21410#define OCOTP_OTP_CRC_ADDR_CRC_END_ADDR_SHIFT (12U)
21411/*! CRC_END_ADDR - CRC ending fuse word address
21412 */
21413#define OCOTP_OTP_CRC_ADDR_CRC_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CRC_ADDR_CRC_END_ADDR_SHIFT)) & OCOTP_OTP_CRC_ADDR_CRC_END_ADDR_MASK)
21414#define OCOTP_OTP_CRC_ADDR_CRC_REF_ADDR_MASK (0x7000000U)
21415#define OCOTP_OTP_CRC_ADDR_CRC_REF_ADDR_SHIFT (24U)
21416/*! CRC_REF_ADDR - Specify which of the 8 CRC reference value to use for CRC calculation. When the
21417 * CRC result for the fuse data from CRC_START_ADDR to CRC_AND_ADDR and this CRC reference value
21418 * is 0, the CRC check passes.
21419 */
21420#define OCOTP_OTP_CRC_ADDR_CRC_REF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CRC_ADDR_CRC_REF_ADDR_SHIFT)) & OCOTP_OTP_CRC_ADDR_CRC_REF_ADDR_MASK)
21421/*! @} */
21422
21423/*! @name OTP_CRC_VALUE - CRC result register */
21424/*! @{ */
21425#define OCOTP_OTP_CRC_VALUE_CRC_VALUE_MASK (0xFFFFFFFFU)
21426#define OCOTP_OTP_CRC_VALUE_CRC_VALUE_SHIFT (0U)
21427/*! CRC_VALUE - The CRC result value. When it is locked, reading from it returns value 32’hBADA_BADA
21428 */
21429#define OCOTP_OTP_CRC_VALUE_CRC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_CRC_VALUE_CRC_VALUE_SHIFT)) & OCOTP_OTP_CRC_VALUE_CRC_VALUE_MASK)
21430/*! @} */
21431
21432/*! @name OTP_STATUS - Status register */
21433/*! @{ */
21434#define OCOTP_OTP_STATUS_SEC_MASK (0x200U)
21435#define OCOTP_OTP_STATUS_SEC_SHIFT (9U)
21436/*! SEC - OTP Single Error Corrected status of ECC during read operation. Write 1 to clear.
21437 */
21438#define OCOTP_OTP_STATUS_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_SEC_SHIFT)) & OCOTP_OTP_STATUS_SEC_MASK)
21439#define OCOTP_OTP_STATUS_DED_MASK (0x400U)
21440#define OCOTP_OTP_STATUS_DED_SHIFT (10U)
21441/*! DED - OTP Double Error Detection status of ECC during read operation. Write 1 to clear.
21442 */
21443#define OCOTP_OTP_STATUS_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_DED_SHIFT)) & OCOTP_OTP_STATUS_DED_MASK)
21444#define OCOTP_OTP_STATUS_LOCKED_MASK (0x800U)
21445#define OCOTP_OTP_STATUS_LOCKED_SHIFT (11U)
21446/*! LOCKED - OTP LOCKED status during read/write operation. Write 1 to clear.
21447 */
21448#define OCOTP_OTP_STATUS_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_LOCKED_SHIFT)) & OCOTP_OTP_STATUS_LOCKED_MASK)
21449#define OCOTP_OTP_STATUS_PROGFAIL_MASK (0x1000U)
21450#define OCOTP_OTP_STATUS_PROGFAIL_SHIFT (12U)
21451/*! PROGFAIL - OTP PROGFAIL status. Write 1 to clear.
21452 */
21453#define OCOTP_OTP_STATUS_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_PROGFAIL_SHIFT)) & OCOTP_OTP_STATUS_PROGFAIL_MASK)
21454#define OCOTP_OTP_STATUS_ACK_MASK (0x2000U)
21455#define OCOTP_OTP_STATUS_ACK_SHIFT (13U)
21456/*! ACK - OTP ACK value
21457 */
21458#define OCOTP_OTP_STATUS_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_ACK_SHIFT)) & OCOTP_OTP_STATUS_ACK_MASK)
21459#define OCOTP_OTP_STATUS_PWOK_MASK (0x4000U)
21460#define OCOTP_OTP_STATUS_PWOK_SHIFT (14U)
21461/*! PWOK - OTP Power OK status. Indicate that power VDD are in the operating range.
21462 */
21463#define OCOTP_OTP_STATUS_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_PWOK_SHIFT)) & OCOTP_OTP_STATUS_PWOK_MASK)
21464#define OCOTP_OTP_STATUS_SEC_RELOAD_MASK (0x100000U)
21465#define OCOTP_OTP_STATUS_SEC_RELOAD_SHIFT (20U)
21466/*! SEC_RELOAD - OTP Single Error Corrected status of ECC during reload process. Write 1 to clear.
21467 */
21468#define OCOTP_OTP_STATUS_SEC_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_SEC_RELOAD_SHIFT)) & OCOTP_OTP_STATUS_SEC_RELOAD_MASK)
21469#define OCOTP_OTP_STATUS_DED_RELOAD_MASK (0x200000U)
21470#define OCOTP_OTP_STATUS_DED_RELOAD_SHIFT (21U)
21471/*! DED_RELOAD - OTP Double Error Detect status of ECC during reload process. Write 1 to clear.
21472 */
21473#define OCOTP_OTP_STATUS_DED_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_DED_RELOAD_SHIFT)) & OCOTP_OTP_STATUS_DED_RELOAD_MASK)
21474#define OCOTP_OTP_STATUS_BUSY_MASK (0x400000U)
21475#define OCOTP_OTP_STATUS_BUSY_SHIFT (22U)
21476/*! BUSY - OTP controller status bit. When active, no new write or read access to OTP (including
21477 * RELOAD_SHADOWS) can be performed. Cleared by the controller when the access completes. After
21478 * reset (or after setting RELOAD_SHADOWS), this bit is set by the controller and cleared after all
21479 * the shadow registers are successfully loaded.
21480 */
21481#define OCOTP_OTP_STATUS_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_BUSY_SHIFT)) & OCOTP_OTP_STATUS_BUSY_MASK)
21482#define OCOTP_OTP_STATUS_ERROR_MASK (0x800000U)
21483#define OCOTP_OTP_STATUS_ERROR_SHIFT (23U)
21484/*! ERROR - Set by the controller when a read/write access to a locked region (OTP or shadow
21485 * register) is requested. Writing 1 to clear it before any further access can be performed. This bit
21486 * can only be set by the controller.
21487 */
21488#define OCOTP_OTP_STATUS_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_ERROR_SHIFT)) & OCOTP_OTP_STATUS_ERROR_MASK)
21489#define OCOTP_OTP_STATUS_CRC_FAIL_MASK (0x1000000U)
21490#define OCOTP_OTP_STATUS_CRC_FAIL_SHIFT (24U)
21491/*! CRC_FAIL - CRC failed when set by hardware for CRC operation. Write 1 to clear.
21492 */
21493#define OCOTP_OTP_STATUS_CRC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_CRC_FAIL_SHIFT)) & OCOTP_OTP_STATUS_CRC_FAIL_MASK)
21494#define OCOTP_OTP_STATUS_FUSE_LATCHED_MASK (0x2000000U)
21495#define OCOTP_OTP_STATUS_FUSE_LATCHED_SHIFT (25U)
21496/*! FUSE_LATCHED - Indicate all shadows registers have been loaded with their corresponding fuse
21497 * words when set by the controller after reset.
21498 */
21499#define OCOTP_OTP_STATUS_FUSE_LATCHED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_STATUS_FUSE_LATCHED_SHIFT)) & OCOTP_OTP_STATUS_FUSE_LATCHED_MASK)
21500/*! @} */
21501
21502/*! @name OTP_VERSION - VERSION ID register */
21503/*! @{ */
21504#define OCOTP_OTP_VERSION_STEP_VER_MASK (0xFFFFU)
21505#define OCOTP_OTP_VERSION_STEP_VER_SHIFT (0U)
21506/*! STEP_VER - OTP controller step version
21507 */
21508#define OCOTP_OTP_VERSION_STEP_VER(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_VERSION_STEP_VER_SHIFT)) & OCOTP_OTP_VERSION_STEP_VER_MASK)
21509#define OCOTP_OTP_VERSION_MINOR_VER_MASK (0xFF0000U)
21510#define OCOTP_OTP_VERSION_MINOR_VER_SHIFT (16U)
21511/*! MINOR_VER - OTP controller minor version
21512 */
21513#define OCOTP_OTP_VERSION_MINOR_VER(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_VERSION_MINOR_VER_SHIFT)) & OCOTP_OTP_VERSION_MINOR_VER_MASK)
21514#define OCOTP_OTP_VERSION_MAJOR_VER_MASK (0xFF000000U)
21515#define OCOTP_OTP_VERSION_MAJOR_VER_SHIFT (24U)
21516/*! MAJOR_VER - OTP controller major version
21517 */
21518#define OCOTP_OTP_VERSION_MAJOR_VER(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OTP_VERSION_MAJOR_VER_SHIFT)) & OCOTP_OTP_VERSION_MAJOR_VER_MASK)
21519/*! @} */
21520
21521
21522/*!
21523 * @}
21524 */ /* end of group OCOTP_Register_Masks */
21525
21526
21527/* OCOTP - Peripheral instance base addresses */
21528#if (__ARM_FEATURE_CMSE & 0x2)
21529 /** Peripheral OCOTP base address */
21530 #define OCOTP_BASE (0x50130000u)
21531 /** Peripheral OCOTP base address */
21532 #define OCOTP_BASE_NS (0x40130000u)
21533 /** Peripheral OCOTP base pointer */
21534 #define OCOTP ((OCOTP_Type *)OCOTP_BASE)
21535 /** Peripheral OCOTP base pointer */
21536 #define OCOTP_NS ((OCOTP_Type *)OCOTP_BASE_NS)
21537 /** Array initializer of OCOTP peripheral base addresses */
21538 #define OCOTP_BASE_ADDRS { OCOTP_BASE }
21539 /** Array initializer of OCOTP peripheral base pointers */
21540 #define OCOTP_BASE_PTRS { OCOTP }
21541 /** Array initializer of OCOTP peripheral base addresses */
21542 #define OCOTP_BASE_ADDRS_NS { OCOTP_BASE_NS }
21543 /** Array initializer of OCOTP peripheral base pointers */
21544 #define OCOTP_BASE_PTRS_NS { OCOTP_NS }
21545#else
21546 /** Peripheral OCOTP base address */
21547 #define OCOTP_BASE (0x40130000u)
21548 /** Peripheral OCOTP base pointer */
21549 #define OCOTP ((OCOTP_Type *)OCOTP_BASE)
21550 /** Array initializer of OCOTP peripheral base addresses */
21551 #define OCOTP_BASE_ADDRS { OCOTP_BASE }
21552 /** Array initializer of OCOTP peripheral base pointers */
21553 #define OCOTP_BASE_PTRS { OCOTP }
21554#endif
21555
21556/*!
21557 * @}
21558 */ /* end of group OCOTP_Peripheral_Access_Layer */
21559
21560
21561/* ----------------------------------------------------------------------------
21562 -- OSTIMER Peripheral Access Layer
21563 ---------------------------------------------------------------------------- */
21564
21565/*!
21566 * @addtogroup OSTIMER_Peripheral_Access_Layer OSTIMER Peripheral Access Layer
21567 * @{
21568 */
21569
21570/** OSTIMER - Register Layout Typedef */
21571typedef struct {
21572 __I uint32_t EVTIMERL; /**< EVTIMER Low Register, offset: 0x0 */
21573 __I uint32_t EVTIMERH; /**< EVTIMER High Register, offset: 0x4 */
21574 __I uint32_t CAPTURE_L; /**< Local Capture Low Register, offset: 0x8 */
21575 __I uint32_t CAPTURE_H; /**< Local Capture High Register, offset: 0xC */
21576 __IO uint32_t MATCH_L; /**< Local Match Low Register, offset: 0x10 */
21577 __IO uint32_t MATCH_H; /**< Match High Register, offset: 0x14 */
21578 uint8_t RESERVED_0[4];
21579 __IO uint32_t OSEVENT_CTRL; /**< OS_EVENT TIMER Control Register, offset: 0x1C */
21580} OSTIMER_Type;
21581
21582/* ----------------------------------------------------------------------------
21583 -- OSTIMER Register Masks
21584 ---------------------------------------------------------------------------- */
21585
21586/*!
21587 * @addtogroup OSTIMER_Register_Masks OSTIMER Register Masks
21588 * @{
21589 */
21590
21591/*! @name EVTIMERL - EVTIMER Low Register */
21592/*! @{ */
21593#define OSTIMER_EVTIMERL_EVTIMER_COUNT_VALUE_MASK (0xFFFFFFFFU)
21594#define OSTIMER_EVTIMERL_EVTIMER_COUNT_VALUE_SHIFT (0U)
21595/*! EVTIMER_COUNT_VALUE - A read reflects the current value of the lower 32 bits of the EVTIMER.
21596 * Note there is physically only one EVTimer, readable from all domains.
21597 */
21598#define OSTIMER_EVTIMERL_EVTIMER_COUNT_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_EVTIMERL_EVTIMER_COUNT_VALUE_SHIFT)) & OSTIMER_EVTIMERL_EVTIMER_COUNT_VALUE_MASK)
21599/*! @} */
21600
21601/*! @name EVTIMERH - EVTIMER High Register */
21602/*! @{ */
21603#define OSTIMER_EVTIMERH_EVTIMER_COUNT_VALUE_MASK (0xFFFFFFFFU)
21604#define OSTIMER_EVTIMERH_EVTIMER_COUNT_VALUE_SHIFT (0U)
21605/*! EVTIMER_COUNT_VALUE - A read reflects the current value of the upper 32 bits of the EVTIMER.
21606 * Note there is physically only one EVTimer, readable from all domains.
21607 */
21608#define OSTIMER_EVTIMERH_EVTIMER_COUNT_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_EVTIMERH_EVTIMER_COUNT_VALUE_SHIFT)) & OSTIMER_EVTIMERH_EVTIMER_COUNT_VALUE_MASK)
21609/*! @} */
21610
21611/*! @name CAPTURE_L - Local Capture Low Register */
21612/*! @{ */
21613#define OSTIMER_CAPTURE_L_CAPTURE_VALUE_MASK (0xFFFFFFFFU)
21614#define OSTIMER_CAPTURE_L_CAPTURE_VALUE_SHIFT (0U)
21615/*! CAPTURE_VALUE - A read reflects the value of the lower 32 bits of the central EVTIMER at the
21616 * time the last capture signal was generated by the CPU. A separate pair of CAPTURE registers are
21617 * implemented for each CPU. Each CPU reads its own capture value at the same pair of addresses.
21618 */
21619#define OSTIMER_CAPTURE_L_CAPTURE_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_CAPTURE_L_CAPTURE_VALUE_SHIFT)) & OSTIMER_CAPTURE_L_CAPTURE_VALUE_MASK)
21620/*! @} */
21621
21622/*! @name CAPTURE_H - Local Capture High Register */
21623/*! @{ */
21624#define OSTIMER_CAPTURE_H_CAPTURE_VALUE_MASK (0xFFFFFFFFU)
21625#define OSTIMER_CAPTURE_H_CAPTURE_VALUE_SHIFT (0U)
21626/*! CAPTURE_VALUE - A read reflects the value of the upper 32 bits of the central EVTIMER at the
21627 * time the last capture signal was generated by the CPU. A separate pair of CAPTURE registers are
21628 * implemented for each CPU. Each CPU reads its own capture value at the same pair of addresses.
21629 */
21630#define OSTIMER_CAPTURE_H_CAPTURE_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_CAPTURE_H_CAPTURE_VALUE_SHIFT)) & OSTIMER_CAPTURE_H_CAPTURE_VALUE_MASK)
21631/*! @} */
21632
21633/*! @name MATCH_L - Local Match Low Register */
21634/*! @{ */
21635#define OSTIMER_MATCH_L_MATCH_VALUE_MASK (0xFFFFFFFFU)
21636#define OSTIMER_MATCH_L_MATCH_VALUE_SHIFT (0U)
21637/*! MATCH_VALUE - The value written to the MATCH (L/H) register pair is compared against the central
21638 * EVTIMER. When a match occurs, an interrupt request is generated if enabled. A separate pair
21639 * of MATCH registers are implemented for each CPU. Each CPU reads its own local value at the same
21640 * pair of addresses.
21641 */
21642#define OSTIMER_MATCH_L_MATCH_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_MATCH_L_MATCH_VALUE_SHIFT)) & OSTIMER_MATCH_L_MATCH_VALUE_MASK)
21643/*! @} */
21644
21645/*! @name MATCH_H - Match High Register */
21646/*! @{ */
21647#define OSTIMER_MATCH_H_MATCH_VALUE_MASK (0xFFFFFFFFU)
21648#define OSTIMER_MATCH_H_MATCH_VALUE_SHIFT (0U)
21649/*! MATCH_VALUE - The value written to the MATCH (L/H) register pair is compared against the central
21650 * EVTIMER. When a match occurs, an interrupt request is generated if enabled. A separate pair
21651 * of MATCH registers are implemented for each CPU. Each CPU reads its own local value at the same
21652 * pair of addresses.
21653 */
21654#define OSTIMER_MATCH_H_MATCH_VALUE(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_MATCH_H_MATCH_VALUE_SHIFT)) & OSTIMER_MATCH_H_MATCH_VALUE_MASK)
21655/*! @} */
21656
21657/*! @name OSEVENT_CTRL - OS_EVENT TIMER Control Register */
21658/*! @{ */
21659#define OSTIMER_OSEVENT_CTRL_OSTIMER_INTRFLAG_MASK (0x1U)
21660#define OSTIMER_OSEVENT_CTRL_OSTIMER_INTRFLAG_SHIFT (0U)
21661/*! OSTIMER_INTRFLAG - This bit is set when a match occurs between the central 64-bit EVTIMER and
21662 * the value programmed in the Match-register pair for the associated CPU This bit is cleared by
21663 * writing a '1'. Writes to clear this bit are asynchronous. This should be done before a new match
21664 * value is written into the MATCH_L/H registers
21665 */
21666#define OSTIMER_OSEVENT_CTRL_OSTIMER_INTRFLAG(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_OSEVENT_CTRL_OSTIMER_INTRFLAG_SHIFT)) & OSTIMER_OSEVENT_CTRL_OSTIMER_INTRFLAG_MASK)
21667#define OSTIMER_OSEVENT_CTRL_OSTIMER_INTENA_MASK (0x2U)
21668#define OSTIMER_OSEVENT_CTRL_OSTIMER_INTENA_SHIFT (1U)
21669/*! OSTIMER_INTENA - When this bit is '1' an interrupt/wakeup request to the Domainn processor will
21670 * be asserted when the OSTIMER_INTR flag is set. When this bit is '0', interrupt/wakeup requests
21671 * due to the OSTIMER_INTR flag are blocked.A separate OSEVENT_CTRL register is implemented for
21672 * each CPU. Each CPU reads its own local value at the same address.
21673 */
21674#define OSTIMER_OSEVENT_CTRL_OSTIMER_INTENA(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_OSEVENT_CTRL_OSTIMER_INTENA_SHIFT)) & OSTIMER_OSEVENT_CTRL_OSTIMER_INTENA_MASK)
21675#define OSTIMER_OSEVENT_CTRL_MATCH_WR_RDY_MASK (0x4U)
21676#define OSTIMER_OSEVENT_CTRL_MATCH_WR_RDY_SHIFT (2U)
21677/*! MATCH_WR_RDY - This bit will be low when it is safe to write to reload the Match Registers. In
21678 * typical applications it should not be necessary to test this bit.
21679 */
21680#define OSTIMER_OSEVENT_CTRL_MATCH_WR_RDY(x) (((uint32_t)(((uint32_t)(x)) << OSTIMER_OSEVENT_CTRL_MATCH_WR_RDY_SHIFT)) & OSTIMER_OSEVENT_CTRL_MATCH_WR_RDY_MASK)
21681/*! @} */
21682
21683
21684/*!
21685 * @}
21686 */ /* end of group OSTIMER_Register_Masks */
21687
21688
21689/* OSTIMER - Peripheral instance base addresses */
21690#if (__ARM_FEATURE_CMSE & 0x2)
21691 /** Peripheral OSTIMER0 base address */
21692 #define OSTIMER0_BASE (0x50113000u)
21693 /** Peripheral OSTIMER0 base address */
21694 #define OSTIMER0_BASE_NS (0x40113000u)
21695 /** Peripheral OSTIMER0 base pointer */
21696 #define OSTIMER0 ((OSTIMER_Type *)OSTIMER0_BASE)
21697 /** Peripheral OSTIMER0 base pointer */
21698 #define OSTIMER0_NS ((OSTIMER_Type *)OSTIMER0_BASE_NS)
21699 /** Array initializer of OSTIMER peripheral base addresses */
21700 #define OSTIMER_BASE_ADDRS { OSTIMER0_BASE }
21701 /** Array initializer of OSTIMER peripheral base pointers */
21702 #define OSTIMER_BASE_PTRS { OSTIMER0 }
21703 /** Array initializer of OSTIMER peripheral base addresses */
21704 #define OSTIMER_BASE_ADDRS_NS { OSTIMER0_BASE_NS }
21705 /** Array initializer of OSTIMER peripheral base pointers */
21706 #define OSTIMER_BASE_PTRS_NS { OSTIMER0_NS }
21707#else
21708 /** Peripheral OSTIMER0 base address */
21709 #define OSTIMER0_BASE (0x40113000u)
21710 /** Peripheral OSTIMER0 base pointer */
21711 #define OSTIMER0 ((OSTIMER_Type *)OSTIMER0_BASE)
21712 /** Array initializer of OSTIMER peripheral base addresses */
21713 #define OSTIMER_BASE_ADDRS { OSTIMER0_BASE }
21714 /** Array initializer of OSTIMER peripheral base pointers */
21715 #define OSTIMER_BASE_PTRS { OSTIMER0 }
21716#endif
21717/** Interrupt vectors for the OSTIMER peripheral type */
21718#define OSTIMER_IRQS { OS_EVENT_IRQn }
21719
21720/*!
21721 * @}
21722 */ /* end of group OSTIMER_Peripheral_Access_Layer */
21723
21724
21725/* ----------------------------------------------------------------------------
21726 -- OTFAD Peripheral Access Layer
21727 ---------------------------------------------------------------------------- */
21728
21729/*!
21730 * @addtogroup OTFAD_Peripheral_Access_Layer OTFAD Peripheral Access Layer
21731 * @{
21732 */
21733
21734/** OTFAD - Register Layout Typedef */
21735typedef struct {
21736 uint8_t RESERVED_0[3072];
21737 __IO uint32_t CR; /**< Control Register, offset: 0xC00 */
21738 __I uint32_t SR; /**< Status Register, offset: 0xC04 */
21739 uint8_t RESERVED_1[248];
21740 struct { /* offset: 0xD00, array step: 0x40 */
21741 __IO uint32_t KEY[4]; /**< AES Key Word, array offset: 0xD00, array step: index*0x40, index2*0x4 */
21742 __IO uint32_t CTR[2]; /**< AES Counter Word, array offset: 0xD10, array step: index*0x40, index2*0x4 */
21743 __IO uint32_t RGD_W0; /**< AES Region Descriptor Word0, array offset: 0xD18, array step: 0x40 */
21744 __IO uint32_t RGD_W1; /**< AES Region Descriptor Word1, array offset: 0xD1C, array step: 0x40 */
21745 uint8_t RESERVED_0[32];
21746 } CTX[4];
21747} OTFAD_Type;
21748
21749/* ----------------------------------------------------------------------------
21750 -- OTFAD Register Masks
21751 ---------------------------------------------------------------------------- */
21752
21753/*!
21754 * @addtogroup OTFAD_Register_Masks OTFAD Register Masks
21755 * @{
21756 */
21757
21758/*! @name CR - Control Register */
21759/*! @{ */
21760#define OTFAD_CR_FLDM_MASK (0x8U)
21761#define OTFAD_CR_FLDM_SHIFT (3U)
21762/*! FLDM - Force Logically Disabled Mode
21763 * 0b0..No effect on the operating mode.
21764 * 0b1..Force entry into LDM after a write with this data bit set. SR[MODE] signals the operating mode.
21765 */
21766#define OTFAD_CR_FLDM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_FLDM_SHIFT)) & OTFAD_CR_FLDM_MASK)
21767#define OTFAD_CR_RRAE_MASK (0x80U)
21768#define OTFAD_CR_RRAE_SHIFT (7U)
21769/*! RRAE - Restricted Register Access Enable
21770 * 0b0..Register access is fully enabled. The OTFAD programming model registers can be accessed "normally".
21771 * 0b1..Register access is restricted and only the CR, SR and optional MDPC registers can be accessed; others are treated as RAZ/WI.
21772 */
21773#define OTFAD_CR_RRAE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_RRAE_SHIFT)) & OTFAD_CR_RRAE_MASK)
21774#define OTFAD_CR_GE_MASK (0x80000000U)
21775#define OTFAD_CR_GE_SHIFT (31U)
21776/*! GE - Global OTFAD Enable
21777 * 0b0..OTFAD has decryption disabled. All data fetched by the FLEXSPI bypasses OTFAD processing.
21778 * 0b1..OTFAD has decryption enabled, and processes data fetched by the FLEXSPI as defined by the hardware configuration.
21779 */
21780#define OTFAD_CR_GE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_GE_SHIFT)) & OTFAD_CR_GE_MASK)
21781/*! @} */
21782
21783/*! @name SR - Status Register */
21784/*! @{ */
21785#define OTFAD_SR_MDPCP_MASK (0x2U)
21786#define OTFAD_SR_MDPCP_SHIFT (1U)
21787/*! MDPCP - MDPC Present
21788 */
21789#define OTFAD_SR_MDPCP(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_MDPCP_SHIFT)) & OTFAD_SR_MDPCP_MASK)
21790#define OTFAD_SR_MODE_MASK (0xCU)
21791#define OTFAD_SR_MODE_SHIFT (2U)
21792/*! MODE - Operating Mode
21793 * 0b00..Operating in Normal mode (NRM)
21794 * 0b01..Unused (reserved)
21795 * 0b10..Unused (reserved)
21796 * 0b11..Operating in Logically Disabled Mode (LDM)
21797 */
21798#define OTFAD_SR_MODE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_MODE_SHIFT)) & OTFAD_SR_MODE_MASK)
21799#define OTFAD_SR_NCTX_MASK (0xF0U)
21800#define OTFAD_SR_NCTX_SHIFT (4U)
21801/*! NCTX - Number of Contexts
21802 */
21803#define OTFAD_SR_NCTX(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_NCTX_SHIFT)) & OTFAD_SR_NCTX_MASK)
21804#define OTFAD_SR_HRL_MASK (0xF000000U)
21805#define OTFAD_SR_HRL_SHIFT (24U)
21806/*! HRL - Hardware Revision Level
21807 */
21808#define OTFAD_SR_HRL(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_HRL_SHIFT)) & OTFAD_SR_HRL_MASK)
21809#define OTFAD_SR_RRAM_MASK (0x10000000U)
21810#define OTFAD_SR_RRAM_SHIFT (28U)
21811/*! RRAM - Restricted Register Access Mode
21812 * 0b0..Register access is fully enabled. The OTFAD programming model registers can be accessed "normally".
21813 * 0b1..Register access is restricted and only the CR, SR and optional MDPC registers can be accessed; others are treated as RAZ/WI.
21814 */
21815#define OTFAD_SR_RRAM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_RRAM_SHIFT)) & OTFAD_SR_RRAM_MASK)
21816#define OTFAD_SR_GEM_MASK (0x20000000U)
21817#define OTFAD_SR_GEM_SHIFT (29U)
21818/*! GEM - Global Enable Mode
21819 * 0b0..OTFAD is disabled. All data fetched by the FLEXSPI bypasses OTFAD processing.
21820 * 0b1..OTFAD is enabled, and processes data fetched by the FLEXSPI as defined by the hardware configuration.
21821 */
21822#define OTFAD_SR_GEM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_GEM_SHIFT)) & OTFAD_SR_GEM_MASK)
21823/*! @} */
21824
21825/*! @name KEY - AES Key Word */
21826/*! @{ */
21827#define OTFAD_KEY_KEY_MASK (0xFFFFFFFFU)
21828#define OTFAD_KEY_KEY_SHIFT (0U)
21829/*! KEY - AES Key
21830 */
21831#define OTFAD_KEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_KEY_KEY_SHIFT)) & OTFAD_KEY_KEY_MASK)
21832/*! @} */
21833
21834/* The count of OTFAD_KEY */
21835#define OTFAD_KEY_COUNT (4U)
21836
21837/* The count of OTFAD_KEY */
21838#define OTFAD_KEY_COUNT2 (4U)
21839
21840/*! @name CTR - AES Counter Word */
21841/*! @{ */
21842#define OTFAD_CTR_CTR_MASK (0xFFFFFFFFU)
21843#define OTFAD_CTR_CTR_SHIFT (0U)
21844/*! CTR - AES Counter
21845 */
21846#define OTFAD_CTR_CTR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CTR_CTR_SHIFT)) & OTFAD_CTR_CTR_MASK)
21847/*! @} */
21848
21849/* The count of OTFAD_CTR */
21850#define OTFAD_CTR_COUNT (4U)
21851
21852/* The count of OTFAD_CTR */
21853#define OTFAD_CTR_COUNT2 (2U)
21854
21855/*! @name RGD_W0 - AES Region Descriptor Word0 */
21856/*! @{ */
21857#define OTFAD_RGD_W0_SRTADDR_MASK (0xFFFFFC00U)
21858#define OTFAD_RGD_W0_SRTADDR_SHIFT (10U)
21859/*! SRTADDR - Start Address
21860 */
21861#define OTFAD_RGD_W0_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W0_SRTADDR_SHIFT)) & OTFAD_RGD_W0_SRTADDR_MASK)
21862/*! @} */
21863
21864/* The count of OTFAD_RGD_W0 */
21865#define OTFAD_RGD_W0_COUNT (4U)
21866
21867/*! @name RGD_W1 - AES Region Descriptor Word1 */
21868/*! @{ */
21869#define OTFAD_RGD_W1_VLD_MASK (0x1U)
21870#define OTFAD_RGD_W1_VLD_SHIFT (0U)
21871/*! VLD - Valid
21872 * 0b0..Context is invalid.
21873 * 0b1..Context is valid.
21874 */
21875#define OTFAD_RGD_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_VLD_SHIFT)) & OTFAD_RGD_W1_VLD_MASK)
21876#define OTFAD_RGD_W1_ADE_MASK (0x2U)
21877#define OTFAD_RGD_W1_ADE_SHIFT (1U)
21878/*! ADE - AES Decryption Enable.
21879 * 0b0..Bypass the fetched data.
21880 * 0b1..Perform the CTR-AES128 mode decryption on the fetched data.
21881 */
21882#define OTFAD_RGD_W1_ADE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_ADE_SHIFT)) & OTFAD_RGD_W1_ADE_MASK)
21883#define OTFAD_RGD_W1_RO_MASK (0x4U)
21884#define OTFAD_RGD_W1_RO_SHIFT (2U)
21885/*! RO - Read-Only
21886 * 0b0..The context registers can be accessed normally (as defined by SR[RRAM]).
21887 * 0b1..The context registers are read-only and accesses may be further restricted based on SR[RRAM].
21888 */
21889#define OTFAD_RGD_W1_RO(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_RO_SHIFT)) & OTFAD_RGD_W1_RO_MASK)
21890#define OTFAD_RGD_W1_ENDADDR_MASK (0xFFFFFC00U)
21891#define OTFAD_RGD_W1_ENDADDR_SHIFT (10U)
21892/*! ENDADDR - End Address
21893 */
21894#define OTFAD_RGD_W1_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_ENDADDR_SHIFT)) & OTFAD_RGD_W1_ENDADDR_MASK)
21895/*! @} */
21896
21897/* The count of OTFAD_RGD_W1 */
21898#define OTFAD_RGD_W1_COUNT (4U)
21899
21900
21901/*!
21902 * @}
21903 */ /* end of group OTFAD_Register_Masks */
21904
21905
21906/* OTFAD - Peripheral instance base addresses */
21907#if (__ARM_FEATURE_CMSE & 0x2)
21908 /** Peripheral OTFAD base address */
21909 #define OTFAD_BASE (0x50134000u)
21910 /** Peripheral OTFAD base address */
21911 #define OTFAD_BASE_NS (0x40134000u)
21912 /** Peripheral OTFAD base pointer */
21913 #define OTFAD ((OTFAD_Type *)OTFAD_BASE)
21914 /** Peripheral OTFAD base pointer */
21915 #define OTFAD_NS ((OTFAD_Type *)OTFAD_BASE_NS)
21916 /** Array initializer of OTFAD peripheral base addresses */
21917 #define OTFAD_BASE_ADDRS { OTFAD_BASE }
21918 /** Array initializer of OTFAD peripheral base pointers */
21919 #define OTFAD_BASE_PTRS { OTFAD }
21920 /** Array initializer of OTFAD peripheral base addresses */
21921 #define OTFAD_BASE_ADDRS_NS { OTFAD_BASE_NS }
21922 /** Array initializer of OTFAD peripheral base pointers */
21923 #define OTFAD_BASE_PTRS_NS { OTFAD_NS }
21924#else
21925 /** Peripheral OTFAD base address */
21926 #define OTFAD_BASE (0x40134000u)
21927 /** Peripheral OTFAD base pointer */
21928 #define OTFAD ((OTFAD_Type *)OTFAD_BASE)
21929 /** Array initializer of OTFAD peripheral base addresses */
21930 #define OTFAD_BASE_ADDRS { OTFAD_BASE }
21931 /** Array initializer of OTFAD peripheral base pointers */
21932 #define OTFAD_BASE_PTRS { OTFAD }
21933#endif
21934
21935/*!
21936 * @}
21937 */ /* end of group OTFAD_Peripheral_Access_Layer */
21938
21939
21940/* ----------------------------------------------------------------------------
21941 -- PINT Peripheral Access Layer
21942 ---------------------------------------------------------------------------- */
21943
21944/*!
21945 * @addtogroup PINT_Peripheral_Access_Layer PINT Peripheral Access Layer
21946 * @{
21947 */
21948
21949/** PINT - Register Layout Typedef */
21950typedef struct {
21951 __IO uint32_t ISEL; /**< Pin Interrupt Mode register, offset: 0x0 */
21952 __IO uint32_t IENR; /**< Pin interrupt level or rising edge interrupt enable register, offset: 0x4 */
21953 __O uint32_t SIENR; /**< Pin interrupt level or rising edge interrupt set register, offset: 0x8 */
21954 __O uint32_t CIENR; /**< Pin interrupt level (rising edge interrupt) clear register, offset: 0xC */
21955 __IO uint32_t IENF; /**< Pin interrupt active level or falling edge interrupt enable register, offset: 0x10 */
21956 __O uint32_t SIENF; /**< Pin interrupt active level or falling edge interrupt set register, offset: 0x14 */
21957 __O uint32_t CIENF; /**< Pin interrupt active level or falling edge interrupt clear register, offset: 0x18 */
21958 __IO uint32_t RISE; /**< Pin interrupt rising edge register, offset: 0x1C */
21959 __IO uint32_t FALL; /**< Pin interrupt falling edge register, offset: 0x20 */
21960 __IO uint32_t IST; /**< Pin interrupt status register, offset: 0x24 */
21961 __IO uint32_t PMCTRL; /**< Pattern match interrupt control register, offset: 0x28 */
21962 __IO uint32_t PMSRC; /**< Pattern match interrupt bit-slice source register, offset: 0x2C */
21963 __IO uint32_t PMCFG; /**< Pattern match interrupt bit slice configuration register, offset: 0x30 */
21964} PINT_Type;
21965
21966/* ----------------------------------------------------------------------------
21967 -- PINT Register Masks
21968 ---------------------------------------------------------------------------- */
21969
21970/*!
21971 * @addtogroup PINT_Register_Masks PINT Register Masks
21972 * @{
21973 */
21974
21975/*! @name ISEL - Pin Interrupt Mode register */
21976/*! @{ */
21977#define PINT_ISEL_PMODE_MASK (0xFFU)
21978#define PINT_ISEL_PMODE_SHIFT (0U)
21979/*! PMODE - Selects the interrupt mode for each pin interrupt. Bit n configures the pin interrupt
21980 * selected in PINTSELn. 0 = Edge sensitive 1 = Level sensitive
21981 */
21982#define PINT_ISEL_PMODE(x) (((uint32_t)(((uint32_t)(x)) << PINT_ISEL_PMODE_SHIFT)) & PINT_ISEL_PMODE_MASK)
21983/*! @} */
21984
21985/*! @name IENR - Pin interrupt level or rising edge interrupt enable register */
21986/*! @{ */
21987#define PINT_IENR_ENRL_MASK (0xFFU)
21988#define PINT_IENR_ENRL_SHIFT (0U)
21989/*! ENRL - Enables the rising edge or level interrupt for each pin interrupt. Bit n configures the
21990 * pin interrupt selected in PINTSELn. 0 = Disable rising edge or level interrupt. 1 = Enable
21991 * rising edge or level interrupt.
21992 */
21993#define PINT_IENR_ENRL(x) (((uint32_t)(((uint32_t)(x)) << PINT_IENR_ENRL_SHIFT)) & PINT_IENR_ENRL_MASK)
21994/*! @} */
21995
21996/*! @name SIENR - Pin interrupt level or rising edge interrupt set register */
21997/*! @{ */
21998#define PINT_SIENR_SETENRL_MASK (0xFFU)
21999#define PINT_SIENR_SETENRL_SHIFT (0U)
22000/*! SETENRL - Ones written to this address set bits in the IENR, thus enabling interrupts. Bit n
22001 * sets bit n in the IENR register. 0 = No operation. 1 = Enable rising edge or level interrupt.
22002 */
22003#define PINT_SIENR_SETENRL(x) (((uint32_t)(((uint32_t)(x)) << PINT_SIENR_SETENRL_SHIFT)) & PINT_SIENR_SETENRL_MASK)
22004/*! @} */
22005
22006/*! @name CIENR - Pin interrupt level (rising edge interrupt) clear register */
22007/*! @{ */
22008#define PINT_CIENR_CENRL_MASK (0xFFU)
22009#define PINT_CIENR_CENRL_SHIFT (0U)
22010/*! CENRL - Ones written to this address clear bits in the IENR, thus disabling the interrupts. Bit
22011 * n clears bit n in the IENR register. 0 = No operation. 1 = Disable rising edge or level
22012 * interrupt.
22013 */
22014#define PINT_CIENR_CENRL(x) (((uint32_t)(((uint32_t)(x)) << PINT_CIENR_CENRL_SHIFT)) & PINT_CIENR_CENRL_MASK)
22015/*! @} */
22016
22017/*! @name IENF - Pin interrupt active level or falling edge interrupt enable register */
22018/*! @{ */
22019#define PINT_IENF_ENAF_MASK (0xFFU)
22020#define PINT_IENF_ENAF_SHIFT (0U)
22021/*! ENAF - Enables the falling edge or configures the active level interrupt for each pin interrupt.
22022 * Bit n configures the pin interrupt selected in PINTSELn. 0 = Disable falling edge interrupt
22023 * or set active interrupt level LOW. 1 = Enable falling edge interrupt enabled or set active
22024 * interrupt level HIGH.
22025 */
22026#define PINT_IENF_ENAF(x) (((uint32_t)(((uint32_t)(x)) << PINT_IENF_ENAF_SHIFT)) & PINT_IENF_ENAF_MASK)
22027/*! @} */
22028
22029/*! @name SIENF - Pin interrupt active level or falling edge interrupt set register */
22030/*! @{ */
22031#define PINT_SIENF_SETENAF_MASK (0xFFU)
22032#define PINT_SIENF_SETENAF_SHIFT (0U)
22033/*! SETENAF - Ones written to this address set bits in the IENF, thus enabling interrupts. Bit n
22034 * sets bit n in the IENF register. 0 = No operation. 1 = Select HIGH-active interrupt or enable
22035 * falling edge interrupt.
22036 */
22037#define PINT_SIENF_SETENAF(x) (((uint32_t)(((uint32_t)(x)) << PINT_SIENF_SETENAF_SHIFT)) & PINT_SIENF_SETENAF_MASK)
22038/*! @} */
22039
22040/*! @name CIENF - Pin interrupt active level or falling edge interrupt clear register */
22041/*! @{ */
22042#define PINT_CIENF_CENAF_MASK (0xFFU)
22043#define PINT_CIENF_CENAF_SHIFT (0U)
22044/*! CENAF - Ones written to this address clears bits in the IENF, thus disabling interrupts. Bit n
22045 * clears bit n in the IENF register. 0 = No operation. 1 = LOW-active interrupt selected or
22046 * falling edge interrupt disabled.
22047 */
22048#define PINT_CIENF_CENAF(x) (((uint32_t)(((uint32_t)(x)) << PINT_CIENF_CENAF_SHIFT)) & PINT_CIENF_CENAF_MASK)
22049/*! @} */
22050
22051/*! @name RISE - Pin interrupt rising edge register */
22052/*! @{ */
22053#define PINT_RISE_RDET_MASK (0xFFU)
22054#define PINT_RISE_RDET_SHIFT (0U)
22055/*! RDET - Rising edge detect. Bit n detects the rising edge of the pin selected in PINTSELn. Read
22056 * 0: No rising edge has been detected on this pin since Reset or the last time a one was written
22057 * to this bit. Write 0: no operation. Read 1: a rising edge has been detected since Reset or the
22058 * last time a one was written to this bit. Write 1: clear rising edge detection for this pin.
22059 */
22060#define PINT_RISE_RDET(x) (((uint32_t)(((uint32_t)(x)) << PINT_RISE_RDET_SHIFT)) & PINT_RISE_RDET_MASK)
22061/*! @} */
22062
22063/*! @name FALL - Pin interrupt falling edge register */
22064/*! @{ */
22065#define PINT_FALL_FDET_MASK (0xFFU)
22066#define PINT_FALL_FDET_SHIFT (0U)
22067/*! FDET - Falling edge detect. Bit n detects the falling edge of the pin selected in PINTSELn. Read
22068 * 0: No falling edge has been detected on this pin since Reset or the last time a one was
22069 * written to this bit. Write 0: no operation. Read 1: a falling edge has been detected since Reset or
22070 * the last time a one was written to this bit. Write 1: clear falling edge detection for this
22071 * pin.
22072 */
22073#define PINT_FALL_FDET(x) (((uint32_t)(((uint32_t)(x)) << PINT_FALL_FDET_SHIFT)) & PINT_FALL_FDET_MASK)
22074/*! @} */
22075
22076/*! @name IST - Pin interrupt status register */
22077/*! @{ */
22078#define PINT_IST_PSTAT_MASK (0xFFU)
22079#define PINT_IST_PSTAT_SHIFT (0U)
22080/*! PSTAT - Pin interrupt status. Bit n returns the status, clears the edge interrupt, or inverts
22081 * the active level of the pin selected in PINTSELn. Read 0: interrupt is not being requested for
22082 * this interrupt pin. Write 0: no operation. Read 1: interrupt is being requested for this
22083 * interrupt pin. Write 1 (edge-sensitive): clear rising- and falling-edge detection for this pin.
22084 * Write 1 (level-sensitive): switch the active level for this pin (in the IENF register).
22085 */
22086#define PINT_IST_PSTAT(x) (((uint32_t)(((uint32_t)(x)) << PINT_IST_PSTAT_SHIFT)) & PINT_IST_PSTAT_MASK)
22087/*! @} */
22088
22089/*! @name PMCTRL - Pattern match interrupt control register */
22090/*! @{ */
22091#define PINT_PMCTRL_SEL_PMATCH_MASK (0x1U)
22092#define PINT_PMCTRL_SEL_PMATCH_SHIFT (0U)
22093/*! SEL_PMATCH - Specifies whether the 8 pin interrupts are controlled by the pin interrupt function or by the pattern match function.
22094 * 0b0..Pin interrupt. Interrupts are driven in response to the standard pin interrupt function.
22095 * 0b1..Pattern match. Interrupts are driven in response to pattern matches.
22096 */
22097#define PINT_PMCTRL_SEL_PMATCH(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCTRL_SEL_PMATCH_SHIFT)) & PINT_PMCTRL_SEL_PMATCH_MASK)
22098#define PINT_PMCTRL_ENA_RXEV_MASK (0x2U)
22099#define PINT_PMCTRL_ENA_RXEV_SHIFT (1U)
22100/*! ENA_RXEV - Enables the RXEV output to the CPU and/or to a GPIO output when the specified boolean expression evaluates to true.
22101 * 0b0..Disabled. RXEV output to the CPU is disabled.
22102 * 0b1..Enabled. RXEV output to the CPU is enabled.
22103 */
22104#define PINT_PMCTRL_ENA_RXEV(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCTRL_ENA_RXEV_SHIFT)) & PINT_PMCTRL_ENA_RXEV_MASK)
22105#define PINT_PMCTRL_PMAT_MASK (0xFF000000U)
22106#define PINT_PMCTRL_PMAT_SHIFT (24U)
22107/*! PMAT - This field displays the current state of pattern matches. A 1 in any bit of this field
22108 * indicates that the corresponding product term is matched by the current state of the appropriate
22109 * inputs.
22110 */
22111#define PINT_PMCTRL_PMAT(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCTRL_PMAT_SHIFT)) & PINT_PMCTRL_PMAT_MASK)
22112/*! @} */
22113
22114/*! @name PMSRC - Pattern match interrupt bit-slice source register */
22115/*! @{ */
22116#define PINT_PMSRC_SRC0_MASK (0x700U)
22117#define PINT_PMSRC_SRC0_SHIFT (8U)
22118/*! SRC0 - Selects the input source for bit slice 0
22119 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 0.
22120 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 0.
22121 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 0.
22122 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 0.
22123 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 0.
22124 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 0.
22125 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 0.
22126 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 0.
22127 */
22128#define PINT_PMSRC_SRC0(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC0_SHIFT)) & PINT_PMSRC_SRC0_MASK)
22129#define PINT_PMSRC_SRC1_MASK (0x3800U)
22130#define PINT_PMSRC_SRC1_SHIFT (11U)
22131/*! SRC1 - Selects the input source for bit slice 1
22132 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 1.
22133 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 1.
22134 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 1.
22135 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 1.
22136 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 1.
22137 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 1.
22138 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 1.
22139 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 1.
22140 */
22141#define PINT_PMSRC_SRC1(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC1_SHIFT)) & PINT_PMSRC_SRC1_MASK)
22142#define PINT_PMSRC_SRC2_MASK (0x1C000U)
22143#define PINT_PMSRC_SRC2_SHIFT (14U)
22144/*! SRC2 - Selects the input source for bit slice 2
22145 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 2.
22146 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 2.
22147 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 2.
22148 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 2.
22149 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 2.
22150 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 2.
22151 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 2.
22152 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 2.
22153 */
22154#define PINT_PMSRC_SRC2(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC2_SHIFT)) & PINT_PMSRC_SRC2_MASK)
22155#define PINT_PMSRC_SRC3_MASK (0xE0000U)
22156#define PINT_PMSRC_SRC3_SHIFT (17U)
22157/*! SRC3 - Selects the input source for bit slice 3
22158 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 3.
22159 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 3.
22160 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 3.
22161 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 3.
22162 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 3.
22163 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 3.
22164 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 3.
22165 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 3.
22166 */
22167#define PINT_PMSRC_SRC3(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC3_SHIFT)) & PINT_PMSRC_SRC3_MASK)
22168#define PINT_PMSRC_SRC4_MASK (0x700000U)
22169#define PINT_PMSRC_SRC4_SHIFT (20U)
22170/*! SRC4 - Selects the input source for bit slice 4
22171 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 4.
22172 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 4.
22173 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 4.
22174 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 4.
22175 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 4.
22176 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 4.
22177 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 4.
22178 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 4.
22179 */
22180#define PINT_PMSRC_SRC4(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC4_SHIFT)) & PINT_PMSRC_SRC4_MASK)
22181#define PINT_PMSRC_SRC5_MASK (0x3800000U)
22182#define PINT_PMSRC_SRC5_SHIFT (23U)
22183/*! SRC5 - Selects the input source for bit slice 5
22184 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 5.
22185 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 5.
22186 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 5.
22187 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 5.
22188 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 5.
22189 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 5.
22190 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 5.
22191 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 5.
22192 */
22193#define PINT_PMSRC_SRC5(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC5_SHIFT)) & PINT_PMSRC_SRC5_MASK)
22194#define PINT_PMSRC_SRC6_MASK (0x1C000000U)
22195#define PINT_PMSRC_SRC6_SHIFT (26U)
22196/*! SRC6 - Selects the input source for bit slice 6
22197 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 6.
22198 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 6.
22199 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 6.
22200 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 6.
22201 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 6.
22202 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 6.
22203 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 6.
22204 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 6.
22205 */
22206#define PINT_PMSRC_SRC6(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC6_SHIFT)) & PINT_PMSRC_SRC6_MASK)
22207#define PINT_PMSRC_SRC7_MASK (0xE0000000U)
22208#define PINT_PMSRC_SRC7_SHIFT (29U)
22209/*! SRC7 - Selects the input source for bit slice 7
22210 * 0b000..Input 0. Selects the pin selected in the PINTSEL0 register as the source to bit slice 7.
22211 * 0b001..Input 1. Selects the pin selected in the PINTSEL1 register as the source to bit slice 7.
22212 * 0b010..Input 2. Selects the pin selected in the PINTSEL2 register as the source to bit slice 7.
22213 * 0b011..Input 3. Selects the pin selected in the PINTSEL3 register as the source to bit slice 7.
22214 * 0b100..Input 4. Selects the pin selected in the PINTSEL4 register as the source to bit slice 7.
22215 * 0b101..Input 5. Selects the pin selected in the PINTSEL5 register as the source to bit slice 7.
22216 * 0b110..Input 6. Selects the pin selected in the PINTSEL6 register as the source to bit slice 7.
22217 * 0b111..Input 7. Selects the pin selected in the PINTSEL7 register as the source to bit slice 7.
22218 */
22219#define PINT_PMSRC_SRC7(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMSRC_SRC7_SHIFT)) & PINT_PMSRC_SRC7_MASK)
22220/*! @} */
22221
22222/*! @name PMCFG - Pattern match interrupt bit slice configuration register */
22223/*! @{ */
22224#define PINT_PMCFG_PROD_ENDPTS0_MASK (0x1U)
22225#define PINT_PMCFG_PROD_ENDPTS0_SHIFT (0U)
22226/*! PROD_ENDPTS0 - Determines whether slice 0 is an endpoint.
22227 * 0b0..No effect. Slice 0 is not an endpoint.
22228 * 0b1..endpoint. Slice 0 is the endpoint of a product term (minterm). Pin interrupt 0 in the NVIC is raised if the minterm evaluates as true.
22229 */
22230#define PINT_PMCFG_PROD_ENDPTS0(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS0_SHIFT)) & PINT_PMCFG_PROD_ENDPTS0_MASK)
22231#define PINT_PMCFG_PROD_ENDPTS1_MASK (0x2U)
22232#define PINT_PMCFG_PROD_ENDPTS1_SHIFT (1U)
22233/*! PROD_ENDPTS1 - Determines whether slice 1 is an endpoint.
22234 * 0b0..No effect. Slice 1 is not an endpoint.
22235 * 0b1..endpoint. Slice 1 is the endpoint of a product term (minterm). Pin interrupt 1 in the NVIC is raised if the minterm evaluates as true.
22236 */
22237#define PINT_PMCFG_PROD_ENDPTS1(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS1_SHIFT)) & PINT_PMCFG_PROD_ENDPTS1_MASK)
22238#define PINT_PMCFG_PROD_ENDPTS2_MASK (0x4U)
22239#define PINT_PMCFG_PROD_ENDPTS2_SHIFT (2U)
22240/*! PROD_ENDPTS2 - Determines whether slice 2 is an endpoint.
22241 * 0b0..No effect. Slice 2 is not an endpoint.
22242 * 0b1..endpoint. Slice 2 is the endpoint of a product term (minterm). Pin interrupt 2 in the NVIC is raised if the minterm evaluates as true.
22243 */
22244#define PINT_PMCFG_PROD_ENDPTS2(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS2_SHIFT)) & PINT_PMCFG_PROD_ENDPTS2_MASK)
22245#define PINT_PMCFG_PROD_ENDPTS3_MASK (0x8U)
22246#define PINT_PMCFG_PROD_ENDPTS3_SHIFT (3U)
22247/*! PROD_ENDPTS3 - Determines whether slice 3 is an endpoint.
22248 * 0b0..No effect. Slice 3 is not an endpoint.
22249 * 0b1..endpoint. Slice 3 is the endpoint of a product term (minterm). Pin interrupt 3 in the NVIC is raised if the minterm evaluates as true.
22250 */
22251#define PINT_PMCFG_PROD_ENDPTS3(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS3_SHIFT)) & PINT_PMCFG_PROD_ENDPTS3_MASK)
22252#define PINT_PMCFG_PROD_ENDPTS4_MASK (0x10U)
22253#define PINT_PMCFG_PROD_ENDPTS4_SHIFT (4U)
22254/*! PROD_ENDPTS4 - Determines whether slice 4 is an endpoint.
22255 * 0b0..No effect. Slice 4 is not an endpoint.
22256 * 0b1..endpoint. Slice 4 is the endpoint of a product term (minterm). Pin interrupt 4 in the NVIC is raised if the minterm evaluates as true.
22257 */
22258#define PINT_PMCFG_PROD_ENDPTS4(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS4_SHIFT)) & PINT_PMCFG_PROD_ENDPTS4_MASK)
22259#define PINT_PMCFG_PROD_ENDPTS5_MASK (0x20U)
22260#define PINT_PMCFG_PROD_ENDPTS5_SHIFT (5U)
22261/*! PROD_ENDPTS5 - Determines whether slice 5 is an endpoint.
22262 * 0b0..No effect. Slice 5 is not an endpoint.
22263 * 0b1..endpoint. Slice 5 is the endpoint of a product term (minterm). Pin interrupt 5 in the NVIC is raised if the minterm evaluates as true.
22264 */
22265#define PINT_PMCFG_PROD_ENDPTS5(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS5_SHIFT)) & PINT_PMCFG_PROD_ENDPTS5_MASK)
22266#define PINT_PMCFG_PROD_ENDPTS6_MASK (0x40U)
22267#define PINT_PMCFG_PROD_ENDPTS6_SHIFT (6U)
22268/*! PROD_ENDPTS6 - Determines whether slice 6 is an endpoint.
22269 * 0b0..No effect. Slice 6 is not an endpoint.
22270 * 0b1..endpoint. Slice 6 is the endpoint of a product term (minterm). Pin interrupt 6 in the NVIC is raised if the minterm evaluates as true.
22271 */
22272#define PINT_PMCFG_PROD_ENDPTS6(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_PROD_ENDPTS6_SHIFT)) & PINT_PMCFG_PROD_ENDPTS6_MASK)
22273#define PINT_PMCFG_CFG0_MASK (0x700U)
22274#define PINT_PMCFG_CFG0_SHIFT (8U)
22275/*! CFG0 - Specifies the match contribution condition for bit slice 0.
22276 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22277 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22278 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22279 * PMSRC registers are written to.
22280 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22281 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22282 * PMSRC registers are written to.
22283 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22284 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22285 * cleared when the PMCFG or the PMSRC registers are written to.
22286 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22287 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22288 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22289 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22290 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22291 * is cleared after one clock cycle.
22292 */
22293#define PINT_PMCFG_CFG0(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG0_SHIFT)) & PINT_PMCFG_CFG0_MASK)
22294#define PINT_PMCFG_CFG1_MASK (0x3800U)
22295#define PINT_PMCFG_CFG1_SHIFT (11U)
22296/*! CFG1 - Specifies the match contribution condition for bit slice 1.
22297 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22298 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22299 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22300 * PMSRC registers are written to.
22301 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22302 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22303 * PMSRC registers are written to.
22304 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22305 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22306 * cleared when the PMCFG or the PMSRC registers are written to.
22307 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22308 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22309 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22310 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22311 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22312 * is cleared after one clock cycle.
22313 */
22314#define PINT_PMCFG_CFG1(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG1_SHIFT)) & PINT_PMCFG_CFG1_MASK)
22315#define PINT_PMCFG_CFG2_MASK (0x1C000U)
22316#define PINT_PMCFG_CFG2_SHIFT (14U)
22317/*! CFG2 - Specifies the match contribution condition for bit slice 2.
22318 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22319 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22320 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22321 * PMSRC registers are written to.
22322 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22323 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22324 * PMSRC registers are written to.
22325 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22326 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22327 * cleared when the PMCFG or the PMSRC registers are written to.
22328 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22329 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22330 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22331 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22332 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22333 * is cleared after one clock cycle.
22334 */
22335#define PINT_PMCFG_CFG2(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG2_SHIFT)) & PINT_PMCFG_CFG2_MASK)
22336#define PINT_PMCFG_CFG3_MASK (0xE0000U)
22337#define PINT_PMCFG_CFG3_SHIFT (17U)
22338/*! CFG3 - Specifies the match contribution condition for bit slice 3.
22339 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22340 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22341 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22342 * PMSRC registers are written to.
22343 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22344 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22345 * PMSRC registers are written to.
22346 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22347 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22348 * cleared when the PMCFG or the PMSRC registers are written to.
22349 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22350 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22351 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22352 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22353 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22354 * is cleared after one clock cycle.
22355 */
22356#define PINT_PMCFG_CFG3(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG3_SHIFT)) & PINT_PMCFG_CFG3_MASK)
22357#define PINT_PMCFG_CFG4_MASK (0x700000U)
22358#define PINT_PMCFG_CFG4_SHIFT (20U)
22359/*! CFG4 - Specifies the match contribution condition for bit slice 4.
22360 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22361 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22362 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22363 * PMSRC registers are written to.
22364 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22365 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22366 * PMSRC registers are written to.
22367 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22368 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22369 * cleared when the PMCFG or the PMSRC registers are written to.
22370 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22371 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22372 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22373 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22374 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22375 * is cleared after one clock cycle.
22376 */
22377#define PINT_PMCFG_CFG4(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG4_SHIFT)) & PINT_PMCFG_CFG4_MASK)
22378#define PINT_PMCFG_CFG5_MASK (0x3800000U)
22379#define PINT_PMCFG_CFG5_SHIFT (23U)
22380/*! CFG5 - Specifies the match contribution condition for bit slice 5.
22381 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22382 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22383 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22384 * PMSRC registers are written to.
22385 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22386 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22387 * PMSRC registers are written to.
22388 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22389 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22390 * cleared when the PMCFG or the PMSRC registers are written to.
22391 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22392 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22393 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22394 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22395 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22396 * is cleared after one clock cycle.
22397 */
22398#define PINT_PMCFG_CFG5(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG5_SHIFT)) & PINT_PMCFG_CFG5_MASK)
22399#define PINT_PMCFG_CFG6_MASK (0x1C000000U)
22400#define PINT_PMCFG_CFG6_SHIFT (26U)
22401/*! CFG6 - Specifies the match contribution condition for bit slice 6.
22402 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22403 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22404 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22405 * PMSRC registers are written to.
22406 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22407 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22408 * PMSRC registers are written to.
22409 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22410 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22411 * cleared when the PMCFG or the PMSRC registers are written to.
22412 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22413 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22414 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22415 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22416 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22417 * is cleared after one clock cycle.
22418 */
22419#define PINT_PMCFG_CFG6(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG6_SHIFT)) & PINT_PMCFG_CFG6_MASK)
22420#define PINT_PMCFG_CFG7_MASK (0xE0000000U)
22421#define PINT_PMCFG_CFG7_SHIFT (29U)
22422/*! CFG7 - Specifies the match contribution condition for bit slice 7.
22423 * 0b000..Constant HIGH. This bit slice always contributes to a product term match.
22424 * 0b001..Sticky rising edge. Match occurs if a rising edge on the specified input has occurred since the last
22425 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22426 * PMSRC registers are written to.
22427 * 0b010..Sticky falling edge. Match occurs if a falling edge on the specified input has occurred since the last
22428 * time the edge detection for this bit slice was cleared. This bit is only cleared when the PMCFG or the
22429 * PMSRC registers are written to.
22430 * 0b011..Sticky rising or falling edge. Match occurs if either a rising or falling edge on the specified input
22431 * has occurred since the last time the edge detection for this bit slice was cleared. This bit is only
22432 * cleared when the PMCFG or the PMSRC registers are written to.
22433 * 0b100..High level. Match (for this bit slice) occurs when there is a high level on the input specified for this bit slice in the PMSRC register.
22434 * 0b101..Low level. Match occurs when there is a low level on the specified input.
22435 * 0b110..Constant 0. This bit slice never contributes to a match (should be used to disable any unused bit slices).
22436 * 0b111..Event. Non-sticky rising or falling edge. Match occurs on an event - i.e. when either a rising or
22437 * falling edge is first detected on the specified input (this is a non-sticky version of value 0x3) . This bit
22438 * is cleared after one clock cycle.
22439 */
22440#define PINT_PMCFG_CFG7(x) (((uint32_t)(((uint32_t)(x)) << PINT_PMCFG_CFG7_SHIFT)) & PINT_PMCFG_CFG7_MASK)
22441/*! @} */
22442
22443
22444/*!
22445 * @}
22446 */ /* end of group PINT_Register_Masks */
22447
22448
22449/* PINT - Peripheral instance base addresses */
22450#if (__ARM_FEATURE_CMSE & 0x2)
22451 /** Peripheral PINT base address */
22452 #define PINT_BASE (0x50025000u)
22453 /** Peripheral PINT base address */
22454 #define PINT_BASE_NS (0x40025000u)
22455 /** Peripheral PINT base pointer */
22456 #define PINT ((PINT_Type *)PINT_BASE)
22457 /** Peripheral PINT base pointer */
22458 #define PINT_NS ((PINT_Type *)PINT_BASE_NS)
22459 /** Array initializer of PINT peripheral base addresses */
22460 #define PINT_BASE_ADDRS { PINT_BASE }
22461 /** Array initializer of PINT peripheral base pointers */
22462 #define PINT_BASE_PTRS { PINT }
22463 /** Array initializer of PINT peripheral base addresses */
22464 #define PINT_BASE_ADDRS_NS { PINT_BASE_NS }
22465 /** Array initializer of PINT peripheral base pointers */
22466 #define PINT_BASE_PTRS_NS { PINT_NS }
22467#else
22468 /** Peripheral PINT base address */
22469 #define PINT_BASE (0x40025000u)
22470 /** Peripheral PINT base pointer */
22471 #define PINT ((PINT_Type *)PINT_BASE)
22472 /** Array initializer of PINT peripheral base addresses */
22473 #define PINT_BASE_ADDRS { PINT_BASE }
22474 /** Array initializer of PINT peripheral base pointers */
22475 #define PINT_BASE_PTRS { PINT }
22476#endif
22477/** Interrupt vectors for the PINT peripheral type */
22478#define PINT_IRQS { PIN_INT0_IRQn, PIN_INT1_IRQn, PIN_INT2_IRQn, PIN_INT3_IRQn, PIN_INT4_IRQn, PIN_INT5_IRQn, PIN_INT6_IRQn, PIN_INT7_IRQn }
22479
22480/*!
22481 * @}
22482 */ /* end of group PINT_Peripheral_Access_Layer */
22483
22484
22485/* ----------------------------------------------------------------------------
22486 -- PMC Peripheral Access Layer
22487 ---------------------------------------------------------------------------- */
22488
22489/*!
22490 * @addtogroup PMC_Peripheral_Access_Layer PMC Peripheral Access Layer
22491 * @{
22492 */
22493
22494/** PMC - Register Layout Typedef */
22495typedef struct {
22496 uint8_t RESERVED_0[4];
22497 __I uint32_t STATUS; /**< PMC status, offset: 0x4 */
22498 __IO uint32_t FLAGS; /**< Wakeup, interrupt, and reset flags, offset: 0x8 */
22499 __IO uint32_t CTRL; /**< PMC control register, offset: 0xC */
22500 __IO uint32_t RUNCTRL; /**< PMC controls used during run mode, offset: 0x10 */
22501 __IO uint32_t SLEEPCTRL; /**< PMC controls used during deep sleep mode, offset: 0x14 */
22502 __IO uint32_t LVDCORECTRL; /**< Active vddcore LVD monitor trip adjust, offset: 0x18 */
22503 uint8_t RESERVED_1[8];
22504 __IO uint32_t AUTOWKUP; /**< Automatic wakeup from deepsleep / deep powerdown modes, offset: 0x24 */
22505 __IO uint32_t PMICCFG; /**< PMIC power mode select control configuration to let PMC know when vddcore or vdd1v8 will power off/on, offset: 0x28 */
22506 __IO uint32_t PADVRANGE; /**< GPIO vdde range selection control, offset: 0x2C */
22507 __IO uint32_t MEMSEQCTRL; /**< Memory Sequencer Control Register, offset: 0x30 */
22508} PMC_Type;
22509
22510/* ----------------------------------------------------------------------------
22511 -- PMC Register Masks
22512 ---------------------------------------------------------------------------- */
22513
22514/*!
22515 * @addtogroup PMC_Register_Masks PMC Register Masks
22516 * @{
22517 */
22518
22519/*! @name STATUS - PMC status */
22520/*! @{ */
22521#define PMC_STATUS_ACTIVEFSM_MASK (0x1U)
22522#define PMC_STATUS_ACTIVEFSM_SHIFT (0U)
22523/*! ACTIVEFSM - General sequencer and finite state machine status
22524 * 0b0..All PMC finite state machines are idle. OK to set APPLYCFG to trigger the PMC state machines.
22525 * 0b1..One or more PMC finite state machines are active, do not set APPLYCFG or write to any PDRUNCFG or CTRL
22526 * register values that are used by the PMC state machines.
22527 */
22528#define PMC_STATUS_ACTIVEFSM(x) (((uint32_t)(((uint32_t)(x)) << PMC_STATUS_ACTIVEFSM_SHIFT)) & PMC_STATUS_ACTIVEFSM_MASK)
22529/*! @} */
22530
22531/*! @name FLAGS - Wakeup, interrupt, and reset flags */
22532/*! @{ */
22533#define PMC_FLAGS_PORCOREF_MASK (0x10000U)
22534#define PMC_FLAGS_PORCOREF_SHIFT (16U)
22535/*! PORCOREF
22536 * 0b0..vddcore POR was not tripped since the last cleared.
22537 * 0b1..POR triggered by the vddcore POR monitor. Write 1 to clear
22538 */
22539#define PMC_FLAGS_PORCOREF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_PORCOREF_SHIFT)) & PMC_FLAGS_PORCOREF_MASK)
22540#define PMC_FLAGS_POR1V8F_MASK (0x20000U)
22541#define PMC_FLAGS_POR1V8F_SHIFT (17U)
22542/*! POR1V8F
22543 * 0b0..No vdd1v8 power on event detected since last cleared.
22544 * 0b1..vdd1v8 power on detect caused a reset or deep pd wakeup. Write 1 to clear.
22545 */
22546#define PMC_FLAGS_POR1V8F(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_POR1V8F_SHIFT)) & PMC_FLAGS_POR1V8F_MASK)
22547#define PMC_FLAGS_PORAO18F_MASK (0x40000U)
22548#define PMC_FLAGS_PORAO18F_SHIFT (18U)
22549/*! PORAO18F
22550 * 0b0..No vdd_ao18 power on event detected since last cleared.
22551 * 0b1..vdd_ao18 power on detect caused a reset. Write 1 to clear.
22552 */
22553#define PMC_FLAGS_PORAO18F(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_PORAO18F_SHIFT)) & PMC_FLAGS_PORAO18F_MASK)
22554#define PMC_FLAGS_LVDCOREF_MASK (0x100000U)
22555#define PMC_FLAGS_LVDCOREF_SHIFT (20U)
22556/*! LVDCOREF
22557 * 0b0..vddcore LVD has not triggered an interrupt or reset since last clear
22558 * 0b1..vddcore LVD triggered an interrupt or reset since last time this bit was cleared. Write 1 to clear
22559 */
22560#define PMC_FLAGS_LVDCOREF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_LVDCOREF_SHIFT)) & PMC_FLAGS_LVDCOREF_MASK)
22561#define PMC_FLAGS_HVDCOREF_MASK (0x400000U)
22562#define PMC_FLAGS_HVDCOREF_SHIFT (22U)
22563/*! HVDCOREF
22564 * 0b0..vddcore HVD has not triggered an interrupt or reset since last clear
22565 * 0b1..vddcore HVD triggered an interrupt or reset since last time this bit was cleared. Write 1 to clear
22566 */
22567#define PMC_FLAGS_HVDCOREF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_HVDCOREF_SHIFT)) & PMC_FLAGS_HVDCOREF_MASK)
22568#define PMC_FLAGS_HVD1V8F_MASK (0x1000000U)
22569#define PMC_FLAGS_HVD1V8F_SHIFT (24U)
22570/*! HVD1V8F
22571 * 0b0..vdd1v8 HVD has not triggered an interrupt or reset since last clear
22572 * 0b1..vdd1v8 HVD triggered an interrupt or reset since last time this bit was cleared. Write 1 to clear
22573 */
22574#define PMC_FLAGS_HVD1V8F(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_HVD1V8F_SHIFT)) & PMC_FLAGS_HVD1V8F_MASK)
22575#define PMC_FLAGS_RTCF_MASK (0x8000000U)
22576#define PMC_FLAGS_RTCF_SHIFT (27U)
22577/*! RTCF
22578 * 0b0..No RTC wakeup detected since last time flag was cleared.
22579 * 0b1..RTC wakeup caused a deep powerdown wakeup. Write 1 to clear.
22580 */
22581#define PMC_FLAGS_RTCF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_RTCF_SHIFT)) & PMC_FLAGS_RTCF_MASK)
22582#define PMC_FLAGS_AUTOWKF_MASK (0x10000000U)
22583#define PMC_FLAGS_AUTOWKF_SHIFT (28U)
22584/*! AUTOWKF
22585 * 0b0..No PMC Auto Wakeup Interrupt detected since last time cleared.
22586 * 0b1..PMC Auto wakeup caused a deep sleep wakeup and interrupt. Write 1 to clear.
22587 */
22588#define PMC_FLAGS_AUTOWKF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_AUTOWKF_SHIFT)) & PMC_FLAGS_AUTOWKF_MASK)
22589#define PMC_FLAGS_INTNPADF_MASK (0x20000000U)
22590#define PMC_FLAGS_INTNPADF_SHIFT (29U)
22591/*! INTNPADF
22592 * 0b0..No interrupt detected since flag last cleared.
22593 * 0b1..Pad interrupt caused a wakeup or interrupt event since the last time this flag was cleared. Write 1 to clear.
22594 */
22595#define PMC_FLAGS_INTNPADF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_INTNPADF_SHIFT)) & PMC_FLAGS_INTNPADF_MASK)
22596#define PMC_FLAGS_RESETNPADF_MASK (0x40000000U)
22597#define PMC_FLAGS_RESETNPADF_SHIFT (30U)
22598/*! RESETNPADF
22599 * 0b0..No reset detected since last time this flag was cleared.
22600 * 0b1..Reset pad wakeup caused a wakeup or reset event since the last time this bit was cleared. Write 1 to clear.
22601 */
22602#define PMC_FLAGS_RESETNPADF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_RESETNPADF_SHIFT)) & PMC_FLAGS_RESETNPADF_MASK)
22603#define PMC_FLAGS_DEEPPDF_MASK (0x80000000U)
22604#define PMC_FLAGS_DEEPPDF_SHIFT (31U)
22605/*! DEEPPDF
22606 * 0b0..No deep powerdown wakeup since last time flag was cleared.
22607 * 0b1..Deep powerdown was entered since the last time this flag was cleared. Write 1 to clear
22608 */
22609#define PMC_FLAGS_DEEPPDF(x) (((uint32_t)(((uint32_t)(x)) << PMC_FLAGS_DEEPPDF_SHIFT)) & PMC_FLAGS_DEEPPDF_MASK)
22610/*! @} */
22611
22612/*! @name CTRL - PMC control register */
22613/*! @{ */
22614#define PMC_CTRL_APPLYCFG_MASK (0x1U)
22615#define PMC_CTRL_APPLYCFG_SHIFT (0U)
22616/*! APPLYCFG
22617 * 0b0..Always reads 0. Write 0 has no effect
22618 * 0b1..Write 1 = initiate update sequencing of PMC state machines
22619 */
22620#define PMC_CTRL_APPLYCFG(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_APPLYCFG_SHIFT)) & PMC_CTRL_APPLYCFG_MASK)
22621#define PMC_CTRL_BUFEN_MASK (0x10U)
22622#define PMC_CTRL_BUFEN_SHIFT (4U)
22623/*! BUFEN
22624 * 0b0..disabled
22625 * 0b1..enabled
22626 */
22627#define PMC_CTRL_BUFEN(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_BUFEN_SHIFT)) & PMC_CTRL_BUFEN_MASK)
22628#define PMC_CTRL_LVDCOREIE_MASK (0x100000U)
22629#define PMC_CTRL_LVDCOREIE_SHIFT (20U)
22630/*! LVDCOREIE
22631 * 0b0..vddcore LVD interrupt disabled
22632 * 0b1..vddcore LVD causes interrupt and wakeup from deep sleep.
22633 */
22634#define PMC_CTRL_LVDCOREIE(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_LVDCOREIE_SHIFT)) & PMC_CTRL_LVDCOREIE_MASK)
22635#define PMC_CTRL_LVDCORERE_MASK (0x200000U)
22636#define PMC_CTRL_LVDCORERE_SHIFT (21U)
22637/*! LVDCORERE
22638 * 0b0..vddcore LVD reset disabled
22639 * 0b1..vddcore LVD causes reset
22640 */
22641#define PMC_CTRL_LVDCORERE(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_LVDCORERE_SHIFT)) & PMC_CTRL_LVDCORERE_MASK)
22642#define PMC_CTRL_HVDCOREIE_MASK (0x400000U)
22643#define PMC_CTRL_HVDCOREIE_SHIFT (22U)
22644/*! HVDCOREIE
22645 * 0b0..vddcore HVD interrupt disabled
22646 * 0b1..vddcore HVD causes interrupt and wakeup from deep sleep.
22647 */
22648#define PMC_CTRL_HVDCOREIE(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_HVDCOREIE_SHIFT)) & PMC_CTRL_HVDCOREIE_MASK)
22649#define PMC_CTRL_HVDCORERE_MASK (0x800000U)
22650#define PMC_CTRL_HVDCORERE_SHIFT (23U)
22651/*! HVDCORERE
22652 * 0b0..vddcore HVD reset disabled
22653 * 0b1..vddcore HVD causes reset
22654 */
22655#define PMC_CTRL_HVDCORERE(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_HVDCORERE_SHIFT)) & PMC_CTRL_HVDCORERE_MASK)
22656#define PMC_CTRL_HVD1V8IE_MASK (0x1000000U)
22657#define PMC_CTRL_HVD1V8IE_SHIFT (24U)
22658/*! HVD1V8IE
22659 * 0b0..vdd1v8 HVD interrupt disabled
22660 * 0b1..vdd1v8 HVD causes interrupt and wakeup from deep sleep or deep power down mode
22661 */
22662#define PMC_CTRL_HVD1V8IE(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_HVD1V8IE_SHIFT)) & PMC_CTRL_HVD1V8IE_MASK)
22663#define PMC_CTRL_HVD1V8RE_MASK (0x2000000U)
22664#define PMC_CTRL_HVD1V8RE_SHIFT (25U)
22665/*! HVD1V8RE
22666 * 0b0..vdd1v8 HVD reset disabled
22667 * 0b1..vdd1v8 HVD causes reset
22668 */
22669#define PMC_CTRL_HVD1V8RE(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_HVD1V8RE_SHIFT)) & PMC_CTRL_HVD1V8RE_MASK)
22670#define PMC_CTRL_AUTOWKEN_MASK (0x10000000U)
22671#define PMC_CTRL_AUTOWKEN_SHIFT (28U)
22672/*! AUTOWKEN
22673 * 0b0..Auto wakeup interrupt and counter disabled
22674 * 0b1..Auto wakeup interrupt generated when PMC sequencer finishes and AUTOWAKE counter = 0 after entering deep
22675 * sleep mode (but not deep powerdown mode). Interrupt will wake up the M33.
22676 */
22677#define PMC_CTRL_AUTOWKEN(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_AUTOWKEN_SHIFT)) & PMC_CTRL_AUTOWKEN_MASK)
22678#define PMC_CTRL_INTRPADEN_MASK (0x20000000U)
22679#define PMC_CTRL_INTRPADEN_SHIFT (29U)
22680/*! INTRPADEN
22681 * 0b0..Interrupt pad low has no effect
22682 * 0b1..Interrupt pad low triggers an interrupt and deep sleep wakeup or deep powerdown wakeup event.
22683 */
22684#define PMC_CTRL_INTRPADEN(x) (((uint32_t)(((uint32_t)(x)) << PMC_CTRL_INTRPADEN_SHIFT)) & PMC_CTRL_INTRPADEN_MASK)
22685/*! @} */
22686
22687/*! @name RUNCTRL - PMC controls used during run mode */
22688/*! @{ */
22689#define PMC_RUNCTRL_CORELVL_MASK (0x3FU)
22690#define PMC_RUNCTRL_CORELVL_SHIFT (0U)
22691#define PMC_RUNCTRL_CORELVL(x) (((uint32_t)(((uint32_t)(x)) << PMC_RUNCTRL_CORELVL_SHIFT)) & PMC_RUNCTRL_CORELVL_MASK)
22692/*! @} */
22693
22694/*! @name SLEEPCTRL - PMC controls used during deep sleep mode */
22695/*! @{ */
22696#define PMC_SLEEPCTRL_CORELVL_MASK (0x3FU)
22697#define PMC_SLEEPCTRL_CORELVL_SHIFT (0U)
22698#define PMC_SLEEPCTRL_CORELVL(x) (((uint32_t)(((uint32_t)(x)) << PMC_SLEEPCTRL_CORELVL_SHIFT)) & PMC_SLEEPCTRL_CORELVL_MASK)
22699/*! @} */
22700
22701/*! @name LVDCORECTRL - Active vddcore LVD monitor trip adjust */
22702/*! @{ */
22703#define PMC_LVDCORECTRL_LVDCORELVL_MASK (0xFU)
22704#define PMC_LVDCORECTRL_LVDCORELVL_SHIFT (0U)
22705/*! LVDCORELVL - Vddcore LVD falling trip voltage
22706 */
22707#define PMC_LVDCORECTRL_LVDCORELVL(x) (((uint32_t)(((uint32_t)(x)) << PMC_LVDCORECTRL_LVDCORELVL_SHIFT)) & PMC_LVDCORECTRL_LVDCORELVL_MASK)
22708/*! @} */
22709
22710/*! @name AUTOWKUP - Automatic wakeup from deepsleep / deep powerdown modes */
22711/*! @{ */
22712#define PMC_AUTOWKUP_AUTOWKTIME_MASK (0xFFFFU)
22713#define PMC_AUTOWKUP_AUTOWKTIME_SHIFT (0U)
22714#define PMC_AUTOWKUP_AUTOWKTIME(x) (((uint32_t)(((uint32_t)(x)) << PMC_AUTOWKUP_AUTOWKTIME_SHIFT)) & PMC_AUTOWKUP_AUTOWKTIME_MASK)
22715/*! @} */
22716
22717/*! @name PMICCFG - PMIC power mode select control configuration to let PMC know when vddcore or vdd1v8 will power off/on */
22718/*! @{ */
22719#define PMC_PMICCFG_VDDCOREM0_MASK (0x1U)
22720#define PMC_PMICCFG_VDDCOREM0_SHIFT (0U)
22721/*! VDDCOREM0 - vddcore state in PMIC mode 0
22722 * 0b0..off
22723 * 0b1..powered
22724 */
22725#define PMC_PMICCFG_VDDCOREM0(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDDCOREM0_SHIFT)) & PMC_PMICCFG_VDDCOREM0_MASK)
22726#define PMC_PMICCFG_VDDCOREM1_MASK (0x2U)
22727#define PMC_PMICCFG_VDDCOREM1_SHIFT (1U)
22728/*! VDDCOREM1 - vddcore state in PMIC mode 1
22729 * 0b0..off
22730 * 0b1..powered
22731 */
22732#define PMC_PMICCFG_VDDCOREM1(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDDCOREM1_SHIFT)) & PMC_PMICCFG_VDDCOREM1_MASK)
22733#define PMC_PMICCFG_VDDCOREM2_MASK (0x4U)
22734#define PMC_PMICCFG_VDDCOREM2_SHIFT (2U)
22735/*! VDDCOREM2 - vddcore state in PMIC mode 2
22736 * 0b0..off
22737 * 0b1..powered
22738 */
22739#define PMC_PMICCFG_VDDCOREM2(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDDCOREM2_SHIFT)) & PMC_PMICCFG_VDDCOREM2_MASK)
22740#define PMC_PMICCFG_VDDCOREM3_MASK (0x8U)
22741#define PMC_PMICCFG_VDDCOREM3_SHIFT (3U)
22742/*! VDDCOREM3 - vddcore state in PMIC mode 3
22743 * 0b0..off
22744 * 0b1..powered
22745 */
22746#define PMC_PMICCFG_VDDCOREM3(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDDCOREM3_SHIFT)) & PMC_PMICCFG_VDDCOREM3_MASK)
22747#define PMC_PMICCFG_VDD1V8M0_MASK (0x10U)
22748#define PMC_PMICCFG_VDD1V8M0_SHIFT (4U)
22749/*! VDD1V8M0 - vdd1v8 state in PMIC mode 0
22750 * 0b0..off
22751 * 0b1..powered
22752 */
22753#define PMC_PMICCFG_VDD1V8M0(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDD1V8M0_SHIFT)) & PMC_PMICCFG_VDD1V8M0_MASK)
22754#define PMC_PMICCFG_VDD1V8M1_MASK (0x20U)
22755#define PMC_PMICCFG_VDD1V8M1_SHIFT (5U)
22756/*! VDD1V8M1 - vdd1v8 state in PMIC mode 1
22757 * 0b0..off
22758 * 0b1..powered
22759 */
22760#define PMC_PMICCFG_VDD1V8M1(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDD1V8M1_SHIFT)) & PMC_PMICCFG_VDD1V8M1_MASK)
22761#define PMC_PMICCFG_VDD1V8M2_MASK (0x40U)
22762#define PMC_PMICCFG_VDD1V8M2_SHIFT (6U)
22763/*! VDD1V8M2 - vdd1v8 state in PMIC mode 2
22764 * 0b0..off
22765 * 0b1..powered
22766 */
22767#define PMC_PMICCFG_VDD1V8M2(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDD1V8M2_SHIFT)) & PMC_PMICCFG_VDD1V8M2_MASK)
22768#define PMC_PMICCFG_VDD1V8M3_MASK (0x80U)
22769#define PMC_PMICCFG_VDD1V8M3_SHIFT (7U)
22770/*! VDD1V8M3 - vdd1v8 state in PMIC mode 3
22771 * 0b0..off
22772 * 0b1..powered
22773 */
22774#define PMC_PMICCFG_VDD1V8M3(x) (((uint32_t)(((uint32_t)(x)) << PMC_PMICCFG_VDD1V8M3_SHIFT)) & PMC_PMICCFG_VDD1V8M3_MASK)
22775/*! @} */
22776
22777/*! @name PADVRANGE - GPIO vdde range selection control */
22778/*! @{ */
22779#define PMC_PADVRANGE_VDDIO_0RANGE_MASK (0x3U)
22780#define PMC_PADVRANGE_VDDIO_0RANGE_SHIFT (0U)
22781/*! VDDIO_0RANGE
22782 * 0b00..1.71 - 3.6V. Consumes static current to detect VDDE0 level
22783 * 0b01..1.71 - 1.98V, vdde detector off
22784 * 0b10..3.00 - 3.6V, vdde detector off
22785 * 0b11..Not allowed (hardware should translate to 10)
22786 */
22787#define PMC_PADVRANGE_VDDIO_0RANGE(x) (((uint32_t)(((uint32_t)(x)) << PMC_PADVRANGE_VDDIO_0RANGE_SHIFT)) & PMC_PADVRANGE_VDDIO_0RANGE_MASK)
22788#define PMC_PADVRANGE_VDDIO_1RANGE_MASK (0xCU)
22789#define PMC_PADVRANGE_VDDIO_1RANGE_SHIFT (2U)
22790/*! VDDIO_1RANGE
22791 * 0b00..1.71-3.6V. Consumes static current to detect VDDE1 level
22792 * 0b01..1.71 -“ 1.98V, vdde detector off
22793 * 0b10..3.00 -“ 3.6V, vdde detector off
22794 * 0b11..Not allowed (hardware should translate to 10)
22795 */
22796#define PMC_PADVRANGE_VDDIO_1RANGE(x) (((uint32_t)(((uint32_t)(x)) << PMC_PADVRANGE_VDDIO_1RANGE_SHIFT)) & PMC_PADVRANGE_VDDIO_1RANGE_MASK)
22797#define PMC_PADVRANGE_VDDIO_2RANGE_MASK (0x30U)
22798#define PMC_PADVRANGE_VDDIO_2RANGE_SHIFT (4U)
22799/*! VDDIO_2RANGE
22800 * 0b00..1.71 - 3.6V. Consumes static current to detect VDDE2 level
22801 * 0b01..1.71 -“ 1.98V, vdde detector off
22802 * 0b10..3.00 -“ 3.6V, vdde detector off
22803 * 0b11..Not allowed (hardware should translate to 10)
22804 */
22805#define PMC_PADVRANGE_VDDIO_2RANGE(x) (((uint32_t)(((uint32_t)(x)) << PMC_PADVRANGE_VDDIO_2RANGE_SHIFT)) & PMC_PADVRANGE_VDDIO_2RANGE_MASK)
22806/*! @} */
22807
22808/*! @name MEMSEQCTRL - Memory Sequencer Control Register */
22809/*! @{ */
22810#define PMC_MEMSEQCTRL_MEMSEQNUM_MASK (0x3FU)
22811#define PMC_MEMSEQCTRL_MEMSEQNUM_SHIFT (0U)
22812/*! MEMSEQNUM - Number of memories to turn on/off at a time.
22813 */
22814#define PMC_MEMSEQCTRL_MEMSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << PMC_MEMSEQCTRL_MEMSEQNUM_SHIFT)) & PMC_MEMSEQCTRL_MEMSEQNUM_MASK)
22815/*! @} */
22816
22817
22818/*!
22819 * @}
22820 */ /* end of group PMC_Register_Masks */
22821
22822
22823/* PMC - Peripheral instance base addresses */
22824#if (__ARM_FEATURE_CMSE & 0x2)
22825 /** Peripheral PMC base address */
22826 #define PMC_BASE (0x50135000u)
22827 /** Peripheral PMC base address */
22828 #define PMC_BASE_NS (0x40135000u)
22829 /** Peripheral PMC base pointer */
22830 #define PMC ((PMC_Type *)PMC_BASE)
22831 /** Peripheral PMC base pointer */
22832 #define PMC_NS ((PMC_Type *)PMC_BASE_NS)
22833 /** Array initializer of PMC peripheral base addresses */
22834 #define PMC_BASE_ADDRS { PMC_BASE }
22835 /** Array initializer of PMC peripheral base pointers */
22836 #define PMC_BASE_PTRS { PMC }
22837 /** Array initializer of PMC peripheral base addresses */
22838 #define PMC_BASE_ADDRS_NS { PMC_BASE_NS }
22839 /** Array initializer of PMC peripheral base pointers */
22840 #define PMC_BASE_PTRS_NS { PMC_NS }
22841#else
22842 /** Peripheral PMC base address */
22843 #define PMC_BASE (0x40135000u)
22844 /** Peripheral PMC base pointer */
22845 #define PMC ((PMC_Type *)PMC_BASE)
22846 /** Array initializer of PMC peripheral base addresses */
22847 #define PMC_BASE_ADDRS { PMC_BASE }
22848 /** Array initializer of PMC peripheral base pointers */
22849 #define PMC_BASE_PTRS { PMC }
22850#endif
22851/** Interrupt vectors for the PMC peripheral type */
22852#define PMC_IRQS { PMC_PMIC_IRQn }
22853
22854/*!
22855 * @}
22856 */ /* end of group PMC_Peripheral_Access_Layer */
22857
22858
22859/* ----------------------------------------------------------------------------
22860 -- POWERQUAD Peripheral Access Layer
22861 ---------------------------------------------------------------------------- */
22862
22863/*!
22864 * @addtogroup POWERQUAD_Peripheral_Access_Layer POWERQUAD Peripheral Access Layer
22865 * @{
22866 */
22867
22868/** POWERQUAD - Register Layout Typedef */
22869typedef struct {
22870 __IO uint32_t OUTBASE; /**< Base address register for output region, offset: 0x0 */
22871 __IO uint32_t OUTFORMAT; /**< Output format, offset: 0x4 */
22872 __IO uint32_t TMPBASE; /**< Base address register for temp region, offset: 0x8 */
22873 __IO uint32_t TMPFORMAT; /**< Temp format, offset: 0xC */
22874 __IO uint32_t INABASE; /**< Base address register for input A region, offset: 0x10 */
22875 __IO uint32_t INAFORMAT; /**< Input A format, offset: 0x14 */
22876 __IO uint32_t INBBASE; /**< Base address register for input B region, offset: 0x18 */
22877 __IO uint32_t INBFORMAT; /**< Input B format, offset: 0x1C */
22878 uint8_t RESERVED_0[224];
22879 __IO uint32_t CONTROL; /**< PowerQuad Control register, offset: 0x100 */
22880 __IO uint32_t LENGTH; /**< Length register, offset: 0x104 */
22881 __IO uint32_t CPPRE; /**< Pre-scale register, offset: 0x108 */
22882 __IO uint32_t MISC; /**< Misc register, offset: 0x10C */
22883 __IO uint32_t CURSORY; /**< Cursory register, offset: 0x110 */
22884 uint8_t RESERVED_1[108];
22885 __IO uint32_t CORDIC_X; /**< Cordic input X register, offset: 0x180 */
22886 __IO uint32_t CORDIC_Y; /**< Cordic input Y register, offset: 0x184 */
22887 __IO uint32_t CORDIC_Z; /**< Cordic input Z register, offset: 0x188 */
22888 __IO uint32_t ERRSTAT; /**< Read/Write register where error statuses are captured (sticky), offset: 0x18C */
22889 __IO uint32_t INTREN; /**< INTERRUPT enable register, offset: 0x190 */
22890 __IO uint32_t EVENTEN; /**< Event Enable register, offset: 0x194 */
22891 __IO uint32_t INTRSTAT; /**< INTERRUPT STATUS register, offset: 0x198 */
22892 uint8_t RESERVED_2[100];
22893 __IO uint32_t GPREG[16]; /**< General purpose register bank N., array offset: 0x200, array step: 0x4 */
22894 __IO uint32_t COMPREG[8]; /**< Compute register bank, array offset: 0x240, array step: 0x4 */
22895} POWERQUAD_Type;
22896
22897/* ----------------------------------------------------------------------------
22898 -- POWERQUAD Register Masks
22899 ---------------------------------------------------------------------------- */
22900
22901/*!
22902 * @addtogroup POWERQUAD_Register_Masks POWERQUAD Register Masks
22903 * @{
22904 */
22905
22906/*! @name OUTBASE - Base address register for output region */
22907/*! @{ */
22908#define POWERQUAD_OUTBASE_OUTBASE_MASK (0xFFFFFFFFU)
22909#define POWERQUAD_OUTBASE_OUTBASE_SHIFT (0U)
22910/*! outbase - Base address register for the output region
22911 */
22912#define POWERQUAD_OUTBASE_OUTBASE(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_OUTBASE_OUTBASE_SHIFT)) & POWERQUAD_OUTBASE_OUTBASE_MASK)
22913/*! @} */
22914
22915/*! @name OUTFORMAT - Output format */
22916/*! @{ */
22917#define POWERQUAD_OUTFORMAT_OUT_FORMATINT_MASK (0x3U)
22918#define POWERQUAD_OUTFORMAT_OUT_FORMATINT_SHIFT (0U)
22919/*! out_formatint - Output Internal format (00: q15; 01:q31; 10:float)
22920 */
22921#define POWERQUAD_OUTFORMAT_OUT_FORMATINT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_OUTFORMAT_OUT_FORMATINT_SHIFT)) & POWERQUAD_OUTFORMAT_OUT_FORMATINT_MASK)
22922#define POWERQUAD_OUTFORMAT_OUT_FORMATEXT_MASK (0x30U)
22923#define POWERQUAD_OUTFORMAT_OUT_FORMATEXT_SHIFT (4U)
22924/*! out_formatext - Output External format (00: q15; 01:q31; 10:float)
22925 */
22926#define POWERQUAD_OUTFORMAT_OUT_FORMATEXT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_OUTFORMAT_OUT_FORMATEXT_SHIFT)) & POWERQUAD_OUTFORMAT_OUT_FORMATEXT_MASK)
22927#define POWERQUAD_OUTFORMAT_OUT_SCALER_MASK (0xFF00U)
22928#define POWERQUAD_OUTFORMAT_OUT_SCALER_SHIFT (8U)
22929/*! out_scaler - Output Scaler value (for scaled 'q31' formats)
22930 */
22931#define POWERQUAD_OUTFORMAT_OUT_SCALER(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_OUTFORMAT_OUT_SCALER_SHIFT)) & POWERQUAD_OUTFORMAT_OUT_SCALER_MASK)
22932/*! @} */
22933
22934/*! @name TMPBASE - Base address register for temp region */
22935/*! @{ */
22936#define POWERQUAD_TMPBASE_TMPBASE_MASK (0xFFFFFFFFU)
22937#define POWERQUAD_TMPBASE_TMPBASE_SHIFT (0U)
22938/*! tmpbase - Base address register for the temporary region
22939 */
22940#define POWERQUAD_TMPBASE_TMPBASE(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_TMPBASE_TMPBASE_SHIFT)) & POWERQUAD_TMPBASE_TMPBASE_MASK)
22941/*! @} */
22942
22943/*! @name TMPFORMAT - Temp format */
22944/*! @{ */
22945#define POWERQUAD_TMPFORMAT_TMP_FORMATINT_MASK (0x3U)
22946#define POWERQUAD_TMPFORMAT_TMP_FORMATINT_SHIFT (0U)
22947/*! tmp_formatint - Temp Internal format (00: q15; 01:q31; 10:float)
22948 */
22949#define POWERQUAD_TMPFORMAT_TMP_FORMATINT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_TMPFORMAT_TMP_FORMATINT_SHIFT)) & POWERQUAD_TMPFORMAT_TMP_FORMATINT_MASK)
22950#define POWERQUAD_TMPFORMAT_TMP_FORMATEXT_MASK (0x30U)
22951#define POWERQUAD_TMPFORMAT_TMP_FORMATEXT_SHIFT (4U)
22952/*! tmp_formatext - Temp External format (00: q15; 01:q31; 10:float)
22953 */
22954#define POWERQUAD_TMPFORMAT_TMP_FORMATEXT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_TMPFORMAT_TMP_FORMATEXT_SHIFT)) & POWERQUAD_TMPFORMAT_TMP_FORMATEXT_MASK)
22955#define POWERQUAD_TMPFORMAT_TMP_SCALER_MASK (0xFF00U)
22956#define POWERQUAD_TMPFORMAT_TMP_SCALER_SHIFT (8U)
22957/*! tmp_scaler - Temp Scaler value (for scaled 'q31' formats)
22958 */
22959#define POWERQUAD_TMPFORMAT_TMP_SCALER(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_TMPFORMAT_TMP_SCALER_SHIFT)) & POWERQUAD_TMPFORMAT_TMP_SCALER_MASK)
22960/*! @} */
22961
22962/*! @name INABASE - Base address register for input A region */
22963/*! @{ */
22964#define POWERQUAD_INABASE_INABASE_MASK (0xFFFFFFFFU)
22965#define POWERQUAD_INABASE_INABASE_SHIFT (0U)
22966/*! inabase - Base address register for the input A region
22967 */
22968#define POWERQUAD_INABASE_INABASE(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INABASE_INABASE_SHIFT)) & POWERQUAD_INABASE_INABASE_MASK)
22969/*! @} */
22970
22971/*! @name INAFORMAT - Input A format */
22972/*! @{ */
22973#define POWERQUAD_INAFORMAT_INA_FORMATINT_MASK (0x3U)
22974#define POWERQUAD_INAFORMAT_INA_FORMATINT_SHIFT (0U)
22975/*! ina_formatint - Input A Internal format (00: q15; 01:q31; 10:float)
22976 */
22977#define POWERQUAD_INAFORMAT_INA_FORMATINT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INAFORMAT_INA_FORMATINT_SHIFT)) & POWERQUAD_INAFORMAT_INA_FORMATINT_MASK)
22978#define POWERQUAD_INAFORMAT_INA_FORMATEXT_MASK (0x30U)
22979#define POWERQUAD_INAFORMAT_INA_FORMATEXT_SHIFT (4U)
22980/*! ina_formatext - Input A External format (00: q15; 01:q31; 10:float)
22981 */
22982#define POWERQUAD_INAFORMAT_INA_FORMATEXT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INAFORMAT_INA_FORMATEXT_SHIFT)) & POWERQUAD_INAFORMAT_INA_FORMATEXT_MASK)
22983#define POWERQUAD_INAFORMAT_INA_SCALER_MASK (0xFF00U)
22984#define POWERQUAD_INAFORMAT_INA_SCALER_SHIFT (8U)
22985/*! ina_scaler - Input A Scaler value (for scaled 'q31' formats)
22986 */
22987#define POWERQUAD_INAFORMAT_INA_SCALER(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INAFORMAT_INA_SCALER_SHIFT)) & POWERQUAD_INAFORMAT_INA_SCALER_MASK)
22988/*! @} */
22989
22990/*! @name INBBASE - Base address register for input B region */
22991/*! @{ */
22992#define POWERQUAD_INBBASE_INBBASE_MASK (0xFFFFFFFFU)
22993#define POWERQUAD_INBBASE_INBBASE_SHIFT (0U)
22994/*! inbbase - Base address register for the input B region
22995 */
22996#define POWERQUAD_INBBASE_INBBASE(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INBBASE_INBBASE_SHIFT)) & POWERQUAD_INBBASE_INBBASE_MASK)
22997/*! @} */
22998
22999/*! @name INBFORMAT - Input B format */
23000/*! @{ */
23001#define POWERQUAD_INBFORMAT_INB_FORMATINT_MASK (0x3U)
23002#define POWERQUAD_INBFORMAT_INB_FORMATINT_SHIFT (0U)
23003/*! inb_formatint - Input B Internal format (00: q15; 01:q31; 10:float)
23004 */
23005#define POWERQUAD_INBFORMAT_INB_FORMATINT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INBFORMAT_INB_FORMATINT_SHIFT)) & POWERQUAD_INBFORMAT_INB_FORMATINT_MASK)
23006#define POWERQUAD_INBFORMAT_INB_FORMATEXT_MASK (0x30U)
23007#define POWERQUAD_INBFORMAT_INB_FORMATEXT_SHIFT (4U)
23008/*! inb_formatext - Input B External format (00: q15; 01:q31; 10:float)
23009 */
23010#define POWERQUAD_INBFORMAT_INB_FORMATEXT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INBFORMAT_INB_FORMATEXT_SHIFT)) & POWERQUAD_INBFORMAT_INB_FORMATEXT_MASK)
23011#define POWERQUAD_INBFORMAT_INB_SCALER_MASK (0xFF00U)
23012#define POWERQUAD_INBFORMAT_INB_SCALER_SHIFT (8U)
23013/*! inb_scaler - Input B Scaler value (for scaled 'q31' formats)
23014 */
23015#define POWERQUAD_INBFORMAT_INB_SCALER(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INBFORMAT_INB_SCALER_SHIFT)) & POWERQUAD_INBFORMAT_INB_SCALER_MASK)
23016/*! @} */
23017
23018/*! @name CONTROL - PowerQuad Control register */
23019/*! @{ */
23020#define POWERQUAD_CONTROL_DECODE_OPCODE_MASK (0xFU)
23021#define POWERQUAD_CONTROL_DECODE_OPCODE_SHIFT (0U)
23022/*! decode_opcode - opcode specific to decode_machine
23023 */
23024#define POWERQUAD_CONTROL_DECODE_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CONTROL_DECODE_OPCODE_SHIFT)) & POWERQUAD_CONTROL_DECODE_OPCODE_MASK)
23025#define POWERQUAD_CONTROL_DECODE_MACHINE_MASK (0xF0U)
23026#define POWERQUAD_CONTROL_DECODE_MACHINE_SHIFT (4U)
23027/*! decode_machine - 0 : Coprocessor , 1 : matrix , 2 : fft , 3 : fir , 4 : stat , 5 : cordic , 6 -15 : NA
23028 */
23029#define POWERQUAD_CONTROL_DECODE_MACHINE(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CONTROL_DECODE_MACHINE_SHIFT)) & POWERQUAD_CONTROL_DECODE_MACHINE_MASK)
23030#define POWERQUAD_CONTROL_INST_BUSY_MASK (0x80000000U)
23031#define POWERQUAD_CONTROL_INST_BUSY_SHIFT (31U)
23032/*! inst_busy - Instruction busy signal when high indicates processing is on
23033 */
23034#define POWERQUAD_CONTROL_INST_BUSY(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CONTROL_INST_BUSY_SHIFT)) & POWERQUAD_CONTROL_INST_BUSY_MASK)
23035/*! @} */
23036
23037/*! @name LENGTH - Length register */
23038/*! @{ */
23039#define POWERQUAD_LENGTH_INST_LENGTH_MASK (0xFFFFFFFFU)
23040#define POWERQUAD_LENGTH_INST_LENGTH_SHIFT (0U)
23041/*! inst_length - Length register. When FIR : fir_xlength = inst_length[15:0] , fir_tlength =
23042 * inst_len[31:16]. When MTX : rows_a = inst_length[4:0] , cols_a = inst_length[12:8] , cols_b =
23043 * inst_length[20:16]
23044 */
23045#define POWERQUAD_LENGTH_INST_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_LENGTH_INST_LENGTH_SHIFT)) & POWERQUAD_LENGTH_INST_LENGTH_MASK)
23046/*! @} */
23047
23048/*! @name CPPRE - Pre-scale register */
23049/*! @{ */
23050#define POWERQUAD_CPPRE_CPPRE_IN_MASK (0xFFU)
23051#define POWERQUAD_CPPRE_CPPRE_IN_SHIFT (0U)
23052/*! cppre_in - co-processor scaling of input
23053 */
23054#define POWERQUAD_CPPRE_CPPRE_IN(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CPPRE_CPPRE_IN_SHIFT)) & POWERQUAD_CPPRE_CPPRE_IN_MASK)
23055#define POWERQUAD_CPPRE_CPPRE_OUT_MASK (0xFF00U)
23056#define POWERQUAD_CPPRE_CPPRE_OUT_SHIFT (8U)
23057/*! cppre_out - co-processor fixed point output
23058 */
23059#define POWERQUAD_CPPRE_CPPRE_OUT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CPPRE_CPPRE_OUT_SHIFT)) & POWERQUAD_CPPRE_CPPRE_OUT_MASK)
23060#define POWERQUAD_CPPRE_CPPRE_SAT_MASK (0x10000U)
23061#define POWERQUAD_CPPRE_CPPRE_SAT_SHIFT (16U)
23062/*! cppre_sat - 1 : forces sub-32 bit saturation
23063 */
23064#define POWERQUAD_CPPRE_CPPRE_SAT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CPPRE_CPPRE_SAT_SHIFT)) & POWERQUAD_CPPRE_CPPRE_SAT_MASK)
23065#define POWERQUAD_CPPRE_CPPRE_SAT8_MASK (0x20000U)
23066#define POWERQUAD_CPPRE_CPPRE_SAT8_SHIFT (17U)
23067/*! cppre_sat8 - 0 = 8bits, 1 = 16bits
23068 */
23069#define POWERQUAD_CPPRE_CPPRE_SAT8(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CPPRE_CPPRE_SAT8_SHIFT)) & POWERQUAD_CPPRE_CPPRE_SAT8_MASK)
23070/*! @} */
23071
23072/*! @name MISC - Misc register */
23073/*! @{ */
23074#define POWERQUAD_MISC_INST_MISC_MASK (0xFFFFFFFFU)
23075#define POWERQUAD_MISC_INST_MISC_SHIFT (0U)
23076/*! inst_misc - Misc register. For Matrix : Used for scale factor
23077 */
23078#define POWERQUAD_MISC_INST_MISC(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_MISC_INST_MISC_SHIFT)) & POWERQUAD_MISC_INST_MISC_MASK)
23079/*! @} */
23080
23081/*! @name CURSORY - Cursory register */
23082/*! @{ */
23083#define POWERQUAD_CURSORY_CURSORY_MASK (0x1U)
23084#define POWERQUAD_CURSORY_CURSORY_SHIFT (0U)
23085/*! cursory - 1 : Enable cursory mode
23086 */
23087#define POWERQUAD_CURSORY_CURSORY(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CURSORY_CURSORY_SHIFT)) & POWERQUAD_CURSORY_CURSORY_MASK)
23088/*! @} */
23089
23090/*! @name CORDIC_X - Cordic input X register */
23091/*! @{ */
23092#define POWERQUAD_CORDIC_X_CORDIC_X_MASK (0xFFFFFFFFU)
23093#define POWERQUAD_CORDIC_X_CORDIC_X_SHIFT (0U)
23094/*! cordic_x - Cordic input x
23095 */
23096#define POWERQUAD_CORDIC_X_CORDIC_X(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CORDIC_X_CORDIC_X_SHIFT)) & POWERQUAD_CORDIC_X_CORDIC_X_MASK)
23097/*! @} */
23098
23099/*! @name CORDIC_Y - Cordic input Y register */
23100/*! @{ */
23101#define POWERQUAD_CORDIC_Y_CORDIC_Y_MASK (0xFFFFFFFFU)
23102#define POWERQUAD_CORDIC_Y_CORDIC_Y_SHIFT (0U)
23103/*! cordic_y - Cordic input y
23104 */
23105#define POWERQUAD_CORDIC_Y_CORDIC_Y(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CORDIC_Y_CORDIC_Y_SHIFT)) & POWERQUAD_CORDIC_Y_CORDIC_Y_MASK)
23106/*! @} */
23107
23108/*! @name CORDIC_Z - Cordic input Z register */
23109/*! @{ */
23110#define POWERQUAD_CORDIC_Z_CORDIC_Z_MASK (0xFFFFFFFFU)
23111#define POWERQUAD_CORDIC_Z_CORDIC_Z_SHIFT (0U)
23112/*! cordic_z - Cordic input z
23113 */
23114#define POWERQUAD_CORDIC_Z_CORDIC_Z(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_CORDIC_Z_CORDIC_Z_SHIFT)) & POWERQUAD_CORDIC_Z_CORDIC_Z_MASK)
23115/*! @} */
23116
23117/*! @name ERRSTAT - Read/Write register where error statuses are captured (sticky) */
23118/*! @{ */
23119#define POWERQUAD_ERRSTAT_OVERFLOW_MASK (0x1U)
23120#define POWERQUAD_ERRSTAT_OVERFLOW_SHIFT (0U)
23121/*! OVERFLOW - overflow
23122 */
23123#define POWERQUAD_ERRSTAT_OVERFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_ERRSTAT_OVERFLOW_SHIFT)) & POWERQUAD_ERRSTAT_OVERFLOW_MASK)
23124#define POWERQUAD_ERRSTAT_NAN_MASK (0x2U)
23125#define POWERQUAD_ERRSTAT_NAN_SHIFT (1U)
23126/*! NAN - nan
23127 */
23128#define POWERQUAD_ERRSTAT_NAN(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_ERRSTAT_NAN_SHIFT)) & POWERQUAD_ERRSTAT_NAN_MASK)
23129#define POWERQUAD_ERRSTAT_FIXEDOVERFLOW_MASK (0x4U)
23130#define POWERQUAD_ERRSTAT_FIXEDOVERFLOW_SHIFT (2U)
23131/*! FIXEDOVERFLOW - fixed_pt_overflow
23132 */
23133#define POWERQUAD_ERRSTAT_FIXEDOVERFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_ERRSTAT_FIXEDOVERFLOW_SHIFT)) & POWERQUAD_ERRSTAT_FIXEDOVERFLOW_MASK)
23134#define POWERQUAD_ERRSTAT_UNDERFLOW_MASK (0x8U)
23135#define POWERQUAD_ERRSTAT_UNDERFLOW_SHIFT (3U)
23136/*! UNDERFLOW - underflow
23137 */
23138#define POWERQUAD_ERRSTAT_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_ERRSTAT_UNDERFLOW_SHIFT)) & POWERQUAD_ERRSTAT_UNDERFLOW_MASK)
23139#define POWERQUAD_ERRSTAT_BUSERROR_MASK (0x10U)
23140#define POWERQUAD_ERRSTAT_BUSERROR_SHIFT (4U)
23141/*! BUSERROR - bus_error
23142 */
23143#define POWERQUAD_ERRSTAT_BUSERROR(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_ERRSTAT_BUSERROR_SHIFT)) & POWERQUAD_ERRSTAT_BUSERROR_MASK)
23144/*! @} */
23145
23146/*! @name INTREN - INTERRUPT enable register */
23147/*! @{ */
23148#define POWERQUAD_INTREN_INTR_OFLOW_MASK (0x1U)
23149#define POWERQUAD_INTREN_INTR_OFLOW_SHIFT (0U)
23150/*! intr_oflow - 1 : Enable interrupt on Floating point overflow
23151 */
23152#define POWERQUAD_INTREN_INTR_OFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTREN_INTR_OFLOW_SHIFT)) & POWERQUAD_INTREN_INTR_OFLOW_MASK)
23153#define POWERQUAD_INTREN_INTR_NAN_MASK (0x2U)
23154#define POWERQUAD_INTREN_INTR_NAN_SHIFT (1U)
23155/*! intr_nan - 1 : Enable interrupt on Floating point NaN
23156 */
23157#define POWERQUAD_INTREN_INTR_NAN(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTREN_INTR_NAN_SHIFT)) & POWERQUAD_INTREN_INTR_NAN_MASK)
23158#define POWERQUAD_INTREN_INTR_FIXED_MASK (0x4U)
23159#define POWERQUAD_INTREN_INTR_FIXED_SHIFT (2U)
23160/*! intr_fixed - 1: Enable interrupt on Fixed point Overflow
23161 */
23162#define POWERQUAD_INTREN_INTR_FIXED(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTREN_INTR_FIXED_SHIFT)) & POWERQUAD_INTREN_INTR_FIXED_MASK)
23163#define POWERQUAD_INTREN_INTR_UFLOW_MASK (0x8U)
23164#define POWERQUAD_INTREN_INTR_UFLOW_SHIFT (3U)
23165/*! intr_uflow - 1 : Enable interrupt on Subnormal truncation
23166 */
23167#define POWERQUAD_INTREN_INTR_UFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTREN_INTR_UFLOW_SHIFT)) & POWERQUAD_INTREN_INTR_UFLOW_MASK)
23168#define POWERQUAD_INTREN_INTR_BERR_MASK (0x10U)
23169#define POWERQUAD_INTREN_INTR_BERR_SHIFT (4U)
23170/*! intr_berr - 1: Enable interrupt on AHBM Buss Error
23171 */
23172#define POWERQUAD_INTREN_INTR_BERR(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTREN_INTR_BERR_SHIFT)) & POWERQUAD_INTREN_INTR_BERR_MASK)
23173#define POWERQUAD_INTREN_INTR_COMP_MASK (0x80U)
23174#define POWERQUAD_INTREN_INTR_COMP_SHIFT (7U)
23175/*! intr_comp - 1: Enable interrupt on instruction completion
23176 */
23177#define POWERQUAD_INTREN_INTR_COMP(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTREN_INTR_COMP_SHIFT)) & POWERQUAD_INTREN_INTR_COMP_MASK)
23178/*! @} */
23179
23180/*! @name EVENTEN - Event Enable register */
23181/*! @{ */
23182#define POWERQUAD_EVENTEN_EVENT_OFLOW_MASK (0x1U)
23183#define POWERQUAD_EVENTEN_EVENT_OFLOW_SHIFT (0U)
23184/*! event_oflow - 1 : Enable event trigger on Floating point overflow
23185 */
23186#define POWERQUAD_EVENTEN_EVENT_OFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_EVENTEN_EVENT_OFLOW_SHIFT)) & POWERQUAD_EVENTEN_EVENT_OFLOW_MASK)
23187#define POWERQUAD_EVENTEN_EVENT_NAN_MASK (0x2U)
23188#define POWERQUAD_EVENTEN_EVENT_NAN_SHIFT (1U)
23189/*! event_nan - 1 : Enable event trigger on Floating point NaN
23190 */
23191#define POWERQUAD_EVENTEN_EVENT_NAN(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_EVENTEN_EVENT_NAN_SHIFT)) & POWERQUAD_EVENTEN_EVENT_NAN_MASK)
23192#define POWERQUAD_EVENTEN_EVENT_FIXED_MASK (0x4U)
23193#define POWERQUAD_EVENTEN_EVENT_FIXED_SHIFT (2U)
23194/*! event_fixed - 1: Enable event trigger on Fixed point Overflow
23195 */
23196#define POWERQUAD_EVENTEN_EVENT_FIXED(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_EVENTEN_EVENT_FIXED_SHIFT)) & POWERQUAD_EVENTEN_EVENT_FIXED_MASK)
23197#define POWERQUAD_EVENTEN_EVENT_UFLOW_MASK (0x8U)
23198#define POWERQUAD_EVENTEN_EVENT_UFLOW_SHIFT (3U)
23199/*! event_uflow - 1 : Enable event trigger on Subnormal truncation
23200 */
23201#define POWERQUAD_EVENTEN_EVENT_UFLOW(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_EVENTEN_EVENT_UFLOW_SHIFT)) & POWERQUAD_EVENTEN_EVENT_UFLOW_MASK)
23202#define POWERQUAD_EVENTEN_EVENT_BERR_MASK (0x10U)
23203#define POWERQUAD_EVENTEN_EVENT_BERR_SHIFT (4U)
23204/*! event_berr - 1: Enable event trigger on AHBM Buss Error
23205 */
23206#define POWERQUAD_EVENTEN_EVENT_BERR(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_EVENTEN_EVENT_BERR_SHIFT)) & POWERQUAD_EVENTEN_EVENT_BERR_MASK)
23207#define POWERQUAD_EVENTEN_EVENT_COMP_MASK (0x80U)
23208#define POWERQUAD_EVENTEN_EVENT_COMP_SHIFT (7U)
23209/*! event_comp - 1: Enable event trigger on instruction completion
23210 */
23211#define POWERQUAD_EVENTEN_EVENT_COMP(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_EVENTEN_EVENT_COMP_SHIFT)) & POWERQUAD_EVENTEN_EVENT_COMP_MASK)
23212/*! @} */
23213
23214/*! @name INTRSTAT - INTERRUPT STATUS register */
23215/*! @{ */
23216#define POWERQUAD_INTRSTAT_INTR_STAT_MASK (0x1U)
23217#define POWERQUAD_INTRSTAT_INTR_STAT_SHIFT (0U)
23218/*! intr_stat - Intr status ( 1 bit to indicate interrupt captured, 0 means no new interrupt), write any value will clear this bit
23219 */
23220#define POWERQUAD_INTRSTAT_INTR_STAT(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_INTRSTAT_INTR_STAT_SHIFT)) & POWERQUAD_INTRSTAT_INTR_STAT_MASK)
23221/*! @} */
23222
23223/*! @name GPREG - General purpose register bank N. */
23224/*! @{ */
23225#define POWERQUAD_GPREG_GPREG_MASK (0xFFFFFFFFU)
23226#define POWERQUAD_GPREG_GPREG_SHIFT (0U)
23227/*! gpreg - General purpose register bank
23228 */
23229#define POWERQUAD_GPREG_GPREG(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_GPREG_GPREG_SHIFT)) & POWERQUAD_GPREG_GPREG_MASK)
23230/*! @} */
23231
23232/* The count of POWERQUAD_GPREG */
23233#define POWERQUAD_GPREG_COUNT (16U)
23234
23235/*! @name COMPREGS_COMPREG - Compute register bank */
23236/*! @{ */
23237#define POWERQUAD_COMPREGS_COMPREG_COMPREG_MASK (0xFFFFFFFFU)
23238#define POWERQUAD_COMPREGS_COMPREG_COMPREG_SHIFT (0U)
23239/*! compreg - Compute register bank
23240 */
23241#define POWERQUAD_COMPREGS_COMPREG_COMPREG(x) (((uint32_t)(((uint32_t)(x)) << POWERQUAD_COMPREGS_COMPREG_COMPREG_SHIFT)) & POWERQUAD_COMPREGS_COMPREG_COMPREG_MASK)
23242/*! @} */
23243
23244/* The count of POWERQUAD_COMPREGS_COMPREG */
23245#define POWERQUAD_COMPREGS_COMPREG_COUNT (8U)
23246
23247
23248/*!
23249 * @}
23250 */ /* end of group POWERQUAD_Register_Masks */
23251
23252
23253/* POWERQUAD - Peripheral instance base addresses */
23254#if (__ARM_FEATURE_CMSE & 0x2)
23255 /** Peripheral POWERQUAD base address */
23256 #define POWERQUAD_BASE (0x50150000u)
23257 /** Peripheral POWERQUAD base address */
23258 #define POWERQUAD_BASE_NS (0x40150000u)
23259 /** Peripheral POWERQUAD base pointer */
23260 #define POWERQUAD ((POWERQUAD_Type *)POWERQUAD_BASE)
23261 /** Peripheral POWERQUAD base pointer */
23262 #define POWERQUAD_NS ((POWERQUAD_Type *)POWERQUAD_BASE_NS)
23263 /** Array initializer of POWERQUAD peripheral base addresses */
23264 #define POWERQUAD_BASE_ADDRS { POWERQUAD_BASE }
23265 /** Array initializer of POWERQUAD peripheral base pointers */
23266 #define POWERQUAD_BASE_PTRS { POWERQUAD }
23267 /** Array initializer of POWERQUAD peripheral base addresses */
23268 #define POWERQUAD_BASE_ADDRS_NS { POWERQUAD_BASE_NS }
23269 /** Array initializer of POWERQUAD peripheral base pointers */
23270 #define POWERQUAD_BASE_PTRS_NS { POWERQUAD_NS }
23271#else
23272 /** Peripheral POWERQUAD base address */
23273 #define POWERQUAD_BASE (0x40150000u)
23274 /** Peripheral POWERQUAD base pointer */
23275 #define POWERQUAD ((POWERQUAD_Type *)POWERQUAD_BASE)
23276 /** Array initializer of POWERQUAD peripheral base addresses */
23277 #define POWERQUAD_BASE_ADDRS { POWERQUAD_BASE }
23278 /** Array initializer of POWERQUAD peripheral base pointers */
23279 #define POWERQUAD_BASE_PTRS { POWERQUAD }
23280#endif
23281/** Interrupt vectors for the POWERQUAD peripheral type */
23282#define POWERQUAD_IRQS { POWERQUAD_IRQn }
23283
23284/*!
23285 * @}
23286 */ /* end of group POWERQUAD_Peripheral_Access_Layer */
23287
23288
23289/* ----------------------------------------------------------------------------
23290 -- PUF Peripheral Access Layer
23291 ---------------------------------------------------------------------------- */
23292
23293/*!
23294 * @addtogroup PUF_Peripheral_Access_Layer PUF Peripheral Access Layer
23295 * @{
23296 */
23297
23298/** PUF - Register Layout Typedef */
23299typedef struct {
23300 __IO uint32_t CTRL; /**< PUF Control, offset: 0x0 */
23301 __IO uint32_t KEYINDEX; /**< PUF Key Index, offset: 0x4 */
23302 __IO uint32_t KEYSIZE; /**< PUF Key Size, offset: 0x8 */
23303 uint8_t RESERVED_0[20];
23304 __I uint32_t STAT; /**< PUF Status, offset: 0x20 */
23305 uint8_t RESERVED_1[4];
23306 __I uint32_t ALLOW; /**< PUF Allow, offset: 0x28 */
23307 uint8_t RESERVED_2[20];
23308 __O uint32_t KEYINPUT; /**< PUF Key Input, offset: 0x40 */
23309 __O uint32_t CODEINPUT; /**< PUF Code Input, offset: 0x44 */
23310 __I uint32_t CODEOUTPUT; /**< PUF Code Output, offset: 0x48 */
23311 uint8_t RESERVED_3[20];
23312 __I uint32_t KEYOUTINDEX; /**< PUF Key Output Index, offset: 0x60 */
23313 __I uint32_t KEYOUTPUT; /**< PUF Key Output, offset: 0x64 */
23314 uint8_t RESERVED_4[116];
23315 __IO uint32_t IFSTAT; /**< PUF Interface Status and Clear, offset: 0xDC */
23316 uint8_t RESERVED_5[28];
23317 __I uint32_t VERSION; /**< PUF Version, offset: 0xFC */
23318 __IO uint32_t INTEN; /**< PUF Interrupt Enable, offset: 0x100 */
23319 __IO uint32_t INTSTAT; /**< PUF Interrupt Status, offset: 0x104 */
23320 __IO uint32_t PWRCTRL; /**< PUF Power Control, offset: 0x108 */
23321 __IO uint32_t CFG; /**< PUF Configuration, offset: 0x10C */
23322 uint8_t RESERVED_6[240];
23323 __IO uint32_t KEYLOCK; /**< Key Lock, offset: 0x200 */
23324 __IO uint32_t KEYENABLE; /**< Key Enable, offset: 0x204 */
23325 __O uint32_t KEYRESET; /**< Key Reset, offset: 0x208 */
23326 __IO uint32_t IDXBLK_L; /**< Index Block Low, offset: 0x20C */
23327 __IO uint32_t IDXBLK_H_DP; /**< Index Block High Duplicate, offset: 0x210 */
23328 __O uint32_t KEYMASK[2]; /**< Key Mask 0..Key Mask 1, array offset: 0x214, array step: 0x4 */
23329 uint8_t RESERVED_7[56];
23330 __IO uint32_t IDXBLK_H; /**< Index Block High, offset: 0x254 */
23331 __IO uint32_t IDXBLK_L_DP; /**< Index Block Low Duplicate, offset: 0x258 */
23332} PUF_Type;
23333
23334/* ----------------------------------------------------------------------------
23335 -- PUF Register Masks
23336 ---------------------------------------------------------------------------- */
23337
23338/*!
23339 * @addtogroup PUF_Register_Masks PUF Register Masks
23340 * @{
23341 */
23342
23343/*! @name CTRL - PUF Control */
23344/*! @{ */
23345#define PUF_CTRL_ZEROIZE_MASK (0x1U)
23346#define PUF_CTRL_ZEROIZE_SHIFT (0U)
23347#define PUF_CTRL_ZEROIZE(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_ZEROIZE_SHIFT)) & PUF_CTRL_ZEROIZE_MASK)
23348#define PUF_CTRL_ENROLL_MASK (0x2U)
23349#define PUF_CTRL_ENROLL_SHIFT (1U)
23350#define PUF_CTRL_ENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_ENROLL_SHIFT)) & PUF_CTRL_ENROLL_MASK)
23351#define PUF_CTRL_START_MASK (0x4U)
23352#define PUF_CTRL_START_SHIFT (2U)
23353#define PUF_CTRL_START(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_START_SHIFT)) & PUF_CTRL_START_MASK)
23354#define PUF_CTRL_GENERATEKEY_MASK (0x8U)
23355#define PUF_CTRL_GENERATEKEY_SHIFT (3U)
23356#define PUF_CTRL_GENERATEKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_GENERATEKEY_SHIFT)) & PUF_CTRL_GENERATEKEY_MASK)
23357#define PUF_CTRL_SETKEY_MASK (0x10U)
23358#define PUF_CTRL_SETKEY_SHIFT (4U)
23359#define PUF_CTRL_SETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_SETKEY_SHIFT)) & PUF_CTRL_SETKEY_MASK)
23360#define PUF_CTRL_GETKEY_MASK (0x40U)
23361#define PUF_CTRL_GETKEY_SHIFT (6U)
23362#define PUF_CTRL_GETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_GETKEY_SHIFT)) & PUF_CTRL_GETKEY_MASK)
23363/*! @} */
23364
23365/*! @name KEYINDEX - PUF Key Index */
23366/*! @{ */
23367#define PUF_KEYINDEX_KEYIDX_MASK (0xFU)
23368#define PUF_KEYINDEX_KEYIDX_SHIFT (0U)
23369#define PUF_KEYINDEX_KEYIDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYINDEX_KEYIDX_SHIFT)) & PUF_KEYINDEX_KEYIDX_MASK)
23370/*! @} */
23371
23372/*! @name KEYSIZE - PUF Key Size */
23373/*! @{ */
23374#define PUF_KEYSIZE_KEYSIZE_MASK (0x3FU)
23375#define PUF_KEYSIZE_KEYSIZE_SHIFT (0U)
23376/*! KEYSIZE - Key Size for Set Key operations
23377 */
23378#define PUF_KEYSIZE_KEYSIZE(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYSIZE_KEYSIZE_SHIFT)) & PUF_KEYSIZE_KEYSIZE_MASK)
23379/*! @} */
23380
23381/*! @name STAT - PUF Status */
23382/*! @{ */
23383#define PUF_STAT_BUSY_MASK (0x1U)
23384#define PUF_STAT_BUSY_SHIFT (0U)
23385/*! BUSY - Busy
23386 */
23387#define PUF_STAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_BUSY_SHIFT)) & PUF_STAT_BUSY_MASK)
23388#define PUF_STAT_SUCCESS_MASK (0x2U)
23389#define PUF_STAT_SUCCESS_SHIFT (1U)
23390/*! SUCCESS - Success
23391 */
23392#define PUF_STAT_SUCCESS(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_SUCCESS_SHIFT)) & PUF_STAT_SUCCESS_MASK)
23393#define PUF_STAT_ERROR_MASK (0x4U)
23394#define PUF_STAT_ERROR_SHIFT (2U)
23395/*! ERROR - Error
23396 */
23397#define PUF_STAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_ERROR_SHIFT)) & PUF_STAT_ERROR_MASK)
23398#define PUF_STAT_KEYINREQ_MASK (0x10U)
23399#define PUF_STAT_KEYINREQ_SHIFT (4U)
23400/*! KEYINREQ - Key In Request
23401 */
23402#define PUF_STAT_KEYINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_KEYINREQ_SHIFT)) & PUF_STAT_KEYINREQ_MASK)
23403#define PUF_STAT_KEYOUTAVAIL_MASK (0x20U)
23404#define PUF_STAT_KEYOUTAVAIL_SHIFT (5U)
23405/*! KEYOUTAVAIL - Key Out Available
23406 */
23407#define PUF_STAT_KEYOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_KEYOUTAVAIL_SHIFT)) & PUF_STAT_KEYOUTAVAIL_MASK)
23408#define PUF_STAT_CODEINREQ_MASK (0x40U)
23409#define PUF_STAT_CODEINREQ_SHIFT (6U)
23410/*! CODEINREQ - Code In Request
23411 */
23412#define PUF_STAT_CODEINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_CODEINREQ_SHIFT)) & PUF_STAT_CODEINREQ_MASK)
23413#define PUF_STAT_CODEOUTAVAIL_MASK (0x80U)
23414#define PUF_STAT_CODEOUTAVAIL_SHIFT (7U)
23415/*! CODEOUTAVAIL - Code Out Available
23416 */
23417#define PUF_STAT_CODEOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_CODEOUTAVAIL_SHIFT)) & PUF_STAT_CODEOUTAVAIL_MASK)
23418/*! @} */
23419
23420/*! @name ALLOW - PUF Allow */
23421/*! @{ */
23422#define PUF_ALLOW_ALLOWENROLL_MASK (0x1U)
23423#define PUF_ALLOW_ALLOWENROLL_SHIFT (0U)
23424/*! ALLOWENROLL - Allow Enroll
23425 */
23426#define PUF_ALLOW_ALLOWENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWENROLL_SHIFT)) & PUF_ALLOW_ALLOWENROLL_MASK)
23427#define PUF_ALLOW_ALLOWSTART_MASK (0x2U)
23428#define PUF_ALLOW_ALLOWSTART_SHIFT (1U)
23429/*! ALLOWSTART - Allow Start
23430 */
23431#define PUF_ALLOW_ALLOWSTART(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWSTART_SHIFT)) & PUF_ALLOW_ALLOWSTART_MASK)
23432#define PUF_ALLOW_ALLOWSETKEY_MASK (0x4U)
23433#define PUF_ALLOW_ALLOWSETKEY_SHIFT (2U)
23434/*! ALLOWSETKEY - Allow Set Key
23435 */
23436#define PUF_ALLOW_ALLOWSETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWSETKEY_SHIFT)) & PUF_ALLOW_ALLOWSETKEY_MASK)
23437#define PUF_ALLOW_ALLOWGETKEY_MASK (0x8U)
23438#define PUF_ALLOW_ALLOWGETKEY_SHIFT (3U)
23439/*! ALLOWGETKEY - Allow Get Key
23440 */
23441#define PUF_ALLOW_ALLOWGETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWGETKEY_SHIFT)) & PUF_ALLOW_ALLOWGETKEY_MASK)
23442/*! @} */
23443
23444/*! @name KEYINPUT - PUF Key Input */
23445/*! @{ */
23446#define PUF_KEYINPUT_KEYIN_MASK (0xFFFFFFFFU)
23447#define PUF_KEYINPUT_KEYIN_SHIFT (0U)
23448/*! KEYIN - Key Input Data
23449 */
23450#define PUF_KEYINPUT_KEYIN(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYINPUT_KEYIN_SHIFT)) & PUF_KEYINPUT_KEYIN_MASK)
23451/*! @} */
23452
23453/*! @name CODEINPUT - PUF Code Input */
23454/*! @{ */
23455#define PUF_CODEINPUT_CODEIN_MASK (0xFFFFFFFFU)
23456#define PUF_CODEINPUT_CODEIN_SHIFT (0U)
23457/*! CODEIN - AC/KC Input Data
23458 */
23459#define PUF_CODEINPUT_CODEIN(x) (((uint32_t)(((uint32_t)(x)) << PUF_CODEINPUT_CODEIN_SHIFT)) & PUF_CODEINPUT_CODEIN_MASK)
23460/*! @} */
23461
23462/*! @name CODEOUTPUT - PUF Code Output */
23463/*! @{ */
23464#define PUF_CODEOUTPUT_CODEOUT_MASK (0xFFFFFFFFU)
23465#define PUF_CODEOUTPUT_CODEOUT_SHIFT (0U)
23466/*! CODEOUT - AC/KC Output Data
23467 */
23468#define PUF_CODEOUTPUT_CODEOUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_CODEOUTPUT_CODEOUT_SHIFT)) & PUF_CODEOUTPUT_CODEOUT_MASK)
23469/*! @} */
23470
23471/*! @name KEYOUTINDEX - PUF Key Output Index */
23472/*! @{ */
23473#define PUF_KEYOUTINDEX_KEYOUTIDX_MASK (0xFU)
23474#define PUF_KEYOUTINDEX_KEYOUTIDX_SHIFT (0U)
23475/*! KEYOUTIDX - Key Output Index
23476 */
23477#define PUF_KEYOUTINDEX_KEYOUTIDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYOUTINDEX_KEYOUTIDX_SHIFT)) & PUF_KEYOUTINDEX_KEYOUTIDX_MASK)
23478/*! @} */
23479
23480/*! @name KEYOUTPUT - PUF Key Output */
23481/*! @{ */
23482#define PUF_KEYOUTPUT_KEYOUT_MASK (0xFFFFFFFFU)
23483#define PUF_KEYOUTPUT_KEYOUT_SHIFT (0U)
23484/*! KEYOUT - Key Output Data
23485 */
23486#define PUF_KEYOUTPUT_KEYOUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYOUTPUT_KEYOUT_SHIFT)) & PUF_KEYOUTPUT_KEYOUT_MASK)
23487/*! @} */
23488
23489/*! @name IFSTAT - PUF Interface Status and Clear */
23490/*! @{ */
23491#define PUF_IFSTAT_ERROR_MASK (0x1U)
23492#define PUF_IFSTAT_ERROR_SHIFT (0U)
23493/*! ERROR - Error
23494 */
23495#define PUF_IFSTAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_IFSTAT_ERROR_SHIFT)) & PUF_IFSTAT_ERROR_MASK)
23496/*! @} */
23497
23498/*! @name VERSION - PUF Version */
23499/*! @{ */
23500#define PUF_VERSION_VERSION_MASK (0xFFFFFFFFU)
23501#define PUF_VERSION_VERSION_SHIFT (0U)
23502/*! VERSION - Version
23503 */
23504#define PUF_VERSION_VERSION(x) (((uint32_t)(((uint32_t)(x)) << PUF_VERSION_VERSION_SHIFT)) & PUF_VERSION_VERSION_MASK)
23505/*! @} */
23506
23507/*! @name INTEN - PUF Interrupt Enable */
23508/*! @{ */
23509#define PUF_INTEN_READYEN_MASK (0x1U)
23510#define PUF_INTEN_READYEN_SHIFT (0U)
23511/*! READYEN - Enable corresponding interrupt in STAT, which indicates that the initialization or a operation is completed.
23512 */
23513#define PUF_INTEN_READYEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_READYEN_SHIFT)) & PUF_INTEN_READYEN_MASK)
23514#define PUF_INTEN_SUCCESEN_MASK (0x2U)
23515#define PUF_INTEN_SUCCESEN_SHIFT (1U)
23516/*! SUCCESEN - Enable corresponding interrupt in STAT, which indicates last operation was successful.
23517 */
23518#define PUF_INTEN_SUCCESEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_SUCCESEN_SHIFT)) & PUF_INTEN_SUCCESEN_MASK)
23519#define PUF_INTEN_ERROREN_MASK (0x4U)
23520#define PUF_INTEN_ERROREN_SHIFT (2U)
23521/*! ERROREN - Enable corresponding interrupt in STAT, which indicates that PUF is in the error state
23522 * and no operations can be performed.
23523 */
23524#define PUF_INTEN_ERROREN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_ERROREN_SHIFT)) & PUF_INTEN_ERROREN_MASK)
23525#define PUF_INTEN_KEYINREQEN_MASK (0x10U)
23526#define PUF_INTEN_KEYINREQEN_SHIFT (4U)
23527/*! KEYINREQEN - Enable corresponding interrupt in STAT, which is request for next part of key.
23528 */
23529#define PUF_INTEN_KEYINREQEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_KEYINREQEN_SHIFT)) & PUF_INTEN_KEYINREQEN_MASK)
23530#define PUF_INTEN_KEYOUTAVAILEN_MASK (0x20U)
23531#define PUF_INTEN_KEYOUTAVAILEN_SHIFT (5U)
23532/*! KEYOUTAVAILEN - Enable corresponding interrupt in STAT, which is next part of key is available.
23533 */
23534#define PUF_INTEN_KEYOUTAVAILEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_KEYOUTAVAILEN_SHIFT)) & PUF_INTEN_KEYOUTAVAILEN_MASK)
23535#define PUF_INTEN_CODEINREQEN_MASK (0x40U)
23536#define PUF_INTEN_CODEINREQEN_SHIFT (6U)
23537/*! CODEINREQEN - Enable corresponding interrupt in STAT, which is request for next part of AC/KC.
23538 */
23539#define PUF_INTEN_CODEINREQEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_CODEINREQEN_SHIFT)) & PUF_INTEN_CODEINREQEN_MASK)
23540#define PUF_INTEN_CODEOUTAVAILEN_MASK (0x80U)
23541#define PUF_INTEN_CODEOUTAVAILEN_SHIFT (7U)
23542/*! CODEOUTAVAILEN - Enable corresponding interrupt in STAT, which is next part of AC/KC is available.
23543 */
23544#define PUF_INTEN_CODEOUTAVAILEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_CODEOUTAVAILEN_SHIFT)) & PUF_INTEN_CODEOUTAVAILEN_MASK)
23545/*! @} */
23546
23547/*! @name INTSTAT - PUF Interrupt Status */
23548/*! @{ */
23549#define PUF_INTSTAT_READY_MASK (0x1U)
23550#define PUF_INTSTAT_READY_SHIFT (0U)
23551/*! READY - Ready
23552 */
23553#define PUF_INTSTAT_READY(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_READY_SHIFT)) & PUF_INTSTAT_READY_MASK)
23554#define PUF_INTSTAT_SUCCESS_MASK (0x2U)
23555#define PUF_INTSTAT_SUCCESS_SHIFT (1U)
23556/*! SUCCESS - Success
23557 */
23558#define PUF_INTSTAT_SUCCESS(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_SUCCESS_SHIFT)) & PUF_INTSTAT_SUCCESS_MASK)
23559#define PUF_INTSTAT_ERROR_MASK (0x4U)
23560#define PUF_INTSTAT_ERROR_SHIFT (2U)
23561/*! ERROR - Error
23562 */
23563#define PUF_INTSTAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_ERROR_SHIFT)) & PUF_INTSTAT_ERROR_MASK)
23564#define PUF_INTSTAT_KEYINREQ_MASK (0x10U)
23565#define PUF_INTSTAT_KEYINREQ_SHIFT (4U)
23566/*! KEYINREQ - Key In Request
23567 */
23568#define PUF_INTSTAT_KEYINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_KEYINREQ_SHIFT)) & PUF_INTSTAT_KEYINREQ_MASK)
23569#define PUF_INTSTAT_KEYOUTAVAIL_MASK (0x20U)
23570#define PUF_INTSTAT_KEYOUTAVAIL_SHIFT (5U)
23571/*! KEYOUTAVAIL - Key Out Available
23572 */
23573#define PUF_INTSTAT_KEYOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_KEYOUTAVAIL_SHIFT)) & PUF_INTSTAT_KEYOUTAVAIL_MASK)
23574#define PUF_INTSTAT_CODEINREQ_MASK (0x40U)
23575#define PUF_INTSTAT_CODEINREQ_SHIFT (6U)
23576/*! CODEINREQ - Code In Request
23577 */
23578#define PUF_INTSTAT_CODEINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_CODEINREQ_SHIFT)) & PUF_INTSTAT_CODEINREQ_MASK)
23579#define PUF_INTSTAT_CODEOUTAVAIL_MASK (0x80U)
23580#define PUF_INTSTAT_CODEOUTAVAIL_SHIFT (7U)
23581/*! CODEOUTAVAIL - Code Out Available
23582 */
23583#define PUF_INTSTAT_CODEOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_CODEOUTAVAIL_SHIFT)) & PUF_INTSTAT_CODEOUTAVAIL_MASK)
23584/*! @} */
23585
23586/*! @name PWRCTRL - PUF Power Control */
23587/*! @{ */
23588#define PUF_PWRCTRL_RAM_ON_MASK (0x1U)
23589#define PUF_PWRCTRL_RAM_ON_SHIFT (0U)
23590/*! RAM_ON - RAM Power On
23591 * 0b0..Power Off
23592 * 0b1..Power On
23593 */
23594#define PUF_PWRCTRL_RAM_ON(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_ON_SHIFT)) & PUF_PWRCTRL_RAM_ON_MASK)
23595#define PUF_PWRCTRL_CK_DIS_MASK (0x4U)
23596#define PUF_PWRCTRL_CK_DIS_SHIFT (2U)
23597/*! CK_DIS - PUF Clock control.
23598 * 0b0..PUF RAM clock is disabled.
23599 * 0b1..PUF RAM clock is enabled.
23600 */
23601#define PUF_PWRCTRL_CK_DIS(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_CK_DIS_SHIFT)) & PUF_PWRCTRL_CK_DIS_MASK)
23602/*! @} */
23603
23604/*! @name CFG - PUF Configuration */
23605/*! @{ */
23606#define PUF_CFG_BLOCKENROLL_SETKEY_MASK (0x1U)
23607#define PUF_CFG_BLOCKENROLL_SETKEY_SHIFT (0U)
23608/*! BLOCKENROLL_SETKEY - Block Enroll and Set Key Operation
23609 * 0b0..Disabled
23610 * 0b1..Enabled
23611 */
23612#define PUF_CFG_BLOCKENROLL_SETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CFG_BLOCKENROLL_SETKEY_SHIFT)) & PUF_CFG_BLOCKENROLL_SETKEY_MASK)
23613#define PUF_CFG_BLOCKKEYOUTPUT_MASK (0x2U)
23614#define PUF_CFG_BLOCKKEYOUTPUT_SHIFT (1U)
23615/*! BLOCKKEYOUTPUT - Block Key Output Data
23616 * 0b0..Disabled. BLOCKKEYOUTPUT is cleared on reset.
23617 * 0b1..Enabled.
23618 */
23619#define PUF_CFG_BLOCKKEYOUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_CFG_BLOCKKEYOUTPUT_SHIFT)) & PUF_CFG_BLOCKKEYOUTPUT_MASK)
23620/*! @} */
23621
23622/*! @name KEYLOCK - Key Lock */
23623/*! @{ */
23624#define PUF_KEYLOCK_KEY0_MASK (0x3U)
23625#define PUF_KEYLOCK_KEY0_SHIFT (0U)
23626/*! KEY0 - Key 0
23627 * 0b00, 0b01, 0b11..Write access to KEY0MASK, KEYENABLE[KEY0] and KEYRESET[KEY0] is NOT allowed.
23628 * 0b10..Write access to KEY0MASK, KEYENABLE[KEY0] and KEYRESET[KEY0] is allowed.
23629 */
23630#define PUF_KEYLOCK_KEY0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_KEY0_SHIFT)) & PUF_KEYLOCK_KEY0_MASK)
23631#define PUF_KEYLOCK_KEY1_MASK (0xCU)
23632#define PUF_KEYLOCK_KEY1_SHIFT (2U)
23633/*! KEY1 - Key 1
23634 * 0b00, 0b01, 0b11..Write access to KEY1MASK, KEYENABLE[KEY1] and KEYRESET[KEY1] is NOT allowed.
23635 * 0b10..Write access to KEY1MASK, KEYENABLE[KEY1] and KEYRESET[KEY1] is allowed.
23636 */
23637#define PUF_KEYLOCK_KEY1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_KEY1_SHIFT)) & PUF_KEYLOCK_KEY1_MASK)
23638#define PUF_KEYLOCK_KEY2_MASK (0x30U)
23639#define PUF_KEYLOCK_KEY2_SHIFT (4U)
23640/*! KEY2 - Key 2
23641 * 0b00, 0b01, 0b11..Write access to KEY2MASK, KEYENABLE[KEY2] and KEYRESET[KEY2] is NOT allowed.
23642 * 0b10..Write access to KEY2MASK, KEYENABLE[KEY2] and KEYRESET[KEY2] is allowed.
23643 */
23644#define PUF_KEYLOCK_KEY2(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_KEY2_SHIFT)) & PUF_KEYLOCK_KEY2_MASK)
23645#define PUF_KEYLOCK_KEY3_MASK (0xC0U)
23646#define PUF_KEYLOCK_KEY3_SHIFT (6U)
23647/*! KEY3 - Key 3
23648 * 0b00, 0b01, 0b11..Write access to KEY3MASK, KEYENABLE[KEY3] and KEYRESET[KEY3] is NOT allowed.
23649 * 0b10..Write access to KEY3MASK, KEYENABLE[KEY3] and KEYRESET[KEY3] is allowed.
23650 */
23651#define PUF_KEYLOCK_KEY3(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_KEY3_SHIFT)) & PUF_KEYLOCK_KEY3_MASK)
23652/*! @} */
23653
23654/*! @name KEYENABLE - Key Enable */
23655/*! @{ */
23656#define PUF_KEYENABLE_KEY0_MASK (0x3U)
23657#define PUF_KEYENABLE_KEY0_SHIFT (0U)
23658/*! KEY0 - Key 0
23659 * 0b00, 0b01, 0b11..Data coming from the PUF Index 0 interface are NOT shifted in the KEY0 register.
23660 * 0b10..Data coming from the PUF Index 0 interface are shifted in the KEY0 register.
23661 */
23662#define PUF_KEYENABLE_KEY0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_KEY0_SHIFT)) & PUF_KEYENABLE_KEY0_MASK)
23663#define PUF_KEYENABLE_KEY1_MASK (0xCU)
23664#define PUF_KEYENABLE_KEY1_SHIFT (2U)
23665/*! KEY1 - Key 1
23666 * 0b00, 0b01, 0b11..Data coming from the PUF Index 0 interface are NOT shifted in the KEY1 register.
23667 * 0b10..Data coming from the PUF Index 0 interface are shifted in the KEY1 register.
23668 */
23669#define PUF_KEYENABLE_KEY1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_KEY1_SHIFT)) & PUF_KEYENABLE_KEY1_MASK)
23670#define PUF_KEYENABLE_KEY2_MASK (0x30U)
23671#define PUF_KEYENABLE_KEY2_SHIFT (4U)
23672/*! KEY2 - Key 2
23673 * 0b00, 0b01, 0b11..Data coming from the PUF Index 0 interface are NOT shifted in the KEY2 register.
23674 * 0b10..Data coming from the PUF Index 0 interface are shifted in the KEY2 register.
23675 */
23676#define PUF_KEYENABLE_KEY2(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_KEY2_SHIFT)) & PUF_KEYENABLE_KEY2_MASK)
23677#define PUF_KEYENABLE_KEY3_MASK (0xC0U)
23678#define PUF_KEYENABLE_KEY3_SHIFT (6U)
23679/*! KEY3 - Key 3
23680 * 0b00, 0b01, 0b11..Data coming from the PUF Index 0 interface are NOT shifted in the KEY3 register.
23681 * 0b10..Data coming from the PUF Index 0 interface are shifted in the KEY3 register.
23682 */
23683#define PUF_KEYENABLE_KEY3(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_KEY3_SHIFT)) & PUF_KEYENABLE_KEY3_MASK)
23684/*! @} */
23685
23686/*! @name KEYRESET - Key Reset */
23687/*! @{ */
23688#define PUF_KEYRESET_KEY0_MASK (0x3U)
23689#define PUF_KEYRESET_KEY0_SHIFT (0U)
23690/*! KEY0 - Key 0
23691 * 0b10..Reset KEY0 Hold register and SHIFT_STATUS[KEY0].
23692 */
23693#define PUF_KEYRESET_KEY0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_KEY0_SHIFT)) & PUF_KEYRESET_KEY0_MASK)
23694#define PUF_KEYRESET_KEY1_MASK (0xCU)
23695#define PUF_KEYRESET_KEY1_SHIFT (2U)
23696/*! KEY1 - Key 1
23697 * 0b10..Reset KEY1 Hold register and SHIFT_STATUS[KEY1].
23698 */
23699#define PUF_KEYRESET_KEY1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_KEY1_SHIFT)) & PUF_KEYRESET_KEY1_MASK)
23700#define PUF_KEYRESET_KEY2_MASK (0x30U)
23701#define PUF_KEYRESET_KEY2_SHIFT (4U)
23702/*! KEY2 - Key 2
23703 * 0b10..Reset KEY2 Hold register and SHIFT_STATUS[KEY2].
23704 */
23705#define PUF_KEYRESET_KEY2(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_KEY2_SHIFT)) & PUF_KEYRESET_KEY2_MASK)
23706#define PUF_KEYRESET_KEY3_MASK (0xC0U)
23707#define PUF_KEYRESET_KEY3_SHIFT (6U)
23708/*! KEY3 - Key 3
23709 * 0b10..Reset KEY3 Hold register and SHIFT_STATUS[KEY3].
23710 */
23711#define PUF_KEYRESET_KEY3(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_KEY3_SHIFT)) & PUF_KEYRESET_KEY3_MASK)
23712/*! @} */
23713
23714/*! @name IDXBLK_L - Index Block Low */
23715/*! @{ */
23716#define PUF_IDXBLK_L_IDX1_MASK (0xCU)
23717#define PUF_IDXBLK_L_IDX1_SHIFT (2U)
23718/*! IDX1 - Index 1
23719 */
23720#define PUF_IDXBLK_L_IDX1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX1_SHIFT)) & PUF_IDXBLK_L_IDX1_MASK)
23721#define PUF_IDXBLK_L_IDX2_MASK (0x30U)
23722#define PUF_IDXBLK_L_IDX2_SHIFT (4U)
23723/*! IDX2 - Index 2
23724 */
23725#define PUF_IDXBLK_L_IDX2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX2_SHIFT)) & PUF_IDXBLK_L_IDX2_MASK)
23726#define PUF_IDXBLK_L_IDX3_MASK (0xC0U)
23727#define PUF_IDXBLK_L_IDX3_SHIFT (6U)
23728/*! IDX3 - Index 3
23729 */
23730#define PUF_IDXBLK_L_IDX3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX3_SHIFT)) & PUF_IDXBLK_L_IDX3_MASK)
23731#define PUF_IDXBLK_L_IDX4_MASK (0x300U)
23732#define PUF_IDXBLK_L_IDX4_SHIFT (8U)
23733/*! IDX4 - Index 4
23734 */
23735#define PUF_IDXBLK_L_IDX4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX4_SHIFT)) & PUF_IDXBLK_L_IDX4_MASK)
23736#define PUF_IDXBLK_L_IDX5_MASK (0xC00U)
23737#define PUF_IDXBLK_L_IDX5_SHIFT (10U)
23738/*! IDX5 - Index 5
23739 */
23740#define PUF_IDXBLK_L_IDX5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX5_SHIFT)) & PUF_IDXBLK_L_IDX5_MASK)
23741#define PUF_IDXBLK_L_IDX6_MASK (0x3000U)
23742#define PUF_IDXBLK_L_IDX6_SHIFT (12U)
23743/*! IDX6 - Index 6
23744 */
23745#define PUF_IDXBLK_L_IDX6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX6_SHIFT)) & PUF_IDXBLK_L_IDX6_MASK)
23746#define PUF_IDXBLK_L_IDX7_MASK (0xC000U)
23747#define PUF_IDXBLK_L_IDX7_SHIFT (14U)
23748/*! IDX7 - Index 7
23749 */
23750#define PUF_IDXBLK_L_IDX7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_IDX7_SHIFT)) & PUF_IDXBLK_L_IDX7_MASK)
23751#define PUF_IDXBLK_L_LOCK_IDX_MASK (0xC0000000U)
23752#define PUF_IDXBLK_L_LOCK_IDX_SHIFT (30U)
23753/*! LOCK_IDX - Lock Index
23754 */
23755#define PUF_IDXBLK_L_LOCK_IDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_LOCK_IDX_SHIFT)) & PUF_IDXBLK_L_LOCK_IDX_MASK)
23756/*! @} */
23757
23758/*! @name IDXBLK_H_DP - Index Block High Duplicate */
23759/*! @{ */
23760#define PUF_IDXBLK_H_DP_IDX8_MASK (0x3U)
23761#define PUF_IDXBLK_H_DP_IDX8_SHIFT (0U)
23762/*! IDX8 - Index 8
23763 */
23764#define PUF_IDXBLK_H_DP_IDX8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX8_SHIFT)) & PUF_IDXBLK_H_DP_IDX8_MASK)
23765#define PUF_IDXBLK_H_DP_IDX9_MASK (0xCU)
23766#define PUF_IDXBLK_H_DP_IDX9_SHIFT (2U)
23767/*! IDX9 - Index 9
23768 */
23769#define PUF_IDXBLK_H_DP_IDX9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX9_SHIFT)) & PUF_IDXBLK_H_DP_IDX9_MASK)
23770#define PUF_IDXBLK_H_DP_IDX10_MASK (0x30U)
23771#define PUF_IDXBLK_H_DP_IDX10_SHIFT (4U)
23772/*! IDX10 - Index 10
23773 */
23774#define PUF_IDXBLK_H_DP_IDX10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX10_SHIFT)) & PUF_IDXBLK_H_DP_IDX10_MASK)
23775#define PUF_IDXBLK_H_DP_IDX11_MASK (0xC0U)
23776#define PUF_IDXBLK_H_DP_IDX11_SHIFT (6U)
23777/*! IDX11 - Index 11
23778 */
23779#define PUF_IDXBLK_H_DP_IDX11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX11_SHIFT)) & PUF_IDXBLK_H_DP_IDX11_MASK)
23780#define PUF_IDXBLK_H_DP_IDX12_MASK (0x300U)
23781#define PUF_IDXBLK_H_DP_IDX12_SHIFT (8U)
23782/*! IDX12 - Index 12
23783 */
23784#define PUF_IDXBLK_H_DP_IDX12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX12_SHIFT)) & PUF_IDXBLK_H_DP_IDX12_MASK)
23785#define PUF_IDXBLK_H_DP_IDX13_MASK (0xC00U)
23786#define PUF_IDXBLK_H_DP_IDX13_SHIFT (10U)
23787/*! IDX13 - Index 13
23788 */
23789#define PUF_IDXBLK_H_DP_IDX13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX13_SHIFT)) & PUF_IDXBLK_H_DP_IDX13_MASK)
23790#define PUF_IDXBLK_H_DP_IDX14_MASK (0x3000U)
23791#define PUF_IDXBLK_H_DP_IDX14_SHIFT (12U)
23792/*! IDX14 - Index 14
23793 */
23794#define PUF_IDXBLK_H_DP_IDX14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX14_SHIFT)) & PUF_IDXBLK_H_DP_IDX14_MASK)
23795#define PUF_IDXBLK_H_DP_IDX15_MASK (0xC000U)
23796#define PUF_IDXBLK_H_DP_IDX15_SHIFT (14U)
23797/*! IDX15 - Index 15
23798 */
23799#define PUF_IDXBLK_H_DP_IDX15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_DP_IDX15_SHIFT)) & PUF_IDXBLK_H_DP_IDX15_MASK)
23800/*! @} */
23801
23802/*! @name KEYMASK - Key Mask 0..Key Mask 1 */
23803/*! @{ */
23804#define PUF_KEYMASK_KEYMASK_MASK (0xFFFFFFFFU)
23805#define PUF_KEYMASK_KEYMASK_SHIFT (0U)
23806/*! KEYMASK - Key a Mask
23807 */
23808#define PUF_KEYMASK_KEYMASK(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYMASK_KEYMASK_SHIFT)) & PUF_KEYMASK_KEYMASK_MASK)
23809/*! @} */
23810
23811/* The count of PUF_KEYMASK */
23812#define PUF_KEYMASK_COUNT (2U)
23813
23814/*! @name IDXBLK_H - Index Block High */
23815/*! @{ */
23816#define PUF_IDXBLK_H_IDX8_MASK (0x3U)
23817#define PUF_IDXBLK_H_IDX8_SHIFT (0U)
23818/*! IDX8 - Index 8
23819 */
23820#define PUF_IDXBLK_H_IDX8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX8_SHIFT)) & PUF_IDXBLK_H_IDX8_MASK)
23821#define PUF_IDXBLK_H_IDX9_MASK (0xCU)
23822#define PUF_IDXBLK_H_IDX9_SHIFT (2U)
23823/*! IDX9 - Index 9
23824 */
23825#define PUF_IDXBLK_H_IDX9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX9_SHIFT)) & PUF_IDXBLK_H_IDX9_MASK)
23826#define PUF_IDXBLK_H_IDX10_MASK (0x30U)
23827#define PUF_IDXBLK_H_IDX10_SHIFT (4U)
23828/*! IDX10 - Index 10
23829 */
23830#define PUF_IDXBLK_H_IDX10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX10_SHIFT)) & PUF_IDXBLK_H_IDX10_MASK)
23831#define PUF_IDXBLK_H_IDX11_MASK (0xC0U)
23832#define PUF_IDXBLK_H_IDX11_SHIFT (6U)
23833/*! IDX11 - Index 11
23834 */
23835#define PUF_IDXBLK_H_IDX11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX11_SHIFT)) & PUF_IDXBLK_H_IDX11_MASK)
23836#define PUF_IDXBLK_H_IDX12_MASK (0x300U)
23837#define PUF_IDXBLK_H_IDX12_SHIFT (8U)
23838/*! IDX12 - Index 12
23839 */
23840#define PUF_IDXBLK_H_IDX12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX12_SHIFT)) & PUF_IDXBLK_H_IDX12_MASK)
23841#define PUF_IDXBLK_H_IDX13_MASK (0xC00U)
23842#define PUF_IDXBLK_H_IDX13_SHIFT (10U)
23843/*! IDX13 - Index 13
23844 */
23845#define PUF_IDXBLK_H_IDX13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX13_SHIFT)) & PUF_IDXBLK_H_IDX13_MASK)
23846#define PUF_IDXBLK_H_IDX14_MASK (0x3000U)
23847#define PUF_IDXBLK_H_IDX14_SHIFT (12U)
23848/*! IDX14 - Index 14
23849 */
23850#define PUF_IDXBLK_H_IDX14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX14_SHIFT)) & PUF_IDXBLK_H_IDX14_MASK)
23851#define PUF_IDXBLK_H_IDX15_MASK (0xC000U)
23852#define PUF_IDXBLK_H_IDX15_SHIFT (14U)
23853/*! IDX15 - Index 15
23854 */
23855#define PUF_IDXBLK_H_IDX15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_IDX15_SHIFT)) & PUF_IDXBLK_H_IDX15_MASK)
23856#define PUF_IDXBLK_H_LOCK_IDX_MASK (0xC0000000U)
23857#define PUF_IDXBLK_H_LOCK_IDX_SHIFT (30U)
23858/*! LOCK_IDX - Lock Index
23859 */
23860#define PUF_IDXBLK_H_LOCK_IDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_H_LOCK_IDX_SHIFT)) & PUF_IDXBLK_H_LOCK_IDX_MASK)
23861/*! @} */
23862
23863/*! @name IDXBLK_L_DP - Index Block Low Duplicate */
23864/*! @{ */
23865#define PUF_IDXBLK_L_DP_IDX0_MASK (0x3U)
23866#define PUF_IDXBLK_L_DP_IDX0_SHIFT (0U)
23867/*! IDX0 - Index 0
23868 */
23869#define PUF_IDXBLK_L_DP_IDX0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX0_SHIFT)) & PUF_IDXBLK_L_DP_IDX0_MASK)
23870#define PUF_IDXBLK_L_DP_IDX1_MASK (0xCU)
23871#define PUF_IDXBLK_L_DP_IDX1_SHIFT (2U)
23872/*! IDX1 - Index 1
23873 */
23874#define PUF_IDXBLK_L_DP_IDX1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX1_SHIFT)) & PUF_IDXBLK_L_DP_IDX1_MASK)
23875#define PUF_IDXBLK_L_DP_IDX2_MASK (0x30U)
23876#define PUF_IDXBLK_L_DP_IDX2_SHIFT (4U)
23877/*! IDX2 - Index 2
23878 */
23879#define PUF_IDXBLK_L_DP_IDX2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX2_SHIFT)) & PUF_IDXBLK_L_DP_IDX2_MASK)
23880#define PUF_IDXBLK_L_DP_IDX3_MASK (0xC0U)
23881#define PUF_IDXBLK_L_DP_IDX3_SHIFT (6U)
23882/*! IDX3 - Index 3
23883 */
23884#define PUF_IDXBLK_L_DP_IDX3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX3_SHIFT)) & PUF_IDXBLK_L_DP_IDX3_MASK)
23885#define PUF_IDXBLK_L_DP_IDX4_MASK (0x300U)
23886#define PUF_IDXBLK_L_DP_IDX4_SHIFT (8U)
23887/*! IDX4 - Index 4
23888 */
23889#define PUF_IDXBLK_L_DP_IDX4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX4_SHIFT)) & PUF_IDXBLK_L_DP_IDX4_MASK)
23890#define PUF_IDXBLK_L_DP_IDX5_MASK (0xC00U)
23891#define PUF_IDXBLK_L_DP_IDX5_SHIFT (10U)
23892/*! IDX5 - Index 5
23893 */
23894#define PUF_IDXBLK_L_DP_IDX5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX5_SHIFT)) & PUF_IDXBLK_L_DP_IDX5_MASK)
23895#define PUF_IDXBLK_L_DP_IDX6_MASK (0x3000U)
23896#define PUF_IDXBLK_L_DP_IDX6_SHIFT (12U)
23897/*! IDX6 - Index 6
23898 */
23899#define PUF_IDXBLK_L_DP_IDX6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX6_SHIFT)) & PUF_IDXBLK_L_DP_IDX6_MASK)
23900#define PUF_IDXBLK_L_DP_IDX7_MASK (0xC000U)
23901#define PUF_IDXBLK_L_DP_IDX7_SHIFT (14U)
23902/*! IDX7 - Index 7
23903 */
23904#define PUF_IDXBLK_L_DP_IDX7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_L_DP_IDX7_SHIFT)) & PUF_IDXBLK_L_DP_IDX7_MASK)
23905/*! @} */
23906
23907
23908/*!
23909 * @}
23910 */ /* end of group PUF_Register_Masks */
23911
23912
23913/* PUF - Peripheral instance base addresses */
23914#if (__ARM_FEATURE_CMSE & 0x2)
23915 /** Peripheral PUF base address */
23916 #define PUF_BASE (0x50006000u)
23917 /** Peripheral PUF base address */
23918 #define PUF_BASE_NS (0x40006000u)
23919 /** Peripheral PUF base pointer */
23920 #define PUF ((PUF_Type *)PUF_BASE)
23921 /** Peripheral PUF base pointer */
23922 #define PUF_NS ((PUF_Type *)PUF_BASE_NS)
23923 /** Array initializer of PUF peripheral base addresses */
23924 #define PUF_BASE_ADDRS { PUF_BASE }
23925 /** Array initializer of PUF peripheral base pointers */
23926 #define PUF_BASE_PTRS { PUF }
23927 /** Array initializer of PUF peripheral base addresses */
23928 #define PUF_BASE_ADDRS_NS { PUF_BASE_NS }
23929 /** Array initializer of PUF peripheral base pointers */
23930 #define PUF_BASE_PTRS_NS { PUF_NS }
23931#else
23932 /** Peripheral PUF base address */
23933 #define PUF_BASE (0x40006000u)
23934 /** Peripheral PUF base pointer */
23935 #define PUF ((PUF_Type *)PUF_BASE)
23936 /** Array initializer of PUF peripheral base addresses */
23937 #define PUF_BASE_ADDRS { PUF_BASE }
23938 /** Array initializer of PUF peripheral base pointers */
23939 #define PUF_BASE_PTRS { PUF }
23940#endif
23941
23942/*!
23943 * @}
23944 */ /* end of group PUF_Peripheral_Access_Layer */
23945
23946
23947/* ----------------------------------------------------------------------------
23948 -- RSTCTL0 Peripheral Access Layer
23949 ---------------------------------------------------------------------------- */
23950
23951/*!
23952 * @addtogroup RSTCTL0_Peripheral_Access_Layer RSTCTL0 Peripheral Access Layer
23953 * @{
23954 */
23955
23956/** RSTCTL0 - Register Layout Typedef */
23957typedef struct {
23958 __IO uint32_t SYSRSTSTAT; /**< system reset status register, offset: 0x0 */
23959 uint8_t RESERVED_0[12];
23960 __IO uint32_t PRSTCTL0; /**< peripheral reset control register 0, offset: 0x10 */
23961 __IO uint32_t PRSTCTL1; /**< peripheral reset control register 1, offset: 0x14 */
23962 __IO uint32_t PRSTCTL2; /**< peripheral reset control register 2, offset: 0x18 */
23963 uint8_t RESERVED_1[36];
23964 __O uint32_t PRSTCTL0_SET; /**< peripheral reset set register 0, offset: 0x40 */
23965 __O uint32_t PRSTCTL1_SET; /**< peripheral reset set register 1, offset: 0x44 */
23966 __O uint32_t PRSTCTL2_SET; /**< peripheral reset set register 2, offset: 0x48 */
23967 uint8_t RESERVED_2[36];
23968 __O uint32_t PRSTCTL0_CLR; /**< peripheral reset clear register 0, offset: 0x70 */
23969 __O uint32_t PRSTCTL1_CLR; /**< peripheral reset clear register 1, offset: 0x74 */
23970 __O uint32_t PRSTCTL2_CLR; /**< peripheral reset clear register 2, offset: 0x78 */
23971} RSTCTL0_Type;
23972
23973/* ----------------------------------------------------------------------------
23974 -- RSTCTL0 Register Masks
23975 ---------------------------------------------------------------------------- */
23976
23977/*!
23978 * @addtogroup RSTCTL0_Register_Masks RSTCTL0 Register Masks
23979 * @{
23980 */
23981
23982/*! @name SYSRSTSTAT - system reset status register */
23983/*! @{ */
23984#define RSTCTL0_SYSRSTSTAT_VDD_POR_MASK (0x1U)
23985#define RSTCTL0_SYSRSTSTAT_VDD_POR_SHIFT (0U)
23986/*! VDD_POR - VDD POR Event Detected:
23987 * 0b0..No event detected.
23988 * 0b1..VDD POR event detected. (Writing a '1' to this bit clears this status).
23989 */
23990#define RSTCTL0_SYSRSTSTAT_VDD_POR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_SYSRSTSTAT_VDD_POR_SHIFT)) & RSTCTL0_SYSRSTSTAT_VDD_POR_MASK)
23991#define RSTCTL0_SYSRSTSTAT_PAD_RESET_MASK (0x10U)
23992#define RSTCTL0_SYSRSTSTAT_PAD_RESET_SHIFT (4U)
23993/*! PAD_RESET - PAD RESET Event Detected:
23994 * 0b0..No EVENT Detected.
23995 * 0b1..RESET Detected. (Write 1 to CLR),
23996 */
23997#define RSTCTL0_SYSRSTSTAT_PAD_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_SYSRSTSTAT_PAD_RESET_SHIFT)) & RSTCTL0_SYSRSTSTAT_PAD_RESET_MASK)
23998#define RSTCTL0_SYSRSTSTAT_ARM_APD_RESET_MASK (0x20U)
23999#define RSTCTL0_SYSRSTSTAT_ARM_APD_RESET_SHIFT (5U)
24000/*! ARM_APD_RESET - ARM RESET Event Detected:
24001 * 0b0..No event detected.
24002 * 0b1..ARM reset event detected. (Writing a '1' to this bit clears this status).
24003 */
24004#define RSTCTL0_SYSRSTSTAT_ARM_APD_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_SYSRSTSTAT_ARM_APD_RESET_SHIFT)) & RSTCTL0_SYSRSTSTAT_ARM_APD_RESET_MASK)
24005#define RSTCTL0_SYSRSTSTAT_WDT0_RESET_MASK (0x40U)
24006#define RSTCTL0_SYSRSTSTAT_WDT0_RESET_SHIFT (6U)
24007/*! WDT0_RESET - WDT0 RESET Event Detected:
24008 * 0b0..No EVENT Detected.
24009 * 0b1..WDT0 reset event detected. (Writing a '1' to this bit clears this status).
24010 */
24011#define RSTCTL0_SYSRSTSTAT_WDT0_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_SYSRSTSTAT_WDT0_RESET_SHIFT)) & RSTCTL0_SYSRSTSTAT_WDT0_RESET_MASK)
24012#define RSTCTL0_SYSRSTSTAT_WDT1_RESET_MASK (0x80U)
24013#define RSTCTL0_SYSRSTSTAT_WDT1_RESET_SHIFT (7U)
24014/*! WDT1_RESET - WDT1 RESET Event Detected:
24015 * 0b0..No EVENT Detected.
24016 * 0b1..WDT1 reset event detected. (Writing a 1 to this bit clears this status).
24017 */
24018#define RSTCTL0_SYSRSTSTAT_WDT1_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_SYSRSTSTAT_WDT1_RESET_SHIFT)) & RSTCTL0_SYSRSTSTAT_WDT1_RESET_MASK)
24019/*! @} */
24020
24021/*! @name PRSTCTL0 - peripheral reset control register 0 */
24022/*! @{ */
24023#define RSTCTL0_PRSTCTL0_HIFI_DSP_MASK (0x2U)
24024#define RSTCTL0_PRSTCTL0_HIFI_DSP_SHIFT (1U)
24025/*! HIFI_DSP - HIFI DSP reset control
24026 * 0b0..clear reset
24027 * 0b1..set reset
24028 */
24029#define RSTCTL0_PRSTCTL0_HIFI_DSP(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_HIFI_DSP_SHIFT)) & RSTCTL0_PRSTCTL0_HIFI_DSP_MASK)
24030#define RSTCTL0_PRSTCTL0_POWERQUAD_MASK (0x100U)
24031#define RSTCTL0_PRSTCTL0_POWERQUAD_SHIFT (8U)
24032/*! POWERQUAD - powerquad reset control
24033 * 0b0..clear reset
24034 * 0b1..set reset
24035 */
24036#define RSTCTL0_PRSTCTL0_POWERQUAD(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_POWERQUAD_SHIFT)) & RSTCTL0_PRSTCTL0_POWERQUAD_MASK)
24037#define RSTCTL0_PRSTCTL0_CASPER_MASK (0x200U)
24038#define RSTCTL0_PRSTCTL0_CASPER_SHIFT (9U)
24039/*! CASPER - CAPSER reset control
24040 * 0b0..clear reset
24041 * 0b1..set reset
24042 */
24043#define RSTCTL0_PRSTCTL0_CASPER(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CASPER_SHIFT)) & RSTCTL0_PRSTCTL0_CASPER_MASK)
24044#define RSTCTL0_PRSTCTL0_HASHCRYPT_MASK (0x400U)
24045#define RSTCTL0_PRSTCTL0_HASHCRYPT_SHIFT (10U)
24046/*! HASHCRYPT - HASHCRYPT reset control
24047 * 0b0..clear reset
24048 * 0b1..set reset
24049 */
24050#define RSTCTL0_PRSTCTL0_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_HASHCRYPT_SHIFT)) & RSTCTL0_PRSTCTL0_HASHCRYPT_MASK)
24051#define RSTCTL0_PRSTCTL0_PUF_MASK (0x800U)
24052#define RSTCTL0_PRSTCTL0_PUF_SHIFT (11U)
24053/*! PUF - PUF reset control
24054 * 0b0..clear reset
24055 * 0b1..set reset
24056 */
24057#define RSTCTL0_PRSTCTL0_PUF(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_PUF_SHIFT)) & RSTCTL0_PRSTCTL0_PUF_MASK)
24058#define RSTCTL0_PRSTCTL0_RNG_MASK (0x1000U)
24059#define RSTCTL0_PRSTCTL0_RNG_SHIFT (12U)
24060/*! RNG - RNG reset control
24061 * 0b0..clear reset
24062 * 0b1..set reset
24063 */
24064#define RSTCTL0_PRSTCTL0_RNG(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_RNG_SHIFT)) & RSTCTL0_PRSTCTL0_RNG_MASK)
24065#define RSTCTL0_PRSTCTL0_FLEXSPI_OTFAD_MASK (0x10000U)
24066#define RSTCTL0_PRSTCTL0_FLEXSPI_OTFAD_SHIFT (16U)
24067/*! FLEXSPI_OTFAD - FLEXSPI reset control
24068 * 0b0..clear reset
24069 * 0b1..set reset
24070 */
24071#define RSTCTL0_PRSTCTL0_FLEXSPI_OTFAD(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_FLEXSPI_OTFAD_SHIFT)) & RSTCTL0_PRSTCTL0_FLEXSPI_OTFAD_MASK)
24072#define RSTCTL0_PRSTCTL0_USBHS_PHY_MASK (0x100000U)
24073#define RSTCTL0_PRSTCTL0_USBHS_PHY_SHIFT (20U)
24074/*! USBHS_PHY - USB PHY reset control
24075 * 0b0..clear reset
24076 * 0b1..set reset
24077 */
24078#define RSTCTL0_PRSTCTL0_USBHS_PHY(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_USBHS_PHY_SHIFT)) & RSTCTL0_PRSTCTL0_USBHS_PHY_MASK)
24079#define RSTCTL0_PRSTCTL0_USBHS_DEVICE_MASK (0x200000U)
24080#define RSTCTL0_PRSTCTL0_USBHS_DEVICE_SHIFT (21U)
24081/*! USBHS_DEVICE - USB DEVICE reset control
24082 * 0b0..clear reset
24083 * 0b1..set reset
24084 */
24085#define RSTCTL0_PRSTCTL0_USBHS_DEVICE(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_USBHS_DEVICE_SHIFT)) & RSTCTL0_PRSTCTL0_USBHS_DEVICE_MASK)
24086#define RSTCTL0_PRSTCTL0_USBHS_HOST_MASK (0x400000U)
24087#define RSTCTL0_PRSTCTL0_USBHS_HOST_SHIFT (22U)
24088/*! USBHS_HOST - USB HOST reset control
24089 * 0b0..clear reset
24090 * 0b1..set reset
24091 */
24092#define RSTCTL0_PRSTCTL0_USBHS_HOST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_USBHS_HOST_SHIFT)) & RSTCTL0_PRSTCTL0_USBHS_HOST_MASK)
24093#define RSTCTL0_PRSTCTL0_USBHS_SRAM_MASK (0x800000U)
24094#define RSTCTL0_PRSTCTL0_USBHS_SRAM_SHIFT (23U)
24095/*! USBHS_SRAM - USBHS RAM reset control
24096 * 0b0..clear reset
24097 * 0b1..set reset
24098 */
24099#define RSTCTL0_PRSTCTL0_USBHS_SRAM(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_USBHS_SRAM_SHIFT)) & RSTCTL0_PRSTCTL0_USBHS_SRAM_MASK)
24100#define RSTCTL0_PRSTCTL0_SCT_MASK (0x1000000U)
24101#define RSTCTL0_PRSTCTL0_SCT_SHIFT (24U)
24102/*! SCT - SCT reset control
24103 * 0b0..clear reset
24104 * 0b1..set reset
24105 */
24106#define RSTCTL0_PRSTCTL0_SCT(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SCT_SHIFT)) & RSTCTL0_PRSTCTL0_SCT_MASK)
24107/*! @} */
24108
24109/*! @name PRSTCTL1 - peripheral reset control register 1 */
24110/*! @{ */
24111#define RSTCTL0_PRSTCTL1_SDIO0_MASK (0x4U)
24112#define RSTCTL0_PRSTCTL1_SDIO0_SHIFT (2U)
24113/*! SDIO0 - SDIO0 reset control
24114 * 0b0..clear reset
24115 * 0b1..set reset
24116 */
24117#define RSTCTL0_PRSTCTL1_SDIO0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SDIO0_SHIFT)) & RSTCTL0_PRSTCTL1_SDIO0_MASK)
24118#define RSTCTL0_PRSTCTL1_SDIO1_MASK (0x8U)
24119#define RSTCTL0_PRSTCTL1_SDIO1_SHIFT (3U)
24120/*! SDIO1 - SDIO1 reset control
24121 * 0b0..clear reset
24122 * 0b1..set reset
24123 */
24124#define RSTCTL0_PRSTCTL1_SDIO1(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SDIO1_SHIFT)) & RSTCTL0_PRSTCTL1_SDIO1_MASK)
24125#define RSTCTL0_PRSTCTL1_ACMP0_MASK (0x8000U)
24126#define RSTCTL0_PRSTCTL1_ACMP0_SHIFT (15U)
24127/*! ACMP0 - Analog comparator reset control
24128 * 0b0..clear reset
24129 * 0b1..set reset
24130 */
24131#define RSTCTL0_PRSTCTL1_ACMP0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_ACMP0_SHIFT)) & RSTCTL0_PRSTCTL1_ACMP0_MASK)
24132#define RSTCTL0_PRSTCTL1_ADC0_MASK (0x10000U)
24133#define RSTCTL0_PRSTCTL1_ADC0_SHIFT (16U)
24134/*! ADC0 - ADC reset control
24135 * 0b0..clear reset
24136 * 0b1..set reset
24137 */
24138#define RSTCTL0_PRSTCTL1_ADC0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_ADC0_SHIFT)) & RSTCTL0_PRSTCTL1_ADC0_MASK)
24139#define RSTCTL0_PRSTCTL1_SHSGPIO0_MASK (0x1000000U)
24140#define RSTCTL0_PRSTCTL1_SHSGPIO0_SHIFT (24U)
24141/*! SHSGPIO0 - SHSGPIO0 reset control
24142 * 0b0..clear reset
24143 * 0b1..set reset
24144 */
24145#define RSTCTL0_PRSTCTL1_SHSGPIO0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SHSGPIO0_SHIFT)) & RSTCTL0_PRSTCTL1_SHSGPIO0_MASK)
24146/*! @} */
24147
24148/*! @name PRSTCTL2 - peripheral reset control register 2 */
24149/*! @{ */
24150#define RSTCTL0_PRSTCTL2_UTICK0_MASK (0x1U)
24151#define RSTCTL0_PRSTCTL2_UTICK0_SHIFT (0U)
24152/*! UTICK0 - utick reset control
24153 * 0b0..clear reset
24154 * 0b1..set reset
24155 */
24156#define RSTCTL0_PRSTCTL2_UTICK0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL2_UTICK0_SHIFT)) & RSTCTL0_PRSTCTL2_UTICK0_MASK)
24157#define RSTCTL0_PRSTCTL2_WWDT0_MASK (0x2U)
24158#define RSTCTL0_PRSTCTL2_WWDT0_SHIFT (1U)
24159/*! WWDT0 - wdt reset control
24160 * 0b0..clear reset
24161 * 0b1..set reset
24162 */
24163#define RSTCTL0_PRSTCTL2_WWDT0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL2_WWDT0_SHIFT)) & RSTCTL0_PRSTCTL2_WWDT0_MASK)
24164/*! @} */
24165
24166/*! @name PRSTCTL0_SET - peripheral reset set register 0 */
24167/*! @{ */
24168#define RSTCTL0_PRSTCTL0_SET_HIFI_DSP_MASK (0x2U)
24169#define RSTCTL0_PRSTCTL0_SET_HIFI_DSP_SHIFT (1U)
24170/*! HIFI_DSP - HIFI DSP reset set
24171 * 0b0..No Effect
24172 * 0b1..Sets the PRSTCTL0 Bit
24173 */
24174#define RSTCTL0_PRSTCTL0_SET_HIFI_DSP(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_HIFI_DSP_SHIFT)) & RSTCTL0_PRSTCTL0_SET_HIFI_DSP_MASK)
24175#define RSTCTL0_PRSTCTL0_SET_POWERQUAD_MASK (0x100U)
24176#define RSTCTL0_PRSTCTL0_SET_POWERQUAD_SHIFT (8U)
24177/*! POWERQUAD - powerquad reset set
24178 * 0b0..No Effect
24179 * 0b1..Sets the PRSTCTL0 Bit
24180 */
24181#define RSTCTL0_PRSTCTL0_SET_POWERQUAD(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_POWERQUAD_SHIFT)) & RSTCTL0_PRSTCTL0_SET_POWERQUAD_MASK)
24182#define RSTCTL0_PRSTCTL0_SET_CASPER_MASK (0x200U)
24183#define RSTCTL0_PRSTCTL0_SET_CASPER_SHIFT (9U)
24184/*! CASPER - CAPSER reset set
24185 * 0b0..No Effect
24186 * 0b1..Sets the PRSTCTL0 Bit
24187 */
24188#define RSTCTL0_PRSTCTL0_SET_CASPER(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_CASPER_SHIFT)) & RSTCTL0_PRSTCTL0_SET_CASPER_MASK)
24189#define RSTCTL0_PRSTCTL0_SET_HASHCRYPT_MASK (0x400U)
24190#define RSTCTL0_PRSTCTL0_SET_HASHCRYPT_SHIFT (10U)
24191/*! HASHCRYPT - HASHCRYPT reset set
24192 * 0b0..No Effect
24193 * 0b1..Sets the PRSTCTL0 Bit
24194 */
24195#define RSTCTL0_PRSTCTL0_SET_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_HASHCRYPT_SHIFT)) & RSTCTL0_PRSTCTL0_SET_HASHCRYPT_MASK)
24196#define RSTCTL0_PRSTCTL0_SET_PUF_MASK (0x800U)
24197#define RSTCTL0_PRSTCTL0_SET_PUF_SHIFT (11U)
24198/*! PUF - PUF reset set
24199 * 0b0..No Effect
24200 * 0b1..Sets the PRSTCTL0 Bit
24201 */
24202#define RSTCTL0_PRSTCTL0_SET_PUF(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_PUF_SHIFT)) & RSTCTL0_PRSTCTL0_SET_PUF_MASK)
24203#define RSTCTL0_PRSTCTL0_SET_RNG_MASK (0x1000U)
24204#define RSTCTL0_PRSTCTL0_SET_RNG_SHIFT (12U)
24205/*! RNG - RNG reset set
24206 * 0b0..No Effect
24207 * 0b1..Sets the PRSTCTL0 Bit
24208 */
24209#define RSTCTL0_PRSTCTL0_SET_RNG(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_RNG_SHIFT)) & RSTCTL0_PRSTCTL0_SET_RNG_MASK)
24210#define RSTCTL0_PRSTCTL0_SET_FLEXSPI_OTFAD_MASK (0x10000U)
24211#define RSTCTL0_PRSTCTL0_SET_FLEXSPI_OTFAD_SHIFT (16U)
24212/*! FLEXSPI_OTFAD - FLEXSPI reset set
24213 * 0b0..No Effect
24214 * 0b1..Sets the PRSTCTL0 Bit
24215 */
24216#define RSTCTL0_PRSTCTL0_SET_FLEXSPI_OTFAD(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_FLEXSPI_OTFAD_SHIFT)) & RSTCTL0_PRSTCTL0_SET_FLEXSPI_OTFAD_MASK)
24217#define RSTCTL0_PRSTCTL0_SET_USBHS_PHY_MASK (0x100000U)
24218#define RSTCTL0_PRSTCTL0_SET_USBHS_PHY_SHIFT (20U)
24219/*! USBHS_PHY - USB PHY reset set
24220 * 0b0..No Effect
24221 * 0b1..Sets the PRSTCTL0 Bit
24222 */
24223#define RSTCTL0_PRSTCTL0_SET_USBHS_PHY(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_USBHS_PHY_SHIFT)) & RSTCTL0_PRSTCTL0_SET_USBHS_PHY_MASK)
24224#define RSTCTL0_PRSTCTL0_SET_USBHS_DEVICE_MASK (0x200000U)
24225#define RSTCTL0_PRSTCTL0_SET_USBHS_DEVICE_SHIFT (21U)
24226/*! USBHS_DEVICE - USB DEVICE reset set
24227 * 0b0..No Effect
24228 * 0b1..Sets the PRSTCTL0 Bit
24229 */
24230#define RSTCTL0_PRSTCTL0_SET_USBHS_DEVICE(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_USBHS_DEVICE_SHIFT)) & RSTCTL0_PRSTCTL0_SET_USBHS_DEVICE_MASK)
24231#define RSTCTL0_PRSTCTL0_SET_USBHS_HOST_MASK (0x400000U)
24232#define RSTCTL0_PRSTCTL0_SET_USBHS_HOST_SHIFT (22U)
24233/*! USBHS_HOST - USB HOST reset set
24234 * 0b0..No Effect
24235 * 0b1..Sets the PRSTCTL0 Bit
24236 */
24237#define RSTCTL0_PRSTCTL0_SET_USBHS_HOST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_USBHS_HOST_SHIFT)) & RSTCTL0_PRSTCTL0_SET_USBHS_HOST_MASK)
24238#define RSTCTL0_PRSTCTL0_SET_USBHS_SRAM_MASK (0x800000U)
24239#define RSTCTL0_PRSTCTL0_SET_USBHS_SRAM_SHIFT (23U)
24240/*! USBHS_SRAM - USBHS RAM reset set
24241 * 0b0..No Effect
24242 * 0b1..Sets the PRSTCTL0 Bit
24243 */
24244#define RSTCTL0_PRSTCTL0_SET_USBHS_SRAM(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_USBHS_SRAM_SHIFT)) & RSTCTL0_PRSTCTL0_SET_USBHS_SRAM_MASK)
24245#define RSTCTL0_PRSTCTL0_SET_SCT_MASK (0x1000000U)
24246#define RSTCTL0_PRSTCTL0_SET_SCT_SHIFT (24U)
24247/*! SCT - SCT reset set
24248 * 0b0..No Effect
24249 * 0b1..Sets the PRSTCTL0 Bit
24250 */
24251#define RSTCTL0_PRSTCTL0_SET_SCT(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_SET_SCT_SHIFT)) & RSTCTL0_PRSTCTL0_SET_SCT_MASK)
24252/*! @} */
24253
24254/*! @name PRSTCTL1_SET - peripheral reset set register 1 */
24255/*! @{ */
24256#define RSTCTL0_PRSTCTL1_SET_SDIO0_MASK (0x4U)
24257#define RSTCTL0_PRSTCTL1_SET_SDIO0_SHIFT (2U)
24258/*! SDIO0 - SDIO0 reset set
24259 * 0b0..No Effect
24260 * 0b1..Sets the PRSTCTL1 Bit
24261 */
24262#define RSTCTL0_PRSTCTL1_SET_SDIO0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SET_SDIO0_SHIFT)) & RSTCTL0_PRSTCTL1_SET_SDIO0_MASK)
24263#define RSTCTL0_PRSTCTL1_SET_SDIO1_MASK (0x8U)
24264#define RSTCTL0_PRSTCTL1_SET_SDIO1_SHIFT (3U)
24265/*! SDIO1 - SDIO1 reset set
24266 * 0b0..No Effect
24267 * 0b1..Sets the PRSTCTL1 Bit
24268 */
24269#define RSTCTL0_PRSTCTL1_SET_SDIO1(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SET_SDIO1_SHIFT)) & RSTCTL0_PRSTCTL1_SET_SDIO1_MASK)
24270#define RSTCTL0_PRSTCTL1_SET_ACMP0_MASK (0x8000U)
24271#define RSTCTL0_PRSTCTL1_SET_ACMP0_SHIFT (15U)
24272/*! ACMP0 - Analog comparator reset set
24273 * 0b0..No Effect
24274 * 0b1..Sets the PRSTCTL1 Bit
24275 */
24276#define RSTCTL0_PRSTCTL1_SET_ACMP0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SET_ACMP0_SHIFT)) & RSTCTL0_PRSTCTL1_SET_ACMP0_MASK)
24277#define RSTCTL0_PRSTCTL1_SET_ADC0_MASK (0x10000U)
24278#define RSTCTL0_PRSTCTL1_SET_ADC0_SHIFT (16U)
24279/*! ADC0 - ADC reset set
24280 * 0b0..No Effect
24281 * 0b1..Sets the PRSTCTL1 Bit
24282 */
24283#define RSTCTL0_PRSTCTL1_SET_ADC0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SET_ADC0_SHIFT)) & RSTCTL0_PRSTCTL1_SET_ADC0_MASK)
24284#define RSTCTL0_PRSTCTL1_SET_SHSGPIO0_MASK (0x1000000U)
24285#define RSTCTL0_PRSTCTL1_SET_SHSGPIO0_SHIFT (24U)
24286/*! SHSGPIO0 - SHSGPIO0 reset set
24287 * 0b0..No Effect
24288 * 0b1..Sets the PRSTCTL1 Bit
24289 */
24290#define RSTCTL0_PRSTCTL1_SET_SHSGPIO0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_SET_SHSGPIO0_SHIFT)) & RSTCTL0_PRSTCTL1_SET_SHSGPIO0_MASK)
24291/*! @} */
24292
24293/*! @name PRSTCTL2_SET - peripheral reset set register 2 */
24294/*! @{ */
24295#define RSTCTL0_PRSTCTL2_SET_UTICK0_MASK (0x1U)
24296#define RSTCTL0_PRSTCTL2_SET_UTICK0_SHIFT (0U)
24297/*! UTICK0 - utick reset set
24298 * 0b0..No Effect
24299 * 0b1..Sets the PRSTCTL2 Bit
24300 */
24301#define RSTCTL0_PRSTCTL2_SET_UTICK0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL2_SET_UTICK0_SHIFT)) & RSTCTL0_PRSTCTL2_SET_UTICK0_MASK)
24302#define RSTCTL0_PRSTCTL2_SET_WWDT0_MASK (0x2U)
24303#define RSTCTL0_PRSTCTL2_SET_WWDT0_SHIFT (1U)
24304/*! WWDT0 - wdt reset set
24305 * 0b0..No Effect
24306 * 0b1..Sets the PRSTCTL2 Bit
24307 */
24308#define RSTCTL0_PRSTCTL2_SET_WWDT0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL2_SET_WWDT0_SHIFT)) & RSTCTL0_PRSTCTL2_SET_WWDT0_MASK)
24309/*! @} */
24310
24311/*! @name PRSTCTL0_CLR - peripheral reset clear register 0 */
24312/*! @{ */
24313#define RSTCTL0_PRSTCTL0_CLR_HIFI_DSP_MASK (0x2U)
24314#define RSTCTL0_PRSTCTL0_CLR_HIFI_DSP_SHIFT (1U)
24315/*! HIFI_DSP - HIFI DSP reset clear
24316 * 0b0..No Effect
24317 * 0b1..Clears the PRSTCTL0 Bit
24318 */
24319#define RSTCTL0_PRSTCTL0_CLR_HIFI_DSP(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_HIFI_DSP_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_HIFI_DSP_MASK)
24320#define RSTCTL0_PRSTCTL0_CLR_POWERQUAD_MASK (0x100U)
24321#define RSTCTL0_PRSTCTL0_CLR_POWERQUAD_SHIFT (8U)
24322/*! POWERQUAD - powerquad reset clear
24323 * 0b0..No Effect
24324 * 0b1..Clears the PRSTCTL0 Bit
24325 */
24326#define RSTCTL0_PRSTCTL0_CLR_POWERQUAD(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_POWERQUAD_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_POWERQUAD_MASK)
24327#define RSTCTL0_PRSTCTL0_CLR_CASPER_MASK (0x200U)
24328#define RSTCTL0_PRSTCTL0_CLR_CASPER_SHIFT (9U)
24329/*! CASPER - CAPSER reset clear
24330 * 0b0..No Effect
24331 * 0b1..Clears the PRSTCTL0 Bit
24332 */
24333#define RSTCTL0_PRSTCTL0_CLR_CASPER(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_CASPER_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_CASPER_MASK)
24334#define RSTCTL0_PRSTCTL0_CLR_HASHCRYPT_MASK (0x400U)
24335#define RSTCTL0_PRSTCTL0_CLR_HASHCRYPT_SHIFT (10U)
24336/*! HASHCRYPT - HASHCRYPT reset clear
24337 * 0b0..No Effect
24338 * 0b1..Clears the PRSTCTL0 Bit
24339 */
24340#define RSTCTL0_PRSTCTL0_CLR_HASHCRYPT(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_HASHCRYPT_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_HASHCRYPT_MASK)
24341#define RSTCTL0_PRSTCTL0_CLR_PUF_MASK (0x800U)
24342#define RSTCTL0_PRSTCTL0_CLR_PUF_SHIFT (11U)
24343/*! PUF - PUF reset clear
24344 * 0b0..No Effect
24345 * 0b1..Clears the PRSTCTL0 Bit
24346 */
24347#define RSTCTL0_PRSTCTL0_CLR_PUF(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_PUF_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_PUF_MASK)
24348#define RSTCTL0_PRSTCTL0_CLR_RNG_MASK (0x1000U)
24349#define RSTCTL0_PRSTCTL0_CLR_RNG_SHIFT (12U)
24350/*! RNG - RNG reset clear
24351 * 0b0..No Effect
24352 * 0b1..Clears the PRSTCTL0 Bit
24353 */
24354#define RSTCTL0_PRSTCTL0_CLR_RNG(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_RNG_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_RNG_MASK)
24355#define RSTCTL0_PRSTCTL0_CLR_FLEXSPI_OTFAD_MASK (0x10000U)
24356#define RSTCTL0_PRSTCTL0_CLR_FLEXSPI_OTFAD_SHIFT (16U)
24357/*! FLEXSPI_OTFAD - FLEXSPI reset clear
24358 * 0b0..No Effect
24359 * 0b1..Clears the PRSTCTL0 Bit
24360 */
24361#define RSTCTL0_PRSTCTL0_CLR_FLEXSPI_OTFAD(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_FLEXSPI_OTFAD_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_FLEXSPI_OTFAD_MASK)
24362#define RSTCTL0_PRSTCTL0_CLR_USBHS_PHY_MASK (0x100000U)
24363#define RSTCTL0_PRSTCTL0_CLR_USBHS_PHY_SHIFT (20U)
24364/*! USBHS_PHY - USB PHY reset clear
24365 * 0b0..No Effect
24366 * 0b1..Clears the PRSTCTL0 Bit
24367 */
24368#define RSTCTL0_PRSTCTL0_CLR_USBHS_PHY(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_USBHS_PHY_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_USBHS_PHY_MASK)
24369#define RSTCTL0_PRSTCTL0_CLR_USBHS_DEVICE_MASK (0x200000U)
24370#define RSTCTL0_PRSTCTL0_CLR_USBHS_DEVICE_SHIFT (21U)
24371/*! USBHS_DEVICE - USB DEVICE reset clear
24372 * 0b0..No Effect
24373 * 0b1..Clears the PRSTCTL0 Bit
24374 */
24375#define RSTCTL0_PRSTCTL0_CLR_USBHS_DEVICE(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_USBHS_DEVICE_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_USBHS_DEVICE_MASK)
24376#define RSTCTL0_PRSTCTL0_CLR_USBHS_HOST_MASK (0x400000U)
24377#define RSTCTL0_PRSTCTL0_CLR_USBHS_HOST_SHIFT (22U)
24378/*! USBHS_HOST - USB HOST reset clear
24379 * 0b0..No Effect
24380 * 0b1..Clears the PRSTCTL0 Bit
24381 */
24382#define RSTCTL0_PRSTCTL0_CLR_USBHS_HOST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_USBHS_HOST_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_USBHS_HOST_MASK)
24383#define RSTCTL0_PRSTCTL0_CLR_USBHS_SRAM_MASK (0x800000U)
24384#define RSTCTL0_PRSTCTL0_CLR_USBHS_SRAM_SHIFT (23U)
24385/*! USBHS_SRAM - USBHS RAM reset clear
24386 * 0b0..No Effect
24387 * 0b1..Clears the PRSTCTL0 Bit
24388 */
24389#define RSTCTL0_PRSTCTL0_CLR_USBHS_SRAM(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_USBHS_SRAM_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_USBHS_SRAM_MASK)
24390#define RSTCTL0_PRSTCTL0_CLR_SCT_MASK (0x1000000U)
24391#define RSTCTL0_PRSTCTL0_CLR_SCT_SHIFT (24U)
24392/*! SCT - SCT reset clear
24393 * 0b0..No Effect
24394 * 0b1..Clears the PRSTCTL0 Bit
24395 */
24396#define RSTCTL0_PRSTCTL0_CLR_SCT(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL0_CLR_SCT_SHIFT)) & RSTCTL0_PRSTCTL0_CLR_SCT_MASK)
24397/*! @} */
24398
24399/*! @name PRSTCTL1_CLR - peripheral reset clear register 1 */
24400/*! @{ */
24401#define RSTCTL0_PRSTCTL1_CLR_SDIO0_MASK (0x4U)
24402#define RSTCTL0_PRSTCTL1_CLR_SDIO0_SHIFT (2U)
24403/*! SDIO0 - SDIO0 reset clear
24404 * 0b0..No Effect
24405 * 0b1..Clears the PRSTCTL1 Bit
24406 */
24407#define RSTCTL0_PRSTCTL1_CLR_SDIO0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_CLR_SDIO0_SHIFT)) & RSTCTL0_PRSTCTL1_CLR_SDIO0_MASK)
24408#define RSTCTL0_PRSTCTL1_CLR_SDIO1_MASK (0x8U)
24409#define RSTCTL0_PRSTCTL1_CLR_SDIO1_SHIFT (3U)
24410/*! SDIO1 - SDIO1 reset clear
24411 * 0b0..No Effect
24412 * 0b1..Clears the PRSTCTL1 Bit
24413 */
24414#define RSTCTL0_PRSTCTL1_CLR_SDIO1(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_CLR_SDIO1_SHIFT)) & RSTCTL0_PRSTCTL1_CLR_SDIO1_MASK)
24415#define RSTCTL0_PRSTCTL1_CLR_ACMP0_MASK (0x8000U)
24416#define RSTCTL0_PRSTCTL1_CLR_ACMP0_SHIFT (15U)
24417/*! ACMP0 - Analog comparator reset clear
24418 * 0b0..No Effect
24419 * 0b1..Clears the PRSTCTL1 Bit
24420 */
24421#define RSTCTL0_PRSTCTL1_CLR_ACMP0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_CLR_ACMP0_SHIFT)) & RSTCTL0_PRSTCTL1_CLR_ACMP0_MASK)
24422#define RSTCTL0_PRSTCTL1_CLR_ADC0_MASK (0x10000U)
24423#define RSTCTL0_PRSTCTL1_CLR_ADC0_SHIFT (16U)
24424/*! ADC0 - ADC reset clear
24425 * 0b0..No Effect
24426 * 0b1..Clears the PRSTCTL1 Bit
24427 */
24428#define RSTCTL0_PRSTCTL1_CLR_ADC0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_CLR_ADC0_SHIFT)) & RSTCTL0_PRSTCTL1_CLR_ADC0_MASK)
24429#define RSTCTL0_PRSTCTL1_CLR_SHSGPIO0_MASK (0x1000000U)
24430#define RSTCTL0_PRSTCTL1_CLR_SHSGPIO0_SHIFT (24U)
24431/*! SHSGPIO0 - SHSGPIO0 reset clear
24432 * 0b0..No Effect
24433 * 0b1..Clears the PRSTCTL1 Bit
24434 */
24435#define RSTCTL0_PRSTCTL1_CLR_SHSGPIO0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL1_CLR_SHSGPIO0_SHIFT)) & RSTCTL0_PRSTCTL1_CLR_SHSGPIO0_MASK)
24436/*! @} */
24437
24438/*! @name PRSTCTL2_CLR - peripheral reset clear register 2 */
24439/*! @{ */
24440#define RSTCTL0_PRSTCTL2_CLR_UTICK0_MASK (0x1U)
24441#define RSTCTL0_PRSTCTL2_CLR_UTICK0_SHIFT (0U)
24442/*! UTICK0 - utick reset clear
24443 * 0b0..No Effect
24444 * 0b1..Clears the PRSTCTL2 Bit
24445 */
24446#define RSTCTL0_PRSTCTL2_CLR_UTICK0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL2_CLR_UTICK0_SHIFT)) & RSTCTL0_PRSTCTL2_CLR_UTICK0_MASK)
24447#define RSTCTL0_PRSTCTL2_CLR_WWDT0_MASK (0x2U)
24448#define RSTCTL0_PRSTCTL2_CLR_WWDT0_SHIFT (1U)
24449/*! WWDT0 - wdt reset clear
24450 * 0b0..No Effect
24451 * 0b1..Clears the PRSTCTL2 Bit
24452 */
24453#define RSTCTL0_PRSTCTL2_CLR_WWDT0(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL0_PRSTCTL2_CLR_WWDT0_SHIFT)) & RSTCTL0_PRSTCTL2_CLR_WWDT0_MASK)
24454/*! @} */
24455
24456
24457/*!
24458 * @}
24459 */ /* end of group RSTCTL0_Register_Masks */
24460
24461
24462/* RSTCTL0 - Peripheral instance base addresses */
24463#if (__ARM_FEATURE_CMSE & 0x2)
24464 /** Peripheral RSTCTL0 base address */
24465 #define RSTCTL0_BASE (0x50000000u)
24466 /** Peripheral RSTCTL0 base address */
24467 #define RSTCTL0_BASE_NS (0x40000000u)
24468 /** Peripheral RSTCTL0 base pointer */
24469 #define RSTCTL0 ((RSTCTL0_Type *)RSTCTL0_BASE)
24470 /** Peripheral RSTCTL0 base pointer */
24471 #define RSTCTL0_NS ((RSTCTL0_Type *)RSTCTL0_BASE_NS)
24472 /** Array initializer of RSTCTL0 peripheral base addresses */
24473 #define RSTCTL0_BASE_ADDRS { RSTCTL0_BASE }
24474 /** Array initializer of RSTCTL0 peripheral base pointers */
24475 #define RSTCTL0_BASE_PTRS { RSTCTL0 }
24476 /** Array initializer of RSTCTL0 peripheral base addresses */
24477 #define RSTCTL0_BASE_ADDRS_NS { RSTCTL0_BASE_NS }
24478 /** Array initializer of RSTCTL0 peripheral base pointers */
24479 #define RSTCTL0_BASE_PTRS_NS { RSTCTL0_NS }
24480#else
24481 /** Peripheral RSTCTL0 base address */
24482 #define RSTCTL0_BASE (0x40000000u)
24483 /** Peripheral RSTCTL0 base pointer */
24484 #define RSTCTL0 ((RSTCTL0_Type *)RSTCTL0_BASE)
24485 /** Array initializer of RSTCTL0 peripheral base addresses */
24486 #define RSTCTL0_BASE_ADDRS { RSTCTL0_BASE }
24487 /** Array initializer of RSTCTL0 peripheral base pointers */
24488 #define RSTCTL0_BASE_PTRS { RSTCTL0 }
24489#endif
24490
24491/*!
24492 * @}
24493 */ /* end of group RSTCTL0_Peripheral_Access_Layer */
24494
24495
24496/* ----------------------------------------------------------------------------
24497 -- RSTCTL1 Peripheral Access Layer
24498 ---------------------------------------------------------------------------- */
24499
24500/*!
24501 * @addtogroup RSTCTL1_Peripheral_Access_Layer RSTCTL1 Peripheral Access Layer
24502 * @{
24503 */
24504
24505/** RSTCTL1 - Register Layout Typedef */
24506typedef struct {
24507 __IO uint32_t SYSRSTSTAT; /**< system reset status register, offset: 0x0 */
24508 uint8_t RESERVED_0[12];
24509 __IO uint32_t PRSTCTL0; /**< peripheral reset control register 0, offset: 0x10 */
24510 __IO uint32_t PRSTCTL1; /**< peripheral reset control register 1, offset: 0x14 */
24511 __IO uint32_t PRSTCTL2; /**< peripheral reset control register 2, offset: 0x18 */
24512 uint8_t RESERVED_1[36];
24513 __O uint32_t PRSTCTL0_SET; /**< peripheral reset set register 0, offset: 0x40 */
24514 __O uint32_t PRSTCTL1_SET; /**< peripheral reset set register 1, offset: 0x44 */
24515 __O uint32_t PRSTCTL2_SET; /**< peripheral reset set register 2, offset: 0x48 */
24516 uint8_t RESERVED_2[36];
24517 __O uint32_t PRSTCTL0_CLR; /**< peripheral reset clear register 0, offset: 0x70 */
24518 __O uint32_t PRSTCTL1_CLR; /**< peripheral reset clear register 1, offset: 0x74 */
24519 __O uint32_t PRSTCTL2_CLR; /**< peripheral reset clear register 2, offset: 0x78 */
24520} RSTCTL1_Type;
24521
24522/* ----------------------------------------------------------------------------
24523 -- RSTCTL1 Register Masks
24524 ---------------------------------------------------------------------------- */
24525
24526/*!
24527 * @addtogroup RSTCTL1_Register_Masks RSTCTL1 Register Masks
24528 * @{
24529 */
24530
24531/*! @name SYSRSTSTAT - system reset status register */
24532/*! @{ */
24533#define RSTCTL1_SYSRSTSTAT_VDD_POR_MASK (0x1U)
24534#define RSTCTL1_SYSRSTSTAT_VDD_POR_SHIFT (0U)
24535/*! VDD_POR - VDD POR Event Detected:
24536 * 0b0..No event detected.
24537 * 0b1..VDD POR event detected. (Writing a 1 to this bit clears this status).
24538 */
24539#define RSTCTL1_SYSRSTSTAT_VDD_POR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_SYSRSTSTAT_VDD_POR_SHIFT)) & RSTCTL1_SYSRSTSTAT_VDD_POR_MASK)
24540#define RSTCTL1_SYSRSTSTAT_PAD_RESET_MASK (0x10U)
24541#define RSTCTL1_SYSRSTSTAT_PAD_RESET_SHIFT (4U)
24542/*! PAD_RESET - PAD RESET Event Detected:
24543 * 0b0..No EVENT Detected.
24544 * 0b1..RESET Detected. (Write 1 to CLR),
24545 */
24546#define RSTCTL1_SYSRSTSTAT_PAD_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_SYSRSTSTAT_PAD_RESET_SHIFT)) & RSTCTL1_SYSRSTSTAT_PAD_RESET_MASK)
24547#define RSTCTL1_SYSRSTSTAT_ARM_APD_RESET_MASK (0x20U)
24548#define RSTCTL1_SYSRSTSTAT_ARM_APD_RESET_SHIFT (5U)
24549/*! ARM_APD_RESET - ARM RESET Event Detected:
24550 * 0b0..No event detected.
24551 * 0b1..ARM reset event detected. (Writing a 1™ to this bit clears this status).
24552 */
24553#define RSTCTL1_SYSRSTSTAT_ARM_APD_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_SYSRSTSTAT_ARM_APD_RESET_SHIFT)) & RSTCTL1_SYSRSTSTAT_ARM_APD_RESET_MASK)
24554#define RSTCTL1_SYSRSTSTAT_WDT0_RESET_MASK (0x40U)
24555#define RSTCTL1_SYSRSTSTAT_WDT0_RESET_SHIFT (6U)
24556/*! WDT0_RESET - WDT0 RESET Event Detected:
24557 * 0b0..No EVENT Detected.
24558 * 0b1..WDT0 reset event detected. (Writing a 1™ to this bit clears this status).
24559 */
24560#define RSTCTL1_SYSRSTSTAT_WDT0_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_SYSRSTSTAT_WDT0_RESET_SHIFT)) & RSTCTL1_SYSRSTSTAT_WDT0_RESET_MASK)
24561#define RSTCTL1_SYSRSTSTAT_WDT1_RESET_MASK (0x80U)
24562#define RSTCTL1_SYSRSTSTAT_WDT1_RESET_SHIFT (7U)
24563/*! WDT1_RESET - WDT1 RESET Event Detected:
24564 * 0b0..No EVENT Detected.
24565 * 0b1..WDT1 reset event detected. (Writing a 1 to this bit clears this status).
24566 */
24567#define RSTCTL1_SYSRSTSTAT_WDT1_RESET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_SYSRSTSTAT_WDT1_RESET_SHIFT)) & RSTCTL1_SYSRSTSTAT_WDT1_RESET_MASK)
24568/*! @} */
24569
24570/*! @name PRSTCTL0 - peripheral reset control register 0 */
24571/*! @{ */
24572#define RSTCTL1_PRSTCTL0_FLEXCOMM0_RST_MASK (0x100U)
24573#define RSTCTL1_PRSTCTL0_FLEXCOMM0_RST_SHIFT (8U)
24574/*! FLEXCOMM0_RST - FLEXCOMM0 reset control
24575 * 0b0..clear reset
24576 * 0b1..set reset
24577 */
24578#define RSTCTL1_PRSTCTL0_FLEXCOMM0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM0_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM0_RST_MASK)
24579#define RSTCTL1_PRSTCTL0_FLEXCOMM1_RST_MASK (0x200U)
24580#define RSTCTL1_PRSTCTL0_FLEXCOMM1_RST_SHIFT (9U)
24581/*! FLEXCOMM1_RST - FLEXCOMM1 reset control
24582 * 0b0..clear reset
24583 * 0b1..set reset
24584 */
24585#define RSTCTL1_PRSTCTL0_FLEXCOMM1_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM1_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM1_RST_MASK)
24586#define RSTCTL1_PRSTCTL0_FLEXCOMM2_RST_MASK (0x400U)
24587#define RSTCTL1_PRSTCTL0_FLEXCOMM2_RST_SHIFT (10U)
24588/*! FLEXCOMM2_RST - FLEXCOMM2 reset control
24589 * 0b0..clear reset
24590 * 0b1..set reset
24591 */
24592#define RSTCTL1_PRSTCTL0_FLEXCOMM2_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM2_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM2_RST_MASK)
24593#define RSTCTL1_PRSTCTL0_FLEXCOMM3_RST_MASK (0x800U)
24594#define RSTCTL1_PRSTCTL0_FLEXCOMM3_RST_SHIFT (11U)
24595/*! FLEXCOMM3_RST - FLEXCOMM3 reset control
24596 * 0b0..clear reset
24597 * 0b1..set reset
24598 */
24599#define RSTCTL1_PRSTCTL0_FLEXCOMM3_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM3_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM3_RST_MASK)
24600#define RSTCTL1_PRSTCTL0_FLEXCOMM4_RST_MASK (0x1000U)
24601#define RSTCTL1_PRSTCTL0_FLEXCOMM4_RST_SHIFT (12U)
24602/*! FLEXCOMM4_RST - FLEXCOMM4 reset control
24603 * 0b0..clear reset
24604 * 0b1..set reset
24605 */
24606#define RSTCTL1_PRSTCTL0_FLEXCOMM4_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM4_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM4_RST_MASK)
24607#define RSTCTL1_PRSTCTL0_FLEXCOMM5_RST_MASK (0x2000U)
24608#define RSTCTL1_PRSTCTL0_FLEXCOMM5_RST_SHIFT (13U)
24609/*! FLEXCOMM5_RST - FLEXCOMM5 reset control
24610 * 0b0..clear reset
24611 * 0b1..set reset
24612 */
24613#define RSTCTL1_PRSTCTL0_FLEXCOMM5_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM5_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM5_RST_MASK)
24614#define RSTCTL1_PRSTCTL0_FLEXCOMM6_RST_MASK (0x4000U)
24615#define RSTCTL1_PRSTCTL0_FLEXCOMM6_RST_SHIFT (14U)
24616/*! FLEXCOMM6_RST - FLEXCOMM6 reset control
24617 * 0b0..clear reset
24618 * 0b1..set reset
24619 */
24620#define RSTCTL1_PRSTCTL0_FLEXCOMM6_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM6_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM6_RST_MASK)
24621#define RSTCTL1_PRSTCTL0_FLEXCOMM7_RST_MASK (0x8000U)
24622#define RSTCTL1_PRSTCTL0_FLEXCOMM7_RST_SHIFT (15U)
24623/*! FLEXCOMM7_RST - FLEXCOMM7 reset control
24624 * 0b0..clear reset
24625 * 0b1..set reset
24626 */
24627#define RSTCTL1_PRSTCTL0_FLEXCOMM7_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM7_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM7_RST_MASK)
24628#define RSTCTL1_PRSTCTL0_FLEXCOMM14_SPI_RST_MASK (0x400000U)
24629#define RSTCTL1_PRSTCTL0_FLEXCOMM14_SPI_RST_SHIFT (22U)
24630/*! FLEXCOMM14_SPI_RST - FLEXCOMM14 SPI reset control
24631 * 0b0..clear reset
24632 * 0b1..set reset
24633 */
24634#define RSTCTL1_PRSTCTL0_FLEXCOMM14_SPI_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM14_SPI_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM14_SPI_RST_MASK)
24635#define RSTCTL1_PRSTCTL0_FLEXCOMM15_I2C_RST_MASK (0x800000U)
24636#define RSTCTL1_PRSTCTL0_FLEXCOMM15_I2C_RST_SHIFT (23U)
24637/*! FLEXCOMM15_I2C_RST - FLEXCOMM15 I2C reset control
24638 * 0b0..clear reset
24639 * 0b1..set reset
24640 */
24641#define RSTCTL1_PRSTCTL0_FLEXCOMM15_I2C_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_FLEXCOMM15_I2C_RST_SHIFT)) & RSTCTL1_PRSTCTL0_FLEXCOMM15_I2C_RST_MASK)
24642#define RSTCTL1_PRSTCTL0_DMIC0_RST_MASK (0x1000000U)
24643#define RSTCTL1_PRSTCTL0_DMIC0_RST_SHIFT (24U)
24644/*! DMIC0_RST - DMIC0 reset control
24645 * 0b0..clear reset
24646 * 0b1..set reset
24647 */
24648#define RSTCTL1_PRSTCTL0_DMIC0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_DMIC0_RST_SHIFT)) & RSTCTL1_PRSTCTL0_DMIC0_RST_MASK)
24649#define RSTCTL1_PRSTCTL0_OSEVT_TIMER_RST_MASK (0x8000000U)
24650#define RSTCTL1_PRSTCTL0_OSEVT_TIMER_RST_SHIFT (27U)
24651/*! OSEVT_TIMER_RST - osevent timer reset control
24652 * 0b0..clear reset
24653 * 0b1..set reset
24654 */
24655#define RSTCTL1_PRSTCTL0_OSEVT_TIMER_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_OSEVT_TIMER_RST_SHIFT)) & RSTCTL1_PRSTCTL0_OSEVT_TIMER_RST_MASK)
24656/*! @} */
24657
24658/*! @name PRSTCTL1 - peripheral reset control register 1 */
24659/*! @{ */
24660#define RSTCTL1_PRSTCTL1_HSGPIO0_RST_MASK (0x1U)
24661#define RSTCTL1_PRSTCTL1_HSGPIO0_RST_SHIFT (0U)
24662/*! HSGPIO0_RST - HSGPIO0 reset control
24663 * 0b0..clear reset
24664 * 0b1..set reset
24665 */
24666#define RSTCTL1_PRSTCTL1_HSGPIO0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO0_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO0_RST_MASK)
24667#define RSTCTL1_PRSTCTL1_HSGPIO1_RST_MASK (0x2U)
24668#define RSTCTL1_PRSTCTL1_HSGPIO1_RST_SHIFT (1U)
24669/*! HSGPIO1_RST - HSGPIO1 reset control
24670 * 0b0..clear reset
24671 * 0b1..set reset
24672 */
24673#define RSTCTL1_PRSTCTL1_HSGPIO1_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO1_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO1_RST_MASK)
24674#define RSTCTL1_PRSTCTL1_HSGPIO2_RST_MASK (0x4U)
24675#define RSTCTL1_PRSTCTL1_HSGPIO2_RST_SHIFT (2U)
24676/*! HSGPIO2_RST - HSGPIO2 reset control
24677 * 0b0..clear reset
24678 * 0b1..set reset
24679 */
24680#define RSTCTL1_PRSTCTL1_HSGPIO2_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO2_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO2_RST_MASK)
24681#define RSTCTL1_PRSTCTL1_HSGPIO3_RST_MASK (0x8U)
24682#define RSTCTL1_PRSTCTL1_HSGPIO3_RST_SHIFT (3U)
24683/*! HSGPIO3_RST - HSGPIO3 reset control
24684 * 0b0..clear reset
24685 * 0b1..set reset
24686 */
24687#define RSTCTL1_PRSTCTL1_HSGPIO3_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO3_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO3_RST_MASK)
24688#define RSTCTL1_PRSTCTL1_HSGPIO4_RST_MASK (0x10U)
24689#define RSTCTL1_PRSTCTL1_HSGPIO4_RST_SHIFT (4U)
24690/*! HSGPIO4_RST - HSGPIO4 reset control
24691 * 0b0..clear reset
24692 * 0b1..set reset
24693 */
24694#define RSTCTL1_PRSTCTL1_HSGPIO4_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO4_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO4_RST_MASK)
24695#define RSTCTL1_PRSTCTL1_HSGPIO5_RST_MASK (0x20U)
24696#define RSTCTL1_PRSTCTL1_HSGPIO5_RST_SHIFT (5U)
24697/*! HSGPIO5_RST - HSGPIO5 reset control
24698 * 0b0..clear reset
24699 * 0b1..set reset
24700 */
24701#define RSTCTL1_PRSTCTL1_HSGPIO5_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO5_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO5_RST_MASK)
24702#define RSTCTL1_PRSTCTL1_HSGPIO6_RST_MASK (0x40U)
24703#define RSTCTL1_PRSTCTL1_HSGPIO6_RST_SHIFT (6U)
24704/*! HSGPIO6_RST - HSGPIO6 reset control
24705 * 0b0..clear reset
24706 * 0b1..set reset
24707 */
24708#define RSTCTL1_PRSTCTL1_HSGPIO6_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO6_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO6_RST_MASK)
24709#define RSTCTL1_PRSTCTL1_HSGPIO7_RST_MASK (0x80U)
24710#define RSTCTL1_PRSTCTL1_HSGPIO7_RST_SHIFT (7U)
24711/*! HSGPIO7_RST - HSGPIO7 reset control
24712 * 0b0..clear reset
24713 * 0b1..set reset
24714 */
24715#define RSTCTL1_PRSTCTL1_HSGPIO7_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_HSGPIO7_RST_SHIFT)) & RSTCTL1_PRSTCTL1_HSGPIO7_RST_MASK)
24716#define RSTCTL1_PRSTCTL1_CRC_RST_MASK (0x10000U)
24717#define RSTCTL1_PRSTCTL1_CRC_RST_SHIFT (16U)
24718/*! CRC_RST - CRC reset control
24719 * 0b0..clear reset
24720 * 0b1..set reset
24721 */
24722#define RSTCTL1_PRSTCTL1_CRC_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CRC_RST_SHIFT)) & RSTCTL1_PRSTCTL1_CRC_RST_MASK)
24723#define RSTCTL1_PRSTCTL1_DMAC0_RST_MASK (0x800000U)
24724#define RSTCTL1_PRSTCTL1_DMAC0_RST_SHIFT (23U)
24725/*! DMAC0_RST - DMAC0 reset control
24726 * 0b0..clear reset
24727 * 0b1..set reset
24728 */
24729#define RSTCTL1_PRSTCTL1_DMAC0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_DMAC0_RST_SHIFT)) & RSTCTL1_PRSTCTL1_DMAC0_RST_MASK)
24730#define RSTCTL1_PRSTCTL1_DMAC1_RST_MASK (0x1000000U)
24731#define RSTCTL1_PRSTCTL1_DMAC1_RST_SHIFT (24U)
24732/*! DMAC1_RST - DMAC1 reset control
24733 * 0b0..clear reset
24734 * 0b1..set reset
24735 */
24736#define RSTCTL1_PRSTCTL1_DMAC1_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_DMAC1_RST_SHIFT)) & RSTCTL1_PRSTCTL1_DMAC1_RST_MASK)
24737#define RSTCTL1_PRSTCTL1_MU_RST_MASK (0x10000000U)
24738#define RSTCTL1_PRSTCTL1_MU_RST_SHIFT (28U)
24739/*! MU_RST - MU reset control
24740 * 0b0..clear reset
24741 * 0b1..set reset
24742 */
24743#define RSTCTL1_PRSTCTL1_MU_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_MU_RST_SHIFT)) & RSTCTL1_PRSTCTL1_MU_RST_MASK)
24744#define RSTCTL1_PRSTCTL1_SEMA_RST_MASK (0x20000000U)
24745#define RSTCTL1_PRSTCTL1_SEMA_RST_SHIFT (29U)
24746/*! SEMA_RST - SEMA reset control
24747 * 0b0..clear reset
24748 * 0b1..set reset
24749 */
24750#define RSTCTL1_PRSTCTL1_SEMA_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SEMA_RST_SHIFT)) & RSTCTL1_PRSTCTL1_SEMA_RST_MASK)
24751#define RSTCTL1_PRSTCTL1_FREQME_RST_MASK (0x80000000U)
24752#define RSTCTL1_PRSTCTL1_FREQME_RST_SHIFT (31U)
24753/*! FREQME_RST - FREQME reset control
24754 * 0b0..clear reset
24755 * 0b1..set reset
24756 */
24757#define RSTCTL1_PRSTCTL1_FREQME_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_FREQME_RST_SHIFT)) & RSTCTL1_PRSTCTL1_FREQME_RST_MASK)
24758/*! @} */
24759
24760/*! @name PRSTCTL2 - peripheral reset control register 2 */
24761/*! @{ */
24762#define RSTCTL1_PRSTCTL2_CT32BIT0_RST_MASK (0x1U)
24763#define RSTCTL1_PRSTCTL2_CT32BIT0_RST_SHIFT (0U)
24764/*! CT32BIT0_RST - CT32BIT0 reset control
24765 * 0b0..clear reset
24766 * 0b1..set reset
24767 */
24768#define RSTCTL1_PRSTCTL2_CT32BIT0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CT32BIT0_RST_SHIFT)) & RSTCTL1_PRSTCTL2_CT32BIT0_RST_MASK)
24769#define RSTCTL1_PRSTCTL2_CT32BIT1_RST_MASK (0x2U)
24770#define RSTCTL1_PRSTCTL2_CT32BIT1_RST_SHIFT (1U)
24771/*! CT32BIT1_RST - CT32BIT1 reset control
24772 * 0b0..clear reset
24773 * 0b1..set reset
24774 */
24775#define RSTCTL1_PRSTCTL2_CT32BIT1_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CT32BIT1_RST_SHIFT)) & RSTCTL1_PRSTCTL2_CT32BIT1_RST_MASK)
24776#define RSTCTL1_PRSTCTL2_CT32BIT2_RST_MASK (0x4U)
24777#define RSTCTL1_PRSTCTL2_CT32BIT2_RST_SHIFT (2U)
24778/*! CT32BIT2_RST - CT32BIT2 reset control
24779 * 0b0..clear reset
24780 * 0b1..set reset
24781 */
24782#define RSTCTL1_PRSTCTL2_CT32BIT2_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CT32BIT2_RST_SHIFT)) & RSTCTL1_PRSTCTL2_CT32BIT2_RST_MASK)
24783#define RSTCTL1_PRSTCTL2_CT32BIT3_RST_MASK (0x8U)
24784#define RSTCTL1_PRSTCTL2_CT32BIT3_RST_SHIFT (3U)
24785/*! CT32BIT3_RST - CT32BIT3 reset control
24786 * 0b0..clear reset
24787 * 0b1..set reset
24788 */
24789#define RSTCTL1_PRSTCTL2_CT32BIT3_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CT32BIT3_RST_SHIFT)) & RSTCTL1_PRSTCTL2_CT32BIT3_RST_MASK)
24790#define RSTCTL1_PRSTCTL2_CT32BIT4_RST_MASK (0x10U)
24791#define RSTCTL1_PRSTCTL2_CT32BIT4_RST_SHIFT (4U)
24792/*! CT32BIT4_RST - CT32BIT4 reset control
24793 * 0b0..clear reset
24794 * 0b1..set reset
24795 */
24796#define RSTCTL1_PRSTCTL2_CT32BIT4_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CT32BIT4_RST_SHIFT)) & RSTCTL1_PRSTCTL2_CT32BIT4_RST_MASK)
24797#define RSTCTL1_PRSTCTL2_MRT0_RST_MASK (0x100U)
24798#define RSTCTL1_PRSTCTL2_MRT0_RST_SHIFT (8U)
24799/*! MRT0_RST - MRT0 reset control
24800 * 0b0..clear reset
24801 * 0b1..set reset
24802 */
24803#define RSTCTL1_PRSTCTL2_MRT0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_MRT0_RST_SHIFT)) & RSTCTL1_PRSTCTL2_MRT0_RST_MASK)
24804#define RSTCTL1_PRSTCTL2_WWDT1_RST_MASK (0x400U)
24805#define RSTCTL1_PRSTCTL2_WWDT1_RST_SHIFT (10U)
24806/*! WWDT1_RST - WWDT1 reset control
24807 * 0b0..clear reset
24808 * 0b1..set reset
24809 */
24810#define RSTCTL1_PRSTCTL2_WWDT1_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_WWDT1_RST_SHIFT)) & RSTCTL1_PRSTCTL2_WWDT1_RST_MASK)
24811#define RSTCTL1_PRSTCTL2_I3C0_RST_MASK (0x10000U)
24812#define RSTCTL1_PRSTCTL2_I3C0_RST_SHIFT (16U)
24813/*! I3C0_RST - I3C0 reset control
24814 * 0b0..clear reset
24815 * 0b1..set reset
24816 */
24817#define RSTCTL1_PRSTCTL2_I3C0_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_I3C0_RST_SHIFT)) & RSTCTL1_PRSTCTL2_I3C0_RST_MASK)
24818#define RSTCTL1_PRSTCTL2_GPIOINTCTL_RST_MASK (0x40000000U)
24819#define RSTCTL1_PRSTCTL2_GPIOINTCTL_RST_SHIFT (30U)
24820/*! GPIOINTCTL_RST - GPIOINTCTL reset control
24821 * 0b0..clear reset
24822 * 0b1..set reset
24823 */
24824#define RSTCTL1_PRSTCTL2_GPIOINTCTL_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_GPIOINTCTL_RST_SHIFT)) & RSTCTL1_PRSTCTL2_GPIOINTCTL_RST_MASK)
24825#define RSTCTL1_PRSTCTL2_PIMCTL_RST_MASK (0x80000000U)
24826#define RSTCTL1_PRSTCTL2_PIMCTL_RST_SHIFT (31U)
24827/*! PIMCTL_RST - PMC reset control
24828 * 0b0..clear reset
24829 * 0b1..set reset
24830 */
24831#define RSTCTL1_PRSTCTL2_PIMCTL_RST(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_PIMCTL_RST_SHIFT)) & RSTCTL1_PRSTCTL2_PIMCTL_RST_MASK)
24832/*! @} */
24833
24834/*! @name PRSTCTL0_SET - peripheral reset set register 0 */
24835/*! @{ */
24836#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM0_RST_SET_MASK (0x100U)
24837#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM0_RST_SET_SHIFT (8U)
24838/*! FLEXCOMM0_RST_SET - FLEXCOMM0 reset set
24839 * 0b0..No Effect
24840 * 0b1..Sets the PRSTCTL0 Bit
24841 */
24842#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM0_RST_SET_MASK)
24843#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM1_RST_SET_MASK (0x200U)
24844#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM1_RST_SET_SHIFT (9U)
24845/*! FLEXCOMM1_RST_SET - FLEXCOMM1 reset set
24846 * 0b0..No Effect
24847 * 0b1..Sets the PRSTCTL0 Bit
24848 */
24849#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM1_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM1_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM1_RST_SET_MASK)
24850#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM2_RST_SET_MASK (0x400U)
24851#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM2_RST_SET_SHIFT (10U)
24852/*! FLEXCOMM2_RST_SET - FLEXCOMM2 reset set
24853 * 0b0..No Effect
24854 * 0b1..Sets the PRSTCTL0 Bit
24855 */
24856#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM2_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM2_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM2_RST_SET_MASK)
24857#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM3_RST_SET_MASK (0x800U)
24858#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM3_RST_SET_SHIFT (11U)
24859/*! FLEXCOMM3_RST_SET - FLEXCOMM3 reset set
24860 * 0b0..No Effect
24861 * 0b1..Sets the PRSTCTL0 Bit
24862 */
24863#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM3_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM3_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM3_RST_SET_MASK)
24864#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM4_RST_SET_MASK (0x1000U)
24865#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM4_RST_SET_SHIFT (12U)
24866/*! FLEXCOMM4_RST_SET - FLEXCOMM4 reset set
24867 * 0b0..No Effect
24868 * 0b1..Sets the PRSTCTL0 Bit
24869 */
24870#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM4_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM4_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM4_RST_SET_MASK)
24871#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM5_RST_SET_MASK (0x2000U)
24872#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM5_RST_SET_SHIFT (13U)
24873/*! FLEXCOMM5_RST_SET - FLEXCOMM5 reset set
24874 * 0b0..No Effect
24875 * 0b1..Sets the PRSTCTL0 Bit
24876 */
24877#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM5_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM5_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM5_RST_SET_MASK)
24878#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM6_RST_SET_MASK (0x4000U)
24879#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM6_RST_SET_SHIFT (14U)
24880/*! FLEXCOMM6_RST_SET - FLEXCOMM6 reset set
24881 * 0b0..No Effect
24882 * 0b1..Sets the PRSTCTL0 Bit
24883 */
24884#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM6_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM6_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM6_RST_SET_MASK)
24885#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM7_RST_SET_MASK (0x8000U)
24886#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM7_RST_SET_SHIFT (15U)
24887/*! FLEXCOMM7_RST_SET - FLEXCOMM7 reset set
24888 * 0b0..No Effect
24889 * 0b1..Sets the PRSTCTL0 Bit
24890 */
24891#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM7_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM7_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM7_RST_SET_MASK)
24892#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM14_SPI_RST_SET_MASK (0x400000U)
24893#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM14_SPI_RST_SET_SHIFT (22U)
24894/*! FLEXCOMM14_SPI_RST_SET - FLEXCOMM14 SPI reset set
24895 * 0b0..No Effect
24896 * 0b1..Sets the PRSTCTL0 Bit
24897 */
24898#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM14_SPI_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM14_SPI_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM14_SPI_RST_SET_MASK)
24899#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM15_I2C_RST_SET_MASK (0x800000U)
24900#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM15_I2C_RST_SET_SHIFT (23U)
24901/*! FLEXCOMM15_I2C_RST_SET - FLEXCOMM15 I2C reset set
24902 * 0b0..No Effect
24903 * 0b1..Sets the PRSTCTL0 Bit
24904 */
24905#define RSTCTL1_PRSTCTL0_SET_FLEXCOMM15_I2C_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_FLEXCOMM15_I2C_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_FLEXCOMM15_I2C_RST_SET_MASK)
24906#define RSTCTL1_PRSTCTL0_SET_DMIC0_RST_SET_MASK (0x1000000U)
24907#define RSTCTL1_PRSTCTL0_SET_DMIC0_RST_SET_SHIFT (24U)
24908/*! DMIC0_RST_SET - DMIC0 reset set
24909 * 0b0..No Effect
24910 * 0b1..Sets the PRSTCTL0 Bit
24911 */
24912#define RSTCTL1_PRSTCTL0_SET_DMIC0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_DMIC0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_DMIC0_RST_SET_MASK)
24913#define RSTCTL1_PRSTCTL0_SET_OSEVT_TIMER_RST_SET_MASK (0x8000000U)
24914#define RSTCTL1_PRSTCTL0_SET_OSEVT_TIMER_RST_SET_SHIFT (27U)
24915/*! OSEVT_TIMER_RST_SET - osevent timer reset set
24916 * 0b0..No Effect
24917 * 0b1..Sets the PRSTCTL0 Bit
24918 */
24919#define RSTCTL1_PRSTCTL0_SET_OSEVT_TIMER_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_SET_OSEVT_TIMER_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL0_SET_OSEVT_TIMER_RST_SET_MASK)
24920/*! @} */
24921
24922/*! @name PRSTCTL1_SET - peripheral reset set register 1 */
24923/*! @{ */
24924#define RSTCTL1_PRSTCTL1_SET_HSGPIO0_RST_SET_MASK (0x1U)
24925#define RSTCTL1_PRSTCTL1_SET_HSGPIO0_RST_SET_SHIFT (0U)
24926/*! HSGPIO0_RST_SET - HSGPIO0 reset set
24927 * 0b0..No Effect
24928 * 0b1..Sets the PRSTCTL1 Bit
24929 */
24930#define RSTCTL1_PRSTCTL1_SET_HSGPIO0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO0_RST_SET_MASK)
24931#define RSTCTL1_PRSTCTL1_SET_HSGPIO1_RST_SET_MASK (0x2U)
24932#define RSTCTL1_PRSTCTL1_SET_HSGPIO1_RST_SET_SHIFT (1U)
24933/*! HSGPIO1_RST_SET - HSGPIO1 reset set
24934 * 0b0..No Effect
24935 * 0b1..Sets the PRSTCTL1 Bit
24936 */
24937#define RSTCTL1_PRSTCTL1_SET_HSGPIO1_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO1_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO1_RST_SET_MASK)
24938#define RSTCTL1_PRSTCTL1_SET_HSGPIO2_RST_SET_MASK (0x4U)
24939#define RSTCTL1_PRSTCTL1_SET_HSGPIO2_RST_SET_SHIFT (2U)
24940/*! HSGPIO2_RST_SET - HSGPIO2 reset set
24941 * 0b0..No Effect
24942 * 0b1..Sets the PRSTCTL1 Bit
24943 */
24944#define RSTCTL1_PRSTCTL1_SET_HSGPIO2_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO2_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO2_RST_SET_MASK)
24945#define RSTCTL1_PRSTCTL1_SET_HSGPIO3_RST_SET_MASK (0x8U)
24946#define RSTCTL1_PRSTCTL1_SET_HSGPIO3_RST_SET_SHIFT (3U)
24947/*! HSGPIO3_RST_SET - HSGPIO3 reset set
24948 * 0b0..No Effect
24949 * 0b1..Sets the PRSTCTL1 Bit
24950 */
24951#define RSTCTL1_PRSTCTL1_SET_HSGPIO3_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO3_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO3_RST_SET_MASK)
24952#define RSTCTL1_PRSTCTL1_SET_HSGPIO4_RST_SET_MASK (0x10U)
24953#define RSTCTL1_PRSTCTL1_SET_HSGPIO4_RST_SET_SHIFT (4U)
24954/*! HSGPIO4_RST_SET - HSGPIO4 reset set
24955 * 0b0..No Effect
24956 * 0b1..Sets the PRSTCTL1 Bit
24957 */
24958#define RSTCTL1_PRSTCTL1_SET_HSGPIO4_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO4_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO4_RST_SET_MASK)
24959#define RSTCTL1_PRSTCTL1_SET_HSGPIO5_RST_SET_MASK (0x20U)
24960#define RSTCTL1_PRSTCTL1_SET_HSGPIO5_RST_SET_SHIFT (5U)
24961/*! HSGPIO5_RST_SET - HSGPIO5 reset set
24962 * 0b0..No Effect
24963 * 0b1..Sets the PRSTCTL1 Bit
24964 */
24965#define RSTCTL1_PRSTCTL1_SET_HSGPIO5_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO5_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO5_RST_SET_MASK)
24966#define RSTCTL1_PRSTCTL1_SET_HSGPIO6_RST_SET_MASK (0x40U)
24967#define RSTCTL1_PRSTCTL1_SET_HSGPIO6_RST_SET_SHIFT (6U)
24968/*! HSGPIO6_RST_SET - HSGPIO6 reset set
24969 * 0b0..No Effect
24970 * 0b1..Sets the PRSTCTL1 Bit
24971 */
24972#define RSTCTL1_PRSTCTL1_SET_HSGPIO6_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO6_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO6_RST_SET_MASK)
24973#define RSTCTL1_PRSTCTL1_SET_HSGPIO7_RST_SET_MASK (0x80U)
24974#define RSTCTL1_PRSTCTL1_SET_HSGPIO7_RST_SET_SHIFT (7U)
24975/*! HSGPIO7_RST_SET - HSGPIO7 reset set
24976 * 0b0..No Effect
24977 * 0b1..Sets the PRSTCTL1 Bit
24978 */
24979#define RSTCTL1_PRSTCTL1_SET_HSGPIO7_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_HSGPIO7_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_HSGPIO7_RST_SET_MASK)
24980#define RSTCTL1_PRSTCTL1_SET_CRC_RST_SET_MASK (0x10000U)
24981#define RSTCTL1_PRSTCTL1_SET_CRC_RST_SET_SHIFT (16U)
24982/*! CRC_RST_SET - CRC reset set
24983 * 0b0..No Effect
24984 * 0b1..Sets the PRSTCTL1 Bit
24985 */
24986#define RSTCTL1_PRSTCTL1_SET_CRC_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_CRC_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_CRC_RST_SET_MASK)
24987#define RSTCTL1_PRSTCTL1_SET_DMAC0_RST_SET_MASK (0x800000U)
24988#define RSTCTL1_PRSTCTL1_SET_DMAC0_RST_SET_SHIFT (23U)
24989/*! DMAC0_RST_SET - DMAC0 reset set
24990 * 0b0..No Effect
24991 * 0b1..Sets the PRSTCTL1 Bit
24992 */
24993#define RSTCTL1_PRSTCTL1_SET_DMAC0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_DMAC0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_DMAC0_RST_SET_MASK)
24994#define RSTCTL1_PRSTCTL1_SET_DMAC1_RST_SET_MASK (0x1000000U)
24995#define RSTCTL1_PRSTCTL1_SET_DMAC1_RST_SET_SHIFT (24U)
24996/*! DMAC1_RST_SET - DMAC1 reset set
24997 * 0b0..No Effect
24998 * 0b1..Sets the PRSTCTL1 Bit
24999 */
25000#define RSTCTL1_PRSTCTL1_SET_DMAC1_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_DMAC1_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_DMAC1_RST_SET_MASK)
25001#define RSTCTL1_PRSTCTL1_SET_MU_RST_SET_MASK (0x10000000U)
25002#define RSTCTL1_PRSTCTL1_SET_MU_RST_SET_SHIFT (28U)
25003/*! MU_RST_SET - MU reset set
25004 * 0b0..No Effect
25005 * 0b1..Sets the PRSTCTL1 Bit
25006 */
25007#define RSTCTL1_PRSTCTL1_SET_MU_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_MU_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_MU_RST_SET_MASK)
25008#define RSTCTL1_PRSTCTL1_SET_SEMA_RST_SET_MASK (0x20000000U)
25009#define RSTCTL1_PRSTCTL1_SET_SEMA_RST_SET_SHIFT (29U)
25010/*! SEMA_RST_SET - SEMA reset set
25011 * 0b0..No Effect
25012 * 0b1..Sets the PRSTCTL1 Bit
25013 */
25014#define RSTCTL1_PRSTCTL1_SET_SEMA_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_SEMA_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_SEMA_RST_SET_MASK)
25015#define RSTCTL1_PRSTCTL1_SET_FREQME_RST_SET_MASK (0x80000000U)
25016#define RSTCTL1_PRSTCTL1_SET_FREQME_RST_SET_SHIFT (31U)
25017/*! FREQME_RST_SET - FREQME reset set
25018 * 0b0..No Effect
25019 * 0b1..Sets the PRSTCTL1 Bit
25020 */
25021#define RSTCTL1_PRSTCTL1_SET_FREQME_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_SET_FREQME_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL1_SET_FREQME_RST_SET_MASK)
25022/*! @} */
25023
25024/*! @name PRSTCTL2_SET - peripheral reset set register 2 */
25025/*! @{ */
25026#define RSTCTL1_PRSTCTL2_SET_CT32BIT0_RST_SET_MASK (0x1U)
25027#define RSTCTL1_PRSTCTL2_SET_CT32BIT0_RST_SET_SHIFT (0U)
25028/*! CT32BIT0_RST_SET - CT32BIT0 reset set
25029 * 0b0..No Effect
25030 * 0b1..Sets the PRSTCTL2 Bit
25031 */
25032#define RSTCTL1_PRSTCTL2_SET_CT32BIT0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_CT32BIT0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_CT32BIT0_RST_SET_MASK)
25033#define RSTCTL1_PRSTCTL2_SET_CT32BIT1_RST_SET_MASK (0x2U)
25034#define RSTCTL1_PRSTCTL2_SET_CT32BIT1_RST_SET_SHIFT (1U)
25035/*! CT32BIT1_RST_SET - CT32BIT1 reset set
25036 * 0b0..No Effect
25037 * 0b1..Sets the PRSTCTL2 Bit
25038 */
25039#define RSTCTL1_PRSTCTL2_SET_CT32BIT1_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_CT32BIT1_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_CT32BIT1_RST_SET_MASK)
25040#define RSTCTL1_PRSTCTL2_SET_CT32BIT2_RST_SET_MASK (0x4U)
25041#define RSTCTL1_PRSTCTL2_SET_CT32BIT2_RST_SET_SHIFT (2U)
25042/*! CT32BIT2_RST_SET - CT32BIT2 reset set
25043 * 0b0..No Effect
25044 * 0b1..Sets the PRSTCTL2 Bit
25045 */
25046#define RSTCTL1_PRSTCTL2_SET_CT32BIT2_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_CT32BIT2_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_CT32BIT2_RST_SET_MASK)
25047#define RSTCTL1_PRSTCTL2_SET_CT32BIT3_RST_SET_MASK (0x8U)
25048#define RSTCTL1_PRSTCTL2_SET_CT32BIT3_RST_SET_SHIFT (3U)
25049/*! CT32BIT3_RST_SET - CT32BIT3 reset set
25050 * 0b0..No Effect
25051 * 0b1..Sets the PRSTCTL2 Bit
25052 */
25053#define RSTCTL1_PRSTCTL2_SET_CT32BIT3_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_CT32BIT3_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_CT32BIT3_RST_SET_MASK)
25054#define RSTCTL1_PRSTCTL2_SET_CT32BIT4_RST_SET_MASK (0x10U)
25055#define RSTCTL1_PRSTCTL2_SET_CT32BIT4_RST_SET_SHIFT (4U)
25056/*! CT32BIT4_RST_SET - CT32BIT4 reset set
25057 * 0b0..No Effect
25058 * 0b1..Sets the PRSTCTL2 Bit
25059 */
25060#define RSTCTL1_PRSTCTL2_SET_CT32BIT4_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_CT32BIT4_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_CT32BIT4_RST_SET_MASK)
25061#define RSTCTL1_PRSTCTL2_SET_MRT0_RST_SET_MASK (0x100U)
25062#define RSTCTL1_PRSTCTL2_SET_MRT0_RST_SET_SHIFT (8U)
25063/*! MRT0_RST_SET - MRT0 reset set
25064 * 0b0..No Effect
25065 * 0b1..Sets the PRSTCTL2 Bit
25066 */
25067#define RSTCTL1_PRSTCTL2_SET_MRT0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_MRT0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_MRT0_RST_SET_MASK)
25068#define RSTCTL1_PRSTCTL2_SET_WWDT1_RST_SET_MASK (0x400U)
25069#define RSTCTL1_PRSTCTL2_SET_WWDT1_RST_SET_SHIFT (10U)
25070/*! WWDT1_RST_SET - WWDT1 reset set
25071 * 0b0..No Effect
25072 * 0b1..Sets the PRSTCTL2 Bit
25073 */
25074#define RSTCTL1_PRSTCTL2_SET_WWDT1_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_WWDT1_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_WWDT1_RST_SET_MASK)
25075#define RSTCTL1_PRSTCTL2_SET_I3C0_RST_SET_MASK (0x10000U)
25076#define RSTCTL1_PRSTCTL2_SET_I3C0_RST_SET_SHIFT (16U)
25077/*! I3C0_RST_SET - I3C0 reset set
25078 * 0b0..No Effect
25079 * 0b1..Sets the PRSTCTL2 Bit
25080 */
25081#define RSTCTL1_PRSTCTL2_SET_I3C0_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_I3C0_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_I3C0_RST_SET_MASK)
25082#define RSTCTL1_PRSTCTL2_SET_GPIOINTCTL_RST_SET_MASK (0x40000000U)
25083#define RSTCTL1_PRSTCTL2_SET_GPIOINTCTL_RST_SET_SHIFT (30U)
25084/*! GPIOINTCTL_RST_SET - GPIOINTCTL reset set
25085 * 0b0..No Effect
25086 * 0b1..Sets the PRSTCTL2 Bit
25087 */
25088#define RSTCTL1_PRSTCTL2_SET_GPIOINTCTL_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_GPIOINTCTL_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_GPIOINTCTL_RST_SET_MASK)
25089#define RSTCTL1_PRSTCTL2_SET_PIMCTL_RST_SET_MASK (0x80000000U)
25090#define RSTCTL1_PRSTCTL2_SET_PIMCTL_RST_SET_SHIFT (31U)
25091/*! PIMCTL_RST_SET - PMC reset set
25092 * 0b0..No Effect
25093 * 0b1..Sets the PRSTCTL2 Bit
25094 */
25095#define RSTCTL1_PRSTCTL2_SET_PIMCTL_RST_SET(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_SET_PIMCTL_RST_SET_SHIFT)) & RSTCTL1_PRSTCTL2_SET_PIMCTL_RST_SET_MASK)
25096/*! @} */
25097
25098/*! @name PRSTCTL0_CLR - peripheral reset clear register 0 */
25099/*! @{ */
25100#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM0_RST_CLR_MASK (0x100U)
25101#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM0_RST_CLR_SHIFT (8U)
25102/*! FLEXCOMM0_RST_CLR - FLEXCOMM0 reset clear
25103 * 0b0..No Effect
25104 * 0b1..clears the PRSTCTL0 Bit
25105 */
25106#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM0_RST_CLR_MASK)
25107#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM1_RST_CLR_MASK (0x200U)
25108#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM1_RST_CLR_SHIFT (9U)
25109/*! FLEXCOMM1_RST_CLR - FLEXCOMM1 reset clear
25110 * 0b0..No Effect
25111 * 0b1..clears the PRSTCTL0 Bit
25112 */
25113#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM1_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM1_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM1_RST_CLR_MASK)
25114#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM2_RST_CLR_MASK (0x400U)
25115#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM2_RST_CLR_SHIFT (10U)
25116/*! FLEXCOMM2_RST_CLR - FLEXCOMM2 reset clear
25117 * 0b0..No Effect
25118 * 0b1..clears the PRSTCTL0 Bit
25119 */
25120#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM2_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM2_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM2_RST_CLR_MASK)
25121#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM3_RST_CLR_MASK (0x800U)
25122#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM3_RST_CLR_SHIFT (11U)
25123/*! FLEXCOMM3_RST_CLR - FLEXCOMM3 reset clear
25124 * 0b0..No Effect
25125 * 0b1..clears the PRSTCTL0 Bit
25126 */
25127#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM3_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM3_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM3_RST_CLR_MASK)
25128#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM4_RST_CLR_MASK (0x1000U)
25129#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM4_RST_CLR_SHIFT (12U)
25130/*! FLEXCOMM4_RST_CLR - FLEXCOMM4 reset clear
25131 * 0b0..No Effect
25132 * 0b1..clears the PRSTCTL0 Bit
25133 */
25134#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM4_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM4_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM4_RST_CLR_MASK)
25135#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM5_RST_CLR_MASK (0x2000U)
25136#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM5_RST_CLR_SHIFT (13U)
25137/*! FLEXCOMM5_RST_CLR - FLEXCOMM5 reset clear
25138 * 0b0..No Effect
25139 * 0b1..clears the PRSTCTL0 Bit
25140 */
25141#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM5_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM5_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM5_RST_CLR_MASK)
25142#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM6_RST_CLR_MASK (0x4000U)
25143#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM6_RST_CLR_SHIFT (14U)
25144/*! FLEXCOMM6_RST_CLR - FLEXCOMM6 reset clear
25145 * 0b0..No Effect
25146 * 0b1..clears the PRSTCTL0 Bit
25147 */
25148#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM6_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM6_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM6_RST_CLR_MASK)
25149#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM7_RST_CLR_MASK (0x8000U)
25150#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM7_RST_CLR_SHIFT (15U)
25151/*! FLEXCOMM7_RST_CLR - FLEXCOMM7 reset clear
25152 * 0b0..No Effect
25153 * 0b1..clears the PRSTCTL0 Bit
25154 */
25155#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM7_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM7_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM7_RST_CLR_MASK)
25156#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM14_SPI_RST_CLR_MASK (0x400000U)
25157#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM14_SPI_RST_CLR_SHIFT (22U)
25158/*! FLEXCOMM14_SPI_RST_CLR - FLEXCOMM14 SPI reset clear
25159 * 0b0..No Effect
25160 * 0b1..clears the PRSTCTL0 Bit
25161 */
25162#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM14_SPI_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM14_SPI_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM14_SPI_RST_CLR_MASK)
25163#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM15_I2C_RST_CLR_MASK (0x800000U)
25164#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM15_I2C_RST_CLR_SHIFT (23U)
25165/*! FLEXCOMM15_I2C_RST_CLR - FLEXCOMM15 I2C reset clear
25166 * 0b0..No Effect
25167 * 0b1..clears the PRSTCTL0 Bit
25168 */
25169#define RSTCTL1_PRSTCTL0_CLR_FLEXCOMM15_I2C_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_FLEXCOMM15_I2C_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_FLEXCOMM15_I2C_RST_CLR_MASK)
25170#define RSTCTL1_PRSTCTL0_CLR_DMIC0_RST_CLR_MASK (0x1000000U)
25171#define RSTCTL1_PRSTCTL0_CLR_DMIC0_RST_CLR_SHIFT (24U)
25172/*! DMIC0_RST_CLR - DMIC0 reset clear
25173 * 0b0..No Effect
25174 * 0b1..clears the PRSTCTL0 Bit
25175 */
25176#define RSTCTL1_PRSTCTL0_CLR_DMIC0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_DMIC0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_DMIC0_RST_CLR_MASK)
25177#define RSTCTL1_PRSTCTL0_CLR_OSEVT_TIMER_RST_CLR_MASK (0x8000000U)
25178#define RSTCTL1_PRSTCTL0_CLR_OSEVT_TIMER_RST_CLR_SHIFT (27U)
25179/*! OSEVT_TIMER_RST_CLR - osevent timer reset clear
25180 * 0b0..No Effect
25181 * 0b1..clears the PRSTCTL0 Bit
25182 */
25183#define RSTCTL1_PRSTCTL0_CLR_OSEVT_TIMER_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL0_CLR_OSEVT_TIMER_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL0_CLR_OSEVT_TIMER_RST_CLR_MASK)
25184/*! @} */
25185
25186/*! @name PRSTCTL1_CLR - peripheral reset clear register 1 */
25187/*! @{ */
25188#define RSTCTL1_PRSTCTL1_CLR_HSGPIO0_RST_CLR_MASK (0x1U)
25189#define RSTCTL1_PRSTCTL1_CLR_HSGPIO0_RST_CLR_SHIFT (0U)
25190/*! HSGPIO0_RST_CLR - HSGPIO0 reset clear
25191 * 0b0..No Effect
25192 * 0b1..clears the PRSTCTL1 Bit
25193 */
25194#define RSTCTL1_PRSTCTL1_CLR_HSGPIO0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO0_RST_CLR_MASK)
25195#define RSTCTL1_PRSTCTL1_CLR_HSGPIO1_RST_CLR_MASK (0x2U)
25196#define RSTCTL1_PRSTCTL1_CLR_HSGPIO1_RST_CLR_SHIFT (1U)
25197/*! HSGPIO1_RST_CLR - HSGPIO1 reset clear
25198 * 0b0..No Effect
25199 * 0b1..clears the PRSTCTL1 Bit
25200 */
25201#define RSTCTL1_PRSTCTL1_CLR_HSGPIO1_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO1_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO1_RST_CLR_MASK)
25202#define RSTCTL1_PRSTCTL1_CLR_HSGPIO2_RST_CLR_MASK (0x4U)
25203#define RSTCTL1_PRSTCTL1_CLR_HSGPIO2_RST_CLR_SHIFT (2U)
25204/*! HSGPIO2_RST_CLR - HSGPIO2 reset clear
25205 * 0b0..No Effect
25206 * 0b1..clears the PRSTCTL1 Bit
25207 */
25208#define RSTCTL1_PRSTCTL1_CLR_HSGPIO2_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO2_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO2_RST_CLR_MASK)
25209#define RSTCTL1_PRSTCTL1_CLR_HSGPIO3_RST_CLR_MASK (0x8U)
25210#define RSTCTL1_PRSTCTL1_CLR_HSGPIO3_RST_CLR_SHIFT (3U)
25211/*! HSGPIO3_RST_CLR - HSGPIO3 reset clear
25212 * 0b0..No Effect
25213 * 0b1..clears the PRSTCTL1 Bit
25214 */
25215#define RSTCTL1_PRSTCTL1_CLR_HSGPIO3_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO3_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO3_RST_CLR_MASK)
25216#define RSTCTL1_PRSTCTL1_CLR_HSGPIO4_RST_CLR_MASK (0x10U)
25217#define RSTCTL1_PRSTCTL1_CLR_HSGPIO4_RST_CLR_SHIFT (4U)
25218/*! HSGPIO4_RST_CLR - HSGPIO4 reset clear
25219 * 0b0..No Effect
25220 * 0b1..clears the PRSTCTL1 Bit
25221 */
25222#define RSTCTL1_PRSTCTL1_CLR_HSGPIO4_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO4_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO4_RST_CLR_MASK)
25223#define RSTCTL1_PRSTCTL1_CLR_HSGPIO5_RST_CLR_MASK (0x20U)
25224#define RSTCTL1_PRSTCTL1_CLR_HSGPIO5_RST_CLR_SHIFT (5U)
25225/*! HSGPIO5_RST_CLR - HSGPIO5 reset clear
25226 * 0b0..No Effect
25227 * 0b1..clears the PRSTCTL1 Bit
25228 */
25229#define RSTCTL1_PRSTCTL1_CLR_HSGPIO5_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO5_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO5_RST_CLR_MASK)
25230#define RSTCTL1_PRSTCTL1_CLR_HSGPIO6_RST_CLR_MASK (0x40U)
25231#define RSTCTL1_PRSTCTL1_CLR_HSGPIO6_RST_CLR_SHIFT (6U)
25232/*! HSGPIO6_RST_CLR - HSGPIO6 reset clear
25233 * 0b0..No Effect
25234 * 0b1..clears the PRSTCTL1 Bit
25235 */
25236#define RSTCTL1_PRSTCTL1_CLR_HSGPIO6_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO6_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO6_RST_CLR_MASK)
25237#define RSTCTL1_PRSTCTL1_CLR_HSGPIO7_RST_CLR_MASK (0x80U)
25238#define RSTCTL1_PRSTCTL1_CLR_HSGPIO7_RST_CLR_SHIFT (7U)
25239/*! HSGPIO7_RST_CLR - HSGPIO7 reset clear
25240 * 0b0..No Effect
25241 * 0b1..clears the PRSTCTL1 Bit
25242 */
25243#define RSTCTL1_PRSTCTL1_CLR_HSGPIO7_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_HSGPIO7_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_HSGPIO7_RST_CLR_MASK)
25244#define RSTCTL1_PRSTCTL1_CLR_CRC_RST_CLR_MASK (0x10000U)
25245#define RSTCTL1_PRSTCTL1_CLR_CRC_RST_CLR_SHIFT (16U)
25246/*! CRC_RST_CLR - CRC reset clear
25247 * 0b0..No Effect
25248 * 0b1..clears the PRSTCTL1 Bit
25249 */
25250#define RSTCTL1_PRSTCTL1_CLR_CRC_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_CRC_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_CRC_RST_CLR_MASK)
25251#define RSTCTL1_PRSTCTL1_CLR_DMAC0_RST_CLR_MASK (0x800000U)
25252#define RSTCTL1_PRSTCTL1_CLR_DMAC0_RST_CLR_SHIFT (23U)
25253/*! DMAC0_RST_CLR - DMAC0 reset clear
25254 * 0b0..No Effect
25255 * 0b1..clears the PRSTCTL1 Bit
25256 */
25257#define RSTCTL1_PRSTCTL1_CLR_DMAC0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_DMAC0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_DMAC0_RST_CLR_MASK)
25258#define RSTCTL1_PRSTCTL1_CLR_DMAC1_RST_CLR_MASK (0x1000000U)
25259#define RSTCTL1_PRSTCTL1_CLR_DMAC1_RST_CLR_SHIFT (24U)
25260/*! DMAC1_RST_CLR - DMAC1 reset clear
25261 * 0b0..No Effect
25262 * 0b1..clears the PRSTCTL1 Bit
25263 */
25264#define RSTCTL1_PRSTCTL1_CLR_DMAC1_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_DMAC1_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_DMAC1_RST_CLR_MASK)
25265#define RSTCTL1_PRSTCTL1_CLR_MU_RST_CLR_MASK (0x10000000U)
25266#define RSTCTL1_PRSTCTL1_CLR_MU_RST_CLR_SHIFT (28U)
25267/*! MU_RST_CLR - MU reset clear
25268 * 0b0..No Effect
25269 * 0b1..clears the PRSTCTL1 Bit
25270 */
25271#define RSTCTL1_PRSTCTL1_CLR_MU_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_MU_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_MU_RST_CLR_MASK)
25272#define RSTCTL1_PRSTCTL1_CLR_SEMA_RST_CLR_MASK (0x20000000U)
25273#define RSTCTL1_PRSTCTL1_CLR_SEMA_RST_CLR_SHIFT (29U)
25274/*! SEMA_RST_CLR - SEMA reset clear
25275 * 0b0..No Effect
25276 * 0b1..clears the PRSTCTL1 Bit
25277 */
25278#define RSTCTL1_PRSTCTL1_CLR_SEMA_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_SEMA_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_SEMA_RST_CLR_MASK)
25279#define RSTCTL1_PRSTCTL1_CLR_FREQME_RST_CLR_MASK (0x80000000U)
25280#define RSTCTL1_PRSTCTL1_CLR_FREQME_RST_CLR_SHIFT (31U)
25281/*! FREQME_RST_CLR - FREQME reset clear
25282 * 0b0..No Effect
25283 * 0b1..clears the PRSTCTL1 Bit
25284 */
25285#define RSTCTL1_PRSTCTL1_CLR_FREQME_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL1_CLR_FREQME_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL1_CLR_FREQME_RST_CLR_MASK)
25286/*! @} */
25287
25288/*! @name PRSTCTL2_CLR - peripheral reset clear register 2 */
25289/*! @{ */
25290#define RSTCTL1_PRSTCTL2_CLR_CT32BIT0_RST_CLR_MASK (0x1U)
25291#define RSTCTL1_PRSTCTL2_CLR_CT32BIT0_RST_CLR_SHIFT (0U)
25292/*! CT32BIT0_RST_CLR - CT32BIT0 reset clear
25293 * 0b0..No Effect
25294 * 0b1..clears the PRSTCTL2 Bit
25295 */
25296#define RSTCTL1_PRSTCTL2_CLR_CT32BIT0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_CT32BIT0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_CT32BIT0_RST_CLR_MASK)
25297#define RSTCTL1_PRSTCTL2_CLR_CT32BIT1_RST_CLR_MASK (0x2U)
25298#define RSTCTL1_PRSTCTL2_CLR_CT32BIT1_RST_CLR_SHIFT (1U)
25299/*! CT32BIT1_RST_CLR - CT32BIT1 reset clear
25300 * 0b0..No Effect
25301 * 0b1..clears the PRSTCTL2 Bit
25302 */
25303#define RSTCTL1_PRSTCTL2_CLR_CT32BIT1_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_CT32BIT1_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_CT32BIT1_RST_CLR_MASK)
25304#define RSTCTL1_PRSTCTL2_CLR_CT32BIT2_RST_CLR_MASK (0x4U)
25305#define RSTCTL1_PRSTCTL2_CLR_CT32BIT2_RST_CLR_SHIFT (2U)
25306/*! CT32BIT2_RST_CLR - CT32BIT2 reset clear
25307 * 0b0..No Effect
25308 * 0b1..clears the PRSTCTL2 Bit
25309 */
25310#define RSTCTL1_PRSTCTL2_CLR_CT32BIT2_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_CT32BIT2_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_CT32BIT2_RST_CLR_MASK)
25311#define RSTCTL1_PRSTCTL2_CLR_CT32BIT3_RST_CLR_MASK (0x8U)
25312#define RSTCTL1_PRSTCTL2_CLR_CT32BIT3_RST_CLR_SHIFT (3U)
25313/*! CT32BIT3_RST_CLR - CT32BIT3 reset clear
25314 * 0b0..No Effect
25315 * 0b1..clears the PRSTCTL2 Bit
25316 */
25317#define RSTCTL1_PRSTCTL2_CLR_CT32BIT3_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_CT32BIT3_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_CT32BIT3_RST_CLR_MASK)
25318#define RSTCTL1_PRSTCTL2_CLR_CT32BIT4_RST_CLR_MASK (0x10U)
25319#define RSTCTL1_PRSTCTL2_CLR_CT32BIT4_RST_CLR_SHIFT (4U)
25320/*! CT32BIT4_RST_CLR - CT32BIT4 reset clear
25321 * 0b0..No Effect
25322 * 0b1..clears the PRSTCTL2 Bit
25323 */
25324#define RSTCTL1_PRSTCTL2_CLR_CT32BIT4_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_CT32BIT4_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_CT32BIT4_RST_CLR_MASK)
25325#define RSTCTL1_PRSTCTL2_CLR_MRT0_RST_CLR_MASK (0x100U)
25326#define RSTCTL1_PRSTCTL2_CLR_MRT0_RST_CLR_SHIFT (8U)
25327/*! MRT0_RST_CLR - MRT0 reset clear
25328 * 0b0..No Effect
25329 * 0b1..clears the PRSTCTL2 Bit
25330 */
25331#define RSTCTL1_PRSTCTL2_CLR_MRT0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_MRT0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_MRT0_RST_CLR_MASK)
25332#define RSTCTL1_PRSTCTL2_CLR_WWDT1_RST_CLR_MASK (0x400U)
25333#define RSTCTL1_PRSTCTL2_CLR_WWDT1_RST_CLR_SHIFT (10U)
25334/*! WWDT1_RST_CLR - WWDT1 reset clear
25335 * 0b0..No Effect
25336 * 0b1..clears the PRSTCTL2 Bit
25337 */
25338#define RSTCTL1_PRSTCTL2_CLR_WWDT1_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_WWDT1_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_WWDT1_RST_CLR_MASK)
25339#define RSTCTL1_PRSTCTL2_CLR_I3C0_RST_CLR_MASK (0x10000U)
25340#define RSTCTL1_PRSTCTL2_CLR_I3C0_RST_CLR_SHIFT (16U)
25341/*! I3C0_RST_CLR - I3C0 reset clear
25342 * 0b1..Sets the PRSTCTL2 Bit
25343 * 0b1..clears the PRSTCTL2 Bit
25344 */
25345#define RSTCTL1_PRSTCTL2_CLR_I3C0_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_I3C0_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_I3C0_RST_CLR_MASK)
25346#define RSTCTL1_PRSTCTL2_CLR_GPIOINTCTL_RST_CLR_MASK (0x40000000U)
25347#define RSTCTL1_PRSTCTL2_CLR_GPIOINTCTL_RST_CLR_SHIFT (30U)
25348/*! GPIOINTCTL_RST_CLR - GPIOINTCTL reset clear
25349 * 0b0..No Effect
25350 * 0b1..clears the PRSTCTL2 Bit
25351 */
25352#define RSTCTL1_PRSTCTL2_CLR_GPIOINTCTL_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_GPIOINTCTL_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_GPIOINTCTL_RST_CLR_MASK)
25353#define RSTCTL1_PRSTCTL2_CLR_PIMCTL_RST_CLR_MASK (0x80000000U)
25354#define RSTCTL1_PRSTCTL2_CLR_PIMCTL_RST_CLR_SHIFT (31U)
25355/*! PIMCTL_RST_CLR - PMC reset clear
25356 * 0b0..No Effect
25357 * 0b1..clears the PRSTCTL2 Bit
25358 */
25359#define RSTCTL1_PRSTCTL2_CLR_PIMCTL_RST_CLR(x) (((uint32_t)(((uint32_t)(x)) << RSTCTL1_PRSTCTL2_CLR_PIMCTL_RST_CLR_SHIFT)) & RSTCTL1_PRSTCTL2_CLR_PIMCTL_RST_CLR_MASK)
25360/*! @} */
25361
25362
25363/*!
25364 * @}
25365 */ /* end of group RSTCTL1_Register_Masks */
25366
25367
25368/* RSTCTL1 - Peripheral instance base addresses */
25369#if (__ARM_FEATURE_CMSE & 0x2)
25370 /** Peripheral RSTCTL1 base address */
25371 #define RSTCTL1_BASE (0x50020000u)
25372 /** Peripheral RSTCTL1 base address */
25373 #define RSTCTL1_BASE_NS (0x40020000u)
25374 /** Peripheral RSTCTL1 base pointer */
25375 #define RSTCTL1 ((RSTCTL1_Type *)RSTCTL1_BASE)
25376 /** Peripheral RSTCTL1 base pointer */
25377 #define RSTCTL1_NS ((RSTCTL1_Type *)RSTCTL1_BASE_NS)
25378 /** Array initializer of RSTCTL1 peripheral base addresses */
25379 #define RSTCTL1_BASE_ADDRS { RSTCTL1_BASE }
25380 /** Array initializer of RSTCTL1 peripheral base pointers */
25381 #define RSTCTL1_BASE_PTRS { RSTCTL1 }
25382 /** Array initializer of RSTCTL1 peripheral base addresses */
25383 #define RSTCTL1_BASE_ADDRS_NS { RSTCTL1_BASE_NS }
25384 /** Array initializer of RSTCTL1 peripheral base pointers */
25385 #define RSTCTL1_BASE_PTRS_NS { RSTCTL1_NS }
25386#else
25387 /** Peripheral RSTCTL1 base address */
25388 #define RSTCTL1_BASE (0x40020000u)
25389 /** Peripheral RSTCTL1 base pointer */
25390 #define RSTCTL1 ((RSTCTL1_Type *)RSTCTL1_BASE)
25391 /** Array initializer of RSTCTL1 peripheral base addresses */
25392 #define RSTCTL1_BASE_ADDRS { RSTCTL1_BASE }
25393 /** Array initializer of RSTCTL1 peripheral base pointers */
25394 #define RSTCTL1_BASE_PTRS { RSTCTL1 }
25395#endif
25396
25397/*!
25398 * @}
25399 */ /* end of group RSTCTL1_Peripheral_Access_Layer */
25400
25401
25402/* ----------------------------------------------------------------------------
25403 -- RTC Peripheral Access Layer
25404 ---------------------------------------------------------------------------- */
25405
25406/*!
25407 * @addtogroup RTC_Peripheral_Access_Layer RTC Peripheral Access Layer
25408 * @{
25409 */
25410
25411/** RTC - Register Layout Typedef */
25412typedef struct {
25413 __IO uint32_t CTRL; /**< RTC control register, offset: 0x0 */
25414 __IO uint32_t MATCH; /**< RTC match register, offset: 0x4 */
25415 __IO uint32_t COUNT; /**< RTC counter register, offset: 0x8 */
25416 __IO uint32_t WAKE; /**< High-resolution/wake-up timer control register, offset: 0xC */
25417 __I uint32_t SUBSEC; /**< RTC Sub-second Counter register, offset: 0x10 */
25418 uint8_t RESERVED_0[44];
25419 __IO uint32_t GPREG[8]; /**< General Purpose register, array offset: 0x40, array step: 0x4 */
25420} RTC_Type;
25421
25422/* ----------------------------------------------------------------------------
25423 -- RTC Register Masks
25424 ---------------------------------------------------------------------------- */
25425
25426/*!
25427 * @addtogroup RTC_Register_Masks RTC Register Masks
25428 * @{
25429 */
25430
25431/*! @name CTRL - RTC control register */
25432/*! @{ */
25433#define RTC_CTRL_SWRESET_MASK (0x1U)
25434#define RTC_CTRL_SWRESET_SHIFT (0U)
25435/*! SWRESET - Software reset control
25436 * 0b0..Not in reset. The RTC is not held in reset. This bit must be cleared prior to configuring or initiating any operation of the RTC.
25437 * 0b1..In reset. The RTC is held in reset. All register bits within the RTC will be forced to their reset value
25438 * except the OFD bit. This bit must be cleared before writing to any register in the RTC - including writes
25439 * to set any of the other bits within this register. Do not attempt to write to any bits of this register at
25440 * the same time that the reset bit is being cleared.
25441 */
25442#define RTC_CTRL_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_SWRESET_SHIFT)) & RTC_CTRL_SWRESET_MASK)
25443#define RTC_CTRL_ALARM1HZ_MASK (0x4U)
25444#define RTC_CTRL_ALARM1HZ_SHIFT (2U)
25445/*! ALARM1HZ - RTC 1 Hz timer alarm flag status.
25446 * 0b0..No match. No match has occurred on the 1 Hz RTC timer. Writing a 0 has no effect.
25447 * 0b1..Match. A match condition has occurred on the 1 Hz RTC timer. This flag generates an RTC alarm interrupt
25448 * request RTC_ALARM which can also wake up the part from any low power mode. Writing a 1 clears this bit.
25449 */
25450#define RTC_CTRL_ALARM1HZ(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_ALARM1HZ_SHIFT)) & RTC_CTRL_ALARM1HZ_MASK)
25451#define RTC_CTRL_WAKE1KHZ_MASK (0x8U)
25452#define RTC_CTRL_WAKE1KHZ_SHIFT (3U)
25453/*! WAKE1KHZ - RTC 1 kHz timer wake-up flag status.
25454 * 0b0..Run. The RTC 1 kHz timer is running. Writing a 0 has no effect.
25455 * 0b1..Time-out. The 1 kHz high-resolution/wake-up timer has timed out. This flag generates an RTC wake-up
25456 * interrupt request RTC-WAKE which can also wake up the part from any low power mode. Writing a 1 clears this bit.
25457 */
25458#define RTC_CTRL_WAKE1KHZ(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_WAKE1KHZ_SHIFT)) & RTC_CTRL_WAKE1KHZ_MASK)
25459#define RTC_CTRL_ALARMDPD_EN_MASK (0x10U)
25460#define RTC_CTRL_ALARMDPD_EN_SHIFT (4U)
25461/*! ALARMDPD_EN - RTC 1 Hz timer alarm enable for Deep power-down.
25462 * 0b0..Disable. A match on the 1 Hz RTC timer will not bring the part out of Deep power-down mode.
25463 * 0b1..Enable. A match on the 1 Hz RTC timer bring the part out of Deep power-down mode.
25464 */
25465#define RTC_CTRL_ALARMDPD_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_ALARMDPD_EN_SHIFT)) & RTC_CTRL_ALARMDPD_EN_MASK)
25466#define RTC_CTRL_WAKEDPD_EN_MASK (0x20U)
25467#define RTC_CTRL_WAKEDPD_EN_SHIFT (5U)
25468/*! WAKEDPD_EN - RTC 1 kHz timer wake-up enable for Deep power-down.
25469 * 0b0..Disable. A match on the 1 kHz RTC timer will not bring the part out of Deep power-down mode.
25470 * 0b1..Enable. A match on the 1 kHz RTC timer bring the part out of Deep power-down mode.
25471 */
25472#define RTC_CTRL_WAKEDPD_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_WAKEDPD_EN_SHIFT)) & RTC_CTRL_WAKEDPD_EN_MASK)
25473#define RTC_CTRL_RTC1KHZ_EN_MASK (0x40U)
25474#define RTC_CTRL_RTC1KHZ_EN_SHIFT (6U)
25475/*! RTC1KHZ_EN - RTC 1 kHz clock enable. This bit can be set to 0 to conserve power if the 1 kHz
25476 * timer is not used. This bit has no effect when the RTC is disabled (bit 7 of this register is 0).
25477 * 0b0..Disable. A match on the 1 kHz RTC timer will not bring the part out of Deep power-down mode.
25478 * 0b1..Enable. The 1 kHz RTC timer is enabled.
25479 */
25480#define RTC_CTRL_RTC1KHZ_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC1KHZ_EN_SHIFT)) & RTC_CTRL_RTC1KHZ_EN_MASK)
25481#define RTC_CTRL_RTC_EN_MASK (0x80U)
25482#define RTC_CTRL_RTC_EN_SHIFT (7U)
25483/*! RTC_EN - RTC enable.
25484 * 0b0..Disable. The RTC 1 Hz and 1 kHz clocks are shut down and the RTC operation is disabled. This bit should
25485 * be 0 when writing to load a value in the RTC counter register.
25486 * 0b1..Enable. The 1 Hz RTC clock is running and RTC operation is enabled. This bit must be set to initiate
25487 * operation of the RTC. The first clock to the RTC counter occurs 1 s after this bit is set. To also enable the
25488 * high-resolution, 1 kHz clock, set bit 6 in this register.
25489 */
25490#define RTC_CTRL_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC_EN_SHIFT)) & RTC_CTRL_RTC_EN_MASK)
25491#define RTC_CTRL_RTC_OSC_PD_MASK (0x100U)
25492#define RTC_CTRL_RTC_OSC_PD_SHIFT (8U)
25493/*! RTC_OSC_PD - The RTC oscillator enable
25494 * 0b0..The RTC oscillator is enabled. This bit must be cleared in order for the RTC module to function
25495 * 0b1..The RTC oscillator is shut-off to reserve power consumption. RTC operation is disabled.
25496 */
25497#define RTC_CTRL_RTC_OSC_PD(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC_OSC_PD_SHIFT)) & RTC_CTRL_RTC_OSC_PD_MASK)
25498#define RTC_CTRL_RTC_SUBSEC_ENA_MASK (0x400U)
25499#define RTC_CTRL_RTC_SUBSEC_ENA_SHIFT (10U)
25500/*! RTC_SUBSEC_ENA - The 32 KHz sub-second counter enable
25501 * 0b0..The sub-second counter (if implemented) is disabled. This bit is cleared by a system-level POR or BOD
25502 * reset as well as a by the RTC_ENA bit (bit 7 in this register). On modules not equipped with a sub-second
25503 * counter, this bit will always read-back as a '0'
25504 * 0b1..The 32 KHz sub-second counter is enabled (if implemented). Counting will commence on the start of the
25505 * first one-second interval after this bit is set. Note: This bit can only be set after the RTC_ENA bit (bit 7)
25506 * has been set by a previous write operation. Note: The RTC sub-second counter must be re-enabled whenever
25507 * the chip exits deep_powerdown mode.
25508 */
25509#define RTC_CTRL_RTC_SUBSEC_ENA(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC_SUBSEC_ENA_SHIFT)) & RTC_CTRL_RTC_SUBSEC_ENA_MASK)
25510#define RTC_CTRL_RTC_OSC_loadcap_MASK (0xF0000000U)
25511#define RTC_CTRL_RTC_OSC_loadcap_SHIFT (28U)
25512/*! RTC_OSC_loadcap - capacitive load selection
25513 */
25514#define RTC_CTRL_RTC_OSC_loadcap(x) (((uint32_t)(((uint32_t)(x)) << RTC_CTRL_RTC_OSC_loadcap_SHIFT)) & RTC_CTRL_RTC_OSC_loadcap_MASK)
25515/*! @} */
25516
25517/*! @name MATCH - RTC match register */
25518/*! @{ */
25519#define RTC_MATCH_MATVAL_MASK (0xFFFFFFFFU)
25520#define RTC_MATCH_MATVAL_SHIFT (0U)
25521/*! MATVAL - Contains the match value against which the 1 Hz RTC timer will be compared to set the
25522 * alarm flag RTC_ALARM and generate an alarm interrupt/wake-up if enabled.
25523 */
25524#define RTC_MATCH_MATVAL(x) (((uint32_t)(((uint32_t)(x)) << RTC_MATCH_MATVAL_SHIFT)) & RTC_MATCH_MATVAL_MASK)
25525/*! @} */
25526
25527/*! @name COUNT - RTC counter register */
25528/*! @{ */
25529#define RTC_COUNT_VAL_MASK (0xFFFFFFFFU)
25530#define RTC_COUNT_VAL_SHIFT (0U)
25531/*! VAL - A read reflects the current value of the main, 1 Hz RTC timer. A write loads a new initial
25532 * value into the timer. The RTC counter will count up continuously at a 1 Hz rate once the RTC
25533 * Software Reset is removed (by clearing bit 0 of the CTRL register). Only write to this
25534 * register when the RTC_EN bit in the RTC CTRL Register is 0. The counter increments one second after
25535 * the RTC_EN bit is set.
25536 */
25537#define RTC_COUNT_VAL(x) (((uint32_t)(((uint32_t)(x)) << RTC_COUNT_VAL_SHIFT)) & RTC_COUNT_VAL_MASK)
25538/*! @} */
25539
25540/*! @name WAKE - High-resolution/wake-up timer control register */
25541/*! @{ */
25542#define RTC_WAKE_VAL_MASK (0xFFFFU)
25543#define RTC_WAKE_VAL_SHIFT (0U)
25544/*! VAL - A read reflects the current value of the high-resolution/wake-up timer. A write pre-loads
25545 * a start count value into the wake-up timer and initializes a count-down sequence. Do not write
25546 * to this register while counting is in progress.
25547 */
25548#define RTC_WAKE_VAL(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAKE_VAL_SHIFT)) & RTC_WAKE_VAL_MASK)
25549/*! @} */
25550
25551/*! @name SUBSEC - RTC Sub-second Counter register */
25552/*! @{ */
25553#define RTC_SUBSEC_RTC_SUBSEC_MASK (0x7FFFU)
25554#define RTC_SUBSEC_RTC_SUBSEC_SHIFT (0U)
25555/*! RTC_SUBSEC - A read reflects the current value of the 32Khz sub-second counter. This counter
25556 * will be cleared whenever the SUBSEC_ENA bit in the RTC_CONTROL register is low. Up-counting at a
25557 * 32 KHz rate commences at the start of the next one-second interval after the SUBSEC_ENA bit is
25558 * set. This counter must be re-enabled after exiting deep_powerdown mode or after the main RTC
25559 * module has been disabled and re-enabled. On modules not equipped with a sub-second counter,
25560 * this register will read-back as all zeroes.
25561 */
25562#define RTC_SUBSEC_RTC_SUBSEC(x) (((uint32_t)(((uint32_t)(x)) << RTC_SUBSEC_RTC_SUBSEC_SHIFT)) & RTC_SUBSEC_RTC_SUBSEC_MASK)
25563/*! @} */
25564
25565/*! @name GPREG - General Purpose register */
25566/*! @{ */
25567#define RTC_GPREG_GPDATA_MASK (0xFFFFFFFFU)
25568#define RTC_GPREG_GPDATA_SHIFT (0U)
25569/*! GPDATA - Data retained during Deep power-down mode or loss of main power as long as VBAT is supplied.
25570 */
25571#define RTC_GPREG_GPDATA(x) (((uint32_t)(((uint32_t)(x)) << RTC_GPREG_GPDATA_SHIFT)) & RTC_GPREG_GPDATA_MASK)
25572/*! @} */
25573
25574/* The count of RTC_GPREG */
25575#define RTC_GPREG_COUNT (8U)
25576
25577
25578/*!
25579 * @}
25580 */ /* end of group RTC_Register_Masks */
25581
25582
25583/* RTC - Peripheral instance base addresses */
25584#if (__ARM_FEATURE_CMSE & 0x2)
25585 /** Peripheral RTC base address */
25586 #define RTC_BASE (0x50030000u)
25587 /** Peripheral RTC base address */
25588 #define RTC_BASE_NS (0x40030000u)
25589 /** Peripheral RTC base pointer */
25590 #define RTC ((RTC_Type *)RTC_BASE)
25591 /** Peripheral RTC base pointer */
25592 #define RTC_NS ((RTC_Type *)RTC_BASE_NS)
25593 /** Array initializer of RTC peripheral base addresses */
25594 #define RTC_BASE_ADDRS { RTC_BASE }
25595 /** Array initializer of RTC peripheral base pointers */
25596 #define RTC_BASE_PTRS { RTC }
25597 /** Array initializer of RTC peripheral base addresses */
25598 #define RTC_BASE_ADDRS_NS { RTC_BASE_NS }
25599 /** Array initializer of RTC peripheral base pointers */
25600 #define RTC_BASE_PTRS_NS { RTC_NS }
25601#else
25602 /** Peripheral RTC base address */
25603 #define RTC_BASE (0x40030000u)
25604 /** Peripheral RTC base pointer */
25605 #define RTC ((RTC_Type *)RTC_BASE)
25606 /** Array initializer of RTC peripheral base addresses */
25607 #define RTC_BASE_ADDRS { RTC_BASE }
25608 /** Array initializer of RTC peripheral base pointers */
25609 #define RTC_BASE_PTRS { RTC }
25610#endif
25611/** Interrupt vectors for the RTC peripheral type */
25612#define RTC_IRQS { RTC_IRQn }
25613
25614/*!
25615 * @}
25616 */ /* end of group RTC_Peripheral_Access_Layer */
25617
25618
25619/* ----------------------------------------------------------------------------
25620 -- SCT Peripheral Access Layer
25621 ---------------------------------------------------------------------------- */
25622
25623/*!
25624 * @addtogroup SCT_Peripheral_Access_Layer SCT Peripheral Access Layer
25625 * @{
25626 */
25627
25628/** SCT - Register Layout Typedef */
25629typedef struct {
25630 __IO uint32_t CONFIG; /**< SCT configuration register, offset: 0x0 */
25631 union { /* offset: 0x4 */
25632 struct { /* offset: 0x4 */
25633 __IO uint16_t CTRLL; /**< SCT_CTRLL register, offset: 0x4 */
25634 __IO uint16_t CTRLH; /**< SCT_CTRLH register, offset: 0x6 */
25635 } CTRL_ACCESS16BIT;
25636 __IO uint32_t CTRL; /**< SCT control register, offset: 0x4 */
25637 };
25638 union { /* offset: 0x8 */
25639 struct { /* offset: 0x8 */
25640 __IO uint16_t LIMITL; /**< SCT_LIMITL register, offset: 0x8 */
25641 __IO uint16_t LIMITH; /**< SCT_LIMITH register, offset: 0xA */
25642 } LIMIT_ACCESS16BIT;
25643 __IO uint32_t LIMIT; /**< SCT limit event select register, offset: 0x8 */
25644 };
25645 union { /* offset: 0xC */
25646 struct { /* offset: 0xC */
25647 __IO uint16_t HALTL; /**< SCT_HALTL register, offset: 0xC */
25648 __IO uint16_t HALTH; /**< SCT_HALTH register, offset: 0xE */
25649 } HALT_ACCESS16BIT;
25650 __IO uint32_t HALT; /**< SCT halt event select register, offset: 0xC */
25651 };
25652 union { /* offset: 0x10 */
25653 struct { /* offset: 0x10 */
25654 __IO uint16_t STOPL; /**< SCT_STOPL register, offset: 0x10 */
25655 __IO uint16_t STOPH; /**< SCT_STOPH register, offset: 0x12 */
25656 } STOP_ACCESS16BIT;
25657 __IO uint32_t STOP; /**< SCT stop event select register, offset: 0x10 */
25658 };
25659 union { /* offset: 0x14 */
25660 struct { /* offset: 0x14 */
25661 __IO uint16_t STARTL; /**< SCT_STARTL register, offset: 0x14 */
25662 __IO uint16_t STARTH; /**< SCT_STARTH register, offset: 0x16 */
25663 } START_ACCESS16BIT;
25664 __IO uint32_t START; /**< SCT start event select register, offset: 0x14 */
25665 };
25666 uint8_t RESERVED_0[40];
25667 union { /* offset: 0x40 */
25668 struct { /* offset: 0x40 */
25669 __IO uint16_t COUNTL; /**< SCT_COUNTL register, offset: 0x40 */
25670 __IO uint16_t COUNTH; /**< SCT_COUNTH register, offset: 0x42 */
25671 } COUNT_ACCESS16BIT;
25672 __IO uint32_t COUNT; /**< SCT counter register, offset: 0x40 */
25673 };
25674 union { /* offset: 0x44 */
25675 struct { /* offset: 0x44 */
25676 __IO uint16_t STATEL; /**< SCT_STATEL register, offset: 0x44 */
25677 __IO uint16_t STATEH; /**< SCT_STATEH register, offset: 0x46 */
25678 } STATE_ACCESS16BIT;
25679 __IO uint32_t STATE; /**< SCT state register, offset: 0x44 */
25680 };
25681 __I uint32_t INPUT; /**< SCT input register, offset: 0x48 */
25682 union { /* offset: 0x4C */
25683 struct { /* offset: 0x4C */
25684 __IO uint16_t REGMODEL; /**< SCT_REGMODEL register, offset: 0x4C */
25685 __IO uint16_t REGMODEH; /**< SCT_REGMODEH register, offset: 0x4E */
25686 } REGMODE_ACCESS16BIT;
25687 __IO uint32_t REGMODE; /**< SCT match/capture mode register, offset: 0x4C */
25688 };
25689 __IO uint32_t OUTPUT; /**< SCT output register, offset: 0x50 */
25690 __IO uint32_t OUTPUTDIRCTRL; /**< SCT output counter direction control register, offset: 0x54 */
25691 __IO uint32_t RES; /**< SCT conflict resolution register, offset: 0x58 */
25692 __IO uint32_t DMAREQ0; /**< SCT DMA request 0 register, offset: 0x5C */
25693 __IO uint32_t DMAREQ1; /**< SCT DMA request 1 register, offset: 0x60 */
25694 uint8_t RESERVED_1[140];
25695 __IO uint32_t EVEN; /**< SCT event interrupt enable register, offset: 0xF0 */
25696 __IO uint32_t EVFLAG; /**< SCT event flag register, offset: 0xF4 */
25697 __IO uint32_t CONEN; /**< SCT conflict interrupt enable register, offset: 0xF8 */
25698 __IO uint32_t CONFLAG; /**< SCT conflict flag register, offset: 0xFC */
25699 union { /* offset: 0x100 */
25700 union { /* offset: 0x100, array step: 0x4 */
25701 struct { /* offset: 0x100, array step: 0x4 */
25702 __IO uint16_t CAPL; /**< SCT_CAPL register, array offset: 0x100, array step: 0x4 */
25703 __IO uint16_t CAPH; /**< SCT_CAPH register, array offset: 0x102, array step: 0x4 */
25704 } CAP_ACCESS16BIT[16];
25705 __IO uint32_t CAP[16]; /**< SCT capture register of capture channel, array offset: 0x100, array step: 0x4 */
25706 };
25707 union { /* offset: 0x100, array step: 0x4 */
25708 struct { /* offset: 0x100, array step: 0x4 */
25709 __IO uint16_t MATCHL; /**< SCT_MATCHL register, array offset: 0x100, array step: 0x4 */
25710 __IO uint16_t MATCHH; /**< SCT_MATCHH register, array offset: 0x102, array step: 0x4 */
25711 } MATCH_ACCESS16BIT[16];
25712 __IO uint32_t MATCH[16]; /**< SCT match value register of match channels, array offset: 0x100, array step: 0x4 */
25713 };
25714 };
25715 uint8_t RESERVED_2[192];
25716 union { /* offset: 0x200 */
25717 union { /* offset: 0x200, array step: 0x4 */
25718 struct { /* offset: 0x200, array step: 0x4 */
25719 __IO uint16_t CAPCTRLL; /**< SCT_CAPCTRLL register, array offset: 0x200, array step: 0x4 */
25720 __IO uint16_t CAPCTRLH; /**< SCT_CAPCTRLH register, array offset: 0x202, array step: 0x4 */
25721 } CAPCTRL_ACCESS16BIT[16];
25722 __IO uint32_t CAPCTRL[16]; /**< SCT capture control register, array offset: 0x200, array step: 0x4 */
25723 };
25724 union { /* offset: 0x200, array step: 0x4 */
25725 struct { /* offset: 0x200, array step: 0x4 */
25726 __IO uint16_t MATCHRELL; /**< SCT_MATCHRELL register, array offset: 0x200, array step: 0x4 */
25727 __IO uint16_t MATCHRELH; /**< SCT_MATCHRELH register, array offset: 0x202, array step: 0x4 */
25728 } MATCHREL_ACCESS16BIT[16];
25729 __IO uint32_t MATCHREL[16]; /**< SCT match reload value register, array offset: 0x200, array step: 0x4 */
25730 };
25731 };
25732 uint8_t RESERVED_3[192];
25733 struct { /* offset: 0x300, array step: 0x8 */
25734 __IO uint32_t STATE; /**< SCT event state register 0, array offset: 0x300, array step: 0x8 */
25735 __IO uint32_t CTRL; /**< SCT event control register 0, array offset: 0x304, array step: 0x8 */
25736 } EV[16];
25737 uint8_t RESERVED_4[384];
25738 struct { /* offset: 0x500, array step: 0x8 */
25739 __IO uint32_t SET; /**< SCT output 0 set register, array offset: 0x500, array step: 0x8 */
25740 __IO uint32_t CLR; /**< SCT output 0 clear register, array offset: 0x504, array step: 0x8 */
25741 } OUT[10];
25742} SCT_Type;
25743
25744/* ----------------------------------------------------------------------------
25745 -- SCT Register Masks
25746 ---------------------------------------------------------------------------- */
25747
25748/*!
25749 * @addtogroup SCT_Register_Masks SCT Register Masks
25750 * @{
25751 */
25752
25753/*! @name CONFIG - SCT configuration register */
25754/*! @{ */
25755#define SCT_CONFIG_UNIFY_MASK (0x1U)
25756#define SCT_CONFIG_UNIFY_SHIFT (0U)
25757/*! UNIFY - SCT operation
25758 * 0b0..The SCT operates as two 16-bit counters named COUNTER_L and COUNTER_H.
25759 * 0b1..The SCT operates as a unified 32-bit counter.
25760 */
25761#define SCT_CONFIG_UNIFY(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_UNIFY_SHIFT)) & SCT_CONFIG_UNIFY_MASK)
25762#define SCT_CONFIG_CLKMODE_MASK (0x6U)
25763#define SCT_CONFIG_CLKMODE_SHIFT (1U)
25764/*! CLKMODE - SCT clock mode
25765 * 0b00..System Clock Mode. The system clock clocks the entire SCT module including the counter(s) and counter prescalers.
25766 * 0b01..Sampled System Clock Mode. The system clock clocks the SCT module, but the counter and prescalers are
25767 * only enabled to count when the designated edge is detected on the input selected by the CKSEL field. The
25768 * minimum pulse width on the selected clock-gate input is 1 bus clock period. This mode is the
25769 * high-performance, sampled-clock mode.
25770 * 0b10..SCT Input Clock Mode. The input/edge selected by the CKSEL field clocks the SCT module, including the
25771 * counters and prescalers, after first being synchronized to the system clock. The minimum pulse width on the
25772 * clock input is 1 bus clock period. This mode is the low-power, sampled-clock mode.
25773 * 0b11..Asynchronous Mode. The entire SCT module is clocked directly by the input/edge selected by the CKSEL
25774 * field. In this mode, the SCT outputs are switched synchronously to the SCT input clock - not the system
25775 * clock. The input clock rate must be at least half the system clock rate and can be the same or faster than
25776 * the system clock.
25777 */
25778#define SCT_CONFIG_CLKMODE(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_CLKMODE_SHIFT)) & SCT_CONFIG_CLKMODE_MASK)
25779#define SCT_CONFIG_CKSEL_MASK (0x78U)
25780#define SCT_CONFIG_CKSEL_SHIFT (3U)
25781/*! CKSEL - SCT clock select. The specific functionality of the designated input/edge is dependent
25782 * on the CLKMODE bit selection in this register.
25783 * 0b0000..Rising edges on input 0.
25784 * 0b0001..Falling edges on input 0.
25785 * 0b0010..Rising edges on input 1.
25786 * 0b0011..Falling edges on input 1.
25787 * 0b0100..Rising edges on input 2.
25788 * 0b0101..Falling edges on input 2.
25789 * 0b0110..Rising edges on input 3.
25790 * 0b0111..Falling edges on input 3.
25791 * 0b1000..Rising edges on input 4.
25792 * 0b1001..Falling edges on input 4.
25793 * 0b1010..Rising edges on input 5.
25794 * 0b1011..Falling edges on input 5.
25795 * 0b1100..Rising edges on input 6.
25796 * 0b1101..Falling edges on input 6.
25797 * 0b1110..Rising edges on input 7.
25798 * 0b1111..Falling edges on input 7.
25799 */
25800#define SCT_CONFIG_CKSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_CKSEL_SHIFT)) & SCT_CONFIG_CKSEL_MASK)
25801#define SCT_CONFIG_NORELOAD_L_MASK (0x80U)
25802#define SCT_CONFIG_NORELOAD_L_SHIFT (7U)
25803/*! NORELOAD_L - A 1 in this bit prevents the lower match registers from being reloaded from their
25804 * respective reload registers. Setting this bit eliminates the need to write to the reload
25805 * registers MATCHREL if the match values are fixed. Software can write to set or clear this bit at any
25806 * time. This bit applies to both the higher and lower registers when the UNIFY bit is set.
25807 */
25808#define SCT_CONFIG_NORELOAD_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_NORELOAD_L_SHIFT)) & SCT_CONFIG_NORELOAD_L_MASK)
25809#define SCT_CONFIG_NORELOAD_H_MASK (0x100U)
25810#define SCT_CONFIG_NORELOAD_H_SHIFT (8U)
25811/*! NORELOAD_H - A 1 in this bit prevents the higher match registers from being reloaded from their
25812 * respective reload registers. Setting this bit eliminates the need to write to the reload
25813 * registers MATCHREL if the match values are fixed. Software can write to set or clear this bit at
25814 * any time. This bit is not used when the UNIFY bit is set.
25815 */
25816#define SCT_CONFIG_NORELOAD_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_NORELOAD_H_SHIFT)) & SCT_CONFIG_NORELOAD_H_MASK)
25817#define SCT_CONFIG_INSYNC_MASK (0x1E00U)
25818#define SCT_CONFIG_INSYNC_SHIFT (9U)
25819/*! INSYNC - Synchronization for input N (bit 9 = input 0, bit 10 = input 1,, bit 12 = input 3); all
25820 * other bits are reserved. A 1 in one of these bits subjects the corresponding input to
25821 * synchronization to the SCT clock, before it is used to create an event. If an input is known to
25822 * already be synchronous to the SCT clock, this bit may be set to 0 for faster input response. (Note:
25823 * The SCT clock is the system clock for CKMODEs 0-2. It is the selected, asynchronous SCT input
25824 * clock for CKMODE3). Note that the INSYNC field only affects inputs used for event generation.
25825 * It does not apply to the clock input specified in the CKSEL field.
25826 */
25827#define SCT_CONFIG_INSYNC(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_INSYNC_SHIFT)) & SCT_CONFIG_INSYNC_MASK)
25828#define SCT_CONFIG_AUTOLIMIT_L_MASK (0x20000U)
25829#define SCT_CONFIG_AUTOLIMIT_L_SHIFT (17U)
25830/*! AUTOLIMIT_L - A one in this bit causes a match on match register 0 to be treated as a de-facto
25831 * LIMIT condition without the need to define an associated event. As with any LIMIT event, this
25832 * automatic limit causes the counter to be cleared to zero in unidirectional mode or to change
25833 * the direction of count in bi-directional mode. Software can write to set or clear this bit at
25834 * any time. This bit applies to both the higher and lower registers when the UNIFY bit is set.
25835 */
25836#define SCT_CONFIG_AUTOLIMIT_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_AUTOLIMIT_L_SHIFT)) & SCT_CONFIG_AUTOLIMIT_L_MASK)
25837#define SCT_CONFIG_AUTOLIMIT_H_MASK (0x40000U)
25838#define SCT_CONFIG_AUTOLIMIT_H_SHIFT (18U)
25839/*! AUTOLIMIT_H - A one in this bit will cause a match on match register 0 to be treated as a
25840 * de-facto LIMIT condition without the need to define an associated event. As with any LIMIT event,
25841 * this automatic limit causes the counter to be cleared to zero in unidirectional mode or to
25842 * change the direction of count in bi-directional mode. Software can write to set or clear this bit
25843 * at any time. This bit is not used when the UNIFY bit is set.
25844 */
25845#define SCT_CONFIG_AUTOLIMIT_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFIG_AUTOLIMIT_H_SHIFT)) & SCT_CONFIG_AUTOLIMIT_H_MASK)
25846/*! @} */
25847
25848/*! @name CTRLL - SCT_CTRLL register */
25849/*! @{ */
25850#define SCT_CTRLL_DOWN_L_MASK (0x1U)
25851#define SCT_CTRLL_DOWN_L_SHIFT (0U)
25852/*! DOWN_L - This bit is 1 when the L or unified counter is counting down. Hardware sets this bit
25853 * when the counter is counting up, counter limit occurs, and BIDIR = 1.Hardware clears this bit
25854 * when the counter is counting down and a limit condition occurs or when the counter reaches 0.
25855 */
25856#define SCT_CTRLL_DOWN_L(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLL_DOWN_L_SHIFT)) & SCT_CTRLL_DOWN_L_MASK)
25857#define SCT_CTRLL_STOP_L_MASK (0x2U)
25858#define SCT_CTRLL_STOP_L_SHIFT (1U)
25859/*! STOP_L - When this bit is 1 and HALT is 0, the L or unified counter does not run, but I/O events
25860 * related to the counter can occur. If a designated start event occurs, this bit is cleared and
25861 * counting resumes.
25862 */
25863#define SCT_CTRLL_STOP_L(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLL_STOP_L_SHIFT)) & SCT_CTRLL_STOP_L_MASK)
25864#define SCT_CTRLL_HALT_L_MASK (0x4U)
25865#define SCT_CTRLL_HALT_L_SHIFT (2U)
25866/*! HALT_L - When this bit is 1, the L or unified counter does not run and no events can occur. A
25867 * reset sets this bit. When the HALT_L bit is one, the STOP_L bit is cleared. It is possible to
25868 * remove the halt condition while keeping the SCT in the stop condition (not running) with a
25869 * single write to this register to simultaneously clear the HALT bit and set the STOP bit. Once set,
25870 * only software can clear this bit to restore counter operation. This bit is set on reset.
25871 */
25872#define SCT_CTRLL_HALT_L(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLL_HALT_L_SHIFT)) & SCT_CTRLL_HALT_L_MASK)
25873#define SCT_CTRLL_CLRCTR_L_MASK (0x8U)
25874#define SCT_CTRLL_CLRCTR_L_SHIFT (3U)
25875/*! CLRCTR_L - Writing a 1 to this bit clears the L or unified counter. This bit always reads as 0.
25876 */
25877#define SCT_CTRLL_CLRCTR_L(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLL_CLRCTR_L_SHIFT)) & SCT_CTRLL_CLRCTR_L_MASK)
25878#define SCT_CTRLL_BIDIR_L_MASK (0x10U)
25879#define SCT_CTRLL_BIDIR_L_SHIFT (4U)
25880/*! BIDIR_L - L or unified counter direction select
25881 * 0b0..Up. The counter counts up to a limit condition, then is cleared to zero.
25882 * 0b1..Up-down. The counter counts up to a limit, then counts down to a limit condition or to 0.
25883 */
25884#define SCT_CTRLL_BIDIR_L(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLL_BIDIR_L_SHIFT)) & SCT_CTRLL_BIDIR_L_MASK)
25885#define SCT_CTRLL_PRE_L_MASK (0x1FE0U)
25886#define SCT_CTRLL_PRE_L_SHIFT (5U)
25887/*! PRE_L - Specifies the factor by which the SCT clock is prescaled to produce the L or unified
25888 * counter clock. The counter clock is clocked at the rate of the SCT clock divided by PRE_L+1.
25889 * Clear the counter (by writing a 1 to the CLRCTR bit) whenever changing the PRE value.
25890 */
25891#define SCT_CTRLL_PRE_L(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLL_PRE_L_SHIFT)) & SCT_CTRLL_PRE_L_MASK)
25892/*! @} */
25893
25894/*! @name CTRLH - SCT_CTRLH register */
25895/*! @{ */
25896#define SCT_CTRLH_DOWN_H_MASK (0x1U)
25897#define SCT_CTRLH_DOWN_H_SHIFT (0U)
25898/*! DOWN_H - This bit is 1 when the H counter is counting down. Hardware sets this bit when the
25899 * counter is counting, a counter limit condition occurs, and BIDIR is 1. Hardware clears this bit
25900 * when the counter is counting down and a limit condition occurs or when the counter reaches 0.
25901 */
25902#define SCT_CTRLH_DOWN_H(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLH_DOWN_H_SHIFT)) & SCT_CTRLH_DOWN_H_MASK)
25903#define SCT_CTRLH_STOP_H_MASK (0x2U)
25904#define SCT_CTRLH_STOP_H_SHIFT (1U)
25905/*! STOP_H - When this bit is 1 and HALT is 0, the H counter does not, run but I/O events related to
25906 * the counter can occur. If such an event matches the mask in the Start register, this bit is
25907 * cleared and counting resumes.
25908 */
25909#define SCT_CTRLH_STOP_H(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLH_STOP_H_SHIFT)) & SCT_CTRLH_STOP_H_MASK)
25910#define SCT_CTRLH_HALT_H_MASK (0x4U)
25911#define SCT_CTRLH_HALT_H_SHIFT (2U)
25912/*! HALT_H - When this bit is 1, the H counter does not run and no events can occur. A reset sets
25913 * this bit. When the HALT_H bit is one, the STOP_H bit is cleared. It is possible to remove the
25914 * halt condition while keeping the SCT in the stop condition (not running) with a single write to
25915 * this register to simultaneously clear the HALT bit and set the STOP bit. Once set, this bit
25916 * can only be cleared by software to restore counter operation. This bit is set on reset.
25917 */
25918#define SCT_CTRLH_HALT_H(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLH_HALT_H_SHIFT)) & SCT_CTRLH_HALT_H_MASK)
25919#define SCT_CTRLH_CLRCTR_H_MASK (0x8U)
25920#define SCT_CTRLH_CLRCTR_H_SHIFT (3U)
25921/*! CLRCTR_H - Writing a 1 to this bit clears the H counter. This bit always reads as 0.
25922 */
25923#define SCT_CTRLH_CLRCTR_H(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLH_CLRCTR_H_SHIFT)) & SCT_CTRLH_CLRCTR_H_MASK)
25924#define SCT_CTRLH_BIDIR_H_MASK (0x10U)
25925#define SCT_CTRLH_BIDIR_H_SHIFT (4U)
25926/*! BIDIR_H - Direction select
25927 * 0b0..The H counter counts up to its limit condition, then is cleared to zero.
25928 * 0b1..The H counter counts up to its limit, then counts down to a limit condition or to 0.
25929 */
25930#define SCT_CTRLH_BIDIR_H(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLH_BIDIR_H_SHIFT)) & SCT_CTRLH_BIDIR_H_MASK)
25931#define SCT_CTRLH_PRE_H_MASK (0x1FE0U)
25932#define SCT_CTRLH_PRE_H_SHIFT (5U)
25933/*! PRE_H - Specifies the factor by which the SCT clock is prescaled to produce the H counter clock.
25934 * The counter clock is clocked at the rate of the SCT clock divided by PRELH+1. Clear the
25935 * counter (by writing a 1 to the CLRCTR bit) whenever changing the PRE value.
25936 */
25937#define SCT_CTRLH_PRE_H(x) (((uint16_t)(((uint16_t)(x)) << SCT_CTRLH_PRE_H_SHIFT)) & SCT_CTRLH_PRE_H_MASK)
25938/*! @} */
25939
25940/*! @name CTRL - SCT control register */
25941/*! @{ */
25942#define SCT_CTRL_DOWN_L_MASK (0x1U)
25943#define SCT_CTRL_DOWN_L_SHIFT (0U)
25944/*! DOWN_L - This bit is 1 when the L or unified counter is counting down. Hardware sets this bit
25945 * when the counter is counting up, counter limit occurs, and BIDIR = 1.Hardware clears this bit
25946 * when the counter is counting down and a limit condition occurs or when the counter reaches 0.
25947 */
25948#define SCT_CTRL_DOWN_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_DOWN_L_SHIFT)) & SCT_CTRL_DOWN_L_MASK)
25949#define SCT_CTRL_STOP_L_MASK (0x2U)
25950#define SCT_CTRL_STOP_L_SHIFT (1U)
25951/*! STOP_L - When this bit is 1 and HALT is 0, the L or unified counter does not run, but I/O events
25952 * related to the counter can occur. If a designated start event occurs, this bit is cleared and
25953 * counting resumes.
25954 */
25955#define SCT_CTRL_STOP_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_STOP_L_SHIFT)) & SCT_CTRL_STOP_L_MASK)
25956#define SCT_CTRL_HALT_L_MASK (0x4U)
25957#define SCT_CTRL_HALT_L_SHIFT (2U)
25958/*! HALT_L - When this bit is 1, the L or unified counter does not run and no events can occur. A
25959 * reset sets this bit. When the HALT_L bit is one, the STOP_L bit is cleared. It is possible to
25960 * remove the halt condition while keeping the SCT in the stop condition (not running) with a
25961 * single write to this register to simultaneously clear the HALT bit and set the STOP bit. Once set,
25962 * only software can clear this bit to restore counter operation. This bit is set on reset.
25963 */
25964#define SCT_CTRL_HALT_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_HALT_L_SHIFT)) & SCT_CTRL_HALT_L_MASK)
25965#define SCT_CTRL_CLRCTR_L_MASK (0x8U)
25966#define SCT_CTRL_CLRCTR_L_SHIFT (3U)
25967/*! CLRCTR_L - Writing a 1 to this bit clears the L or unified counter. This bit always reads as 0.
25968 */
25969#define SCT_CTRL_CLRCTR_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_CLRCTR_L_SHIFT)) & SCT_CTRL_CLRCTR_L_MASK)
25970#define SCT_CTRL_BIDIR_L_MASK (0x10U)
25971#define SCT_CTRL_BIDIR_L_SHIFT (4U)
25972/*! BIDIR_L - L or unified counter direction select
25973 * 0b0..Up. The counter counts up to a limit condition, then is cleared to zero.
25974 * 0b1..Up-down. The counter counts up to a limit, then counts down to a limit condition or to 0.
25975 */
25976#define SCT_CTRL_BIDIR_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_BIDIR_L_SHIFT)) & SCT_CTRL_BIDIR_L_MASK)
25977#define SCT_CTRL_PRE_L_MASK (0x1FE0U)
25978#define SCT_CTRL_PRE_L_SHIFT (5U)
25979/*! PRE_L - Specifies the factor by which the SCT clock is prescaled to produce the L or unified
25980 * counter clock. The counter clock is clocked at the rate of the SCT clock divided by PRE_L+1.
25981 * Clear the counter (by writing a 1 to the CLRCTR bit) whenever changing the PRE value.
25982 */
25983#define SCT_CTRL_PRE_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_PRE_L_SHIFT)) & SCT_CTRL_PRE_L_MASK)
25984#define SCT_CTRL_DOWN_H_MASK (0x10000U)
25985#define SCT_CTRL_DOWN_H_SHIFT (16U)
25986/*! DOWN_H - This bit is 1 when the H counter is counting down. Hardware sets this bit when the
25987 * counter is counting, a counter limit condition occurs, and BIDIR is 1. Hardware clears this bit
25988 * when the counter is counting down and a limit condition occurs or when the counter reaches 0.
25989 */
25990#define SCT_CTRL_DOWN_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_DOWN_H_SHIFT)) & SCT_CTRL_DOWN_H_MASK)
25991#define SCT_CTRL_STOP_H_MASK (0x20000U)
25992#define SCT_CTRL_STOP_H_SHIFT (17U)
25993/*! STOP_H - When this bit is 1 and HALT is 0, the H counter does not, run but I/O events related to
25994 * the counter can occur. If such an event matches the mask in the Start register, this bit is
25995 * cleared and counting resumes.
25996 */
25997#define SCT_CTRL_STOP_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_STOP_H_SHIFT)) & SCT_CTRL_STOP_H_MASK)
25998#define SCT_CTRL_HALT_H_MASK (0x40000U)
25999#define SCT_CTRL_HALT_H_SHIFT (18U)
26000/*! HALT_H - When this bit is 1, the H counter does not run and no events can occur. A reset sets
26001 * this bit. When the HALT_H bit is one, the STOP_H bit is cleared. It is possible to remove the
26002 * halt condition while keeping the SCT in the stop condition (not running) with a single write to
26003 * this register to simultaneously clear the HALT bit and set the STOP bit. Once set, this bit
26004 * can only be cleared by software to restore counter operation. This bit is set on reset.
26005 */
26006#define SCT_CTRL_HALT_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_HALT_H_SHIFT)) & SCT_CTRL_HALT_H_MASK)
26007#define SCT_CTRL_CLRCTR_H_MASK (0x80000U)
26008#define SCT_CTRL_CLRCTR_H_SHIFT (19U)
26009/*! CLRCTR_H - Writing a 1 to this bit clears the H counter. This bit always reads as 0.
26010 */
26011#define SCT_CTRL_CLRCTR_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_CLRCTR_H_SHIFT)) & SCT_CTRL_CLRCTR_H_MASK)
26012#define SCT_CTRL_BIDIR_H_MASK (0x100000U)
26013#define SCT_CTRL_BIDIR_H_SHIFT (20U)
26014/*! BIDIR_H - Direction select
26015 * 0b0..The H counter counts up to its limit condition, then is cleared to zero.
26016 * 0b1..The H counter counts up to its limit, then counts down to a limit condition or to 0.
26017 */
26018#define SCT_CTRL_BIDIR_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_BIDIR_H_SHIFT)) & SCT_CTRL_BIDIR_H_MASK)
26019#define SCT_CTRL_PRE_H_MASK (0x1FE00000U)
26020#define SCT_CTRL_PRE_H_SHIFT (21U)
26021/*! PRE_H - Specifies the factor by which the SCT clock is prescaled to produce the H counter clock.
26022 * The counter clock is clocked at the rate of the SCT clock divided by PRELH+1. Clear the
26023 * counter (by writing a 1 to the CLRCTR bit) whenever changing the PRE value.
26024 */
26025#define SCT_CTRL_PRE_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CTRL_PRE_H_SHIFT)) & SCT_CTRL_PRE_H_MASK)
26026/*! @} */
26027
26028/*! @name LIMITL - SCT_LIMITL register */
26029/*! @{ */
26030#define SCT_LIMITL_LIMITL_MASK (0xFFFFU)
26031#define SCT_LIMITL_LIMITL_SHIFT (0U)
26032#define SCT_LIMITL_LIMITL(x) (((uint16_t)(((uint16_t)(x)) << SCT_LIMITL_LIMITL_SHIFT)) & SCT_LIMITL_LIMITL_MASK)
26033/*! @} */
26034
26035/*! @name LIMITH - SCT_LIMITH register */
26036/*! @{ */
26037#define SCT_LIMITH_LIMITH_MASK (0xFFFFU)
26038#define SCT_LIMITH_LIMITH_SHIFT (0U)
26039#define SCT_LIMITH_LIMITH(x) (((uint16_t)(((uint16_t)(x)) << SCT_LIMITH_LIMITH_SHIFT)) & SCT_LIMITH_LIMITH_MASK)
26040/*! @} */
26041
26042/*! @name LIMIT - SCT limit event select register */
26043/*! @{ */
26044#define SCT_LIMIT_LIMMSK_L_MASK (0xFFFFU)
26045#define SCT_LIMIT_LIMMSK_L_SHIFT (0U)
26046/*! LIMMSK_L - If bit n is one, event n is used as a counter limit for the L or unified counter
26047 * (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.
26048 */
26049#define SCT_LIMIT_LIMMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_LIMIT_LIMMSK_L_SHIFT)) & SCT_LIMIT_LIMMSK_L_MASK)
26050#define SCT_LIMIT_LIMMSK_H_MASK (0xFFFF0000U)
26051#define SCT_LIMIT_LIMMSK_H_SHIFT (16U)
26052/*! LIMMSK_H - If bit n is one, event n is used as a counter limit for the H counter (event 0 = bit
26053 * 16, event 1 = bit 17, etc.). The number of bits = number of events in this SCT.
26054 */
26055#define SCT_LIMIT_LIMMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_LIMIT_LIMMSK_H_SHIFT)) & SCT_LIMIT_LIMMSK_H_MASK)
26056/*! @} */
26057
26058/*! @name HALTL - SCT_HALTL register */
26059/*! @{ */
26060#define SCT_HALTL_HALTL_MASK (0xFFFFU)
26061#define SCT_HALTL_HALTL_SHIFT (0U)
26062#define SCT_HALTL_HALTL(x) (((uint16_t)(((uint16_t)(x)) << SCT_HALTL_HALTL_SHIFT)) & SCT_HALTL_HALTL_MASK)
26063/*! @} */
26064
26065/*! @name HALTH - SCT_HALTH register */
26066/*! @{ */
26067#define SCT_HALTH_HALTH_MASK (0xFFFFU)
26068#define SCT_HALTH_HALTH_SHIFT (0U)
26069#define SCT_HALTH_HALTH(x) (((uint16_t)(((uint16_t)(x)) << SCT_HALTH_HALTH_SHIFT)) & SCT_HALTH_HALTH_MASK)
26070/*! @} */
26071
26072/*! @name HALT - SCT halt event select register */
26073/*! @{ */
26074#define SCT_HALT_HALTMSK_L_MASK (0xFFFFU)
26075#define SCT_HALT_HALTMSK_L_SHIFT (0U)
26076/*! HALTMSK_L - If bit n is one, event n sets the HALT_L bit in the CTRL register (event 0 = bit 0,
26077 * event 1 = bit 1, etc.). The number of bits = number of events in this SCT.
26078 */
26079#define SCT_HALT_HALTMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_HALT_HALTMSK_L_SHIFT)) & SCT_HALT_HALTMSK_L_MASK)
26080#define SCT_HALT_HALTMSK_H_MASK (0xFFFF0000U)
26081#define SCT_HALT_HALTMSK_H_SHIFT (16U)
26082/*! HALTMSK_H - If bit n is one, event n sets the HALT_H bit in the CTRL register (event 0 = bit 16,
26083 * event 1 = bit 17, etc.). The number of bits = number of events in this SCT.
26084 */
26085#define SCT_HALT_HALTMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_HALT_HALTMSK_H_SHIFT)) & SCT_HALT_HALTMSK_H_MASK)
26086/*! @} */
26087
26088/*! @name STOPL - SCT_STOPL register */
26089/*! @{ */
26090#define SCT_STOPL_STOPL_MASK (0xFFFFU)
26091#define SCT_STOPL_STOPL_SHIFT (0U)
26092#define SCT_STOPL_STOPL(x) (((uint16_t)(((uint16_t)(x)) << SCT_STOPL_STOPL_SHIFT)) & SCT_STOPL_STOPL_MASK)
26093/*! @} */
26094
26095/*! @name STOPH - SCT_STOPH register */
26096/*! @{ */
26097#define SCT_STOPH_STOPH_MASK (0xFFFFU)
26098#define SCT_STOPH_STOPH_SHIFT (0U)
26099#define SCT_STOPH_STOPH(x) (((uint16_t)(((uint16_t)(x)) << SCT_STOPH_STOPH_SHIFT)) & SCT_STOPH_STOPH_MASK)
26100/*! @} */
26101
26102/*! @name STOP - SCT stop event select register */
26103/*! @{ */
26104#define SCT_STOP_STOPMSK_L_MASK (0xFFFFU)
26105#define SCT_STOP_STOPMSK_L_SHIFT (0U)
26106/*! STOPMSK_L - If bit n is one, event n sets the STOP_L bit in the CTRL register (event 0 = bit 0,
26107 * event 1 = bit 1, etc.). The number of bits = number of events in this SCT.
26108 */
26109#define SCT_STOP_STOPMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_STOP_STOPMSK_L_SHIFT)) & SCT_STOP_STOPMSK_L_MASK)
26110#define SCT_STOP_STOPMSK_H_MASK (0xFFFF0000U)
26111#define SCT_STOP_STOPMSK_H_SHIFT (16U)
26112/*! STOPMSK_H - If bit n is one, event n sets the STOP_H bit in the CTRL register (event 0 = bit 16,
26113 * event 1 = bit 17, etc.). The number of bits = number of events in this SCT.
26114 */
26115#define SCT_STOP_STOPMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_STOP_STOPMSK_H_SHIFT)) & SCT_STOP_STOPMSK_H_MASK)
26116/*! @} */
26117
26118/*! @name STARTL - SCT_STARTL register */
26119/*! @{ */
26120#define SCT_STARTL_STARTL_MASK (0xFFFFU)
26121#define SCT_STARTL_STARTL_SHIFT (0U)
26122#define SCT_STARTL_STARTL(x) (((uint16_t)(((uint16_t)(x)) << SCT_STARTL_STARTL_SHIFT)) & SCT_STARTL_STARTL_MASK)
26123/*! @} */
26124
26125/*! @name STARTH - SCT_STARTH register */
26126/*! @{ */
26127#define SCT_STARTH_STARTH_MASK (0xFFFFU)
26128#define SCT_STARTH_STARTH_SHIFT (0U)
26129#define SCT_STARTH_STARTH(x) (((uint16_t)(((uint16_t)(x)) << SCT_STARTH_STARTH_SHIFT)) & SCT_STARTH_STARTH_MASK)
26130/*! @} */
26131
26132/*! @name START - SCT start event select register */
26133/*! @{ */
26134#define SCT_START_STARTMSK_L_MASK (0xFFFFU)
26135#define SCT_START_STARTMSK_L_SHIFT (0U)
26136/*! STARTMSK_L - If bit n is one, event n clears the STOP_L bit in the CTRL register (event 0 = bit
26137 * 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.
26138 */
26139#define SCT_START_STARTMSK_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_START_STARTMSK_L_SHIFT)) & SCT_START_STARTMSK_L_MASK)
26140#define SCT_START_STARTMSK_H_MASK (0xFFFF0000U)
26141#define SCT_START_STARTMSK_H_SHIFT (16U)
26142/*! STARTMSK_H - If bit n is one, event n clears the STOP_H bit in the CTRL register (event 0 = bit
26143 * 16, event 1 = bit 17, etc.). The number of bits = number of events in this SCT.
26144 */
26145#define SCT_START_STARTMSK_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_START_STARTMSK_H_SHIFT)) & SCT_START_STARTMSK_H_MASK)
26146/*! @} */
26147
26148/*! @name COUNTL - SCT_COUNTL register */
26149/*! @{ */
26150#define SCT_COUNTL_COUNTL_MASK (0xFFFFU)
26151#define SCT_COUNTL_COUNTL_SHIFT (0U)
26152#define SCT_COUNTL_COUNTL(x) (((uint16_t)(((uint16_t)(x)) << SCT_COUNTL_COUNTL_SHIFT)) & SCT_COUNTL_COUNTL_MASK)
26153/*! @} */
26154
26155/*! @name COUNTH - SCT_COUNTH register */
26156/*! @{ */
26157#define SCT_COUNTH_COUNTH_MASK (0xFFFFU)
26158#define SCT_COUNTH_COUNTH_SHIFT (0U)
26159#define SCT_COUNTH_COUNTH(x) (((uint16_t)(((uint16_t)(x)) << SCT_COUNTH_COUNTH_SHIFT)) & SCT_COUNTH_COUNTH_MASK)
26160/*! @} */
26161
26162/*! @name COUNT - SCT counter register */
26163/*! @{ */
26164#define SCT_COUNT_CTR_L_MASK (0xFFFFU)
26165#define SCT_COUNT_CTR_L_SHIFT (0U)
26166/*! CTR_L - When UNIFY = 0, read or write the 16-bit L counter value. When UNIFY = 1, read or write
26167 * the lower 16 bits of the 32-bit unified counter.
26168 */
26169#define SCT_COUNT_CTR_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_COUNT_CTR_L_SHIFT)) & SCT_COUNT_CTR_L_MASK)
26170#define SCT_COUNT_CTR_H_MASK (0xFFFF0000U)
26171#define SCT_COUNT_CTR_H_SHIFT (16U)
26172/*! CTR_H - When UNIFY = 0, read or write the 16-bit H counter value. When UNIFY = 1, read or write
26173 * the upper 16 bits of the 32-bit unified counter.
26174 */
26175#define SCT_COUNT_CTR_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_COUNT_CTR_H_SHIFT)) & SCT_COUNT_CTR_H_MASK)
26176/*! @} */
26177
26178/*! @name STATEL - SCT_STATEL register */
26179/*! @{ */
26180#define SCT_STATEL_STATEL_MASK (0xFFFFU)
26181#define SCT_STATEL_STATEL_SHIFT (0U)
26182#define SCT_STATEL_STATEL(x) (((uint16_t)(((uint16_t)(x)) << SCT_STATEL_STATEL_SHIFT)) & SCT_STATEL_STATEL_MASK)
26183/*! @} */
26184
26185/*! @name STATEH - SCT_STATEH register */
26186/*! @{ */
26187#define SCT_STATEH_STATEH_MASK (0xFFFFU)
26188#define SCT_STATEH_STATEH_SHIFT (0U)
26189#define SCT_STATEH_STATEH(x) (((uint16_t)(((uint16_t)(x)) << SCT_STATEH_STATEH_SHIFT)) & SCT_STATEH_STATEH_MASK)
26190/*! @} */
26191
26192/*! @name STATE - SCT state register */
26193/*! @{ */
26194#define SCT_STATE_STATE_L_MASK (0x1FU)
26195#define SCT_STATE_STATE_L_SHIFT (0U)
26196/*! STATE_L - State variable.
26197 */
26198#define SCT_STATE_STATE_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_STATE_STATE_L_SHIFT)) & SCT_STATE_STATE_L_MASK)
26199#define SCT_STATE_STATE_H_MASK (0x1F0000U)
26200#define SCT_STATE_STATE_H_SHIFT (16U)
26201/*! STATE_H - State variable.
26202 */
26203#define SCT_STATE_STATE_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_STATE_STATE_H_SHIFT)) & SCT_STATE_STATE_H_MASK)
26204/*! @} */
26205
26206/*! @name INPUT - SCT input register */
26207/*! @{ */
26208#define SCT_INPUT_AIN0_MASK (0x1U)
26209#define SCT_INPUT_AIN0_SHIFT (0U)
26210/*! AIN0 - Input 0 state. Input 0 state on the last SCT clock edge.
26211 */
26212#define SCT_INPUT_AIN0(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN0_SHIFT)) & SCT_INPUT_AIN0_MASK)
26213#define SCT_INPUT_AIN1_MASK (0x2U)
26214#define SCT_INPUT_AIN1_SHIFT (1U)
26215/*! AIN1 - Input 1 state. Input 1 state on the last SCT clock edge.
26216 */
26217#define SCT_INPUT_AIN1(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN1_SHIFT)) & SCT_INPUT_AIN1_MASK)
26218#define SCT_INPUT_AIN2_MASK (0x4U)
26219#define SCT_INPUT_AIN2_SHIFT (2U)
26220/*! AIN2 - Input 2 state. Input 2 state on the last SCT clock edge.
26221 */
26222#define SCT_INPUT_AIN2(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN2_SHIFT)) & SCT_INPUT_AIN2_MASK)
26223#define SCT_INPUT_AIN3_MASK (0x8U)
26224#define SCT_INPUT_AIN3_SHIFT (3U)
26225/*! AIN3 - Input 3 state. Input 3 state on the last SCT clock edge.
26226 */
26227#define SCT_INPUT_AIN3(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN3_SHIFT)) & SCT_INPUT_AIN3_MASK)
26228#define SCT_INPUT_AIN4_MASK (0x10U)
26229#define SCT_INPUT_AIN4_SHIFT (4U)
26230/*! AIN4 - Input 4 state. Input 4 state on the last SCT clock edge.
26231 */
26232#define SCT_INPUT_AIN4(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN4_SHIFT)) & SCT_INPUT_AIN4_MASK)
26233#define SCT_INPUT_AIN5_MASK (0x20U)
26234#define SCT_INPUT_AIN5_SHIFT (5U)
26235/*! AIN5 - Input 5 state. Input 5 state on the last SCT clock edge.
26236 */
26237#define SCT_INPUT_AIN5(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN5_SHIFT)) & SCT_INPUT_AIN5_MASK)
26238#define SCT_INPUT_AIN6_MASK (0x40U)
26239#define SCT_INPUT_AIN6_SHIFT (6U)
26240/*! AIN6 - Input 6 state. Input 6 state on the last SCT clock edge.
26241 */
26242#define SCT_INPUT_AIN6(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN6_SHIFT)) & SCT_INPUT_AIN6_MASK)
26243#define SCT_INPUT_AIN7_MASK (0x80U)
26244#define SCT_INPUT_AIN7_SHIFT (7U)
26245/*! AIN7 - Input 7 state. Input 7 state on the last SCT clock edge.
26246 */
26247#define SCT_INPUT_AIN7(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN7_SHIFT)) & SCT_INPUT_AIN7_MASK)
26248#define SCT_INPUT_AIN8_MASK (0x100U)
26249#define SCT_INPUT_AIN8_SHIFT (8U)
26250/*! AIN8 - Input 8 state. Input 8 state on the last SCT clock edge.
26251 */
26252#define SCT_INPUT_AIN8(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN8_SHIFT)) & SCT_INPUT_AIN8_MASK)
26253#define SCT_INPUT_AIN9_MASK (0x200U)
26254#define SCT_INPUT_AIN9_SHIFT (9U)
26255/*! AIN9 - Input 9 state. Input 9 state on the last SCT clock edge.
26256 */
26257#define SCT_INPUT_AIN9(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN9_SHIFT)) & SCT_INPUT_AIN9_MASK)
26258#define SCT_INPUT_AIN10_MASK (0x400U)
26259#define SCT_INPUT_AIN10_SHIFT (10U)
26260/*! AIN10 - Input 10 state. Input 10 state on the last SCT clock edge.
26261 */
26262#define SCT_INPUT_AIN10(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN10_SHIFT)) & SCT_INPUT_AIN10_MASK)
26263#define SCT_INPUT_AIN11_MASK (0x800U)
26264#define SCT_INPUT_AIN11_SHIFT (11U)
26265/*! AIN11 - Input 11 state. Input 11 state on the last SCT clock edge.
26266 */
26267#define SCT_INPUT_AIN11(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN11_SHIFT)) & SCT_INPUT_AIN11_MASK)
26268#define SCT_INPUT_AIN12_MASK (0x1000U)
26269#define SCT_INPUT_AIN12_SHIFT (12U)
26270/*! AIN12 - Input 12 state. Input 12 state on the last SCT clock edge.
26271 */
26272#define SCT_INPUT_AIN12(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN12_SHIFT)) & SCT_INPUT_AIN12_MASK)
26273#define SCT_INPUT_AIN13_MASK (0x2000U)
26274#define SCT_INPUT_AIN13_SHIFT (13U)
26275/*! AIN13 - Input 13 state. Input 13 state on the last SCT clock edge.
26276 */
26277#define SCT_INPUT_AIN13(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN13_SHIFT)) & SCT_INPUT_AIN13_MASK)
26278#define SCT_INPUT_AIN14_MASK (0x4000U)
26279#define SCT_INPUT_AIN14_SHIFT (14U)
26280/*! AIN14 - Input 14 state. Input 14 state on the last SCT clock edge.
26281 */
26282#define SCT_INPUT_AIN14(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN14_SHIFT)) & SCT_INPUT_AIN14_MASK)
26283#define SCT_INPUT_AIN15_MASK (0x8000U)
26284#define SCT_INPUT_AIN15_SHIFT (15U)
26285/*! AIN15 - Input 15 state. Input 15 state on the last SCT clock edge.
26286 */
26287#define SCT_INPUT_AIN15(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_AIN15_SHIFT)) & SCT_INPUT_AIN15_MASK)
26288#define SCT_INPUT_SIN0_MASK (0x10000U)
26289#define SCT_INPUT_SIN0_SHIFT (16U)
26290/*! SIN0 - Input 0 state. Input 0 state following the synchronization specified by INSYNC.
26291 */
26292#define SCT_INPUT_SIN0(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN0_SHIFT)) & SCT_INPUT_SIN0_MASK)
26293#define SCT_INPUT_SIN1_MASK (0x20000U)
26294#define SCT_INPUT_SIN1_SHIFT (17U)
26295/*! SIN1 - Input 1 state. Input 1 state following the synchronization specified by INSYNC.
26296 */
26297#define SCT_INPUT_SIN1(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN1_SHIFT)) & SCT_INPUT_SIN1_MASK)
26298#define SCT_INPUT_SIN2_MASK (0x40000U)
26299#define SCT_INPUT_SIN2_SHIFT (18U)
26300/*! SIN2 - Input 2 state. Input 2 state following the synchronization specified by INSYNC.
26301 */
26302#define SCT_INPUT_SIN2(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN2_SHIFT)) & SCT_INPUT_SIN2_MASK)
26303#define SCT_INPUT_SIN3_MASK (0x80000U)
26304#define SCT_INPUT_SIN3_SHIFT (19U)
26305/*! SIN3 - Input 3 state. Input 3 state following the synchronization specified by INSYNC.
26306 */
26307#define SCT_INPUT_SIN3(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN3_SHIFT)) & SCT_INPUT_SIN3_MASK)
26308#define SCT_INPUT_SIN4_MASK (0x100000U)
26309#define SCT_INPUT_SIN4_SHIFT (20U)
26310/*! SIN4 - Input 4 state. Input 4 state following the synchronization specified by INSYNC.
26311 */
26312#define SCT_INPUT_SIN4(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN4_SHIFT)) & SCT_INPUT_SIN4_MASK)
26313#define SCT_INPUT_SIN5_MASK (0x200000U)
26314#define SCT_INPUT_SIN5_SHIFT (21U)
26315/*! SIN5 - Input 5 state. Input 5 state following the synchronization specified by INSYNC.
26316 */
26317#define SCT_INPUT_SIN5(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN5_SHIFT)) & SCT_INPUT_SIN5_MASK)
26318#define SCT_INPUT_SIN6_MASK (0x400000U)
26319#define SCT_INPUT_SIN6_SHIFT (22U)
26320/*! SIN6 - Input 6 state. Input 6 state following the synchronization specified by INSYNC.
26321 */
26322#define SCT_INPUT_SIN6(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN6_SHIFT)) & SCT_INPUT_SIN6_MASK)
26323#define SCT_INPUT_SIN7_MASK (0x800000U)
26324#define SCT_INPUT_SIN7_SHIFT (23U)
26325/*! SIN7 - Input 7 state. Input 7 state following the synchronization specified by INSYNC.
26326 */
26327#define SCT_INPUT_SIN7(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN7_SHIFT)) & SCT_INPUT_SIN7_MASK)
26328#define SCT_INPUT_SIN8_MASK (0x1000000U)
26329#define SCT_INPUT_SIN8_SHIFT (24U)
26330/*! SIN8 - Input 8 state. Input 8 state following the synchronization specified by INSYNC.
26331 */
26332#define SCT_INPUT_SIN8(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN8_SHIFT)) & SCT_INPUT_SIN8_MASK)
26333#define SCT_INPUT_SIN9_MASK (0x2000000U)
26334#define SCT_INPUT_SIN9_SHIFT (25U)
26335/*! SIN9 - Input 9 state. Input 9 state following the synchronization specified by INSYNC.
26336 */
26337#define SCT_INPUT_SIN9(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN9_SHIFT)) & SCT_INPUT_SIN9_MASK)
26338#define SCT_INPUT_SIN10_MASK (0x4000000U)
26339#define SCT_INPUT_SIN10_SHIFT (26U)
26340/*! SIN10 - Input 10 state. Input 10 state following the synchronization specified by INSYNC.
26341 */
26342#define SCT_INPUT_SIN10(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN10_SHIFT)) & SCT_INPUT_SIN10_MASK)
26343#define SCT_INPUT_SIN11_MASK (0x8000000U)
26344#define SCT_INPUT_SIN11_SHIFT (27U)
26345/*! SIN11 - Input 11 state. Input 11 state following the synchronization specified by INSYNC.
26346 */
26347#define SCT_INPUT_SIN11(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN11_SHIFT)) & SCT_INPUT_SIN11_MASK)
26348#define SCT_INPUT_SIN12_MASK (0x10000000U)
26349#define SCT_INPUT_SIN12_SHIFT (28U)
26350/*! SIN12 - Input 12 state. Input 12 state following the synchronization specified by INSYNC.
26351 */
26352#define SCT_INPUT_SIN12(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN12_SHIFT)) & SCT_INPUT_SIN12_MASK)
26353#define SCT_INPUT_SIN13_MASK (0x20000000U)
26354#define SCT_INPUT_SIN13_SHIFT (29U)
26355/*! SIN13 - Input 13 state. Input 13 state following the synchronization specified by INSYNC.
26356 */
26357#define SCT_INPUT_SIN13(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN13_SHIFT)) & SCT_INPUT_SIN13_MASK)
26358#define SCT_INPUT_SIN14_MASK (0x40000000U)
26359#define SCT_INPUT_SIN14_SHIFT (30U)
26360/*! SIN14 - Input 14 state. Input 14 state following the synchronization specified by INSYNC.
26361 */
26362#define SCT_INPUT_SIN14(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN14_SHIFT)) & SCT_INPUT_SIN14_MASK)
26363#define SCT_INPUT_SIN15_MASK (0x80000000U)
26364#define SCT_INPUT_SIN15_SHIFT (31U)
26365/*! SIN15 - Input 15 state. Input 15 state following the synchronization specified by INSYNC.
26366 */
26367#define SCT_INPUT_SIN15(x) (((uint32_t)(((uint32_t)(x)) << SCT_INPUT_SIN15_SHIFT)) & SCT_INPUT_SIN15_MASK)
26368/*! @} */
26369
26370/*! @name REGMODEL - SCT_REGMODEL register */
26371/*! @{ */
26372#define SCT_REGMODEL_REGMODEL_MASK (0xFFFFU)
26373#define SCT_REGMODEL_REGMODEL_SHIFT (0U)
26374#define SCT_REGMODEL_REGMODEL(x) (((uint16_t)(((uint16_t)(x)) << SCT_REGMODEL_REGMODEL_SHIFT)) & SCT_REGMODEL_REGMODEL_MASK)
26375/*! @} */
26376
26377/*! @name REGMODEH - SCT_REGMODEH register */
26378/*! @{ */
26379#define SCT_REGMODEH_REGMODEH_MASK (0xFFFFU)
26380#define SCT_REGMODEH_REGMODEH_SHIFT (0U)
26381#define SCT_REGMODEH_REGMODEH(x) (((uint16_t)(((uint16_t)(x)) << SCT_REGMODEH_REGMODEH_SHIFT)) & SCT_REGMODEH_REGMODEH_MASK)
26382/*! @} */
26383
26384/*! @name REGMODE - SCT match/capture mode register */
26385/*! @{ */
26386#define SCT_REGMODE_REGMOD_L_MASK (0xFFFFU)
26387#define SCT_REGMODE_REGMOD_L_SHIFT (0U)
26388/*! REGMOD_L - Each bit controls one match/capture register (register 0 = bit 0, register 1 = bit 1,
26389 * etc.). The number of bits = number of match/captures in this SCT. 0 = register operates as
26390 * match register. 1 = register operates as capture register.
26391 */
26392#define SCT_REGMODE_REGMOD_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_REGMODE_REGMOD_L_SHIFT)) & SCT_REGMODE_REGMOD_L_MASK)
26393#define SCT_REGMODE_REGMOD_H_MASK (0xFFFF0000U)
26394#define SCT_REGMODE_REGMOD_H_SHIFT (16U)
26395/*! REGMOD_H - Each bit controls one match/capture register (register 0 = bit 16, register 1 = bit
26396 * 17, etc.). The number of bits = number of match/captures in this SCT. 0 = register operates as
26397 * match registers. 1 = register operates as capture registers.
26398 */
26399#define SCT_REGMODE_REGMOD_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_REGMODE_REGMOD_H_SHIFT)) & SCT_REGMODE_REGMOD_H_MASK)
26400/*! @} */
26401
26402/*! @name OUTPUT - SCT output register */
26403/*! @{ */
26404#define SCT_OUTPUT_OUT_MASK (0xFFFFU)
26405#define SCT_OUTPUT_OUT_SHIFT (0U)
26406/*! OUT - Writing a 1 to bit n forces the corresponding output HIGH. Writing a 0 forces the
26407 * corresponding output LOW (output 0 = bit 0, output 1 = bit 1, etc.). The number of bits = number of
26408 * outputs in this SCT.
26409 */
26410#define SCT_OUTPUT_OUT(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUT_OUT_SHIFT)) & SCT_OUTPUT_OUT_MASK)
26411/*! @} */
26412
26413/*! @name OUTPUTDIRCTRL - SCT output counter direction control register */
26414/*! @{ */
26415#define SCT_OUTPUTDIRCTRL_SETCLR0_MASK (0x3U)
26416#define SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT (0U)
26417/*! SETCLR0 - Set/clear operation on output 0. Value 0x3 is reserved. Do not program this value.
26418 * 0b00..Set and clear do not depend on the direction of any counter.
26419 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26420 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26421 */
26422#define SCT_OUTPUTDIRCTRL_SETCLR0(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR0_MASK)
26423#define SCT_OUTPUTDIRCTRL_SETCLR1_MASK (0xCU)
26424#define SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT (2U)
26425/*! SETCLR1 - Set/clear operation on output 1. Value 0x3 is reserved. Do not program this value.
26426 * 0b00..Set and clear do not depend on the direction of any counter.
26427 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26428 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26429 */
26430#define SCT_OUTPUTDIRCTRL_SETCLR1(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR1_MASK)
26431#define SCT_OUTPUTDIRCTRL_SETCLR2_MASK (0x30U)
26432#define SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT (4U)
26433/*! SETCLR2 - Set/clear operation on output 2. Value 0x3 is reserved. Do not program this value.
26434 * 0b00..Set and clear do not depend on the direction of any counter.
26435 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26436 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26437 */
26438#define SCT_OUTPUTDIRCTRL_SETCLR2(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR2_MASK)
26439#define SCT_OUTPUTDIRCTRL_SETCLR3_MASK (0xC0U)
26440#define SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT (6U)
26441/*! SETCLR3 - Set/clear operation on output 3. Value 0x3 is reserved. Do not program this value.
26442 * 0b00..Set and clear do not depend on the direction of any counter.
26443 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26444 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26445 */
26446#define SCT_OUTPUTDIRCTRL_SETCLR3(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR3_MASK)
26447#define SCT_OUTPUTDIRCTRL_SETCLR4_MASK (0x300U)
26448#define SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT (8U)
26449/*! SETCLR4 - Set/clear operation on output 4. Value 0x3 is reserved. Do not program this value.
26450 * 0b00..Set and clear do not depend on the direction of any counter.
26451 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26452 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26453 */
26454#define SCT_OUTPUTDIRCTRL_SETCLR4(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR4_MASK)
26455#define SCT_OUTPUTDIRCTRL_SETCLR5_MASK (0xC00U)
26456#define SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT (10U)
26457/*! SETCLR5 - Set/clear operation on output 5. Value 0x3 is reserved. Do not program this value.
26458 * 0b00..Set and clear do not depend on the direction of any counter.
26459 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26460 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26461 */
26462#define SCT_OUTPUTDIRCTRL_SETCLR5(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR5_MASK)
26463#define SCT_OUTPUTDIRCTRL_SETCLR6_MASK (0x3000U)
26464#define SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT (12U)
26465/*! SETCLR6 - Set/clear operation on output 6. Value 0x3 is reserved. Do not program this value.
26466 * 0b00..Set and clear do not depend on the direction of any counter.
26467 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26468 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26469 */
26470#define SCT_OUTPUTDIRCTRL_SETCLR6(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR6_MASK)
26471#define SCT_OUTPUTDIRCTRL_SETCLR7_MASK (0xC000U)
26472#define SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT (14U)
26473/*! SETCLR7 - Set/clear operation on output 7. Value 0x3 is reserved. Do not program this value.
26474 * 0b00..Set and clear do not depend on the direction of any counter.
26475 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26476 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26477 */
26478#define SCT_OUTPUTDIRCTRL_SETCLR7(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR7_MASK)
26479#define SCT_OUTPUTDIRCTRL_SETCLR8_MASK (0x30000U)
26480#define SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT (16U)
26481/*! SETCLR8 - Set/clear operation on output 8. Value 0x3 is reserved. Do not program this value.
26482 * 0b00..Set and clear do not depend on the direction of any counter.
26483 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26484 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26485 */
26486#define SCT_OUTPUTDIRCTRL_SETCLR8(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR8_MASK)
26487#define SCT_OUTPUTDIRCTRL_SETCLR9_MASK (0xC0000U)
26488#define SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT (18U)
26489/*! SETCLR9 - Set/clear operation on output 9. Value 0x3 is reserved. Do not program this value.
26490 * 0b00..Set and clear do not depend on the direction of any counter.
26491 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26492 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26493 */
26494#define SCT_OUTPUTDIRCTRL_SETCLR9(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR9_MASK)
26495#define SCT_OUTPUTDIRCTRL_SETCLR10_MASK (0x300000U)
26496#define SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT (20U)
26497/*! SETCLR10 - Set/clear operation on output 10. Value 0x3 is reserved. Do not program this value.
26498 * 0b00..Set and clear do not depend on the direction of any counter.
26499 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26500 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26501 */
26502#define SCT_OUTPUTDIRCTRL_SETCLR10(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR10_MASK)
26503#define SCT_OUTPUTDIRCTRL_SETCLR11_MASK (0xC00000U)
26504#define SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT (22U)
26505/*! SETCLR11 - Set/clear operation on output 11. Value 0x3 is reserved. Do not program this value.
26506 * 0b00..Set and clear do not depend on the direction of any counter.
26507 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26508 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26509 */
26510#define SCT_OUTPUTDIRCTRL_SETCLR11(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR11_MASK)
26511#define SCT_OUTPUTDIRCTRL_SETCLR12_MASK (0x3000000U)
26512#define SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT (24U)
26513/*! SETCLR12 - Set/clear operation on output 12. Value 0x3 is reserved. Do not program this value.
26514 * 0b00..Set and clear do not depend on the direction of any counter.
26515 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26516 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26517 */
26518#define SCT_OUTPUTDIRCTRL_SETCLR12(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR12_MASK)
26519#define SCT_OUTPUTDIRCTRL_SETCLR13_MASK (0xC000000U)
26520#define SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT (26U)
26521/*! SETCLR13 - Set/clear operation on output 13. Value 0x3 is reserved. Do not program this value.
26522 * 0b00..Set and clear do not depend on the direction of any counter.
26523 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26524 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26525 */
26526#define SCT_OUTPUTDIRCTRL_SETCLR13(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR13_MASK)
26527#define SCT_OUTPUTDIRCTRL_SETCLR14_MASK (0x30000000U)
26528#define SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT (28U)
26529/*! SETCLR14 - Set/clear operation on output 14. Value 0x3 is reserved. Do not program this value.
26530 * 0b00..Set and clear do not depend on the direction of any counter.
26531 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26532 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26533 */
26534#define SCT_OUTPUTDIRCTRL_SETCLR14(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR14_MASK)
26535#define SCT_OUTPUTDIRCTRL_SETCLR15_MASK (0xC0000000U)
26536#define SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT (30U)
26537/*! SETCLR15 - Set/clear operation on output 15. Value 0x3 is reserved. Do not program this value.
26538 * 0b00..Set and clear do not depend on the direction of any counter.
26539 * 0b01..Set and clear are reversed when counter L or the unified counter is counting down.
26540 * 0b10..Set and clear are reversed when counter H is counting down. Do not use if UNIFY = 1.
26541 */
26542#define SCT_OUTPUTDIRCTRL_SETCLR15(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT)) & SCT_OUTPUTDIRCTRL_SETCLR15_MASK)
26543/*! @} */
26544
26545/*! @name RES - SCT conflict resolution register */
26546/*! @{ */
26547#define SCT_RES_O0RES_MASK (0x3U)
26548#define SCT_RES_O0RES_SHIFT (0U)
26549/*! O0RES - Effect of simultaneous set and clear on output 0.
26550 * 0b00..No change.
26551 * 0b01..Set output (or clear based on the SETCLR0 field in the OUTPUTDIRCTRL register).
26552 * 0b10..Clear output (or set based on the SETCLR0 field).
26553 * 0b11..Toggle output.
26554 */
26555#define SCT_RES_O0RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O0RES_SHIFT)) & SCT_RES_O0RES_MASK)
26556#define SCT_RES_O1RES_MASK (0xCU)
26557#define SCT_RES_O1RES_SHIFT (2U)
26558/*! O1RES - Effect of simultaneous set and clear on output 1.
26559 * 0b00..No change.
26560 * 0b01..Set output (or clear based on the SETCLR1 field in the OUTPUTDIRCTRL register).
26561 * 0b10..Clear output (or set based on the SETCLR1 field).
26562 * 0b11..Toggle output.
26563 */
26564#define SCT_RES_O1RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O1RES_SHIFT)) & SCT_RES_O1RES_MASK)
26565#define SCT_RES_O2RES_MASK (0x30U)
26566#define SCT_RES_O2RES_SHIFT (4U)
26567/*! O2RES - Effect of simultaneous set and clear on output 2.
26568 * 0b00..No change.
26569 * 0b01..Set output (or clear based on the SETCLR2 field in the OUTPUTDIRCTRL register).
26570 * 0b10..Clear output n (or set based on the SETCLR2 field).
26571 * 0b11..Toggle output.
26572 */
26573#define SCT_RES_O2RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O2RES_SHIFT)) & SCT_RES_O2RES_MASK)
26574#define SCT_RES_O3RES_MASK (0xC0U)
26575#define SCT_RES_O3RES_SHIFT (6U)
26576/*! O3RES - Effect of simultaneous set and clear on output 3.
26577 * 0b00..No change.
26578 * 0b01..Set output (or clear based on the SETCLR3 field in the OUTPUTDIRCTRL register).
26579 * 0b10..Clear output (or set based on the SETCLR3 field).
26580 * 0b11..Toggle output.
26581 */
26582#define SCT_RES_O3RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O3RES_SHIFT)) & SCT_RES_O3RES_MASK)
26583#define SCT_RES_O4RES_MASK (0x300U)
26584#define SCT_RES_O4RES_SHIFT (8U)
26585/*! O4RES - Effect of simultaneous set and clear on output 4.
26586 * 0b00..No change.
26587 * 0b01..Set output (or clear based on the SETCLR4 field in the OUTPUTDIRCTRL register).
26588 * 0b10..Clear output (or set based on the SETCLR4 field).
26589 * 0b11..Toggle output.
26590 */
26591#define SCT_RES_O4RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O4RES_SHIFT)) & SCT_RES_O4RES_MASK)
26592#define SCT_RES_O5RES_MASK (0xC00U)
26593#define SCT_RES_O5RES_SHIFT (10U)
26594/*! O5RES - Effect of simultaneous set and clear on output 5.
26595 * 0b00..No change.
26596 * 0b01..Set output (or clear based on the SETCLR5 field in the OUTPUTDIRCTRL register).
26597 * 0b10..Clear output (or set based on the SETCLR5 field).
26598 * 0b11..Toggle output.
26599 */
26600#define SCT_RES_O5RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O5RES_SHIFT)) & SCT_RES_O5RES_MASK)
26601#define SCT_RES_O6RES_MASK (0x3000U)
26602#define SCT_RES_O6RES_SHIFT (12U)
26603/*! O6RES - Effect of simultaneous set and clear on output 6.
26604 * 0b00..No change.
26605 * 0b01..Set output (or clear based on the SETCLR6 field in the OUTPUTDIRCTRL register).
26606 * 0b10..Clear output (or set based on the SETCLR6 field).
26607 * 0b11..Toggle output.
26608 */
26609#define SCT_RES_O6RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O6RES_SHIFT)) & SCT_RES_O6RES_MASK)
26610#define SCT_RES_O7RES_MASK (0xC000U)
26611#define SCT_RES_O7RES_SHIFT (14U)
26612/*! O7RES - Effect of simultaneous set and clear on output 7.
26613 * 0b00..No change.
26614 * 0b01..Set output (or clear based on the SETCLR7 field in the OUTPUTDIRCTRL register).
26615 * 0b10..Clear output n (or set based on the SETCLR7 field).
26616 * 0b11..Toggle output.
26617 */
26618#define SCT_RES_O7RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O7RES_SHIFT)) & SCT_RES_O7RES_MASK)
26619#define SCT_RES_O8RES_MASK (0x30000U)
26620#define SCT_RES_O8RES_SHIFT (16U)
26621/*! O8RES - Effect of simultaneous set and clear on output 8.
26622 * 0b00..No change.
26623 * 0b01..Set output (or clear based on the SETCLR8 field in the OUTPUTDIRCTRL register).
26624 * 0b10..Clear output (or set based on the SETCLR8 field).
26625 * 0b11..Toggle output.
26626 */
26627#define SCT_RES_O8RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O8RES_SHIFT)) & SCT_RES_O8RES_MASK)
26628#define SCT_RES_O9RES_MASK (0xC0000U)
26629#define SCT_RES_O9RES_SHIFT (18U)
26630/*! O9RES - Effect of simultaneous set and clear on output 9.
26631 * 0b00..No change.
26632 * 0b01..Set output (or clear based on the SETCLR9 field in the OUTPUTDIRCTRL register).
26633 * 0b10..Clear output (or set based on the SETCLR9 field).
26634 * 0b11..Toggle output.
26635 */
26636#define SCT_RES_O9RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O9RES_SHIFT)) & SCT_RES_O9RES_MASK)
26637#define SCT_RES_O10RES_MASK (0x300000U)
26638#define SCT_RES_O10RES_SHIFT (20U)
26639/*! O10RES - Effect of simultaneous set and clear on output 10.
26640 * 0b00..No change.
26641 * 0b01..Set output (or clear based on the SETCLR10 field in the OUTPUTDIRCTRL register).
26642 * 0b10..Clear output (or set based on the SETCLR10 field).
26643 * 0b11..Toggle output.
26644 */
26645#define SCT_RES_O10RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O10RES_SHIFT)) & SCT_RES_O10RES_MASK)
26646#define SCT_RES_O11RES_MASK (0xC00000U)
26647#define SCT_RES_O11RES_SHIFT (22U)
26648/*! O11RES - Effect of simultaneous set and clear on output 11.
26649 * 0b00..No change.
26650 * 0b01..Set output (or clear based on the SETCLR11 field in the OUTPUTDIRCTRL register).
26651 * 0b10..Clear output (or set based on the SETCLR11 field).
26652 * 0b11..Toggle output.
26653 */
26654#define SCT_RES_O11RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O11RES_SHIFT)) & SCT_RES_O11RES_MASK)
26655#define SCT_RES_O12RES_MASK (0x3000000U)
26656#define SCT_RES_O12RES_SHIFT (24U)
26657/*! O12RES - Effect of simultaneous set and clear on output 12.
26658 * 0b00..No change.
26659 * 0b01..Set output (or clear based on the SETCLR12 field in the OUTPUTDIRCTRL register).
26660 * 0b10..Clear output (or set based on the SETCLR12 field).
26661 * 0b11..Toggle output.
26662 */
26663#define SCT_RES_O12RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O12RES_SHIFT)) & SCT_RES_O12RES_MASK)
26664#define SCT_RES_O13RES_MASK (0xC000000U)
26665#define SCT_RES_O13RES_SHIFT (26U)
26666/*! O13RES - Effect of simultaneous set and clear on output 13.
26667 * 0b00..No change.
26668 * 0b01..Set output (or clear based on the SETCLR13 field in the OUTPUTDIRCTRL register).
26669 * 0b10..Clear output (or set based on the SETCLR13 field).
26670 * 0b11..Toggle output.
26671 */
26672#define SCT_RES_O13RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O13RES_SHIFT)) & SCT_RES_O13RES_MASK)
26673#define SCT_RES_O14RES_MASK (0x30000000U)
26674#define SCT_RES_O14RES_SHIFT (28U)
26675/*! O14RES - Effect of simultaneous set and clear on output 14.
26676 * 0b00..No change.
26677 * 0b01..Set output (or clear based on the SETCLR14 field in the OUTPUTDIRCTRL register).
26678 * 0b10..Clear output (or set based on the SETCLR14 field).
26679 * 0b11..Toggle output.
26680 */
26681#define SCT_RES_O14RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O14RES_SHIFT)) & SCT_RES_O14RES_MASK)
26682#define SCT_RES_O15RES_MASK (0xC0000000U)
26683#define SCT_RES_O15RES_SHIFT (30U)
26684/*! O15RES - Effect of simultaneous set and clear on output 15.
26685 * 0b00..No change.
26686 * 0b01..Set output (or clear based on the SETCLR15 field in the OUTPUTDIRCTRL register).
26687 * 0b10..Clear output (or set based on the SETCLR15 field).
26688 * 0b11..Toggle output.
26689 */
26690#define SCT_RES_O15RES(x) (((uint32_t)(((uint32_t)(x)) << SCT_RES_O15RES_SHIFT)) & SCT_RES_O15RES_MASK)
26691/*! @} */
26692
26693/*! @name DMAREQ0 - SCT DMA request 0 register */
26694/*! @{ */
26695#define SCT_DMAREQ0_DEV_0_MASK (0xFFFFU)
26696#define SCT_DMAREQ0_DEV_0_SHIFT (0U)
26697/*! DEV_0 - If bit n is one, event n triggers DMA request 0 (event 0 = bit 0, event 1 = bit 1,
26698 * etc.). The number of bits = number of events in this SCT.
26699 */
26700#define SCT_DMAREQ0_DEV_0(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMAREQ0_DEV_0_SHIFT)) & SCT_DMAREQ0_DEV_0_MASK)
26701#define SCT_DMAREQ0_DRL0_MASK (0x40000000U)
26702#define SCT_DMAREQ0_DRL0_SHIFT (30U)
26703/*! DRL0 - A 1 in this bit triggers DMA request 0 when it loads the MATCH_L/Unified registers from the RELOAD_L/Unified registers.
26704 */
26705#define SCT_DMAREQ0_DRL0(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMAREQ0_DRL0_SHIFT)) & SCT_DMAREQ0_DRL0_MASK)
26706#define SCT_DMAREQ0_DRQ0_MASK (0x80000000U)
26707#define SCT_DMAREQ0_DRQ0_SHIFT (31U)
26708/*! DRQ0 - This read-only bit indicates the state of DMA Request 0. Note that if the related DMA
26709 * channel is enabled and properly set up, it is unlikely that software will see this flag, it will
26710 * be cleared rapidly by the DMA service. The flag remaining set could point to an issue with DMA
26711 * setup.
26712 */
26713#define SCT_DMAREQ0_DRQ0(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMAREQ0_DRQ0_SHIFT)) & SCT_DMAREQ0_DRQ0_MASK)
26714/*! @} */
26715
26716/*! @name DMAREQ1 - SCT DMA request 1 register */
26717/*! @{ */
26718#define SCT_DMAREQ1_DEV_1_MASK (0xFFFFU)
26719#define SCT_DMAREQ1_DEV_1_SHIFT (0U)
26720/*! DEV_1 - If bit n is one, event n triggers DMA request 1 (event 0 = bit 0, event 1 = bit 1,
26721 * etc.). The number of bits = number of events in this SCT.
26722 */
26723#define SCT_DMAREQ1_DEV_1(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMAREQ1_DEV_1_SHIFT)) & SCT_DMAREQ1_DEV_1_MASK)
26724#define SCT_DMAREQ1_DRL1_MASK (0x40000000U)
26725#define SCT_DMAREQ1_DRL1_SHIFT (30U)
26726/*! DRL1 - A 1 in this bit triggers DMA request 1 when it loads the Match L/Unified registers from the Reload L/Unified registers.
26727 */
26728#define SCT_DMAREQ1_DRL1(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMAREQ1_DRL1_SHIFT)) & SCT_DMAREQ1_DRL1_MASK)
26729#define SCT_DMAREQ1_DRQ1_MASK (0x80000000U)
26730#define SCT_DMAREQ1_DRQ1_SHIFT (31U)
26731/*! DRQ1 - This read-only bit indicates the state of DMA Request 1. Note that if the related DMA
26732 * channel is enabled and properly set up, it is unlikely that software will see this flag, it will
26733 * be cleared rapidly by the DMA service. The flag remaining set could point to an issue with DMA
26734 * setup.
26735 */
26736#define SCT_DMAREQ1_DRQ1(x) (((uint32_t)(((uint32_t)(x)) << SCT_DMAREQ1_DRQ1_SHIFT)) & SCT_DMAREQ1_DRQ1_MASK)
26737/*! @} */
26738
26739/*! @name EVEN - SCT event interrupt enable register */
26740/*! @{ */
26741#define SCT_EVEN_IEN_MASK (0xFFFFU)
26742#define SCT_EVEN_IEN_SHIFT (0U)
26743/*! IEN - The SCT requests an interrupt when bit n of this register and the event flag register are
26744 * both one (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in
26745 * this SCT.
26746 */
26747#define SCT_EVEN_IEN(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVEN_IEN_SHIFT)) & SCT_EVEN_IEN_MASK)
26748/*! @} */
26749
26750/*! @name EVFLAG - SCT event flag register */
26751/*! @{ */
26752#define SCT_EVFLAG_FLAG_MASK (0xFFFFU)
26753#define SCT_EVFLAG_FLAG_SHIFT (0U)
26754/*! FLAG - Bit n is one if event n has occurred since reset or a 1 was last written to this bit
26755 * (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of events in this SCT.
26756 */
26757#define SCT_EVFLAG_FLAG(x) (((uint32_t)(((uint32_t)(x)) << SCT_EVFLAG_FLAG_SHIFT)) & SCT_EVFLAG_FLAG_MASK)
26758/*! @} */
26759
26760/*! @name CONEN - SCT conflict interrupt enable register */
26761/*! @{ */
26762#define SCT_CONEN_NCEN_MASK (0xFFFFU)
26763#define SCT_CONEN_NCEN_SHIFT (0U)
26764/*! NCEN - The SCT requests an interrupt when bit n of this register and the SCT conflict flag
26765 * register are both one (output 0 = bit 0, output 1 = bit 1, etc.). The number of bits = number of
26766 * outputs in this SCT.
26767 */
26768#define SCT_CONEN_NCEN(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONEN_NCEN_SHIFT)) & SCT_CONEN_NCEN_MASK)
26769/*! @} */
26770
26771/*! @name CONFLAG - SCT conflict flag register */
26772/*! @{ */
26773#define SCT_CONFLAG_NCFLAG_MASK (0xFFFFU)
26774#define SCT_CONFLAG_NCFLAG_SHIFT (0U)
26775/*! NCFLAG - Bit n is one if a no-change conflict event occurred on output n since reset or a 1 was
26776 * last written to this bit (output 0 = bit 0, output 1 = bit 1, etc.). The number of bits =
26777 * number of outputs in this SCT.
26778 */
26779#define SCT_CONFLAG_NCFLAG(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFLAG_NCFLAG_SHIFT)) & SCT_CONFLAG_NCFLAG_MASK)
26780#define SCT_CONFLAG_BUSERRL_MASK (0x40000000U)
26781#define SCT_CONFLAG_BUSERRL_SHIFT (30U)
26782/*! BUSERRL - The most recent bus error from this SCT involved writing CTR L/Unified, STATE
26783 * L/Unified, MATCH L/Unified, or the Output register when the L/U counter was not halted. A word write
26784 * to certain L and H registers can be half successful and half unsuccessful.
26785 */
26786#define SCT_CONFLAG_BUSERRL(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFLAG_BUSERRL_SHIFT)) & SCT_CONFLAG_BUSERRL_MASK)
26787#define SCT_CONFLAG_BUSERRH_MASK (0x80000000U)
26788#define SCT_CONFLAG_BUSERRH_SHIFT (31U)
26789/*! BUSERRH - The most recent bus error from this SCT involved writing CTR H, STATE H, MATCH H, or
26790 * the Output register when the H counter was not halted.
26791 */
26792#define SCT_CONFLAG_BUSERRH(x) (((uint32_t)(((uint32_t)(x)) << SCT_CONFLAG_BUSERRH_SHIFT)) & SCT_CONFLAG_BUSERRH_MASK)
26793/*! @} */
26794
26795/*! @name CAPL - SCT_CAPL register */
26796/*! @{ */
26797#define SCT_CAPL_CAPL_MASK (0xFFFFU)
26798#define SCT_CAPL_CAPL_SHIFT (0U)
26799#define SCT_CAPL_CAPL(x) (((uint16_t)(((uint16_t)(x)) << SCT_CAPL_CAPL_SHIFT)) & SCT_CAPL_CAPL_MASK)
26800/*! @} */
26801
26802/* The count of SCT_CAPL */
26803#define SCT_CAPL_COUNT (16U)
26804
26805/*! @name CAPH - SCT_CAPH register */
26806/*! @{ */
26807#define SCT_CAPH_CAPH_MASK (0xFFFFU)
26808#define SCT_CAPH_CAPH_SHIFT (0U)
26809#define SCT_CAPH_CAPH(x) (((uint16_t)(((uint16_t)(x)) << SCT_CAPH_CAPH_SHIFT)) & SCT_CAPH_CAPH_MASK)
26810/*! @} */
26811
26812/* The count of SCT_CAPH */
26813#define SCT_CAPH_COUNT (16U)
26814
26815/*! @name CAP - SCT capture register of capture channel */
26816/*! @{ */
26817#define SCT_CAP_CAPn_L_MASK (0xFFFFU)
26818#define SCT_CAP_CAPn_L_SHIFT (0U)
26819/*! CAPn_L - When UNIFY = 0, read the 16-bit counter value at which this register was last captured.
26820 * When UNIFY = 1, read the lower 16 bits of the 32-bit value at which this register was last
26821 * captured.
26822 */
26823#define SCT_CAP_CAPn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CAP_CAPn_L_SHIFT)) & SCT_CAP_CAPn_L_MASK)
26824#define SCT_CAP_CAPn_H_MASK (0xFFFF0000U)
26825#define SCT_CAP_CAPn_H_SHIFT (16U)
26826/*! CAPn_H - When UNIFY = 0, read the 16-bit counter value at which this register was last captured.
26827 * When UNIFY = 1, read the upper 16 bits of the 32-bit value at which this register was last
26828 * captured.
26829 */
26830#define SCT_CAP_CAPn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CAP_CAPn_H_SHIFT)) & SCT_CAP_CAPn_H_MASK)
26831/*! @} */
26832
26833/* The count of SCT_CAP */
26834#define SCT_CAP_COUNT (16U)
26835
26836/*! @name MATCHL - SCT_MATCHL register */
26837/*! @{ */
26838#define SCT_MATCHL_MATCHL_MASK (0xFFFFU)
26839#define SCT_MATCHL_MATCHL_SHIFT (0U)
26840#define SCT_MATCHL_MATCHL(x) (((uint16_t)(((uint16_t)(x)) << SCT_MATCHL_MATCHL_SHIFT)) & SCT_MATCHL_MATCHL_MASK)
26841/*! @} */
26842
26843/* The count of SCT_MATCHL */
26844#define SCT_MATCHL_COUNT (16U)
26845
26846/*! @name MATCHH - SCT_MATCHH register */
26847/*! @{ */
26848#define SCT_MATCHH_MATCHH_MASK (0xFFFFU)
26849#define SCT_MATCHH_MATCHH_SHIFT (0U)
26850#define SCT_MATCHH_MATCHH(x) (((uint16_t)(((uint16_t)(x)) << SCT_MATCHH_MATCHH_SHIFT)) & SCT_MATCHH_MATCHH_MASK)
26851/*! @} */
26852
26853/* The count of SCT_MATCHH */
26854#define SCT_MATCHH_COUNT (16U)
26855
26856/*! @name MATCH - SCT match value register of match channels */
26857/*! @{ */
26858#define SCT_MATCH_MATCHn_L_MASK (0xFFFFU)
26859#define SCT_MATCH_MATCHn_L_SHIFT (0U)
26860/*! MATCHn_L - When UNIFY = 0, read or write the 16-bit value to be compared to the L counter. When
26861 * UNIFY = 1, read or write the lower 16 bits of the 32-bit value to be compared to the unified
26862 * counter.
26863 */
26864#define SCT_MATCH_MATCHn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_MATCH_MATCHn_L_SHIFT)) & SCT_MATCH_MATCHn_L_MASK)
26865#define SCT_MATCH_MATCHn_H_MASK (0xFFFF0000U)
26866#define SCT_MATCH_MATCHn_H_SHIFT (16U)
26867/*! MATCHn_H - When UNIFY = 0, read or write the 16-bit value to be compared to the H counter. When
26868 * UNIFY = 1, read or write the upper 16 bits of the 32-bit value to be compared to the unified
26869 * counter.
26870 */
26871#define SCT_MATCH_MATCHn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_MATCH_MATCHn_H_SHIFT)) & SCT_MATCH_MATCHn_H_MASK)
26872/*! @} */
26873
26874/* The count of SCT_MATCH */
26875#define SCT_MATCH_COUNT (16U)
26876
26877/*! @name CAPCTRLL - SCT_CAPCTRLL register */
26878/*! @{ */
26879#define SCT_CAPCTRLL_CAPCTRLL_MASK (0xFFFFU)
26880#define SCT_CAPCTRLL_CAPCTRLL_SHIFT (0U)
26881#define SCT_CAPCTRLL_CAPCTRLL(x) (((uint16_t)(((uint16_t)(x)) << SCT_CAPCTRLL_CAPCTRLL_SHIFT)) & SCT_CAPCTRLL_CAPCTRLL_MASK)
26882/*! @} */
26883
26884/* The count of SCT_CAPCTRLL */
26885#define SCT_CAPCTRLL_COUNT (16U)
26886
26887/*! @name CAPCTRLH - SCT_CAPCTRLH register */
26888/*! @{ */
26889#define SCT_CAPCTRLH_CAPCTRLH_MASK (0xFFFFU)
26890#define SCT_CAPCTRLH_CAPCTRLH_SHIFT (0U)
26891#define SCT_CAPCTRLH_CAPCTRLH(x) (((uint16_t)(((uint16_t)(x)) << SCT_CAPCTRLH_CAPCTRLH_SHIFT)) & SCT_CAPCTRLH_CAPCTRLH_MASK)
26892/*! @} */
26893
26894/* The count of SCT_CAPCTRLH */
26895#define SCT_CAPCTRLH_COUNT (16U)
26896
26897/*! @name CAPCTRL - SCT capture control register */
26898/*! @{ */
26899#define SCT_CAPCTRL_CAPCONn_L_MASK (0xFFFFU)
26900#define SCT_CAPCTRL_CAPCONn_L_SHIFT (0U)
26901/*! CAPCONn_L - If bit m is one, event m causes the CAPn_L (UNIFY = 0) or the CAPn (UNIFY = 1)
26902 * register to be loaded (event 0 = bit 0, event 1 = bit 1, etc.). The number of bits = number of
26903 * match/captures in this SCT.
26904 */
26905#define SCT_CAPCTRL_CAPCONn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_CAPCTRL_CAPCONn_L_SHIFT)) & SCT_CAPCTRL_CAPCONn_L_MASK)
26906#define SCT_CAPCTRL_CAPCONn_H_MASK (0xFFFF0000U)
26907#define SCT_CAPCTRL_CAPCONn_H_SHIFT (16U)
26908/*! CAPCONn_H - If bit m is one, event m causes the CAPn_H (UNIFY = 0) register to be loaded (event
26909 * 0 = bit 16, event 1 = bit 17, etc.). The number of bits = number of match/captures in this SCT.
26910 */
26911#define SCT_CAPCTRL_CAPCONn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_CAPCTRL_CAPCONn_H_SHIFT)) & SCT_CAPCTRL_CAPCONn_H_MASK)
26912/*! @} */
26913
26914/* The count of SCT_CAPCTRL */
26915#define SCT_CAPCTRL_COUNT (16U)
26916
26917/*! @name MATCHRELL - SCT_MATCHRELL register */
26918/*! @{ */
26919#define SCT_MATCHRELL_MATCHRELL_MASK (0xFFFFU)
26920#define SCT_MATCHRELL_MATCHRELL_SHIFT (0U)
26921#define SCT_MATCHRELL_MATCHRELL(x) (((uint16_t)(((uint16_t)(x)) << SCT_MATCHRELL_MATCHRELL_SHIFT)) & SCT_MATCHRELL_MATCHRELL_MASK)
26922/*! @} */
26923
26924/* The count of SCT_MATCHRELL */
26925#define SCT_MATCHRELL_COUNT (16U)
26926
26927/*! @name MATCHRELH - SCT_MATCHRELH register */
26928/*! @{ */
26929#define SCT_MATCHRELH_MATCHRELH_MASK (0xFFFFU)
26930#define SCT_MATCHRELH_MATCHRELH_SHIFT (0U)
26931#define SCT_MATCHRELH_MATCHRELH(x) (((uint16_t)(((uint16_t)(x)) << SCT_MATCHRELH_MATCHRELH_SHIFT)) & SCT_MATCHRELH_MATCHRELH_MASK)
26932/*! @} */
26933
26934/* The count of SCT_MATCHRELH */
26935#define SCT_MATCHRELH_COUNT (16U)
26936
26937/*! @name MATCHREL - SCT match reload value register */
26938/*! @{ */
26939#define SCT_MATCHREL_RELOADn_L_MASK (0xFFFFU)
26940#define SCT_MATCHREL_RELOADn_L_SHIFT (0U)
26941/*! RELOADn_L - When UNIFY = 0, specifies the 16-bit value to be loaded into the MATCHn_L register.
26942 * When UNIFY = 1, specifies the lower 16 bits of the 32-bit value to be loaded into the MATCHn
26943 * register.
26944 */
26945#define SCT_MATCHREL_RELOADn_L(x) (((uint32_t)(((uint32_t)(x)) << SCT_MATCHREL_RELOADn_L_SHIFT)) & SCT_MATCHREL_RELOADn_L_MASK)
26946#define SCT_MATCHREL_RELOADn_H_MASK (0xFFFF0000U)
26947#define SCT_MATCHREL_RELOADn_H_SHIFT (16U)
26948/*! RELOADn_H - When UNIFY = 0, specifies the 16-bit to be loaded into the MATCHn_H register. When
26949 * UNIFY = 1, specifies the upper 16 bits of the 32-bit value to be loaded into the MATCHn
26950 * register.
26951 */
26952#define SCT_MATCHREL_RELOADn_H(x) (((uint32_t)(((uint32_t)(x)) << SCT_MATCHREL_RELOADn_H_SHIFT)) & SCT_MATCHREL_RELOADn_H_MASK)
26953/*! @} */
26954
26955/* The count of SCT_MATCHREL */
26956#define SCT_MATCHREL_COUNT (16U)
26957
26958/*! @name EV_STATE - SCT event state register 0 */
26959/*! @{ */
26960#define SCT_EV_STATE_STATEMSKn_MASK (0xFFFFU)
26961#define SCT_EV_STATE_STATEMSKn_SHIFT (0U)
26962/*! STATEMSKn - If bit m is one, event n happens in state m of the counter selected by the HEVENT
26963 * bit (n = event number, m = state number; state 0 = bit 0, state 1= bit 1, etc.). The number of
26964 * bits = number of states in this SCT.
26965 */
26966#define SCT_EV_STATE_STATEMSKn(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_STATE_STATEMSKn_SHIFT)) & SCT_EV_STATE_STATEMSKn_MASK)
26967/*! @} */
26968
26969/* The count of SCT_EV_STATE */
26970#define SCT_EV_STATE_COUNT (16U)
26971
26972/*! @name EV_CTRL - SCT event control register 0 */
26973/*! @{ */
26974#define SCT_EV_CTRL_MATCHSEL_MASK (0xFU)
26975#define SCT_EV_CTRL_MATCHSEL_SHIFT (0U)
26976/*! MATCHSEL - Selects the Match register associated with this event (if any). A match can occur
26977 * only when the counter selected by the HEVENT bit is running.
26978 */
26979#define SCT_EV_CTRL_MATCHSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_MATCHSEL_SHIFT)) & SCT_EV_CTRL_MATCHSEL_MASK)
26980#define SCT_EV_CTRL_HEVENT_MASK (0x10U)
26981#define SCT_EV_CTRL_HEVENT_SHIFT (4U)
26982/*! HEVENT - Select L/H counter. Do not set this bit if UNIFY = 1.
26983 * 0b0..Selects the L state and the L match register selected by MATCHSEL.
26984 * 0b1..Selects the H state and the H match register selected by MATCHSEL.
26985 */
26986#define SCT_EV_CTRL_HEVENT(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_HEVENT_SHIFT)) & SCT_EV_CTRL_HEVENT_MASK)
26987#define SCT_EV_CTRL_OUTSEL_MASK (0x20U)
26988#define SCT_EV_CTRL_OUTSEL_SHIFT (5U)
26989/*! OUTSEL - Input/output select
26990 * 0b0..Selects the inputs selected by IOSEL.
26991 * 0b1..Selects the outputs selected by IOSEL.
26992 */
26993#define SCT_EV_CTRL_OUTSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_OUTSEL_SHIFT)) & SCT_EV_CTRL_OUTSEL_MASK)
26994#define SCT_EV_CTRL_IOSEL_MASK (0x3C0U)
26995#define SCT_EV_CTRL_IOSEL_SHIFT (6U)
26996/*! IOSEL - Selects the input or output signal number associated with this event (if any). Do not
26997 * select an input in this register if CKMODE is 1x. In this case the clock input is an implicit
26998 * ingredient of every event.
26999 */
27000#define SCT_EV_CTRL_IOSEL(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_IOSEL_SHIFT)) & SCT_EV_CTRL_IOSEL_MASK)
27001#define SCT_EV_CTRL_IOCOND_MASK (0xC00U)
27002#define SCT_EV_CTRL_IOCOND_SHIFT (10U)
27003/*! IOCOND - Selects the I/O condition for event n. (The detection of edges on outputs lag the
27004 * conditions that switch the outputs by one SCT clock). In order to guarantee proper edge/state
27005 * detection, an input must have a minimum pulse width of at least one SCT clock period .
27006 * 0b00..LOW
27007 * 0b01..Rise
27008 * 0b10..Fall
27009 * 0b11..HIGH
27010 */
27011#define SCT_EV_CTRL_IOCOND(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_IOCOND_SHIFT)) & SCT_EV_CTRL_IOCOND_MASK)
27012#define SCT_EV_CTRL_COMBMODE_MASK (0x3000U)
27013#define SCT_EV_CTRL_COMBMODE_SHIFT (12U)
27014/*! COMBMODE - Selects how the specified match and I/O condition are used and combined.
27015 * 0b00..OR. The event occurs when either the specified match or I/O condition occurs.
27016 * 0b01..MATCH. Uses the specified match only.
27017 * 0b10..IO. Uses the specified I/O condition only.
27018 * 0b11..AND. The event occurs when the specified match and I/O condition occur simultaneously.
27019 */
27020#define SCT_EV_CTRL_COMBMODE(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_COMBMODE_SHIFT)) & SCT_EV_CTRL_COMBMODE_MASK)
27021#define SCT_EV_CTRL_STATELD_MASK (0x4000U)
27022#define SCT_EV_CTRL_STATELD_SHIFT (14U)
27023/*! STATELD - This bit controls how the STATEV value modifies the state selected by HEVENT when this
27024 * event is the highest-numbered event occurring for that state.
27025 * 0b0..STATEV value is added into STATE (the carry-out is ignored).
27026 * 0b1..STATEV value is loaded into STATE.
27027 */
27028#define SCT_EV_CTRL_STATELD(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_STATELD_SHIFT)) & SCT_EV_CTRL_STATELD_MASK)
27029#define SCT_EV_CTRL_STATEV_MASK (0xF8000U)
27030#define SCT_EV_CTRL_STATEV_SHIFT (15U)
27031/*! STATEV - This value is loaded into or added to the state selected by HEVENT, depending on
27032 * STATELD, when this event is the highest-numbered event occurring for that state. If STATELD and
27033 * STATEV are both zero, there is no change to the STATE value.
27034 */
27035#define SCT_EV_CTRL_STATEV(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_STATEV_SHIFT)) & SCT_EV_CTRL_STATEV_MASK)
27036#define SCT_EV_CTRL_MATCHMEM_MASK (0x100000U)
27037#define SCT_EV_CTRL_MATCHMEM_SHIFT (20U)
27038/*! MATCHMEM - If this bit is one and the COMBMODE field specifies a match component to the
27039 * triggering of this event, then a match is considered to be active whenever the counter value is
27040 * GREATER THAN OR EQUAL TO the value specified in the match register when counting up, LESS THEN OR
27041 * EQUAL TO the match value when counting down. If this bit is zero, a match is only be active
27042 * during the cycle when the counter is equal to the match value.
27043 */
27044#define SCT_EV_CTRL_MATCHMEM(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_MATCHMEM_SHIFT)) & SCT_EV_CTRL_MATCHMEM_MASK)
27045#define SCT_EV_CTRL_DIRECTION_MASK (0x600000U)
27046#define SCT_EV_CTRL_DIRECTION_SHIFT (21U)
27047/*! DIRECTION - Direction qualifier for event generation. This field only applies when the counters
27048 * are operating in BIDIR mode. If BIDIR = 0, the SCT ignores this field. Value 0x3 is reserved.
27049 * 0b00..Direction independent. This event is triggered regardless of the count direction.
27050 * 0b01..Counting up. This event is triggered only during up-counting when BIDIR = 1.
27051 * 0b10..Counting down. This event is triggered only during down-counting when BIDIR = 1.
27052 */
27053#define SCT_EV_CTRL_DIRECTION(x) (((uint32_t)(((uint32_t)(x)) << SCT_EV_CTRL_DIRECTION_SHIFT)) & SCT_EV_CTRL_DIRECTION_MASK)
27054/*! @} */
27055
27056/* The count of SCT_EV_CTRL */
27057#define SCT_EV_CTRL_COUNT (16U)
27058
27059/*! @name OUT_SET - SCT output 0 set register */
27060/*! @{ */
27061#define SCT_OUT_SET_SET_MASK (0xFFFFU)
27062#define SCT_OUT_SET_SET_SHIFT (0U)
27063/*! SET - A 1 in bit m selects event m to set output n (or clear it if SETCLRn = 0x1 or 0x2) output
27064 * 0 = bit 0, output 1 = bit 1, etc. The number of bits = number of events in this SCT. When the
27065 * counter is used in bi-directional mode, it is possible to reverse the action specified by the
27066 * output set and clear registers when counting down, See the OUTPUTCTRL register.
27067 */
27068#define SCT_OUT_SET_SET(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUT_SET_SET_SHIFT)) & SCT_OUT_SET_SET_MASK)
27069/*! @} */
27070
27071/* The count of SCT_OUT_SET */
27072#define SCT_OUT_SET_COUNT (10U)
27073
27074/*! @name OUT_CLR - SCT output 0 clear register */
27075/*! @{ */
27076#define SCT_OUT_CLR_CLR_MASK (0xFFFFU)
27077#define SCT_OUT_CLR_CLR_SHIFT (0U)
27078/*! CLR - A 1 in bit m selects event m to clear output n (or set it if SETCLRn = 0x1 or 0x2) event 0
27079 * = bit 0, event 1 = bit 1, etc. The number of bits = number of events in this SCT. When the
27080 * counter is used in bi-directional mode, it is possible to reverse the action specified by the
27081 * output set and clear registers when counting down, See the OUTPUTCTRL register.
27082 */
27083#define SCT_OUT_CLR_CLR(x) (((uint32_t)(((uint32_t)(x)) << SCT_OUT_CLR_CLR_SHIFT)) & SCT_OUT_CLR_CLR_MASK)
27084/*! @} */
27085
27086/* The count of SCT_OUT_CLR */
27087#define SCT_OUT_CLR_COUNT (10U)
27088
27089
27090/*!
27091 * @}
27092 */ /* end of group SCT_Register_Masks */
27093
27094
27095/* SCT - Peripheral instance base addresses */
27096#if (__ARM_FEATURE_CMSE & 0x2)
27097 /** Peripheral SCT0 base address */
27098 #define SCT0_BASE (0x50146000u)
27099 /** Peripheral SCT0 base address */
27100 #define SCT0_BASE_NS (0x40146000u)
27101 /** Peripheral SCT0 base pointer */
27102 #define SCT0 ((SCT_Type *)SCT0_BASE)
27103 /** Peripheral SCT0 base pointer */
27104 #define SCT0_NS ((SCT_Type *)SCT0_BASE_NS)
27105 /** Array initializer of SCT peripheral base addresses */
27106 #define SCT_BASE_ADDRS { SCT0_BASE }
27107 /** Array initializer of SCT peripheral base pointers */
27108 #define SCT_BASE_PTRS { SCT0 }
27109 /** Array initializer of SCT peripheral base addresses */
27110 #define SCT_BASE_ADDRS_NS { SCT0_BASE_NS }
27111 /** Array initializer of SCT peripheral base pointers */
27112 #define SCT_BASE_PTRS_NS { SCT0_NS }
27113#else
27114 /** Peripheral SCT0 base address */
27115 #define SCT0_BASE (0x40146000u)
27116 /** Peripheral SCT0 base pointer */
27117 #define SCT0 ((SCT_Type *)SCT0_BASE)
27118 /** Array initializer of SCT peripheral base addresses */
27119 #define SCT_BASE_ADDRS { SCT0_BASE }
27120 /** Array initializer of SCT peripheral base pointers */
27121 #define SCT_BASE_PTRS { SCT0 }
27122#endif
27123/** Interrupt vectors for the SCT peripheral type */
27124#define SCT_IRQS { SCT0_IRQn }
27125
27126/*!
27127 * @}
27128 */ /* end of group SCT_Peripheral_Access_Layer */
27129
27130
27131/* ----------------------------------------------------------------------------
27132 -- SEMA42 Peripheral Access Layer
27133 ---------------------------------------------------------------------------- */
27134
27135/*!
27136 * @addtogroup SEMA42_Peripheral_Access_Layer SEMA42 Peripheral Access Layer
27137 * @{
27138 */
27139
27140/** SEMA42 - Register Layout Typedef */
27141typedef struct {
27142 __IO uint8_t GATE3; /**< Semphores2 Gate n, offset: 0x0 */
27143 __IO uint8_t GATE2; /**< Semphores2 Gate n, offset: 0x1 */
27144 __IO uint8_t GATE1; /**< Semphores2 Gate n, offset: 0x2 */
27145 __IO uint8_t GATE0; /**< Semphores2 Gate n, offset: 0x3 */
27146 __IO uint8_t GATE7; /**< Semphores2 Gate n, offset: 0x4 */
27147 __IO uint8_t GATE6; /**< Semphores2 Gate n, offset: 0x5 */
27148 __IO uint8_t GATE5; /**< Semphores2 Gate n, offset: 0x6 */
27149 __IO uint8_t GATE4; /**< Semphores2 Gate n, offset: 0x7 */
27150 __IO uint8_t GATE11; /**< Semphores2 Gate n, offset: 0x8 */
27151 __IO uint8_t GATE10; /**< Semphores2 Gate n, offset: 0x9 */
27152 __IO uint8_t GATE9; /**< Semphores2 Gate n, offset: 0xA */
27153 __IO uint8_t GATE8; /**< Semphores2 Gate n, offset: 0xB */
27154 __IO uint8_t GATE15; /**< Semphores2 Gate n, offset: 0xC */
27155 __IO uint8_t GATE14; /**< Semphores2 Gate n, offset: 0xD */
27156 __IO uint8_t GATE13; /**< Semphores2 Gate n, offset: 0xE */
27157 __IO uint8_t GATE12; /**< Semphores2 Gate n, offset: 0xF */
27158 uint8_t RESERVED_0[50];
27159 union { /* offset: 0x42 */
27160 __I uint16_t RSTGT_R; /**< Reset Gate Read, offset: 0x42 */
27161 __O uint16_t RSTGT_W; /**< Reset Gate Write, offset: 0x42 */
27162 };
27163} SEMA42_Type;
27164
27165/* ----------------------------------------------------------------------------
27166 -- SEMA42 Register Masks
27167 ---------------------------------------------------------------------------- */
27168
27169/*!
27170 * @addtogroup SEMA42_Register_Masks SEMA42 Register Masks
27171 * @{
27172 */
27173
27174/*! @name GATE3 - Semphores2 Gate n */
27175/*! @{ */
27176#define SEMA42_GATE3_GTFSM_MASK (0xFU)
27177#define SEMA42_GATE3_GTFSM_SHIFT (0U)
27178/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27179 * 0b0000..The gate is unlocked (free).
27180 * 0b0001..The gate has been locked by processor 0.
27181 * 0b0010..The gate has been locked by processor 1.
27182 */
27183#define SEMA42_GATE3_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE3_GTFSM_SHIFT)) & SEMA42_GATE3_GTFSM_MASK)
27184/*! @} */
27185
27186/*! @name GATE2 - Semphores2 Gate n */
27187/*! @{ */
27188#define SEMA42_GATE2_GTFSM_MASK (0xFU)
27189#define SEMA42_GATE2_GTFSM_SHIFT (0U)
27190/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27191 * 0b0000..The gate is unlocked (free).
27192 * 0b0001..The gate has been locked by processor 0.
27193 * 0b0010..The gate has been locked by processor 1.
27194 */
27195#define SEMA42_GATE2_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE2_GTFSM_SHIFT)) & SEMA42_GATE2_GTFSM_MASK)
27196/*! @} */
27197
27198/*! @name GATE1 - Semphores2 Gate n */
27199/*! @{ */
27200#define SEMA42_GATE1_GTFSM_MASK (0xFU)
27201#define SEMA42_GATE1_GTFSM_SHIFT (0U)
27202/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27203 * 0b0000..The gate is unlocked (free).
27204 * 0b0001..The gate has been locked by processor 0.
27205 * 0b0010..The gate has been locked by processor 1.
27206 */
27207#define SEMA42_GATE1_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE1_GTFSM_SHIFT)) & SEMA42_GATE1_GTFSM_MASK)
27208/*! @} */
27209
27210/*! @name GATE0 - Semphores2 Gate n */
27211/*! @{ */
27212#define SEMA42_GATE0_GTFSM_MASK (0xFU)
27213#define SEMA42_GATE0_GTFSM_SHIFT (0U)
27214/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27215 * 0b0000..The gate is unlocked (free).
27216 * 0b0001..The gate has been locked by processor 0.
27217 * 0b0010..The gate has been locked by processor 1.
27218 */
27219#define SEMA42_GATE0_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE0_GTFSM_SHIFT)) & SEMA42_GATE0_GTFSM_MASK)
27220/*! @} */
27221
27222/*! @name GATE7 - Semphores2 Gate n */
27223/*! @{ */
27224#define SEMA42_GATE7_GTFSM_MASK (0xFU)
27225#define SEMA42_GATE7_GTFSM_SHIFT (0U)
27226/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27227 * 0b0000..The gate is unlocked (free).
27228 * 0b0001..The gate has been locked by processor 0.
27229 * 0b0010..The gate has been locked by processor 1.
27230 */
27231#define SEMA42_GATE7_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE7_GTFSM_SHIFT)) & SEMA42_GATE7_GTFSM_MASK)
27232/*! @} */
27233
27234/*! @name GATE6 - Semphores2 Gate n */
27235/*! @{ */
27236#define SEMA42_GATE6_GTFSM_MASK (0xFU)
27237#define SEMA42_GATE6_GTFSM_SHIFT (0U)
27238/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27239 * 0b0000..The gate is unlocked (free).
27240 * 0b0001..The gate has been locked by processor 0.
27241 * 0b0010..The gate has been locked by processor 1.
27242 */
27243#define SEMA42_GATE6_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE6_GTFSM_SHIFT)) & SEMA42_GATE6_GTFSM_MASK)
27244/*! @} */
27245
27246/*! @name GATE5 - Semphores2 Gate n */
27247/*! @{ */
27248#define SEMA42_GATE5_GTFSM_MASK (0xFU)
27249#define SEMA42_GATE5_GTFSM_SHIFT (0U)
27250/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27251 * 0b0000..The gate is unlocked (free).
27252 * 0b0001..The gate has been locked by processor 0.
27253 * 0b0010..The gate has been locked by processor 1.
27254 */
27255#define SEMA42_GATE5_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE5_GTFSM_SHIFT)) & SEMA42_GATE5_GTFSM_MASK)
27256/*! @} */
27257
27258/*! @name GATE4 - Semphores2 Gate n */
27259/*! @{ */
27260#define SEMA42_GATE4_GTFSM_MASK (0xFU)
27261#define SEMA42_GATE4_GTFSM_SHIFT (0U)
27262/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27263 * 0b0000..The gate is unlocked (free).
27264 * 0b0001..The gate has been locked by processor 0.
27265 * 0b0010..The gate has been locked by processor 1.
27266 */
27267#define SEMA42_GATE4_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE4_GTFSM_SHIFT)) & SEMA42_GATE4_GTFSM_MASK)
27268/*! @} */
27269
27270/*! @name GATE11 - Semphores2 Gate n */
27271/*! @{ */
27272#define SEMA42_GATE11_GTFSM_MASK (0xFU)
27273#define SEMA42_GATE11_GTFSM_SHIFT (0U)
27274/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27275 * 0b0000..The gate is unlocked (free).
27276 * 0b0001..The gate has been locked by processor 0.
27277 * 0b0010..The gate has been locked by processor 1.
27278 */
27279#define SEMA42_GATE11_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE11_GTFSM_SHIFT)) & SEMA42_GATE11_GTFSM_MASK)
27280/*! @} */
27281
27282/*! @name GATE10 - Semphores2 Gate n */
27283/*! @{ */
27284#define SEMA42_GATE10_GTFSM_MASK (0xFU)
27285#define SEMA42_GATE10_GTFSM_SHIFT (0U)
27286/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27287 * 0b0000..The gate is unlocked (free).
27288 * 0b0001..The gate has been locked by processor 0.
27289 * 0b0010..The gate has been locked by processor 1.
27290 */
27291#define SEMA42_GATE10_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE10_GTFSM_SHIFT)) & SEMA42_GATE10_GTFSM_MASK)
27292/*! @} */
27293
27294/*! @name GATE9 - Semphores2 Gate n */
27295/*! @{ */
27296#define SEMA42_GATE9_GTFSM_MASK (0xFU)
27297#define SEMA42_GATE9_GTFSM_SHIFT (0U)
27298/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27299 * 0b0000..The gate is unlocked (free).
27300 * 0b0001..The gate has been locked by processor 0.
27301 * 0b0010..The gate has been locked by processor 1.
27302 */
27303#define SEMA42_GATE9_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE9_GTFSM_SHIFT)) & SEMA42_GATE9_GTFSM_MASK)
27304/*! @} */
27305
27306/*! @name GATE8 - Semphores2 Gate n */
27307/*! @{ */
27308#define SEMA42_GATE8_GTFSM_MASK (0xFU)
27309#define SEMA42_GATE8_GTFSM_SHIFT (0U)
27310/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27311 * 0b0000..The gate is unlocked (free).
27312 * 0b0001..The gate has been locked by processor 0.
27313 * 0b0010..The gate has been locked by processor 1.
27314 */
27315#define SEMA42_GATE8_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE8_GTFSM_SHIFT)) & SEMA42_GATE8_GTFSM_MASK)
27316/*! @} */
27317
27318/*! @name GATE15 - Semphores2 Gate n */
27319/*! @{ */
27320#define SEMA42_GATE15_GTFSM_MASK (0xFU)
27321#define SEMA42_GATE15_GTFSM_SHIFT (0U)
27322/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27323 * 0b0000..The gate is unlocked (free).
27324 * 0b0001..The gate has been locked by processor 0.
27325 * 0b0010..The gate has been locked by processor 1.
27326 */
27327#define SEMA42_GATE15_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE15_GTFSM_SHIFT)) & SEMA42_GATE15_GTFSM_MASK)
27328/*! @} */
27329
27330/*! @name GATE14 - Semphores2 Gate n */
27331/*! @{ */
27332#define SEMA42_GATE14_GTFSM_MASK (0xFU)
27333#define SEMA42_GATE14_GTFSM_SHIFT (0U)
27334/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27335 * 0b0000..The gate is unlocked (free).
27336 * 0b0001..The gate has been locked by processor 0.
27337 * 0b0010..The gate has been locked by processor 1.
27338 */
27339#define SEMA42_GATE14_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE14_GTFSM_SHIFT)) & SEMA42_GATE14_GTFSM_MASK)
27340/*! @} */
27341
27342/*! @name GATE13 - Semphores2 Gate n */
27343/*! @{ */
27344#define SEMA42_GATE13_GTFSM_MASK (0xFU)
27345#define SEMA42_GATE13_GTFSM_SHIFT (0U)
27346/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27347 * 0b0000..The gate is unlocked (free).
27348 * 0b0001..The gate has been locked by processor 0.
27349 * 0b0010..The gate has been locked by processor 1.
27350 */
27351#define SEMA42_GATE13_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE13_GTFSM_SHIFT)) & SEMA42_GATE13_GTFSM_MASK)
27352/*! @} */
27353
27354/*! @name GATE12 - Semphores2 Gate n */
27355/*! @{ */
27356#define SEMA42_GATE12_GTFSM_MASK (0xFU)
27357#define SEMA42_GATE12_GTFSM_SHIFT (0U)
27358/*! GTFSM - ate Finite State Machine. The hardware gate is maintained in a 16-state implementation
27359 * 0b0000..The gate is unlocked (free).
27360 * 0b0001..The gate has been locked by processor 0.
27361 * 0b0010..The gate has been locked by processor 1.
27362 */
27363#define SEMA42_GATE12_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE12_GTFSM_SHIFT)) & SEMA42_GATE12_GTFSM_MASK)
27364/*! @} */
27365
27366/*! @name RSTGT_R - Reset Gate Read */
27367/*! @{ */
27368#define SEMA42_RSTGT_R_RSTGTN_MASK (0xFFU)
27369#define SEMA42_RSTGT_R_RSTGTN_SHIFT (0U)
27370/*! RSTGTN - RSTGTN
27371 */
27372#define SEMA42_RSTGT_R_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGTN_SHIFT)) & SEMA42_RSTGT_R_RSTGTN_MASK)
27373#define SEMA42_RSTGT_R_RSTGMS_MASK (0xF00U)
27374#define SEMA42_RSTGT_R_RSTGMS_SHIFT (8U)
27375/*! RSTGMS - RSTGMS
27376 */
27377#define SEMA42_RSTGT_R_RSTGMS(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGMS_SHIFT)) & SEMA42_RSTGT_R_RSTGMS_MASK)
27378#define SEMA42_RSTGT_R_RSTGSM_MASK (0x3000U)
27379#define SEMA42_RSTGT_R_RSTGSM_SHIFT (12U)
27380/*! RSTGSM - RSTGSM
27381 * 0b00..Idle, waiting for the first data pattern write.
27382 * 0b01..Waiting for the second data pattern write.
27383 * 0b10..The 2-write sequence has completed. Generate the specified gate reset(s). After the reset is performed,
27384 * this machine returns to the idle (waiting for first data pattern write) state. The "01" state persists
27385 * for only one clock cycle. Software cannot observe this state.
27386 * 0b11..This state encoding is never used and therefore reserved.
27387 */
27388#define SEMA42_RSTGT_R_RSTGSM(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGSM_SHIFT)) & SEMA42_RSTGT_R_RSTGSM_MASK)
27389#define SEMA42_RSTGT_R_ROZ_MASK (0xC000U)
27390#define SEMA42_RSTGT_R_ROZ_SHIFT (14U)
27391/*! ROZ - ROZ
27392 */
27393#define SEMA42_RSTGT_R_ROZ(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_ROZ_SHIFT)) & SEMA42_RSTGT_R_ROZ_MASK)
27394/*! @} */
27395
27396/*! @name RSTGT_W - Reset Gate Write */
27397/*! @{ */
27398#define SEMA42_RSTGT_W_RSTGTN_MASK (0xFFU)
27399#define SEMA42_RSTGT_W_RSTGTN_SHIFT (0U)
27400/*! RSTGTN - RSTGTN
27401 */
27402#define SEMA42_RSTGT_W_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGTN_SHIFT)) & SEMA42_RSTGT_W_RSTGTN_MASK)
27403#define SEMA42_RSTGT_W_RSTGDP_MASK (0xFF00U)
27404#define SEMA42_RSTGT_W_RSTGDP_SHIFT (8U)
27405/*! RSTGDP - RSTGDP
27406 */
27407#define SEMA42_RSTGT_W_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGDP_SHIFT)) & SEMA42_RSTGT_W_RSTGDP_MASK)
27408/*! @} */
27409
27410
27411/*!
27412 * @}
27413 */ /* end of group SEMA42_Register_Masks */
27414
27415
27416/* SEMA42 - Peripheral instance base addresses */
27417#if (__ARM_FEATURE_CMSE & 0x2)
27418 /** Peripheral SEMA42 base address */
27419 #define SEMA42_BASE (0x50112000u)
27420 /** Peripheral SEMA42 base address */
27421 #define SEMA42_BASE_NS (0x40112000u)
27422 /** Peripheral SEMA42 base pointer */
27423 #define SEMA42 ((SEMA42_Type *)SEMA42_BASE)
27424 /** Peripheral SEMA42 base pointer */
27425 #define SEMA42_NS ((SEMA42_Type *)SEMA42_BASE_NS)
27426 /** Array initializer of SEMA42 peripheral base addresses */
27427 #define SEMA42_BASE_ADDRS { SEMA42_BASE }
27428 /** Array initializer of SEMA42 peripheral base pointers */
27429 #define SEMA42_BASE_PTRS { SEMA42 }
27430 /** Array initializer of SEMA42 peripheral base addresses */
27431 #define SEMA42_BASE_ADDRS_NS { SEMA42_BASE_NS }
27432 /** Array initializer of SEMA42 peripheral base pointers */
27433 #define SEMA42_BASE_PTRS_NS { SEMA42_NS }
27434#else
27435 /** Peripheral SEMA42 base address */
27436 #define SEMA42_BASE (0x40112000u)
27437 /** Peripheral SEMA42 base pointer */
27438 #define SEMA42 ((SEMA42_Type *)SEMA42_BASE)
27439 /** Array initializer of SEMA42 peripheral base addresses */
27440 #define SEMA42_BASE_ADDRS { SEMA42_BASE }
27441 /** Array initializer of SEMA42 peripheral base pointers */
27442 #define SEMA42_BASE_PTRS { SEMA42 }
27443#endif
27444
27445/*!
27446 * @}
27447 */ /* end of group SEMA42_Peripheral_Access_Layer */
27448
27449
27450/* ----------------------------------------------------------------------------
27451 -- SPI Peripheral Access Layer
27452 ---------------------------------------------------------------------------- */
27453
27454/*!
27455 * @addtogroup SPI_Peripheral_Access_Layer SPI Peripheral Access Layer
27456 * @{
27457 */
27458
27459/** SPI - Register Layout Typedef */
27460typedef struct {
27461 uint8_t RESERVED_0[1024];
27462 __IO uint32_t CFG; /**< SPI Configuration register, offset: 0x400 */
27463 __IO uint32_t DLY; /**< SPI Delay register, offset: 0x404 */
27464 __IO uint32_t STAT; /**< SPI Status. Some status flags can be cleared by writing a 1 to that bit position., offset: 0x408 */
27465 __IO uint32_t INTENSET; /**< SPI Interrupt Enable read and Set. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set., offset: 0x40C */
27466 __IO uint32_t INTENCLR; /**< SPI Interrupt Enable Clear. Writing a 1 to any implemented bit position causes the corresponding bit in INTENSET to be cleared., offset: 0x410 */
27467 uint8_t RESERVED_1[16];
27468 __IO uint32_t DIV; /**< SPI clock Divider, offset: 0x424 */
27469 __I uint32_t INTSTAT; /**< SPI Interrupt Status, offset: 0x428 */
27470 uint8_t RESERVED_2[2516];
27471 __IO uint32_t FIFOCFG; /**< FIFO configuration and enable register., offset: 0xE00 */
27472 __IO uint32_t FIFOSTAT; /**< FIFO status register., offset: 0xE04 */
27473 __IO uint32_t FIFOTRIG; /**< FIFO trigger settings for interrupt and DMA request., offset: 0xE08 */
27474 uint8_t RESERVED_3[4];
27475 __IO uint32_t FIFOINTENSET; /**< FIFO interrupt enable set (enable) and read register., offset: 0xE10 */
27476 __IO uint32_t FIFOINTENCLR; /**< FIFO interrupt enable clear (disable) and read register., offset: 0xE14 */
27477 __I uint32_t FIFOINTSTAT; /**< FIFO interrupt status register., offset: 0xE18 */
27478 uint8_t RESERVED_4[4];
27479 __O uint32_t FIFOWR; /**< FIFO write data., offset: 0xE20 */
27480 uint8_t RESERVED_5[12];
27481 __I uint32_t FIFORD; /**< FIFO read data., offset: 0xE30 */
27482 uint8_t RESERVED_6[12];
27483 __I uint32_t FIFORDNOPOP; /**< FIFO data read with no FIFO pop., offset: 0xE40 */
27484 uint8_t RESERVED_7[4];
27485 __I uint32_t FIFOSIZE; /**< FIFO size register, offset: 0xE48 */
27486 uint8_t RESERVED_8[432];
27487 __I uint32_t ID; /**< Peripheral identification register., offset: 0xFFC */
27488} SPI_Type;
27489
27490/* ----------------------------------------------------------------------------
27491 -- SPI Register Masks
27492 ---------------------------------------------------------------------------- */
27493
27494/*!
27495 * @addtogroup SPI_Register_Masks SPI Register Masks
27496 * @{
27497 */
27498
27499/*! @name CFG - SPI Configuration register */
27500/*! @{ */
27501#define SPI_CFG_ENABLE_MASK (0x1U)
27502#define SPI_CFG_ENABLE_SHIFT (0U)
27503/*! ENABLE - SPI enable.
27504 * 0b0..Disabled. The SPI is disabled and the internal state machine and counters are reset.
27505 * 0b1..Enabled. The SPI is enabled for operation.
27506 */
27507#define SPI_CFG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_ENABLE_SHIFT)) & SPI_CFG_ENABLE_MASK)
27508#define SPI_CFG_MASTER_MASK (0x4U)
27509#define SPI_CFG_MASTER_SHIFT (2U)
27510/*! MASTER - Master mode select.
27511 * 0b0..Slave mode. The SPI will operate in slave mode. SCK, MOSI, and the SSEL signals are inputs, MISO is an output.
27512 * 0b1..Master mode. The SPI will operate in master mode. SCK, MOSI, and the SSEL signals are outputs, MISO is an input.
27513 */
27514#define SPI_CFG_MASTER(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_MASTER_SHIFT)) & SPI_CFG_MASTER_MASK)
27515#define SPI_CFG_LSBF_MASK (0x8U)
27516#define SPI_CFG_LSBF_SHIFT (3U)
27517/*! LSBF - LSB First mode enable.
27518 * 0b0..Standard. Data is transmitted and received in standard MSB first order.
27519 * 0b1..Reverse. Data is transmitted and received in reverse order (LSB first).
27520 */
27521#define SPI_CFG_LSBF(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_LSBF_SHIFT)) & SPI_CFG_LSBF_MASK)
27522#define SPI_CFG_CPHA_MASK (0x10U)
27523#define SPI_CFG_CPHA_SHIFT (4U)
27524/*! CPHA - Clock Phase select.
27525 * 0b0..Change. The SPI captures serial data on the first clock transition of the transfer (when the clock
27526 * changes away from the rest state). Data is changed on the following edge.
27527 * 0b1..Capture. The SPI changes serial data on the first clock transition of the transfer (when the clock
27528 * changes away from the rest state). Data is captured on the following edge.
27529 */
27530#define SPI_CFG_CPHA(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_CPHA_SHIFT)) & SPI_CFG_CPHA_MASK)
27531#define SPI_CFG_CPOL_MASK (0x20U)
27532#define SPI_CFG_CPOL_SHIFT (5U)
27533/*! CPOL - Clock Polarity select.
27534 * 0b0..Low. The rest state of the clock (between transfers) is low.
27535 * 0b1..High. The rest state of the clock (between transfers) is high.
27536 */
27537#define SPI_CFG_CPOL(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_CPOL_SHIFT)) & SPI_CFG_CPOL_MASK)
27538#define SPI_CFG_LOOP_MASK (0x80U)
27539#define SPI_CFG_LOOP_SHIFT (7U)
27540/*! LOOP - Loopback mode enable. Loopback mode applies only to Master mode, and connects transmit
27541 * and receive data connected together to allow simple software testing.
27542 * 0b0..Disabled.
27543 * 0b1..Enabled.
27544 */
27545#define SPI_CFG_LOOP(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_LOOP_SHIFT)) & SPI_CFG_LOOP_MASK)
27546#define SPI_CFG_SPOL0_MASK (0x100U)
27547#define SPI_CFG_SPOL0_SHIFT (8U)
27548/*! SPOL0 - SSEL0 Polarity select.
27549 * 0b0..Low. The SSEL0 pin is active low.
27550 * 0b1..High. The SSEL0 pin is active high.
27551 */
27552#define SPI_CFG_SPOL0(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL0_SHIFT)) & SPI_CFG_SPOL0_MASK)
27553#define SPI_CFG_SPOL1_MASK (0x200U)
27554#define SPI_CFG_SPOL1_SHIFT (9U)
27555/*! SPOL1 - SSEL1 Polarity select.
27556 * 0b0..Low. The SSEL1 pin is active low.
27557 * 0b1..High. The SSEL1 pin is active high.
27558 */
27559#define SPI_CFG_SPOL1(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL1_SHIFT)) & SPI_CFG_SPOL1_MASK)
27560#define SPI_CFG_SPOL2_MASK (0x400U)
27561#define SPI_CFG_SPOL2_SHIFT (10U)
27562/*! SPOL2 - SSEL2 Polarity select.
27563 * 0b0..Low. The SSEL2 pin is active low.
27564 * 0b1..High. The SSEL2 pin is active high.
27565 */
27566#define SPI_CFG_SPOL2(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL2_SHIFT)) & SPI_CFG_SPOL2_MASK)
27567#define SPI_CFG_SPOL3_MASK (0x800U)
27568#define SPI_CFG_SPOL3_SHIFT (11U)
27569/*! SPOL3 - SSEL3 Polarity select.
27570 * 0b0..Low. The SSEL3 pin is active low.
27571 * 0b1..High. The SSEL3 pin is active high.
27572 */
27573#define SPI_CFG_SPOL3(x) (((uint32_t)(((uint32_t)(x)) << SPI_CFG_SPOL3_SHIFT)) & SPI_CFG_SPOL3_MASK)
27574/*! @} */
27575
27576/*! @name DLY - SPI Delay register */
27577/*! @{ */
27578#define SPI_DLY_PRE_DELAY_MASK (0xFU)
27579#define SPI_DLY_PRE_DELAY_SHIFT (0U)
27580/*! PRE_DELAY - Controls the amount of time between SSEL assertion and the beginning of a data
27581 * transfer. There is always one SPI clock time between SSEL assertion and the first clock edge. This
27582 * is not considered part of the pre-delay. 0x0 = No additional time is inserted. 0x1 = 1 SPI
27583 * clock time is inserted. 0x2 = 2 SPI clock times are inserted. 0xF = 15 SPI clock times are
27584 * inserted.
27585 */
27586#define SPI_DLY_PRE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_PRE_DELAY_SHIFT)) & SPI_DLY_PRE_DELAY_MASK)
27587#define SPI_DLY_POST_DELAY_MASK (0xF0U)
27588#define SPI_DLY_POST_DELAY_SHIFT (4U)
27589/*! POST_DELAY - Controls the amount of time between the end of a data transfer and SSEL
27590 * deassertion. 0x0 = No additional time is inserted. 0x1 = 1 SPI clock time is inserted. 0x2 = 2 SPI clock
27591 * times are inserted. 0xF = 15 SPI clock times are inserted.
27592 */
27593#define SPI_DLY_POST_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_POST_DELAY_SHIFT)) & SPI_DLY_POST_DELAY_MASK)
27594#define SPI_DLY_FRAME_DELAY_MASK (0xF00U)
27595#define SPI_DLY_FRAME_DELAY_SHIFT (8U)
27596/*! FRAME_DELAY - If the EOF flag is set, controls the minimum amount of time between the current
27597 * frame and the next frame (or SSEL deassertion if EOT). 0x0 = No additional time is inserted. 0x1
27598 * = 1 SPI clock time is inserted. 0x2 = 2 SPI clock times are inserted. 0xF = 15 SPI clock
27599 * times are inserted.
27600 */
27601#define SPI_DLY_FRAME_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_FRAME_DELAY_SHIFT)) & SPI_DLY_FRAME_DELAY_MASK)
27602#define SPI_DLY_TRANSFER_DELAY_MASK (0xF000U)
27603#define SPI_DLY_TRANSFER_DELAY_SHIFT (12U)
27604/*! TRANSFER_DELAY - Controls the minimum amount of time that the SSEL is deasserted between
27605 * transfers. 0x0 = The minimum time that SSEL is deasserted is 1 SPI clock time. (Zero added time.) 0x1
27606 * = The minimum time that SSEL is deasserted is 2 SPI clock times. 0x2 = The minimum time that
27607 * SSEL is deasserted is 3 SPI clock times. 0xF = The minimum time that SSEL is deasserted is 16
27608 * SPI clock times.
27609 */
27610#define SPI_DLY_TRANSFER_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SPI_DLY_TRANSFER_DELAY_SHIFT)) & SPI_DLY_TRANSFER_DELAY_MASK)
27611/*! @} */
27612
27613/*! @name STAT - SPI Status. Some status flags can be cleared by writing a 1 to that bit position. */
27614/*! @{ */
27615#define SPI_STAT_SSA_MASK (0x10U)
27616#define SPI_STAT_SSA_SHIFT (4U)
27617/*! SSA - Slave Select Assert. This flag is set whenever any slave select transitions from
27618 * deasserted to asserted, in both master and slave modes. This allows determining when the SPI
27619 * transmit/receive functions become busy, and allows waking up the device from reduced power modes when a
27620 * slave mode access begins. This flag is cleared by software.
27621 */
27622#define SPI_STAT_SSA(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_SSA_SHIFT)) & SPI_STAT_SSA_MASK)
27623#define SPI_STAT_SSD_MASK (0x20U)
27624#define SPI_STAT_SSD_SHIFT (5U)
27625/*! SSD - Slave Select Deassert. This flag is set whenever any asserted slave selects transition to
27626 * deasserted, in both master and slave modes. This allows determining when the SPI
27627 * transmit/receive functions become idle. This flag is cleared by software.
27628 */
27629#define SPI_STAT_SSD(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_SSD_SHIFT)) & SPI_STAT_SSD_MASK)
27630#define SPI_STAT_STALLED_MASK (0x40U)
27631#define SPI_STAT_STALLED_SHIFT (6U)
27632/*! STALLED - Stalled status flag. This indicates whether the SPI is currently in a stall condition.
27633 */
27634#define SPI_STAT_STALLED(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_STALLED_SHIFT)) & SPI_STAT_STALLED_MASK)
27635#define SPI_STAT_ENDTRANSFER_MASK (0x80U)
27636#define SPI_STAT_ENDTRANSFER_SHIFT (7U)
27637/*! ENDTRANSFER - End Transfer control bit. Software can set this bit to force an end to the current
27638 * transfer when the transmitter finishes any activity already in progress, as if the EOT flag
27639 * had been set prior to the last transmission. This capability is included to support cases where
27640 * it is not known when transmit data is written that it will be the end of a transfer. The bit
27641 * is cleared when the transmitter becomes idle as the transfer comes to an end. Forcing an end
27642 * of transfer in this manner causes any specified FRAME_DELAY and TRANSFER_DELAY to be inserted.
27643 */
27644#define SPI_STAT_ENDTRANSFER(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_ENDTRANSFER_SHIFT)) & SPI_STAT_ENDTRANSFER_MASK)
27645#define SPI_STAT_MSTIDLE_MASK (0x100U)
27646#define SPI_STAT_MSTIDLE_SHIFT (8U)
27647/*! MSTIDLE - Master idle status flag. This bit is 1 whenever the SPI master function is fully idle.
27648 * This means that the transmit holding register is empty and the transmitter is not in the
27649 * process of sending data.
27650 */
27651#define SPI_STAT_MSTIDLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_STAT_MSTIDLE_SHIFT)) & SPI_STAT_MSTIDLE_MASK)
27652/*! @} */
27653
27654/*! @name INTENSET - SPI Interrupt Enable read and Set. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set. */
27655/*! @{ */
27656#define SPI_INTENSET_SSAEN_MASK (0x10U)
27657#define SPI_INTENSET_SSAEN_SHIFT (4U)
27658/*! SSAEN - Slave select assert interrupt enable. Determines whether an interrupt occurs when the Slave Select is asserted.
27659 * 0b0..Disabled. No interrupt will be generated when any Slave Select transitions from deasserted to asserted.
27660 * 0b1..Enabled. An interrupt will be generated when any Slave Select transitions from deasserted to asserted.
27661 */
27662#define SPI_INTENSET_SSAEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENSET_SSAEN_SHIFT)) & SPI_INTENSET_SSAEN_MASK)
27663#define SPI_INTENSET_SSDEN_MASK (0x20U)
27664#define SPI_INTENSET_SSDEN_SHIFT (5U)
27665/*! SSDEN - Slave select deassert interrupt enable. Determines whether an interrupt occurs when the Slave Select is deasserted.
27666 * 0b0..Disabled. No interrupt will be generated when all asserted Slave Selects transition to deasserted.
27667 * 0b1..Enabled. An interrupt will be generated when all asserted Slave Selects transition to deasserted.
27668 */
27669#define SPI_INTENSET_SSDEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENSET_SSDEN_SHIFT)) & SPI_INTENSET_SSDEN_MASK)
27670#define SPI_INTENSET_MSTIDLEEN_MASK (0x100U)
27671#define SPI_INTENSET_MSTIDLEEN_SHIFT (8U)
27672/*! MSTIDLEEN - Master idle interrupt enable.
27673 * 0b0..No interrupt will be generated when the SPI master function is idle.
27674 * 0b1..An interrupt will be generated when the SPI master function is fully idle.
27675 */
27676#define SPI_INTENSET_MSTIDLEEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENSET_MSTIDLEEN_SHIFT)) & SPI_INTENSET_MSTIDLEEN_MASK)
27677/*! @} */
27678
27679/*! @name INTENCLR - SPI Interrupt Enable Clear. Writing a 1 to any implemented bit position causes the corresponding bit in INTENSET to be cleared. */
27680/*! @{ */
27681#define SPI_INTENCLR_SSAEN_MASK (0x10U)
27682#define SPI_INTENCLR_SSAEN_SHIFT (4U)
27683/*! SSAEN - Writing 1 clears the corresponding bit in the INTENSET register.
27684 */
27685#define SPI_INTENCLR_SSAEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENCLR_SSAEN_SHIFT)) & SPI_INTENCLR_SSAEN_MASK)
27686#define SPI_INTENCLR_SSDEN_MASK (0x20U)
27687#define SPI_INTENCLR_SSDEN_SHIFT (5U)
27688/*! SSDEN - Writing 1 clears the corresponding bit in the INTENSET register.
27689 */
27690#define SPI_INTENCLR_SSDEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENCLR_SSDEN_SHIFT)) & SPI_INTENCLR_SSDEN_MASK)
27691#define SPI_INTENCLR_MSTIDLE_MASK (0x100U)
27692#define SPI_INTENCLR_MSTIDLE_SHIFT (8U)
27693/*! MSTIDLE - Writing 1 clears the corresponding bit in the INTENSET register.
27694 */
27695#define SPI_INTENCLR_MSTIDLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTENCLR_MSTIDLE_SHIFT)) & SPI_INTENCLR_MSTIDLE_MASK)
27696/*! @} */
27697
27698/*! @name DIV - SPI clock Divider */
27699/*! @{ */
27700#define SPI_DIV_DIVVAL_MASK (0xFFFFU)
27701#define SPI_DIV_DIVVAL_SHIFT (0U)
27702/*! DIVVAL - Rate divider value. Specifies how the Flexcomm clock (FCLK) is divided to produce the
27703 * SPI clock rate in master mode. DIVVAL is -1 encoded such that the value 0 results in FCLK/1,
27704 * the value 1 results in FCLK/2, up to the maximum possible divide value of 0xFFFF, which results
27705 * in FCLK/65536.
27706 */
27707#define SPI_DIV_DIVVAL(x) (((uint32_t)(((uint32_t)(x)) << SPI_DIV_DIVVAL_SHIFT)) & SPI_DIV_DIVVAL_MASK)
27708/*! @} */
27709
27710/*! @name INTSTAT - SPI Interrupt Status */
27711/*! @{ */
27712#define SPI_INTSTAT_SSA_MASK (0x10U)
27713#define SPI_INTSTAT_SSA_SHIFT (4U)
27714/*! SSA - Slave Select Assert.
27715 */
27716#define SPI_INTSTAT_SSA(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTSTAT_SSA_SHIFT)) & SPI_INTSTAT_SSA_MASK)
27717#define SPI_INTSTAT_SSD_MASK (0x20U)
27718#define SPI_INTSTAT_SSD_SHIFT (5U)
27719/*! SSD - Slave Select Deassert.
27720 */
27721#define SPI_INTSTAT_SSD(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTSTAT_SSD_SHIFT)) & SPI_INTSTAT_SSD_MASK)
27722#define SPI_INTSTAT_MSTIDLE_MASK (0x100U)
27723#define SPI_INTSTAT_MSTIDLE_SHIFT (8U)
27724/*! MSTIDLE - Master Idle status flag.
27725 */
27726#define SPI_INTSTAT_MSTIDLE(x) (((uint32_t)(((uint32_t)(x)) << SPI_INTSTAT_MSTIDLE_SHIFT)) & SPI_INTSTAT_MSTIDLE_MASK)
27727/*! @} */
27728
27729/*! @name FIFOCFG - FIFO configuration and enable register. */
27730/*! @{ */
27731#define SPI_FIFOCFG_ENABLETX_MASK (0x1U)
27732#define SPI_FIFOCFG_ENABLETX_SHIFT (0U)
27733/*! ENABLETX - Enable the transmit FIFO.
27734 * 0b0..The transmit FIFO is not enabled.
27735 * 0b1..The transmit FIFO is enabled.
27736 */
27737#define SPI_FIFOCFG_ENABLETX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_ENABLETX_SHIFT)) & SPI_FIFOCFG_ENABLETX_MASK)
27738#define SPI_FIFOCFG_ENABLERX_MASK (0x2U)
27739#define SPI_FIFOCFG_ENABLERX_SHIFT (1U)
27740/*! ENABLERX - Enable the receive FIFO.
27741 * 0b0..The receive FIFO is not enabled.
27742 * 0b1..The receive FIFO is enabled.
27743 */
27744#define SPI_FIFOCFG_ENABLERX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_ENABLERX_SHIFT)) & SPI_FIFOCFG_ENABLERX_MASK)
27745#define SPI_FIFOCFG_SIZE_MASK (0x30U)
27746#define SPI_FIFOCFG_SIZE_SHIFT (4U)
27747/*! SIZE - FIFO size configuration. This is a read-only field. 0x0 = FIFO is configured as 16
27748 * entries of 8 bits. 0x1, 0x2, 0x3 = not applicable to USART.
27749 */
27750#define SPI_FIFOCFG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_SIZE_SHIFT)) & SPI_FIFOCFG_SIZE_MASK)
27751#define SPI_FIFOCFG_DMATX_MASK (0x1000U)
27752#define SPI_FIFOCFG_DMATX_SHIFT (12U)
27753/*! DMATX - DMA configuration for transmit.
27754 * 0b0..DMA is not used for the transmit function.
27755 * 0b1..Trigger DMA for the transmit function if the FIFO is not full. Generally, data interrupts would be disabled if DMA is enabled.
27756 */
27757#define SPI_FIFOCFG_DMATX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_DMATX_SHIFT)) & SPI_FIFOCFG_DMATX_MASK)
27758#define SPI_FIFOCFG_DMARX_MASK (0x2000U)
27759#define SPI_FIFOCFG_DMARX_SHIFT (13U)
27760/*! DMARX - DMA configuration for receive.
27761 * 0b0..DMA is not used for the receive function.
27762 * 0b1..Trigger DMA for the receive function if the FIFO is not empty. Generally, data interrupts would be disabled if DMA is enabled.
27763 */
27764#define SPI_FIFOCFG_DMARX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_DMARX_SHIFT)) & SPI_FIFOCFG_DMARX_MASK)
27765#define SPI_FIFOCFG_WAKETX_MASK (0x4000U)
27766#define SPI_FIFOCFG_WAKETX_SHIFT (14U)
27767/*! WAKETX - Wake-up for transmit FIFO level. This allows the device to be woken from reduced power
27768 * modes (up to power-down, as long as the peripheral function works in that power mode) without
27769 * enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The
27770 * CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware
27771 * Wake-up control register.
27772 * 0b0..Only enabled interrupts will wake up the device form reduced power modes.
27773 * 0b1..A device wake-up for DMA will occur if the transmit FIFO level reaches the value specified by TXLVL in
27774 * FIFOTRIG, even when the TXLVL interrupt is not enabled.
27775 */
27776#define SPI_FIFOCFG_WAKETX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_WAKETX_SHIFT)) & SPI_FIFOCFG_WAKETX_MASK)
27777#define SPI_FIFOCFG_WAKERX_MASK (0x8000U)
27778#define SPI_FIFOCFG_WAKERX_SHIFT (15U)
27779/*! WAKERX - Wake-up for receive FIFO level. This allows the device to be woken from reduced power
27780 * modes (up to power-down, as long as the peripheral function works in that power mode) without
27781 * enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The
27782 * CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware
27783 * Wake-up control register.
27784 * 0b0..Only enabled interrupts will wake up the device form reduced power modes.
27785 * 0b1..A device wake-up for DMA will occur if the receive FIFO level reaches the value specified by RXLVL in
27786 * FIFOTRIG, even when the RXLVL interrupt is not enabled.
27787 */
27788#define SPI_FIFOCFG_WAKERX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_WAKERX_SHIFT)) & SPI_FIFOCFG_WAKERX_MASK)
27789#define SPI_FIFOCFG_EMPTYTX_MASK (0x10000U)
27790#define SPI_FIFOCFG_EMPTYTX_SHIFT (16U)
27791/*! EMPTYTX - Empty command for the transmit FIFO. When a 1 is written to this bit, the TX FIFO is emptied.
27792 */
27793#define SPI_FIFOCFG_EMPTYTX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_EMPTYTX_SHIFT)) & SPI_FIFOCFG_EMPTYTX_MASK)
27794#define SPI_FIFOCFG_EMPTYRX_MASK (0x20000U)
27795#define SPI_FIFOCFG_EMPTYRX_SHIFT (17U)
27796/*! EMPTYRX - Empty command for the receive FIFO. When a 1 is written to this bit, the RX FIFO is emptied.
27797 */
27798#define SPI_FIFOCFG_EMPTYRX(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOCFG_EMPTYRX_SHIFT)) & SPI_FIFOCFG_EMPTYRX_MASK)
27799/*! @} */
27800
27801/*! @name FIFOSTAT - FIFO status register. */
27802/*! @{ */
27803#define SPI_FIFOSTAT_TXERR_MASK (0x1U)
27804#define SPI_FIFOSTAT_TXERR_SHIFT (0U)
27805/*! TXERR - TX FIFO error. Will be set if a transmit FIFO error occurs. This could be an overflow
27806 * caused by pushing data into a full FIFO, or by an underflow if the FIFO is empty when data is
27807 * needed. Cleared by writing a 1 to this bit.
27808 */
27809#define SPI_FIFOSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXERR_SHIFT)) & SPI_FIFOSTAT_TXERR_MASK)
27810#define SPI_FIFOSTAT_RXERR_MASK (0x2U)
27811#define SPI_FIFOSTAT_RXERR_SHIFT (1U)
27812/*! RXERR - RX FIFO error. Will be set if a receive FIFO overflow occurs, caused by software or DMA
27813 * not emptying the FIFO fast enough. Cleared by writing a 1 to this bit.
27814 */
27815#define SPI_FIFOSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXERR_SHIFT)) & SPI_FIFOSTAT_RXERR_MASK)
27816#define SPI_FIFOSTAT_PERINT_MASK (0x8U)
27817#define SPI_FIFOSTAT_PERINT_SHIFT (3U)
27818/*! PERINT - Peripheral interrupt. When 1, this indicates that the peripheral function has asserted
27819 * an interrupt. The details can be found by reading the peripheral's STAT register.
27820 */
27821#define SPI_FIFOSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_PERINT_SHIFT)) & SPI_FIFOSTAT_PERINT_MASK)
27822#define SPI_FIFOSTAT_TXEMPTY_MASK (0x10U)
27823#define SPI_FIFOSTAT_TXEMPTY_SHIFT (4U)
27824/*! TXEMPTY - Transmit FIFO empty. When 1, the transmit FIFO is empty. The peripheral may still be processing the last piece of data.
27825 */
27826#define SPI_FIFOSTAT_TXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXEMPTY_SHIFT)) & SPI_FIFOSTAT_TXEMPTY_MASK)
27827#define SPI_FIFOSTAT_TXNOTFULL_MASK (0x20U)
27828#define SPI_FIFOSTAT_TXNOTFULL_SHIFT (5U)
27829/*! TXNOTFULL - Transmit FIFO not full. When 1, the transmit FIFO is not full, so more data can be
27830 * written. When 0, the transmit FIFO is full and another write would cause it to overflow.
27831 */
27832#define SPI_FIFOSTAT_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXNOTFULL_SHIFT)) & SPI_FIFOSTAT_TXNOTFULL_MASK)
27833#define SPI_FIFOSTAT_RXNOTEMPTY_MASK (0x40U)
27834#define SPI_FIFOSTAT_RXNOTEMPTY_SHIFT (6U)
27835/*! RXNOTEMPTY - Receive FIFO not empty. When 1, the receive FIFO is not empty, so data can be read. When 0, the receive FIFO is empty.
27836 */
27837#define SPI_FIFOSTAT_RXNOTEMPTY(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXNOTEMPTY_SHIFT)) & SPI_FIFOSTAT_RXNOTEMPTY_MASK)
27838#define SPI_FIFOSTAT_RXFULL_MASK (0x80U)
27839#define SPI_FIFOSTAT_RXFULL_SHIFT (7U)
27840/*! RXFULL - Receive FIFO full. When 1, the receive FIFO is full. Data needs to be read out to
27841 * prevent the peripheral from causing an overflow.
27842 */
27843#define SPI_FIFOSTAT_RXFULL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXFULL_SHIFT)) & SPI_FIFOSTAT_RXFULL_MASK)
27844#define SPI_FIFOSTAT_TXLVL_MASK (0x1F00U)
27845#define SPI_FIFOSTAT_TXLVL_SHIFT (8U)
27846/*! TXLVL - Transmit FIFO current level. A 0 means the TX FIFO is currently empty, and the TXEMPTY
27847 * and TXNOTFULL flags will be 1. Other values tell how much data is actually in the TX FIFO at
27848 * the point where the read occurs. If the TX FIFO is full, the TXEMPTY and TXNOTFULL flags will be
27849 * 0.
27850 */
27851#define SPI_FIFOSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_TXLVL_SHIFT)) & SPI_FIFOSTAT_TXLVL_MASK)
27852#define SPI_FIFOSTAT_RXLVL_MASK (0x1F0000U)
27853#define SPI_FIFOSTAT_RXLVL_SHIFT (16U)
27854/*! RXLVL - Receive FIFO current level. A 0 means the RX FIFO is currently empty, and the RXFULL and
27855 * RXNOTEMPTY flags will be 0. Other values tell how much data is actually in the RX FIFO at the
27856 * point where the read occurs. If the RX FIFO is full, the RXFULL and RXNOTEMPTY flags will be
27857 * 1.
27858 */
27859#define SPI_FIFOSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSTAT_RXLVL_SHIFT)) & SPI_FIFOSTAT_RXLVL_MASK)
27860/*! @} */
27861
27862/*! @name FIFOTRIG - FIFO trigger settings for interrupt and DMA request. */
27863/*! @{ */
27864#define SPI_FIFOTRIG_TXLVLENA_MASK (0x1U)
27865#define SPI_FIFOTRIG_TXLVLENA_SHIFT (0U)
27866/*! TXLVLENA - Transmit FIFO level trigger enable. This trigger will become an interrupt if enabled
27867 * in FIFOINTENSET, or a DMA trigger if DMATX in FIFOCFG is set.
27868 * 0b0..Transmit FIFO level does not generate a FIFO level trigger.
27869 * 0b1..An trigger will be generated if the transmit FIFO level reaches the value specified by the TXLVL field in this register.
27870 */
27871#define SPI_FIFOTRIG_TXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_TXLVLENA_SHIFT)) & SPI_FIFOTRIG_TXLVLENA_MASK)
27872#define SPI_FIFOTRIG_RXLVLENA_MASK (0x2U)
27873#define SPI_FIFOTRIG_RXLVLENA_SHIFT (1U)
27874/*! RXLVLENA - Receive FIFO level trigger enable. This trigger will become an interrupt if enabled
27875 * in FIFOINTENSET, or a DMA trigger if DMARX in FIFOCFG is set.
27876 * 0b0..Receive FIFO level does not generate a FIFO level trigger.
27877 * 0b1..An trigger will be generated if the receive FIFO level reaches the value specified by the RXLVL field in this register.
27878 */
27879#define SPI_FIFOTRIG_RXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_RXLVLENA_SHIFT)) & SPI_FIFOTRIG_RXLVLENA_MASK)
27880#define SPI_FIFOTRIG_TXLVL_MASK (0xF00U)
27881#define SPI_FIFOTRIG_TXLVL_SHIFT (8U)
27882/*! TXLVL - Transmit FIFO level trigger point. This field is used only when TXLVLENA = 1. If enabled
27883 * to do so, the FIFO level can wake up the device just enough to perform DMA, then return to
27884 * the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the TX FIFO
27885 * becomes empty. 1 = trigger when the TX FIFO level decreases to one entry. 15 = trigger when the TX
27886 * FIFO level decreases to 15 entries (is no longer full).
27887 */
27888#define SPI_FIFOTRIG_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_TXLVL_SHIFT)) & SPI_FIFOTRIG_TXLVL_MASK)
27889#define SPI_FIFOTRIG_RXLVL_MASK (0xF0000U)
27890#define SPI_FIFOTRIG_RXLVL_SHIFT (16U)
27891/*! RXLVL - Receive FIFO level trigger point. The RX FIFO level is checked when a new piece of data
27892 * is received. This field is used only when RXLVLENA = 1. If enabled to do so, the FIFO level
27893 * can wake up the device just enough to perform DMA, then return to the reduced power mode. See
27894 * Hardware Wake-up control register. 0 = trigger when the RX FIFO has received one entry (is no
27895 * longer empty). 1 = trigger when the RX FIFO has received two entries. 15 = trigger when the RX
27896 * FIFO has received 16 entries (has become full).
27897 */
27898#define SPI_FIFOTRIG_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOTRIG_RXLVL_SHIFT)) & SPI_FIFOTRIG_RXLVL_MASK)
27899/*! @} */
27900
27901/*! @name FIFOINTENSET - FIFO interrupt enable set (enable) and read register. */
27902/*! @{ */
27903#define SPI_FIFOINTENSET_TXERR_MASK (0x1U)
27904#define SPI_FIFOINTENSET_TXERR_SHIFT (0U)
27905/*! TXERR - Determines whether an interrupt occurs when a transmit error occurs, based on the TXERR flag in the FIFOSTAT register.
27906 * 0b0..No interrupt will be generated for a transmit error.
27907 * 0b1..An interrupt will be generated when a transmit error occurs.
27908 */
27909#define SPI_FIFOINTENSET_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_TXERR_SHIFT)) & SPI_FIFOINTENSET_TXERR_MASK)
27910#define SPI_FIFOINTENSET_RXERR_MASK (0x2U)
27911#define SPI_FIFOINTENSET_RXERR_SHIFT (1U)
27912/*! RXERR - Determines whether an interrupt occurs when a receive error occurs, based on the RXERR flag in the FIFOSTAT register.
27913 * 0b0..No interrupt will be generated for a receive error.
27914 * 0b1..An interrupt will be generated when a receive error occurs.
27915 */
27916#define SPI_FIFOINTENSET_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_RXERR_SHIFT)) & SPI_FIFOINTENSET_RXERR_MASK)
27917#define SPI_FIFOINTENSET_TXLVL_MASK (0x4U)
27918#define SPI_FIFOINTENSET_TXLVL_SHIFT (2U)
27919/*! TXLVL - Determines whether an interrupt occurs when a the transmit FIFO reaches the level
27920 * specified by the TXLVL field in the FIFOTRIG register.
27921 * 0b0..No interrupt will be generated based on the TX FIFO level.
27922 * 0b1..If TXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the TX FIFO level decreases
27923 * to the level specified by TXLVL in the FIFOTRIG register.
27924 */
27925#define SPI_FIFOINTENSET_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_TXLVL_SHIFT)) & SPI_FIFOINTENSET_TXLVL_MASK)
27926#define SPI_FIFOINTENSET_RXLVL_MASK (0x8U)
27927#define SPI_FIFOINTENSET_RXLVL_SHIFT (3U)
27928/*! RXLVL - Determines whether an interrupt occurs when a the receive FIFO reaches the level
27929 * specified by the TXLVL field in the FIFOTRIG register.
27930 * 0b0..No interrupt will be generated based on the RX FIFO level.
27931 * 0b1..If RXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the when the RX FIFO level
27932 * increases to the level specified by RXLVL in the FIFOTRIG register.
27933 */
27934#define SPI_FIFOINTENSET_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENSET_RXLVL_SHIFT)) & SPI_FIFOINTENSET_RXLVL_MASK)
27935/*! @} */
27936
27937/*! @name FIFOINTENCLR - FIFO interrupt enable clear (disable) and read register. */
27938/*! @{ */
27939#define SPI_FIFOINTENCLR_TXERR_MASK (0x1U)
27940#define SPI_FIFOINTENCLR_TXERR_SHIFT (0U)
27941/*! TXERR - Writing one clears the corresponding bits in the FIFOINTENSET register.
27942 */
27943#define SPI_FIFOINTENCLR_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_TXERR_SHIFT)) & SPI_FIFOINTENCLR_TXERR_MASK)
27944#define SPI_FIFOINTENCLR_RXERR_MASK (0x2U)
27945#define SPI_FIFOINTENCLR_RXERR_SHIFT (1U)
27946/*! RXERR - Writing one clears the corresponding bits in the FIFOINTENSET register.
27947 */
27948#define SPI_FIFOINTENCLR_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_RXERR_SHIFT)) & SPI_FIFOINTENCLR_RXERR_MASK)
27949#define SPI_FIFOINTENCLR_TXLVL_MASK (0x4U)
27950#define SPI_FIFOINTENCLR_TXLVL_SHIFT (2U)
27951/*! TXLVL - Writing one clears the corresponding bits in the FIFOINTENSET register.
27952 */
27953#define SPI_FIFOINTENCLR_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_TXLVL_SHIFT)) & SPI_FIFOINTENCLR_TXLVL_MASK)
27954#define SPI_FIFOINTENCLR_RXLVL_MASK (0x8U)
27955#define SPI_FIFOINTENCLR_RXLVL_SHIFT (3U)
27956/*! RXLVL - Writing one clears the corresponding bits in the FIFOINTENSET register.
27957 */
27958#define SPI_FIFOINTENCLR_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTENCLR_RXLVL_SHIFT)) & SPI_FIFOINTENCLR_RXLVL_MASK)
27959/*! @} */
27960
27961/*! @name FIFOINTSTAT - FIFO interrupt status register. */
27962/*! @{ */
27963#define SPI_FIFOINTSTAT_TXERR_MASK (0x1U)
27964#define SPI_FIFOINTSTAT_TXERR_SHIFT (0U)
27965/*! TXERR - TX FIFO error.
27966 */
27967#define SPI_FIFOINTSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_TXERR_SHIFT)) & SPI_FIFOINTSTAT_TXERR_MASK)
27968#define SPI_FIFOINTSTAT_RXERR_MASK (0x2U)
27969#define SPI_FIFOINTSTAT_RXERR_SHIFT (1U)
27970/*! RXERR - RX FIFO error.
27971 */
27972#define SPI_FIFOINTSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_RXERR_SHIFT)) & SPI_FIFOINTSTAT_RXERR_MASK)
27973#define SPI_FIFOINTSTAT_TXLVL_MASK (0x4U)
27974#define SPI_FIFOINTSTAT_TXLVL_SHIFT (2U)
27975/*! TXLVL - Transmit FIFO level interrupt.
27976 */
27977#define SPI_FIFOINTSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_TXLVL_SHIFT)) & SPI_FIFOINTSTAT_TXLVL_MASK)
27978#define SPI_FIFOINTSTAT_RXLVL_MASK (0x8U)
27979#define SPI_FIFOINTSTAT_RXLVL_SHIFT (3U)
27980/*! RXLVL - Receive FIFO level interrupt.
27981 */
27982#define SPI_FIFOINTSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_RXLVL_SHIFT)) & SPI_FIFOINTSTAT_RXLVL_MASK)
27983#define SPI_FIFOINTSTAT_PERINT_MASK (0x10U)
27984#define SPI_FIFOINTSTAT_PERINT_SHIFT (4U)
27985/*! PERINT - Peripheral interrupt.
27986 */
27987#define SPI_FIFOINTSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOINTSTAT_PERINT_SHIFT)) & SPI_FIFOINTSTAT_PERINT_MASK)
27988/*! @} */
27989
27990/*! @name FIFOWR - FIFO write data. */
27991/*! @{ */
27992#define SPI_FIFOWR_TXDATA_MASK (0xFFFFU)
27993#define SPI_FIFOWR_TXDATA_SHIFT (0U)
27994/*! TXDATA - Transmit data to the FIFO.
27995 */
27996#define SPI_FIFOWR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXDATA_SHIFT)) & SPI_FIFOWR_TXDATA_MASK)
27997#define SPI_FIFOWR_TXSSEL0_N_MASK (0x10000U)
27998#define SPI_FIFOWR_TXSSEL0_N_SHIFT (16U)
27999/*! TXSSEL0_N - Transmit slave select. This field asserts SSEL0 in master mode. The output on the pin is active LOW by default.
28000 * 0b0..SSEL0 asserted.
28001 * 0b1..SSEL0 not asserted.
28002 */
28003#define SPI_FIFOWR_TXSSEL0_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL0_N_SHIFT)) & SPI_FIFOWR_TXSSEL0_N_MASK)
28004#define SPI_FIFOWR_TXSSEL1_N_MASK (0x20000U)
28005#define SPI_FIFOWR_TXSSEL1_N_SHIFT (17U)
28006/*! TXSSEL1_N - Transmit slave select. This field asserts SSEL1 in master mode. The output on the pin is active LOW by default.
28007 * 0b0..SSEL1 asserted.
28008 * 0b1..SSEL1 not asserted.
28009 */
28010#define SPI_FIFOWR_TXSSEL1_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL1_N_SHIFT)) & SPI_FIFOWR_TXSSEL1_N_MASK)
28011#define SPI_FIFOWR_TXSSEL2_N_MASK (0x40000U)
28012#define SPI_FIFOWR_TXSSEL2_N_SHIFT (18U)
28013/*! TXSSEL2_N - Transmit slave select. This field asserts SSEL2 in master mode. The output on the pin is active LOW by default.
28014 * 0b0..SSEL2 asserted.
28015 * 0b1..SSEL2 not asserted.
28016 */
28017#define SPI_FIFOWR_TXSSEL2_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL2_N_SHIFT)) & SPI_FIFOWR_TXSSEL2_N_MASK)
28018#define SPI_FIFOWR_TXSSEL3_N_MASK (0x80000U)
28019#define SPI_FIFOWR_TXSSEL3_N_SHIFT (19U)
28020/*! TXSSEL3_N - Transmit slave select. This field asserts SSEL3 in master mode. The output on the pin is active LOW by default.
28021 * 0b0..SSEL3 asserted.
28022 * 0b1..SSEL3 not asserted.
28023 */
28024#define SPI_FIFOWR_TXSSEL3_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXSSEL3_N_SHIFT)) & SPI_FIFOWR_TXSSEL3_N_MASK)
28025#define SPI_FIFOWR_EOT_MASK (0x100000U)
28026#define SPI_FIFOWR_EOT_SHIFT (20U)
28027/*! EOT - End of transfer. The asserted SSEL will be deasserted at the end of a transfer and remain
28028 * so far at least the time specified by the Transfer_delay value in the DLY register.
28029 * 0b0..SSEL not deasserted. This piece of data is not treated as the end of a transfer. SSEL will not be deasserted at the end of this data.
28030 * 0b1..SSEL deasserted. This piece of data is treated as the end of a transfer. SSEL will be deasserted at the end of this piece of data.
28031 */
28032#define SPI_FIFOWR_EOT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_EOT_SHIFT)) & SPI_FIFOWR_EOT_MASK)
28033#define SPI_FIFOWR_EOF_MASK (0x200000U)
28034#define SPI_FIFOWR_EOF_SHIFT (21U)
28035/*! EOF - End of frame. Between frames, a delay may be inserted, as defined by the Frame_delay value
28036 * in the DLY register. The end of a frame may not be particularly meaningful if the Frame_delay
28037 * value = 0. This control can be used as part of the support for frame lengths greater than 16
28038 * bits.
28039 * 0b0..Data not EOF. This piece of data transmitted is not treated as the end of a frame.
28040 * 0b1..Data EOF. This piece of data is treated as the end of a frame, causing the Frame_delay time to be
28041 * inserted before subsequent data is transmitted.
28042 */
28043#define SPI_FIFOWR_EOF(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_EOF_SHIFT)) & SPI_FIFOWR_EOF_MASK)
28044#define SPI_FIFOWR_RXIGNORE_MASK (0x400000U)
28045#define SPI_FIFOWR_RXIGNORE_SHIFT (22U)
28046/*! RXIGNORE - Receive Ignore. This allows data to be transmitted using the SPI without the need to
28047 * read unneeded data from the receiver. Setting this bit simplifies the transmit process and can
28048 * be used with the DMA.
28049 * 0b0..Read received data. Received data must be read in order to allow transmission to progress. SPI transmit
28050 * will halt when the receive data FIFO is full. In slave mode, an overrun error will occur if received data
28051 * is not read before new data is received.
28052 * 0b1..Ignore received data. Received data is ignored, allowing transmission without reading unneeded received
28053 * data. No receiver flags are generated.
28054 */
28055#define SPI_FIFOWR_RXIGNORE(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_RXIGNORE_SHIFT)) & SPI_FIFOWR_RXIGNORE_MASK)
28056#define SPI_FIFOWR_TXIGNORE_MASK (0x800000U)
28057#define SPI_FIFOWR_TXIGNORE_SHIFT (23U)
28058/*! TXIGNORE - Transmit Ignore
28059 * 0b0..Write transmit data. Transmit data must be written for each data exchange between master and slave. In
28060 * slave mode, an underrun error occurs if transmit data is not provided before needed in a data frame.
28061 * 0b1..Ignore transmit data. Data can be received without transmitting data (after FIFOWR has been initialized
28062 * to set TXIGNORE). No transmitter flags are generated. When configured with TXIGNORE = 1, the slave sets the
28063 * data to always 0.
28064 */
28065#define SPI_FIFOWR_TXIGNORE(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_TXIGNORE_SHIFT)) & SPI_FIFOWR_TXIGNORE_MASK)
28066#define SPI_FIFOWR_LEN_MASK (0xF000000U)
28067#define SPI_FIFOWR_LEN_SHIFT (24U)
28068/*! LEN - Data Length. Specifies the data length from 4 to 16 bits. Note that transfer lengths
28069 * greater than 16 bits are supported by implementing multiple sequential transmits. 0x0-2 = Reserved.
28070 * 0x3 = Data transfer is 4 bits in length. 0x4 = Data transfer is 5 bits in length. 0xF = Data
28071 * transfer is 16 bits in length.
28072 */
28073#define SPI_FIFOWR_LEN(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOWR_LEN_SHIFT)) & SPI_FIFOWR_LEN_MASK)
28074/*! @} */
28075
28076/*! @name FIFORD - FIFO read data. */
28077/*! @{ */
28078#define SPI_FIFORD_RXDATA_MASK (0xFFFFU)
28079#define SPI_FIFORD_RXDATA_SHIFT (0U)
28080/*! RXDATA - Received data from the FIFO.
28081 */
28082#define SPI_FIFORD_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXDATA_SHIFT)) & SPI_FIFORD_RXDATA_MASK)
28083#define SPI_FIFORD_RXSSEL0_N_MASK (0x10000U)
28084#define SPI_FIFORD_RXSSEL0_N_SHIFT (16U)
28085/*! RXSSEL0_N - Slave Select for receive. This field allows the state of the SSEL0 pin to be saved
28086 * along with received data. The value will reflect the SSEL0 pin for both master and slave
28087 * operation. A zero indicates that a slave select is active. The actual polarity of each slave select
28088 * pin is configured by the related SPOL bit in CFG.
28089 */
28090#define SPI_FIFORD_RXSSEL0_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL0_N_SHIFT)) & SPI_FIFORD_RXSSEL0_N_MASK)
28091#define SPI_FIFORD_RXSSEL1_N_MASK (0x20000U)
28092#define SPI_FIFORD_RXSSEL1_N_SHIFT (17U)
28093/*! RXSSEL1_N - Slave Select for receive. This field allows the state of the SSEL1 pin to be saved
28094 * along with received data. The value will reflect the SSEL1 pin for both master and slave
28095 * operation. A zero indicates that a slave select is active. The actual polarity of each slave select
28096 * pin is configured by the related SPOL bit in CFG.
28097 */
28098#define SPI_FIFORD_RXSSEL1_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL1_N_SHIFT)) & SPI_FIFORD_RXSSEL1_N_MASK)
28099#define SPI_FIFORD_RXSSEL2_N_MASK (0x40000U)
28100#define SPI_FIFORD_RXSSEL2_N_SHIFT (18U)
28101/*! RXSSEL2_N - Slave Select for receive. This field allows the state of the SSEL2 pin to be saved
28102 * along with received data. The value will reflect the SSEL2 pin for both master and slave
28103 * operation. A zero indicates that a slave select is active. The actual polarity of each slave select
28104 * pin is configured by the related SPOL bit in CFG.
28105 */
28106#define SPI_FIFORD_RXSSEL2_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL2_N_SHIFT)) & SPI_FIFORD_RXSSEL2_N_MASK)
28107#define SPI_FIFORD_RXSSEL3_N_MASK (0x80000U)
28108#define SPI_FIFORD_RXSSEL3_N_SHIFT (19U)
28109/*! RXSSEL3_N - Slave Select for receive. This field allows the state of the SSEL3 pin to be saved
28110 * along with received data. The value will reflect the SSEL3 pin for both master and slave
28111 * operation. A zero indicates that a slave select is active. The actual polarity of each slave select
28112 * pin is configured by the related SPOL bit in CFG.
28113 */
28114#define SPI_FIFORD_RXSSEL3_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_RXSSEL3_N_SHIFT)) & SPI_FIFORD_RXSSEL3_N_MASK)
28115#define SPI_FIFORD_SOT_MASK (0x100000U)
28116#define SPI_FIFORD_SOT_SHIFT (20U)
28117/*! SOT - Start of Transfer flag. This flag will be 1 if this is the first data after the SSELs went
28118 * from deasserted to asserted (i.e., any previous transfer has ended). This information can be
28119 * used to identify the first piece of data in cases where the transfer length is greater than 16
28120 * bits.
28121 */
28122#define SPI_FIFORD_SOT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORD_SOT_SHIFT)) & SPI_FIFORD_SOT_MASK)
28123/*! @} */
28124
28125/*! @name FIFORDNOPOP - FIFO data read with no FIFO pop. */
28126/*! @{ */
28127#define SPI_FIFORDNOPOP_RXDATA_MASK (0xFFFFU)
28128#define SPI_FIFORDNOPOP_RXDATA_SHIFT (0U)
28129/*! RXDATA - Received data from the FIFO.
28130 */
28131#define SPI_FIFORDNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXDATA_SHIFT)) & SPI_FIFORDNOPOP_RXDATA_MASK)
28132#define SPI_FIFORDNOPOP_RXSSEL0_N_MASK (0x10000U)
28133#define SPI_FIFORDNOPOP_RXSSEL0_N_SHIFT (16U)
28134/*! RXSSEL0_N - Slave Select for receive.
28135 */
28136#define SPI_FIFORDNOPOP_RXSSEL0_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL0_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL0_N_MASK)
28137#define SPI_FIFORDNOPOP_RXSSEL1_N_MASK (0x20000U)
28138#define SPI_FIFORDNOPOP_RXSSEL1_N_SHIFT (17U)
28139/*! RXSSEL1_N - Slave Select for receive.
28140 */
28141#define SPI_FIFORDNOPOP_RXSSEL1_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL1_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL1_N_MASK)
28142#define SPI_FIFORDNOPOP_RXSSEL2_N_MASK (0x40000U)
28143#define SPI_FIFORDNOPOP_RXSSEL2_N_SHIFT (18U)
28144/*! RXSSEL2_N - Slave Select for receive.
28145 */
28146#define SPI_FIFORDNOPOP_RXSSEL2_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL2_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL2_N_MASK)
28147#define SPI_FIFORDNOPOP_RXSSEL3_N_MASK (0x80000U)
28148#define SPI_FIFORDNOPOP_RXSSEL3_N_SHIFT (19U)
28149/*! RXSSEL3_N - Slave Select for receive.
28150 */
28151#define SPI_FIFORDNOPOP_RXSSEL3_N(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_RXSSEL3_N_SHIFT)) & SPI_FIFORDNOPOP_RXSSEL3_N_MASK)
28152#define SPI_FIFORDNOPOP_SOT_MASK (0x100000U)
28153#define SPI_FIFORDNOPOP_SOT_SHIFT (20U)
28154/*! SOT - Start of transfer flag.
28155 */
28156#define SPI_FIFORDNOPOP_SOT(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFORDNOPOP_SOT_SHIFT)) & SPI_FIFORDNOPOP_SOT_MASK)
28157/*! @} */
28158
28159/*! @name FIFOSIZE - FIFO size register */
28160/*! @{ */
28161#define SPI_FIFOSIZE_FIFOSIZE_MASK (0x1FU)
28162#define SPI_FIFOSIZE_FIFOSIZE_SHIFT (0U)
28163/*! FIFOSIZE - the fifo size is equal to the template parameter "fifo"/2 .
28164 */
28165#define SPI_FIFOSIZE_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << SPI_FIFOSIZE_FIFOSIZE_SHIFT)) & SPI_FIFOSIZE_FIFOSIZE_MASK)
28166/*! @} */
28167
28168/*! @name ID - Peripheral identification register. */
28169/*! @{ */
28170#define SPI_ID_APERTURE_MASK (0xFFU)
28171#define SPI_ID_APERTURE_SHIFT (0U)
28172/*! APERTURE - Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.
28173 */
28174#define SPI_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_APERTURE_SHIFT)) & SPI_ID_APERTURE_MASK)
28175#define SPI_ID_MINOR_REV_MASK (0xF00U)
28176#define SPI_ID_MINOR_REV_SHIFT (8U)
28177/*! MINOR_REV - Minor revision of module implementation.
28178 */
28179#define SPI_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_MINOR_REV_SHIFT)) & SPI_ID_MINOR_REV_MASK)
28180#define SPI_ID_MAJOR_REV_MASK (0xF000U)
28181#define SPI_ID_MAJOR_REV_SHIFT (12U)
28182/*! MAJOR_REV - Major revision of module implementation.
28183 */
28184#define SPI_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_MAJOR_REV_SHIFT)) & SPI_ID_MAJOR_REV_MASK)
28185#define SPI_ID_ID_MASK (0xFFFF0000U)
28186#define SPI_ID_ID_SHIFT (16U)
28187/*! ID - Module identifier for the selected function.
28188 */
28189#define SPI_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << SPI_ID_ID_SHIFT)) & SPI_ID_ID_MASK)
28190/*! @} */
28191
28192
28193/*!
28194 * @}
28195 */ /* end of group SPI_Register_Masks */
28196
28197
28198/* SPI - Peripheral instance base addresses */
28199#if (__ARM_FEATURE_CMSE & 0x2)
28200 /** Peripheral SPI0 base address */
28201 #define SPI0_BASE (0x50106000u)
28202 /** Peripheral SPI0 base address */
28203 #define SPI0_BASE_NS (0x40106000u)
28204 /** Peripheral SPI0 base pointer */
28205 #define SPI0 ((SPI_Type *)SPI0_BASE)
28206 /** Peripheral SPI0 base pointer */
28207 #define SPI0_NS ((SPI_Type *)SPI0_BASE_NS)
28208 /** Peripheral SPI1 base address */
28209 #define SPI1_BASE (0x50107000u)
28210 /** Peripheral SPI1 base address */
28211 #define SPI1_BASE_NS (0x40107000u)
28212 /** Peripheral SPI1 base pointer */
28213 #define SPI1 ((SPI_Type *)SPI1_BASE)
28214 /** Peripheral SPI1 base pointer */
28215 #define SPI1_NS ((SPI_Type *)SPI1_BASE_NS)
28216 /** Peripheral SPI2 base address */
28217 #define SPI2_BASE (0x50108000u)
28218 /** Peripheral SPI2 base address */
28219 #define SPI2_BASE_NS (0x40108000u)
28220 /** Peripheral SPI2 base pointer */
28221 #define SPI2 ((SPI_Type *)SPI2_BASE)
28222 /** Peripheral SPI2 base pointer */
28223 #define SPI2_NS ((SPI_Type *)SPI2_BASE_NS)
28224 /** Peripheral SPI3 base address */
28225 #define SPI3_BASE (0x50109000u)
28226 /** Peripheral SPI3 base address */
28227 #define SPI3_BASE_NS (0x40109000u)
28228 /** Peripheral SPI3 base pointer */
28229 #define SPI3 ((SPI_Type *)SPI3_BASE)
28230 /** Peripheral SPI3 base pointer */
28231 #define SPI3_NS ((SPI_Type *)SPI3_BASE_NS)
28232 /** Peripheral SPI4 base address */
28233 #define SPI4_BASE (0x50122000u)
28234 /** Peripheral SPI4 base address */
28235 #define SPI4_BASE_NS (0x40122000u)
28236 /** Peripheral SPI4 base pointer */
28237 #define SPI4 ((SPI_Type *)SPI4_BASE)
28238 /** Peripheral SPI4 base pointer */
28239 #define SPI4_NS ((SPI_Type *)SPI4_BASE_NS)
28240 /** Peripheral SPI5 base address */
28241 #define SPI5_BASE (0x50123000u)
28242 /** Peripheral SPI5 base address */
28243 #define SPI5_BASE_NS (0x40123000u)
28244 /** Peripheral SPI5 base pointer */
28245 #define SPI5 ((SPI_Type *)SPI5_BASE)
28246 /** Peripheral SPI5 base pointer */
28247 #define SPI5_NS ((SPI_Type *)SPI5_BASE_NS)
28248 /** Peripheral SPI6 base address */
28249 #define SPI6_BASE (0x50124000u)
28250 /** Peripheral SPI6 base address */
28251 #define SPI6_BASE_NS (0x40124000u)
28252 /** Peripheral SPI6 base pointer */
28253 #define SPI6 ((SPI_Type *)SPI6_BASE)
28254 /** Peripheral SPI6 base pointer */
28255 #define SPI6_NS ((SPI_Type *)SPI6_BASE_NS)
28256 /** Peripheral SPI7 base address */
28257 #define SPI7_BASE (0x50125000u)
28258 /** Peripheral SPI7 base address */
28259 #define SPI7_BASE_NS (0x40125000u)
28260 /** Peripheral SPI7 base pointer */
28261 #define SPI7 ((SPI_Type *)SPI7_BASE)
28262 /** Peripheral SPI7 base pointer */
28263 #define SPI7_NS ((SPI_Type *)SPI7_BASE_NS)
28264 /** Peripheral SPI14 base address */
28265 #define SPI14_BASE (0x50126000u)
28266 /** Peripheral SPI14 base address */
28267 #define SPI14_BASE_NS (0x40126000u)
28268 /** Peripheral SPI14 base pointer */
28269 #define SPI14 ((SPI_Type *)SPI14_BASE)
28270 /** Peripheral SPI14 base pointer */
28271 #define SPI14_NS ((SPI_Type *)SPI14_BASE_NS)
28272 /** Array initializer of SPI peripheral base addresses */
28273 #define SPI_BASE_ADDRS { SPI0_BASE, SPI1_BASE, SPI2_BASE, SPI3_BASE, SPI4_BASE, SPI5_BASE, SPI6_BASE, SPI7_BASE, SPI14_BASE }
28274 /** Array initializer of SPI peripheral base pointers */
28275 #define SPI_BASE_PTRS { SPI0, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SPI7, SPI14 }
28276 /** Array initializer of SPI peripheral base addresses */
28277 #define SPI_BASE_ADDRS_NS { SPI0_BASE_NS, SPI1_BASE_NS, SPI2_BASE_NS, SPI3_BASE_NS, SPI4_BASE_NS, SPI5_BASE_NS, SPI6_BASE_NS, SPI7_BASE_NS, SPI14_BASE_NS }
28278 /** Array initializer of SPI peripheral base pointers */
28279 #define SPI_BASE_PTRS_NS { SPI0_NS, SPI1_NS, SPI2_NS, SPI3_NS, SPI4_NS, SPI5_NS, SPI6_NS, SPI7_NS, SPI14_NS }
28280#else
28281 /** Peripheral SPI0 base address */
28282 #define SPI0_BASE (0x40106000u)
28283 /** Peripheral SPI0 base pointer */
28284 #define SPI0 ((SPI_Type *)SPI0_BASE)
28285 /** Peripheral SPI1 base address */
28286 #define SPI1_BASE (0x40107000u)
28287 /** Peripheral SPI1 base pointer */
28288 #define SPI1 ((SPI_Type *)SPI1_BASE)
28289 /** Peripheral SPI2 base address */
28290 #define SPI2_BASE (0x40108000u)
28291 /** Peripheral SPI2 base pointer */
28292 #define SPI2 ((SPI_Type *)SPI2_BASE)
28293 /** Peripheral SPI3 base address */
28294 #define SPI3_BASE (0x40109000u)
28295 /** Peripheral SPI3 base pointer */
28296 #define SPI3 ((SPI_Type *)SPI3_BASE)
28297 /** Peripheral SPI4 base address */
28298 #define SPI4_BASE (0x40122000u)
28299 /** Peripheral SPI4 base pointer */
28300 #define SPI4 ((SPI_Type *)SPI4_BASE)
28301 /** Peripheral SPI5 base address */
28302 #define SPI5_BASE (0x40123000u)
28303 /** Peripheral SPI5 base pointer */
28304 #define SPI5 ((SPI_Type *)SPI5_BASE)
28305 /** Peripheral SPI6 base address */
28306 #define SPI6_BASE (0x40124000u)
28307 /** Peripheral SPI6 base pointer */
28308 #define SPI6 ((SPI_Type *)SPI6_BASE)
28309 /** Peripheral SPI7 base address */
28310 #define SPI7_BASE (0x40125000u)
28311 /** Peripheral SPI7 base pointer */
28312 #define SPI7 ((SPI_Type *)SPI7_BASE)
28313 /** Peripheral SPI14 base address */
28314 #define SPI14_BASE (0x40126000u)
28315 /** Peripheral SPI14 base pointer */
28316 #define SPI14 ((SPI_Type *)SPI14_BASE)
28317 /** Array initializer of SPI peripheral base addresses */
28318 #define SPI_BASE_ADDRS { SPI0_BASE, SPI1_BASE, SPI2_BASE, SPI3_BASE, SPI4_BASE, SPI5_BASE, SPI6_BASE, SPI7_BASE, SPI14_BASE }
28319 /** Array initializer of SPI peripheral base pointers */
28320 #define SPI_BASE_PTRS { SPI0, SPI1, SPI2, SPI3, SPI4, SPI5, SPI6, SPI7, SPI14 }
28321#endif
28322/** Interrupt vectors for the SPI peripheral type */
28323#define SPI_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn, FLEXCOMM14_IRQn }
28324
28325/*!
28326 * @}
28327 */ /* end of group SPI_Peripheral_Access_Layer */
28328
28329
28330/* ----------------------------------------------------------------------------
28331 -- SYSCTL0 Peripheral Access Layer
28332 ---------------------------------------------------------------------------- */
28333
28334/*!
28335 * @addtogroup SYSCTL0_Peripheral_Access_Layer SYSCTL0 Peripheral Access Layer
28336 * @{
28337 */
28338
28339/** SYSCTL0 - Register Layout Typedef */
28340typedef struct {
28341 uint8_t RESERVED_0[12];
28342 __IO uint32_t DSPSTALL; /**< DSP stall register, offset: 0xC */
28343 __IO uint32_t AHBMATRIXPRIOR; /**< AHB matrix priority, offset: 0x10 */
28344 __IO uint32_t PACKERENABLE; /**< Packer enable for DSP RAM packer, offset: 0x14 */
28345 uint8_t RESERVED_1[24];
28346 __IO uint32_t M33NMISRCSEL; /**< M33 nmi source selection, offset: 0x30 */
28347 __IO uint32_t SYSTEM_STICK_CALIB; /**< system stick calibration, offset: 0x34 */
28348 __IO uint32_t SYSTEM_NSTICK_CALIB; /**< system nstick calibration, offset: 0x38 */
28349 uint8_t RESERVED_2[36];
28350 __I uint32_t PRODUCT_ID; /**< product ID, offset: 0x60 */
28351 __I uint32_t SILICONREV_ID; /**< SILICONREV ID, offset: 0x64 */
28352 __I uint32_t JTAG_ID; /**< jtag ID, offset: 0x68 */
28353 uint8_t RESERVED_3[20];
28354 __IO uint32_t AUTOCLKGATEOVERRIDE0; /**< auto clock gating override 0, offset: 0x80 */
28355 __IO uint32_t AUTOCLKGATEOVERRIDE1; /**< auto clock gating override 1, offset: 0x84 */
28356 uint8_t RESERVED_4[24];
28357 __IO uint32_t CLKGATEOVERRIDE0; /**< Clock gate override 0, offset: 0xA0 */
28358 uint8_t RESERVED_5[92];
28359 __IO uint32_t AHB_SRAM_ACCESS_DISABLE; /**< AHB SRAM access disable, offset: 0x100 */
28360 __IO uint32_t DSP_SRAM_ACCESS_DISABLE; /**< DSP SRAM access disable, offset: 0x104 */
28361 uint8_t RESERVED_6[48];
28362 __IO uint32_t AHB_FLEXSPI_ACCESS_DISABLE; /**< AHB Flexspi access control, offset: 0x138 */
28363 __IO uint32_t DSP_FLEXSPI_ACCESS_DISABLE; /**< DSP Flexspi access control, offset: 0x13C */
28364 uint8_t RESERVED_7[576];
28365 __IO uint32_t FLEXSPI_BOOTROM_SCRATCH0; /**< FLEXSPI NOR flash configure context register, offset: 0x380 */
28366 uint8_t RESERVED_8[136];
28367 __IO uint32_t USBCLKCTRL; /**< USB clock control, offset: 0x40C */
28368 __I uint32_t USBCLKSTAT; /**< USB clock status, offset: 0x410 */
28369 __IO uint32_t USBPHYPLL0LOCKTIMEDIV2; /**< USB PHY PLL0 lock time division 2, offset: 0x414 */
28370 uint8_t RESERVED_9[488];
28371 __IO uint32_t PDSLEEPCFG0; /**< Sleep configuration 0, offset: 0x600 */
28372 __IO uint32_t PDSLEEPCFG1; /**< Sleep configuration 1, offset: 0x604 */
28373 __IO uint32_t PDSLEEPCFG2; /**< Sleep configuration 2, offset: 0x608 */
28374 __IO uint32_t PDSLEEPCFG3; /**< Sleep configuration 3, offset: 0x60C */
28375 __IO uint32_t PDRUNCFG0; /**< Run configuration 0, offset: 0x610 */
28376 __IO uint32_t PDRUNCFG1; /**< Run configuration 1, offset: 0x614 */
28377 __IO uint32_t PDRUNCFG2; /**< Run configuration 2, offset: 0x618 */
28378 __IO uint32_t PDRUNCFG3; /**< Run configuration 3, offset: 0x61C */
28379 __O uint32_t PDRUNCFG0_SET; /**< Run configuration 0 set, offset: 0x620 */
28380 __O uint32_t PDRUNCFG1_SET; /**< Run configuration 1 set, offset: 0x624 */
28381 __O uint32_t PDRUNCFG2_SET; /**< Run configuration 2 set, offset: 0x628 */
28382 __O uint32_t PDRUNCFG3_SET; /**< Run configuration 3 set, offset: 0x62C */
28383 __O uint32_t PDRUNCFG0_CLR; /**< Run configuration 0 clear, offset: 0x630 */
28384 __O uint32_t PDRUNCFG1_CLR; /**< Run configuration 1 clear, offset: 0x634 */
28385 __O uint32_t PDRUNCFG2_CLR; /**< Run configuration 2 clear, offset: 0x638 */
28386 __O uint32_t PDRUNCFG3_CLR; /**< Run configuration 3 clear, offset: 0x63C */
28387 uint8_t RESERVED_10[32];
28388 __IO uint32_t PDWAKECFG; /**< PD Wake Configuration, offset: 0x660 */
28389 uint8_t RESERVED_11[28];
28390 __IO uint32_t STARTEN0; /**< Start enable 0, offset: 0x680 */
28391 __IO uint32_t STARTEN1; /**< Start enable 1, offset: 0x684 */
28392 uint8_t RESERVED_12[24];
28393 __O uint32_t STARTEN0_SET; /**< Start enable 0 set, offset: 0x6A0 */
28394 __O uint32_t STARTEN1_SET; /**< Start enable 1 set, offset: 0x6A4 */
28395 uint8_t RESERVED_13[24];
28396 __O uint32_t STARTEN0_CLR; /**< Start enable 0 clear, offset: 0x6C0 */
28397 __O uint32_t STARTEN1_CLR; /**< Start enable 1 clear, offset: 0x6C4 */
28398 uint8_t RESERVED_14[72];
28399 __IO uint32_t MAINCLKSAFETY; /**< Main Clock Safety, offset: 0x710 */
28400 uint8_t RESERVED_15[108];
28401 __IO uint32_t HWWAKE; /**< Hardware Wake-up control, offset: 0x780 */
28402 uint8_t RESERVED_16[1672];
28403 __IO uint32_t TEMPSENSORCTL; /**< tempsensor ctrl, offset: 0xE0C */
28404 uint8_t RESERVED_17[64];
28405 __IO uint32_t BOOTSTATESEED[8]; /**< boot state seed register, array offset: 0xE50, array step: 0x4 */
28406 __IO uint32_t BOOTSTATEHMAC[8]; /**< boot state hmac register, array offset: 0xE70, array step: 0x4 */
28407 uint8_t RESERVED_18[104];
28408 __IO uint32_t FLEXSPIPADCTRL; /**< FLEXSPI IO pads ctrl register, offset: 0xEF8 */
28409 __IO uint32_t SDIOPADCTL; /**< sdio pad ctrl, offset: 0xEFC */
28410 __IO uint32_t DICEHWREG[8]; /**< DICE General Purpose 32-Bit Data Register, array offset: 0xF00, array step: 0x4 */
28411 uint8_t RESERVED_19[48];
28412 __I uint32_t UUID[4]; /**< UUIDn 32-Bit Data Register, array offset: 0xF50, array step: 0x4 */
28413 uint8_t RESERVED_20[32];
28414 __IO uint32_t AESKEY_SRCSEL; /**< AES key source selection, offset: 0xF80 */
28415 uint8_t RESERVED_21[4];
28416 __IO uint32_t HASHHWKEYDISABLE; /**< Hash hardware key disable, offset: 0xF88 */
28417 uint8_t RESERVED_22[20];
28418 __IO uint32_t DBG_LOCKEN; /**< Debug Write Lock registers, offset: 0xFA0 */
28419 __IO uint32_t DBG_FEATURES; /**< Debug features control for the CM33, offset: 0xFA4 */
28420 __IO uint32_t DBG_FEATURES_DP; /**< Debug features duplicate, offset: 0xFA8 */
28421 __IO uint32_t HWUNLOCK_DISABLE; /**< HW unlock disable, offset: 0xFAC */
28422 uint8_t RESERVED_23[4];
28423 __IO uint32_t CS_PROTCPU0; /**< Code Security for CPU0, offset: 0xFB4 */
28424 __IO uint32_t CS_PROTCPU1; /**< Code Security for CPU1, offset: 0xFB8 */
28425 uint8_t RESERVED_24[4];
28426 __IO uint32_t DBG_AUTH_SCRATCH; /**< Debug authorization scratch, offset: 0xFC0 */
28427 uint8_t RESERVED_25[12];
28428 __IO uint32_t KEY_BLOCK; /**< Key block, offset: 0xFD0 */
28429} SYSCTL0_Type;
28430
28431/* ----------------------------------------------------------------------------
28432 -- SYSCTL0 Register Masks
28433 ---------------------------------------------------------------------------- */
28434
28435/*!
28436 * @addtogroup SYSCTL0_Register_Masks SYSCTL0 Register Masks
28437 * @{
28438 */
28439
28440/*! @name DSPSTALL - DSP stall register */
28441/*! @{ */
28442#define SYSCTL0_DSPSTALL_DSPSTALL_MASK (0x1U)
28443#define SYSCTL0_DSPSTALL_DSPSTALL_SHIFT (0U)
28444/*! DSPSTALL - Run / Stall Register. . .
28445 * 0b0..Run (Normal) Mode.
28446 * 0b1..Stall Mode.
28447 */
28448#define SYSCTL0_DSPSTALL_DSPSTALL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSPSTALL_DSPSTALL_SHIFT)) & SYSCTL0_DSPSTALL_DSPSTALL_MASK)
28449/*! @} */
28450
28451/*! @name AHBMATRIXPRIOR - AHB matrix priority */
28452/*! @{ */
28453#define SYSCTL0_AHBMATRIXPRIOR_M0_MASK (0x3U)
28454#define SYSCTL0_AHBMATRIXPRIOR_M0_SHIFT (0U)
28455/*! M0 - Master 0 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3. (0 High)
28456 */
28457#define SYSCTL0_AHBMATRIXPRIOR_M0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M0_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M0_MASK)
28458#define SYSCTL0_AHBMATRIXPRIOR_M1_MASK (0xCU)
28459#define SYSCTL0_AHBMATRIXPRIOR_M1_SHIFT (2U)
28460/*! M1 - Master 1 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28461 */
28462#define SYSCTL0_AHBMATRIXPRIOR_M1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M1_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M1_MASK)
28463#define SYSCTL0_AHBMATRIXPRIOR_M2_MASK (0x30U)
28464#define SYSCTL0_AHBMATRIXPRIOR_M2_SHIFT (4U)
28465/*! M2 - Master 2 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28466 */
28467#define SYSCTL0_AHBMATRIXPRIOR_M2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M2_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M2_MASK)
28468#define SYSCTL0_AHBMATRIXPRIOR_M3_MASK (0xC0U)
28469#define SYSCTL0_AHBMATRIXPRIOR_M3_SHIFT (6U)
28470/*! M3 - Master 3 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28471 */
28472#define SYSCTL0_AHBMATRIXPRIOR_M3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M3_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M3_MASK)
28473#define SYSCTL0_AHBMATRIXPRIOR_M4_MASK (0x300U)
28474#define SYSCTL0_AHBMATRIXPRIOR_M4_SHIFT (8U)
28475/*! M4 - Master 4 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28476 */
28477#define SYSCTL0_AHBMATRIXPRIOR_M4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M4_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M4_MASK)
28478#define SYSCTL0_AHBMATRIXPRIOR_M5_MASK (0xC00U)
28479#define SYSCTL0_AHBMATRIXPRIOR_M5_SHIFT (10U)
28480/*! M5 - Master 5 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28481 */
28482#define SYSCTL0_AHBMATRIXPRIOR_M5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M5_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M5_MASK)
28483#define SYSCTL0_AHBMATRIXPRIOR_M6_MASK (0x3000U)
28484#define SYSCTL0_AHBMATRIXPRIOR_M6_SHIFT (12U)
28485/*! M6 - Master 6 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28486 */
28487#define SYSCTL0_AHBMATRIXPRIOR_M6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M6_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M6_MASK)
28488#define SYSCTL0_AHBMATRIXPRIOR_M7_MASK (0xC000U)
28489#define SYSCTL0_AHBMATRIXPRIOR_M7_SHIFT (14U)
28490/*! M7 - Master 7 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28491 */
28492#define SYSCTL0_AHBMATRIXPRIOR_M7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M7_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M7_MASK)
28493#define SYSCTL0_AHBMATRIXPRIOR_M8_MASK (0x30000U)
28494#define SYSCTL0_AHBMATRIXPRIOR_M8_SHIFT (16U)
28495/*! M8 - Master 8 Priority. . . 0: 0, 1: 1, 2: 2, 3: 3.
28496 */
28497#define SYSCTL0_AHBMATRIXPRIOR_M8(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHBMATRIXPRIOR_M8_SHIFT)) & SYSCTL0_AHBMATRIXPRIOR_M8_MASK)
28498/*! @} */
28499
28500/*! @name PACKERENABLE - Packer enable for DSP RAM packer */
28501/*! @{ */
28502#define SYSCTL0_PACKERENABLE_WRPENABLE_MASK (0x1U)
28503#define SYSCTL0_PACKERENABLE_WRPENABLE_SHIFT (0U)
28504/*! WRPENABLE - Write Packer Enable.
28505 * 0b0..disabled
28506 * 0b1..enabled
28507 */
28508#define SYSCTL0_PACKERENABLE_WRPENABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PACKERENABLE_WRPENABLE_SHIFT)) & SYSCTL0_PACKERENABLE_WRPENABLE_MASK)
28509#define SYSCTL0_PACKERENABLE_RDPENABLE_MASK (0x2U)
28510#define SYSCTL0_PACKERENABLE_RDPENABLE_SHIFT (1U)
28511/*! RDPENABLE - Read Packer Enable
28512 * 0b0..disabled
28513 * 0b1..enabled
28514 */
28515#define SYSCTL0_PACKERENABLE_RDPENABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PACKERENABLE_RDPENABLE_SHIFT)) & SYSCTL0_PACKERENABLE_RDPENABLE_MASK)
28516/*! @} */
28517
28518/*! @name M33NMISRCSEL - M33 nmi source selection */
28519/*! @{ */
28520#define SYSCTL0_M33NMISRCSEL_NMISRCSEL_MASK (0x7FU)
28521#define SYSCTL0_M33NMISRCSEL_NMISRCSEL_SHIFT (0U)
28522/*! NMISRCSEL - Selects one of the M33 interrupt sources as the NMI source. See M33 Interrupt Slot Table for Interrupt Slot Numers.
28523 */
28524#define SYSCTL0_M33NMISRCSEL_NMISRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_M33NMISRCSEL_NMISRCSEL_SHIFT)) & SYSCTL0_M33NMISRCSEL_NMISRCSEL_MASK)
28525#define SYSCTL0_M33NMISRCSEL_NMIEN_MASK (0x80000000U)
28526#define SYSCTL0_M33NMISRCSEL_NMIEN_SHIFT (31U)
28527/*! NMIEN - NMI interrupt enable
28528 * 0b0..Disable NMI Interrupt
28529 * 0b1..Enable NMI Interrupt.
28530 */
28531#define SYSCTL0_M33NMISRCSEL_NMIEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_M33NMISRCSEL_NMIEN_SHIFT)) & SYSCTL0_M33NMISRCSEL_NMIEN_MASK)
28532/*! @} */
28533
28534/*! @name SYSTEM_STICK_CALIB - system stick calibration */
28535/*! @{ */
28536#define SYSCTL0_SYSTEM_STICK_CALIB_SYSTEM_STICK_CALIB_MASK (0x3FFFFFFU)
28537#define SYSCTL0_SYSTEM_STICK_CALIB_SYSTEM_STICK_CALIB_SHIFT (0U)
28538/*! SYSTEM_STICK_CALIB - Selects the system secure tick calibration value of the M33.
28539 */
28540#define SYSCTL0_SYSTEM_STICK_CALIB_SYSTEM_STICK_CALIB(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SYSTEM_STICK_CALIB_SYSTEM_STICK_CALIB_SHIFT)) & SYSCTL0_SYSTEM_STICK_CALIB_SYSTEM_STICK_CALIB_MASK)
28541/*! @} */
28542
28543/*! @name SYSTEM_NSTICK_CALIB - system nstick calibration */
28544/*! @{ */
28545#define SYSCTL0_SYSTEM_NSTICK_CALIB_SYSTEM_NSTICK_CALIB_MASK (0x3FFFFFFU)
28546#define SYSCTL0_SYSTEM_NSTICK_CALIB_SYSTEM_NSTICK_CALIB_SHIFT (0U)
28547/*! SYSTEM_NSTICK_CALIB - Selects the system non-secure tick calibration value of the M33.
28548 */
28549#define SYSCTL0_SYSTEM_NSTICK_CALIB_SYSTEM_NSTICK_CALIB(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SYSTEM_NSTICK_CALIB_SYSTEM_NSTICK_CALIB_SHIFT)) & SYSCTL0_SYSTEM_NSTICK_CALIB_SYSTEM_NSTICK_CALIB_MASK)
28550/*! @} */
28551
28552/*! @name PRODUCT_ID - product ID */
28553/*! @{ */
28554#define SYSCTL0_PRODUCT_ID_PRODUCT_ID_MASK (0xFFFFU)
28555#define SYSCTL0_PRODUCT_ID_PRODUCT_ID_SHIFT (0U)
28556/*! PRODUCT_ID - This register contains the product ID which is unique for each part number.
28557 */
28558#define SYSCTL0_PRODUCT_ID_PRODUCT_ID(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PRODUCT_ID_PRODUCT_ID_SHIFT)) & SYSCTL0_PRODUCT_ID_PRODUCT_ID_MASK)
28559/*! @} */
28560
28561/*! @name SILICONREV_ID - SILICONREV ID */
28562/*! @{ */
28563#define SYSCTL0_SILICONREV_ID_MINOR_MASK (0xFU)
28564#define SYSCTL0_SILICONREV_ID_MINOR_SHIFT (0U)
28565/*! MINOR - Silicon revision minor tag. (IE, 0, 2, 3, etc)
28566 */
28567#define SYSCTL0_SILICONREV_ID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SILICONREV_ID_MINOR_SHIFT)) & SYSCTL0_SILICONREV_ID_MINOR_MASK)
28568#define SYSCTL0_SILICONREV_ID_MAJOR_MASK (0xF0000U)
28569#define SYSCTL0_SILICONREV_ID_MAJOR_SHIFT (16U)
28570/*! MAJOR - Silicon revision major tag. (IE, A, B, C, etc)
28571 */
28572#define SYSCTL0_SILICONREV_ID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SILICONREV_ID_MAJOR_SHIFT)) & SYSCTL0_SILICONREV_ID_MAJOR_MASK)
28573/*! @} */
28574
28575/*! @name JTAG_ID - jtag ID */
28576/*! @{ */
28577#define SYSCTL0_JTAG_ID_FIXBIT_MASK (0x1U)
28578#define SYSCTL0_JTAG_ID_FIXBIT_SHIFT (0U)
28579/*! FIXBIT - JTAG IDCODE fix bit
28580 */
28581#define SYSCTL0_JTAG_ID_FIXBIT(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_JTAG_ID_FIXBIT_SHIFT)) & SYSCTL0_JTAG_ID_FIXBIT_MASK)
28582#define SYSCTL0_JTAG_ID_MANU_MASK (0xFFEU)
28583#define SYSCTL0_JTAG_ID_MANU_SHIFT (1U)
28584/*! MANU - JTAG IDCODE manufacturer identity
28585 */
28586#define SYSCTL0_JTAG_ID_MANU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_JTAG_ID_MANU_SHIFT)) & SYSCTL0_JTAG_ID_MANU_MASK)
28587#define SYSCTL0_JTAG_ID_PARTNUM_MASK (0xFFFF000U)
28588#define SYSCTL0_JTAG_ID_PARTNUM_SHIFT (12U)
28589/*! PARTNUM - JTAG IDCODE part number
28590 */
28591#define SYSCTL0_JTAG_ID_PARTNUM(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_JTAG_ID_PARTNUM_SHIFT)) & SYSCTL0_JTAG_ID_PARTNUM_MASK)
28592#define SYSCTL0_JTAG_ID_VERNUM_MASK (0xF0000000U)
28593#define SYSCTL0_JTAG_ID_VERNUM_SHIFT (28U)
28594/*! VERNUM - JTAG IDCODE version number
28595 */
28596#define SYSCTL0_JTAG_ID_VERNUM(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_JTAG_ID_VERNUM_SHIFT)) & SYSCTL0_JTAG_ID_VERNUM_MASK)
28597/*! @} */
28598
28599/*! @name AUTOCLKGATEOVERRIDE0 - auto clock gating override 0 */
28600/*! @{ */
28601#define SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB0_MASK (0x1U)
28602#define SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB0_SHIFT (0U)
28603/*! AHB2APB0 - auto clock gating enable
28604 * 0b0..Enable Auto-Clk
28605 * 0b1..Disable Auto-Clk
28606 */
28607#define SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB0_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB0_MASK)
28608#define SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB1_MASK (0x2U)
28609#define SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB1_SHIFT (1U)
28610/*! AHB2APB1 - auto clock gating enable
28611 * 0b0..Enable Auto-Clk
28612 * 0b1..Disable Auto-Clk
28613 */
28614#define SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB1_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE0_AHB2APB1_MASK)
28615#define SYSCTL0_AUTOCLKGATEOVERRIDE0_CRC_ENGINE_MASK (0x4U)
28616#define SYSCTL0_AUTOCLKGATEOVERRIDE0_CRC_ENGINE_SHIFT (2U)
28617/*! CRC_Engine - auto clock gating enable
28618 * 0b0..Enable Auto-Clk
28619 * 0b1..Disable Auto-Clk
28620 */
28621#define SYSCTL0_AUTOCLKGATEOVERRIDE0_CRC_ENGINE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE0_CRC_ENGINE_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE0_CRC_ENGINE_MASK)
28622#define SYSCTL0_AUTOCLKGATEOVERRIDE0_CASPER_MASK (0x8U)
28623#define SYSCTL0_AUTOCLKGATEOVERRIDE0_CASPER_SHIFT (3U)
28624/*! Casper - auto clock gating enable
28625 * 0b0..Enable Auto-Clk
28626 * 0b1..Disable Auto-Clk
28627 */
28628#define SYSCTL0_AUTOCLKGATEOVERRIDE0_CASPER(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE0_CASPER_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE0_CASPER_MASK)
28629#define SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC0_MASK (0x10U)
28630#define SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC0_SHIFT (4U)
28631/*! DMAC0 - auto clock gating enable
28632 * 0b0..Enable Auto-Clk
28633 * 0b1..Disable Auto-Clk
28634 */
28635#define SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC0_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC0_MASK)
28636#define SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC1_MASK (0x20U)
28637#define SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC1_SHIFT (5U)
28638/*! DMAC1 - auto clock gating enable
28639 * 0b0..Enable Auto-Clk
28640 * 0b1..Disable Auto-Clk
28641 */
28642#define SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC1_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE0_DMAC1_MASK)
28643/*! @} */
28644
28645/*! @name AUTOCLKGATEOVERRIDE1 - auto clock gating override 1 */
28646/*! @{ */
28647#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF0_MASK (0x1U)
28648#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF0_SHIFT (0U)
28649/*! SRAM_IF0 - auto clock gating enable
28650 * 0b0..Enable Auto-Clk
28651 * 0b1..Disable Auto-Clk
28652 */
28653#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF0_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF0_MASK)
28654#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF1_MASK (0x2U)
28655#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF1_SHIFT (1U)
28656/*! SRAM_IF1 - auto clock gating enable
28657 * 0b0..Enable Auto-Clk
28658 * 0b1..Disable Auto-Clk
28659 */
28660#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF1_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF1_MASK)
28661#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF2_MASK (0x4U)
28662#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF2_SHIFT (2U)
28663/*! SRAM_IF2 - auto clock gating enable
28664 * 0b0..Enable Auto-Clk
28665 * 0b1..Disable Auto-Clk
28666 */
28667#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF2_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF2_MASK)
28668#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF3_MASK (0x8U)
28669#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF3_SHIFT (3U)
28670/*! SRAM_IF3 - auto clock gating enable
28671 * 0b0..Enable Auto-Clk
28672 * 0b1..Disable Auto-Clk
28673 */
28674#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF3_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF3_MASK)
28675#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF4_MASK (0x10U)
28676#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF4_SHIFT (4U)
28677/*! SRAM_IF4 - auto clock gating enable
28678 * 0b0..Enable Auto-Clk
28679 * 0b1..Disable Auto-Clk
28680 */
28681#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF4_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF4_MASK)
28682#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF5_MASK (0x20U)
28683#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF5_SHIFT (5U)
28684/*! SRAM_IF5 - auto clock gating enable
28685 * 0b0..Enable Auto-Clk
28686 * 0b1..Disable Auto-Clk
28687 */
28688#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF5_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF5_MASK)
28689#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF6_MASK (0x40U)
28690#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF6_SHIFT (6U)
28691/*! SRAM_IF6 - auto clock gating enable
28692 * 0b0..Enable Auto-Clk
28693 * 0b1..Disable Auto-Clk
28694 */
28695#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF6_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF6_MASK)
28696#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF7_MASK (0x80U)
28697#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF7_SHIFT (7U)
28698/*! SRAM_IF7 - auto clock gating enable
28699 * 0b0..Enable Auto-Clk
28700 * 0b1..Disable Auto-Clk
28701 */
28702#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF7_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF7_MASK)
28703#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF8_MASK (0x100U)
28704#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF8_SHIFT (8U)
28705/*! SRAM_IF8 - auto clock gating enable
28706 * 0b0..Enable Auto-Clk
28707 * 0b1..Disable Auto-Clk
28708 */
28709#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF8(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF8_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF8_MASK)
28710#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF9_MASK (0x200U)
28711#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF9_SHIFT (9U)
28712/*! SRAM_IF9 - auto clock gating enable
28713 * 0b0..Enable Auto-Clk
28714 * 0b1..Disable Auto-Clk
28715 */
28716#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF9(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF9_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF9_MASK)
28717#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF10_MASK (0x400U)
28718#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF10_SHIFT (10U)
28719/*! SRAM_IF10 - auto clock gating enable
28720 * 0b0..Enable Auto-Clk
28721 * 0b1..Disable Auto-Clk
28722 */
28723#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF10(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF10_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF10_MASK)
28724#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF11_MASK (0x800U)
28725#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF11_SHIFT (11U)
28726/*! SRAM_IF11 - auto clock gating enable
28727 * 0b0..Enable Auto-Clk
28728 * 0b1..Disable Auto-Clk
28729 */
28730#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF11(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF11_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF11_MASK)
28731#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF12_MASK (0x1000U)
28732#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF12_SHIFT (12U)
28733/*! SRAM_IF12 - auto clock gating enable
28734 * 0b0..Enable Auto-Clk
28735 * 0b1..Disable Auto-Clk
28736 */
28737#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF12(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF12_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF12_MASK)
28738#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF13_MASK (0x2000U)
28739#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF13_SHIFT (13U)
28740/*! SRAM_IF13 - auto clock gating enable
28741 * 0b0..Enable Auto-Clk
28742 * 0b1..Disable Auto-Clk
28743 */
28744#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF13(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF13_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF13_MASK)
28745#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF14_MASK (0x4000U)
28746#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF14_SHIFT (14U)
28747/*! SRAM_IF14 - auto clock gating enable
28748 * 0b0..Enable Auto-Clk
28749 * 0b1..Disable Auto-Clk
28750 */
28751#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF14(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF14_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF14_MASK)
28752#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF15_MASK (0x8000U)
28753#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF15_SHIFT (15U)
28754/*! SRAM_IF15 - auto clock gating enable
28755 * 0b0..Enable Auto-Clk
28756 * 0b1..Disable Auto-Clk
28757 */
28758#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF15(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF15_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF15_MASK)
28759#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF16_MASK (0x10000U)
28760#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF16_SHIFT (16U)
28761/*! SRAM_IF16 - auto clock gating enable
28762 * 0b0..Enable Auto-Clk
28763 * 0b1..Disable Auto-Clk
28764 */
28765#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF16(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF16_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF16_MASK)
28766#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF17_MASK (0x20000U)
28767#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF17_SHIFT (17U)
28768/*! SRAM_IF17 - auto clock gating enable
28769 * 0b0..Enable Auto-Clk
28770 * 0b1..Disable Auto-Clk
28771 */
28772#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF17(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF17_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF17_MASK)
28773#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF18_MASK (0x40000U)
28774#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF18_SHIFT (18U)
28775/*! SRAM_IF18 - auto clock gating enable
28776 */
28777#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF18(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF18_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF18_MASK)
28778#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF19_MASK (0x80000U)
28779#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF19_SHIFT (19U)
28780/*! SRAM_IF19 - auto clock gating enable
28781 * 0b0..Enable Auto-Clk
28782 * 0b1..Disable Auto-Clk
28783 */
28784#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF19(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF19_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF19_MASK)
28785#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF20_MASK (0x100000U)
28786#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF20_SHIFT (20U)
28787/*! SRAM_IF20 - auto clock gating enable
28788 * 0b0..Enable Auto-Clk
28789 * 0b1..Disable Auto-Clk
28790 */
28791#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF20(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF20_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF20_MASK)
28792#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF21_MASK (0x200000U)
28793#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF21_SHIFT (21U)
28794/*! SRAM_IF21 - auto clock gating enable
28795 * 0b0..Enable Auto-Clk
28796 * 0b1..Disable Auto-Clk
28797 */
28798#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF21(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF21_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF21_MASK)
28799#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF22_MASK (0x400000U)
28800#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF22_SHIFT (22U)
28801/*! SRAM_IF22 - auto clock gating enable
28802 * 0b0..Enable Auto-Clk
28803 * 0b1..Disable Auto-Clk
28804 */
28805#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF22(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF22_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF22_MASK)
28806#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF23_MASK (0x800000U)
28807#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF23_SHIFT (23U)
28808/*! SRAM_IF23 - auto clock gating enable
28809 * 0b0..Enable Auto-Clk
28810 * 0b1..Disable Auto-Clk
28811 */
28812#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF23(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF23_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF23_MASK)
28813#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF24_MASK (0x1000000U)
28814#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF24_SHIFT (24U)
28815/*! SRAM_IF24 - auto clock gating enable
28816 * 0b0..Enable Auto-Clk
28817 * 0b1..Disable Auto-Clk
28818 */
28819#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF24(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF24_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF24_MASK)
28820#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF25_MASK (0x2000000U)
28821#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF25_SHIFT (25U)
28822/*! SRAM_IF25 - auto clock gating enable
28823 * 0b0..Enable Auto-Clk
28824 * 0b1..Disable Auto-Clk
28825 */
28826#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF25(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF25_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF25_MASK)
28827#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF26_MASK (0x4000000U)
28828#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF26_SHIFT (26U)
28829/*! SRAM_IF26 - auto clock gating enable
28830 * 0b0..Enable Auto-Clk
28831 * 0b1..Disable Auto-Clk
28832 */
28833#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF26(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF26_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF26_MASK)
28834#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF27_MASK (0x8000000U)
28835#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF27_SHIFT (27U)
28836/*! SRAM_IF27 - auto clock gating enable
28837 * 0b0..Enable Auto-Clk
28838 * 0b1..Disable Auto-Clk
28839 */
28840#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF27(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF27_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF27_MASK)
28841#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF28_MASK (0x10000000U)
28842#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF28_SHIFT (28U)
28843/*! SRAM_IF28 - auto clock gating enable
28844 * 0b0..Enable Auto-Clk
28845 * 0b1..Disable Auto-Clk
28846 */
28847#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF28(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF28_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF28_MASK)
28848#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF29_MASK (0x20000000U)
28849#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF29_SHIFT (29U)
28850/*! SRAM_IF29 - auto clock gating enable
28851 * 0b0..Enable Auto-Clk
28852 * 0b1..Disable Auto-Clk
28853 */
28854#define SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF29(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF29_SHIFT)) & SYSCTL0_AUTOCLKGATEOVERRIDE1_SRAM_IF29_MASK)
28855/*! @} */
28856
28857/*! @name CLKGATEOVERRIDE0 - Clock gate override 0 */
28858/*! @{ */
28859#define SYSCTL0_CLKGATEOVERRIDE0_SDIO_0_MASK (0x1U)
28860#define SYSCTL0_CLKGATEOVERRIDE0_SDIO_0_SHIFT (0U)
28861/*! SDIO_0 - sdio 0 clock override
28862 * 0b0..no effect
28863 * 0b1..override
28864 */
28865#define SYSCTL0_CLKGATEOVERRIDE0_SDIO_0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_SDIO_0_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_SDIO_0_MASK)
28866#define SYSCTL0_CLKGATEOVERRIDE0_SDIO_1_MASK (0x2U)
28867#define SYSCTL0_CLKGATEOVERRIDE0_SDIO_1_SHIFT (1U)
28868/*! SDIO_1 - sdio 1 clock override
28869 * 0b0..no effect
28870 * 0b1..override
28871 */
28872#define SYSCTL0_CLKGATEOVERRIDE0_SDIO_1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_SDIO_1_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_SDIO_1_MASK)
28873#define SYSCTL0_CLKGATEOVERRIDE0_USBHSPHY_MASK (0x4U)
28874#define SYSCTL0_CLKGATEOVERRIDE0_USBHSPHY_SHIFT (2U)
28875/*! USBHSPHY - usbhsphy clock override
28876 * 0b0..no effect
28877 * 0b1..override
28878 */
28879#define SYSCTL0_CLKGATEOVERRIDE0_USBHSPHY(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_USBHSPHY_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_USBHSPHY_MASK)
28880#define SYSCTL0_CLKGATEOVERRIDE0_ADC_MASK (0x8U)
28881#define SYSCTL0_CLKGATEOVERRIDE0_ADC_SHIFT (3U)
28882/*! ADC - adc clock override
28883 * 0b0..no effect
28884 * 0b1..override
28885 */
28886#define SYSCTL0_CLKGATEOVERRIDE0_ADC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_ADC_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_ADC_MASK)
28887#define SYSCTL0_CLKGATEOVERRIDE0_MU_MASK (0x10U)
28888#define SYSCTL0_CLKGATEOVERRIDE0_MU_SHIFT (4U)
28889/*! MU - mu clock override
28890 * 0b0..no effect
28891 * 0b1..override
28892 */
28893#define SYSCTL0_CLKGATEOVERRIDE0_MU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_MU_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_MU_MASK)
28894#define SYSCTL0_CLKGATEOVERRIDE0_ACMP_MASK (0x20U)
28895#define SYSCTL0_CLKGATEOVERRIDE0_ACMP_SHIFT (5U)
28896/*! ACMP - acomparator clock override
28897 * 0b0..no effect
28898 * 0b1..override
28899 */
28900#define SYSCTL0_CLKGATEOVERRIDE0_ACMP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_ACMP_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_ACMP_MASK)
28901#define SYSCTL0_CLKGATEOVERRIDE0_PMC_MASK (0x40U)
28902#define SYSCTL0_CLKGATEOVERRIDE0_PMC_SHIFT (6U)
28903/*! PMC - pmc clock override
28904 * 0b0..no effect
28905 * 0b1..override
28906 */
28907#define SYSCTL0_CLKGATEOVERRIDE0_PMC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CLKGATEOVERRIDE0_PMC_SHIFT)) & SYSCTL0_CLKGATEOVERRIDE0_PMC_MASK)
28908/*! @} */
28909
28910/*! @name AHB_SRAM_ACCESS_DISABLE - AHB SRAM access disable */
28911/*! @{ */
28912#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM00_IF_MASK (0x1U)
28913#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM00_IF_SHIFT (0U)
28914/*! SRAM00_IF
28915 * 0b0..enable
28916 * 0b1..disable
28917 */
28918#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM00_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM00_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM00_IF_MASK)
28919#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM01_IF_MASK (0x2U)
28920#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM01_IF_SHIFT (1U)
28921/*! SRAM01_IF
28922 * 0b0..enable
28923 * 0b1..disable
28924 */
28925#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM01_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM01_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM01_IF_MASK)
28926#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM02_IF_MASK (0x4U)
28927#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM02_IF_SHIFT (2U)
28928/*! SRAM02_IF
28929 * 0b0..enable
28930 * 0b1..disable
28931 */
28932#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM02_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM02_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM02_IF_MASK)
28933#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM03_IF_MASK (0x8U)
28934#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM03_IF_SHIFT (3U)
28935/*! SRAM03_IF
28936 * 0b0..enable
28937 * 0b1..disable
28938 */
28939#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM03_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM03_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM03_IF_MASK)
28940#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM04_IF_MASK (0x10U)
28941#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM04_IF_SHIFT (4U)
28942/*! SRAM04_IF
28943 * 0b0..enable
28944 * 0b1..disable
28945 */
28946#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM04_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM04_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM04_IF_MASK)
28947#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM05_IF_MASK (0x20U)
28948#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM05_IF_SHIFT (5U)
28949/*! SRAM05_IF
28950 * 0b0..enable
28951 * 0b1..disable
28952 */
28953#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM05_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM05_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM05_IF_MASK)
28954#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM06_IF_MASK (0x40U)
28955#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM06_IF_SHIFT (6U)
28956/*! SRAM06_IF
28957 * 0b0..enable
28958 * 0b1..disable
28959 */
28960#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM06_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM06_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM06_IF_MASK)
28961#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM07_IF_MASK (0x80U)
28962#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM07_IF_SHIFT (7U)
28963/*! SRAM07_IF
28964 * 0b0..enable
28965 * 0b1..disable
28966 */
28967#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM07_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM07_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM07_IF_MASK)
28968#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM08_IF_MASK (0x100U)
28969#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM08_IF_SHIFT (8U)
28970/*! SRAM08_IF
28971 * 0b0..enable
28972 * 0b1..disable
28973 */
28974#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM08_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM08_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM08_IF_MASK)
28975#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM09_IF_MASK (0x200U)
28976#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM09_IF_SHIFT (9U)
28977/*! SRAM09_IF
28978 * 0b0..enable
28979 * 0b1..disable
28980 */
28981#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM09_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM09_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM09_IF_MASK)
28982#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM10_IF_MASK (0x400U)
28983#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM10_IF_SHIFT (10U)
28984/*! SRAM10_IF
28985 * 0b0..enable
28986 * 0b1..disable
28987 */
28988#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM10_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM10_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM10_IF_MASK)
28989#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM11_IF_MASK (0x800U)
28990#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM11_IF_SHIFT (11U)
28991/*! SRAM11_IF
28992 * 0b0..enable
28993 * 0b1..disable
28994 */
28995#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM11_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM11_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM11_IF_MASK)
28996#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM12_IF_MASK (0x1000U)
28997#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM12_IF_SHIFT (12U)
28998/*! SRAM12_IF
28999 * 0b0..enable
29000 * 0b1..disable
29001 */
29002#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM12_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM12_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM12_IF_MASK)
29003#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM13_IF_MASK (0x2000U)
29004#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM13_IF_SHIFT (13U)
29005/*! SRAM13_IF
29006 * 0b0..enable
29007 * 0b1..disable
29008 */
29009#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM13_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM13_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM13_IF_MASK)
29010#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM14_IF_MASK (0x4000U)
29011#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM14_IF_SHIFT (14U)
29012/*! SRAM14_IF
29013 * 0b0..enable
29014 * 0b1..disable
29015 */
29016#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM14_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM14_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM14_IF_MASK)
29017#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM15_IF_MASK (0x8000U)
29018#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM15_IF_SHIFT (15U)
29019/*! SRAM15_IF
29020 * 0b0..enable
29021 * 0b1..disable
29022 */
29023#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM15_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM15_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM15_IF_MASK)
29024#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM16_IF_MASK (0x10000U)
29025#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM16_IF_SHIFT (16U)
29026/*! SRAM16_IF
29027 * 0b0..enable
29028 * 0b1..disable
29029 */
29030#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM16_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM16_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM16_IF_MASK)
29031#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM17_IF_MASK (0x20000U)
29032#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM17_IF_SHIFT (17U)
29033/*! SRAM17_IF
29034 * 0b0..enable
29035 * 0b1..disable
29036 */
29037#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM17_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM17_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM17_IF_MASK)
29038#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM18_IF_MASK (0x40000U)
29039#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM18_IF_SHIFT (18U)
29040/*! SRAM18_IF
29041 * 0b0..enable
29042 * 0b1..disable
29043 */
29044#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM18_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM18_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM18_IF_MASK)
29045#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM19_IF_MASK (0x80000U)
29046#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM19_IF_SHIFT (19U)
29047/*! SRAM19_IF
29048 * 0b0..enable
29049 * 0b1..disable
29050 */
29051#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM19_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM19_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM19_IF_MASK)
29052#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM20_IF_MASK (0x100000U)
29053#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM20_IF_SHIFT (20U)
29054/*! SRAM20_IF
29055 * 0b0..enable
29056 * 0b1..disable
29057 */
29058#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM20_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM20_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM20_IF_MASK)
29059#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM21_IF_MASK (0x200000U)
29060#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM21_IF_SHIFT (21U)
29061/*! SRAM21_IF
29062 * 0b0..enable
29063 * 0b1..disable
29064 */
29065#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM21_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM21_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM21_IF_MASK)
29066#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM22_IF_MASK (0x400000U)
29067#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM22_IF_SHIFT (22U)
29068/*! SRAM22_IF
29069 * 0b0..enable
29070 * 0b1..disable
29071 */
29072#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM22_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM22_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM22_IF_MASK)
29073#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM23_IF_MASK (0x800000U)
29074#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM23_IF_SHIFT (23U)
29075/*! SRAM23_IF
29076 * 0b0..enable
29077 * 0b1..disable
29078 */
29079#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM23_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM23_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM23_IF_MASK)
29080#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM24_IF_MASK (0x1000000U)
29081#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM24_IF_SHIFT (24U)
29082/*! SRAM24_IF
29083 * 0b0..enable
29084 * 0b1..disable
29085 */
29086#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM24_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM24_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM24_IF_MASK)
29087#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM25_IF_MASK (0x2000000U)
29088#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM25_IF_SHIFT (25U)
29089/*! SRAM25_IF
29090 * 0b0..enable
29091 * 0b1..disable
29092 */
29093#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM25_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM25_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM25_IF_MASK)
29094#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM26_IF_MASK (0x4000000U)
29095#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM26_IF_SHIFT (26U)
29096/*! SRAM26_IF
29097 * 0b0..enable
29098 * 0b1..disable
29099 */
29100#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM26_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM26_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM26_IF_MASK)
29101#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM27_IF_MASK (0x8000000U)
29102#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM27_IF_SHIFT (27U)
29103/*! SRAM27_IF
29104 * 0b0..enable
29105 * 0b1..disable
29106 */
29107#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM27_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM27_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM27_IF_MASK)
29108#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM28_IF_MASK (0x10000000U)
29109#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM28_IF_SHIFT (28U)
29110/*! SRAM28_IF
29111 * 0b0..enable
29112 * 0b1..disable
29113 */
29114#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM28_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM28_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM28_IF_MASK)
29115#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM29_IF_MASK (0x20000000U)
29116#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM29_IF_SHIFT (29U)
29117/*! SRAM29_IF
29118 * 0b0..enable
29119 * 0b1..disable
29120 */
29121#define SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM29_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM29_IF_SHIFT)) & SYSCTL0_AHB_SRAM_ACCESS_DISABLE_SRAM29_IF_MASK)
29122/*! @} */
29123
29124/*! @name DSP_SRAM_ACCESS_DISABLE - DSP SRAM access disable */
29125/*! @{ */
29126#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM00_IF_MASK (0x1U)
29127#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM00_IF_SHIFT (0U)
29128/*! SRAM00_IF
29129 * 0b0..enable
29130 * 0b1..disable
29131 */
29132#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM00_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM00_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM00_IF_MASK)
29133#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM01_IF_MASK (0x2U)
29134#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM01_IF_SHIFT (1U)
29135/*! SRAM01_IF
29136 * 0b0..enable
29137 * 0b1..disable
29138 */
29139#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM01_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM01_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM01_IF_MASK)
29140#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM02_IF_MASK (0x4U)
29141#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM02_IF_SHIFT (2U)
29142/*! SRAM02_IF
29143 * 0b0..enable
29144 * 0b1..disable
29145 */
29146#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM02_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM02_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM02_IF_MASK)
29147#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM03_IF_MASK (0x8U)
29148#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM03_IF_SHIFT (3U)
29149/*! SRAM03_IF
29150 * 0b0..enable
29151 * 0b1..disable
29152 */
29153#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM03_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM03_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM03_IF_MASK)
29154#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM04_IF_MASK (0x10U)
29155#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM04_IF_SHIFT (4U)
29156/*! SRAM04_IF
29157 * 0b0..enable
29158 * 0b1..disable
29159 */
29160#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM04_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM04_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM04_IF_MASK)
29161#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM05_IF_MASK (0x20U)
29162#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM05_IF_SHIFT (5U)
29163/*! SRAM05_IF
29164 * 0b0..enable
29165 * 0b1..disable
29166 */
29167#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM05_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM05_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM05_IF_MASK)
29168#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM06_IF_MASK (0x40U)
29169#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM06_IF_SHIFT (6U)
29170/*! SRAM06_IF
29171 * 0b0..enable
29172 * 0b1..disable
29173 */
29174#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM06_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM06_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM06_IF_MASK)
29175#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM07_IF_MASK (0x80U)
29176#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM07_IF_SHIFT (7U)
29177/*! SRAM07_IF
29178 * 0b0..enable
29179 * 0b1..disable
29180 */
29181#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM07_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM07_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM07_IF_MASK)
29182#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM08_IF_MASK (0x100U)
29183#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM08_IF_SHIFT (8U)
29184/*! SRAM08_IF
29185 * 0b0..enable
29186 * 0b1..disable
29187 */
29188#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM08_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM08_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM08_IF_MASK)
29189#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM09_IF_MASK (0x200U)
29190#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM09_IF_SHIFT (9U)
29191/*! SRAM09_IF
29192 * 0b0..enable
29193 * 0b1..disable
29194 */
29195#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM09_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM09_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM09_IF_MASK)
29196#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM10_IF_MASK (0x400U)
29197#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM10_IF_SHIFT (10U)
29198/*! SRAM10_IF
29199 * 0b0..enable
29200 * 0b1..disable
29201 */
29202#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM10_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM10_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM10_IF_MASK)
29203#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM11_IF_MASK (0x800U)
29204#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM11_IF_SHIFT (11U)
29205/*! SRAM11_IF
29206 * 0b0..enable
29207 * 0b1..disable
29208 */
29209#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM11_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM11_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM11_IF_MASK)
29210#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM12_IF_MASK (0x1000U)
29211#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM12_IF_SHIFT (12U)
29212/*! SRAM12_IF
29213 * 0b0..enable
29214 * 0b1..disable
29215 */
29216#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM12_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM12_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM12_IF_MASK)
29217#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM13_IF_MASK (0x2000U)
29218#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM13_IF_SHIFT (13U)
29219/*! SRAM13_IF
29220 * 0b0..enable
29221 * 0b1..disable
29222 */
29223#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM13_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM13_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM13_IF_MASK)
29224#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM14_IF_MASK (0x4000U)
29225#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM14_IF_SHIFT (14U)
29226/*! SRAM14_IF
29227 * 0b0..enable
29228 * 0b1..disable
29229 */
29230#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM14_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM14_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM14_IF_MASK)
29231#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM15_IF_MASK (0x8000U)
29232#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM15_IF_SHIFT (15U)
29233/*! SRAM15_IF
29234 * 0b0..enable
29235 * 0b1..disable
29236 */
29237#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM15_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM15_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM15_IF_MASK)
29238#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM16_IF_MASK (0x10000U)
29239#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM16_IF_SHIFT (16U)
29240/*! SRAM16_IF
29241 * 0b0..enable
29242 * 0b1..disable
29243 */
29244#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM16_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM16_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM16_IF_MASK)
29245#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM17_IF_MASK (0x20000U)
29246#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM17_IF_SHIFT (17U)
29247/*! SRAM17_IF
29248 * 0b0..enable
29249 * 0b1..disable
29250 */
29251#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM17_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM17_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM17_IF_MASK)
29252#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM18_IF_MASK (0x40000U)
29253#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM18_IF_SHIFT (18U)
29254/*! SRAM18_IF
29255 * 0b0..enable
29256 * 0b1..disable
29257 */
29258#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM18_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM18_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM18_IF_MASK)
29259#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM19_IF_MASK (0x80000U)
29260#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM19_IF_SHIFT (19U)
29261/*! SRAM19_IF
29262 * 0b0..enable
29263 * 0b1..disable
29264 */
29265#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM19_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM19_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM19_IF_MASK)
29266#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM20_IF_MASK (0x100000U)
29267#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM20_IF_SHIFT (20U)
29268/*! SRAM20_IF
29269 * 0b0..enable
29270 * 0b1..disable
29271 */
29272#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM20_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM20_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM20_IF_MASK)
29273#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM21_IF_MASK (0x200000U)
29274#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM21_IF_SHIFT (21U)
29275/*! SRAM21_IF
29276 * 0b0..enable
29277 * 0b1..disable
29278 */
29279#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM21_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM21_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM21_IF_MASK)
29280#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM22_IF_MASK (0x400000U)
29281#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM22_IF_SHIFT (22U)
29282/*! SRAM22_IF
29283 * 0b0..enable
29284 * 0b1..disable
29285 */
29286#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM22_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM22_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM22_IF_MASK)
29287#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM23_IF_MASK (0x800000U)
29288#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM23_IF_SHIFT (23U)
29289/*! SRAM23_IF
29290 * 0b0..enable
29291 * 0b1..disable
29292 */
29293#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM23_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM23_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM23_IF_MASK)
29294#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM24_IF_MASK (0x1000000U)
29295#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM24_IF_SHIFT (24U)
29296/*! SRAM24_IF
29297 * 0b0..enable
29298 * 0b1..disable
29299 */
29300#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM24_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM24_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM24_IF_MASK)
29301#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM25_IF_MASK (0x2000000U)
29302#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM25_IF_SHIFT (25U)
29303/*! SRAM25_IF
29304 * 0b0..enable
29305 * 0b1..disable
29306 */
29307#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM25_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM25_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM25_IF_MASK)
29308#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM26_IF_MASK (0x4000000U)
29309#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM26_IF_SHIFT (26U)
29310/*! SRAM26_IF
29311 * 0b0..enable
29312 * 0b1..disable
29313 */
29314#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM26_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM26_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM26_IF_MASK)
29315#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM27_IF_MASK (0x8000000U)
29316#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM27_IF_SHIFT (27U)
29317/*! SRAM27_IF
29318 * 0b0..enable
29319 * 0b1..disable
29320 */
29321#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM27_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM27_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM27_IF_MASK)
29322#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM28_IF_MASK (0x10000000U)
29323#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM28_IF_SHIFT (28U)
29324/*! SRAM28_IF
29325 * 0b0..enable
29326 * 0b1..disable
29327 */
29328#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM28_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM28_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM28_IF_MASK)
29329#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM29_IF_MASK (0x20000000U)
29330#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM29_IF_SHIFT (29U)
29331/*! SRAM29_IF
29332 * 0b0..enable
29333 * 0b1..disable
29334 */
29335#define SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM29_IF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM29_IF_SHIFT)) & SYSCTL0_DSP_SRAM_ACCESS_DISABLE_SRAM29_IF_MASK)
29336/*! @} */
29337
29338/*! @name AHB_FLEXSPI_ACCESS_DISABLE - AHB Flexspi access control */
29339/*! @{ */
29340#define SYSCTL0_AHB_FLEXSPI_ACCESS_DISABLE_AHB_FLEXSPI_ACCESS_DISABLE_MASK (0x1U)
29341#define SYSCTL0_AHB_FLEXSPI_ACCESS_DISABLE_AHB_FLEXSPI_ACCESS_DISABLE_SHIFT (0U)
29342/*! AHB_FLEXSPI_ACCESS_DISABLE
29343 * 0b0..Enable AHB access to FLEXSPI
29344 * 0b1..Disable AHB access to FLEXSPI
29345 */
29346#define SYSCTL0_AHB_FLEXSPI_ACCESS_DISABLE_AHB_FLEXSPI_ACCESS_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AHB_FLEXSPI_ACCESS_DISABLE_AHB_FLEXSPI_ACCESS_DISABLE_SHIFT)) & SYSCTL0_AHB_FLEXSPI_ACCESS_DISABLE_AHB_FLEXSPI_ACCESS_DISABLE_MASK)
29347/*! @} */
29348
29349/*! @name DSP_FLEXSPI_ACCESS_DISABLE - DSP Flexspi access control */
29350/*! @{ */
29351#define SYSCTL0_DSP_FLEXSPI_ACCESS_DISABLE_DSP_FLEXSPI_ACCESS_DISABLE_MASK (0x1U)
29352#define SYSCTL0_DSP_FLEXSPI_ACCESS_DISABLE_DSP_FLEXSPI_ACCESS_DISABLE_SHIFT (0U)
29353/*! DSP_FLEXSPI_ACCESS_DISABLE
29354 * 0b0..Enable DSP access to FLEXSPI
29355 * 0b1..Disable DSP access to FLEXSPI
29356 */
29357#define SYSCTL0_DSP_FLEXSPI_ACCESS_DISABLE_DSP_FLEXSPI_ACCESS_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DSP_FLEXSPI_ACCESS_DISABLE_DSP_FLEXSPI_ACCESS_DISABLE_SHIFT)) & SYSCTL0_DSP_FLEXSPI_ACCESS_DISABLE_DSP_FLEXSPI_ACCESS_DISABLE_MASK)
29358/*! @} */
29359
29360/*! @name FLEXSPI_BOOTROM_SCRATCH0 - FLEXSPI NOR flash configure context register */
29361/*! @{ */
29362#define SYSCTL0_FLEXSPI_BOOTROM_SCRATCH0_SCRATCH_MASK (0xFFFFFFFFU)
29363#define SYSCTL0_FLEXSPI_BOOTROM_SCRATCH0_SCRATCH_SHIFT (0U)
29364#define SYSCTL0_FLEXSPI_BOOTROM_SCRATCH0_SCRATCH(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPI_BOOTROM_SCRATCH0_SCRATCH_SHIFT)) & SYSCTL0_FLEXSPI_BOOTROM_SCRATCH0_SCRATCH_MASK)
29365/*! @} */
29366
29367/*! @name USBCLKCTRL - USB clock control */
29368/*! @{ */
29369#define SYSCTL0_USBCLKCTRL_AP_DEV_CLK_MASK (0x1U)
29370#define SYSCTL0_USBCLKCTRL_AP_DEV_CLK_SHIFT (0U)
29371/*! AP_DEV_CLK - USB0 Device need clock signal control
29372 * 0b0..Under hardware control.
29373 * 0b1..Forced high.
29374 */
29375#define SYSCTL0_USBCLKCTRL_AP_DEV_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKCTRL_AP_DEV_CLK_SHIFT)) & SYSCTL0_USBCLKCTRL_AP_DEV_CLK_MASK)
29376#define SYSCTL0_USBCLKCTRL_POL_DEV_CLK_MASK (0x2U)
29377#define SYSCTL0_USBCLKCTRL_POL_DEV_CLK_SHIFT (1U)
29378/*! POL_DEV_CLK - USB0 Device need clock polarity for triggering the USB1 wake-up interrupt
29379 * 0b0..Falling edge of device need_clock triggers wake-up.
29380 * 0b1..Rising edge of device need_clock triggers wake-up.
29381 */
29382#define SYSCTL0_USBCLKCTRL_POL_DEV_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKCTRL_POL_DEV_CLK_SHIFT)) & SYSCTL0_USBCLKCTRL_POL_DEV_CLK_MASK)
29383#define SYSCTL0_USBCLKCTRL_AP_HOST_CLK_MASK (0x4U)
29384#define SYSCTL0_USBCLKCTRL_AP_HOST_CLK_SHIFT (2U)
29385/*! AP_HOST_CLK - USB0 Host need clock signal control
29386 * 0b0..Under hardware control.
29387 * 0b1..Forced high.
29388 */
29389#define SYSCTL0_USBCLKCTRL_AP_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKCTRL_AP_HOST_CLK_SHIFT)) & SYSCTL0_USBCLKCTRL_AP_HOST_CLK_MASK)
29390#define SYSCTL0_USBCLKCTRL_POL_HOST_CLK_MASK (0x8U)
29391#define SYSCTL0_USBCLKCTRL_POL_HOST_CLK_SHIFT (3U)
29392/*! POL_HOST_CLK - USB0 HOST need clock polarity for triggering the USB1 wake-up interrupt
29393 * 0b0..Falling edge of host need_clock triggers wake-up.
29394 * 0b1..Rising edge of host need_clock triggers wake-up.
29395 */
29396#define SYSCTL0_USBCLKCTRL_POL_HOST_CLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKCTRL_POL_HOST_CLK_SHIFT)) & SYSCTL0_USBCLKCTRL_POL_HOST_CLK_MASK)
29397#define SYSCTL0_USBCLKCTRL_HS_DEV_WAKEUP_N_MASK (0x10U)
29398#define SYSCTL0_USBCLKCTRL_HS_DEV_WAKEUP_N_SHIFT (4U)
29399/*! HS_DEV_WAKEUP_N - External user wake-up signal for device mode; asserting this signal (active
29400 * low) will result in exiting the low power mode; input to asynchronous control logic
29401 * 0b0..Forces USB0 PHY to wake-up.
29402 * 0b1..Normal USB0 PHY behavior.
29403 */
29404#define SYSCTL0_USBCLKCTRL_HS_DEV_WAKEUP_N(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKCTRL_HS_DEV_WAKEUP_N_SHIFT)) & SYSCTL0_USBCLKCTRL_HS_DEV_WAKEUP_N_MASK)
29405/*! @} */
29406
29407/*! @name USBCLKSTAT - USB clock status */
29408/*! @{ */
29409#define SYSCTL0_USBCLKSTAT_DEV_NEED_CLKST_MASK (0x1U)
29410#define SYSCTL0_USBCLKSTAT_DEV_NEED_CLKST_SHIFT (0U)
29411/*! DEV_NEED_CLKST - USB Device USB_NEEDCLK signal status:
29412 * 0b0..low
29413 * 0b1..high
29414 */
29415#define SYSCTL0_USBCLKSTAT_DEV_NEED_CLKST(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKSTAT_DEV_NEED_CLKST_SHIFT)) & SYSCTL0_USBCLKSTAT_DEV_NEED_CLKST_MASK)
29416#define SYSCTL0_USBCLKSTAT_HOST_NEED_CLKST_MASK (0x2U)
29417#define SYSCTL0_USBCLKSTAT_HOST_NEED_CLKST_SHIFT (1U)
29418/*! HOST_NEED_CLKST - USB Device Host USB_NEEDCLK signal status:
29419 * 0b0..low
29420 * 0b1..high
29421 */
29422#define SYSCTL0_USBCLKSTAT_HOST_NEED_CLKST(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBCLKSTAT_HOST_NEED_CLKST_SHIFT)) & SYSCTL0_USBCLKSTAT_HOST_NEED_CLKST_MASK)
29423/*! @} */
29424
29425/*! @name USBPHYPLL0LOCKTIMEDIV2 - USB PHY PLL0 lock time division 2 */
29426/*! @{ */
29427#define SYSCTL0_USBPHYPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK (0xFFFFU)
29428#define SYSCTL0_USBPHYPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_SHIFT (0U)
29429/*! LOCKTIMEDIV2 - USBPHYPLL0 Lock Time: Programmed lock time is in uS (micro-seconds) and is programmed as half the actual lock time value
29430 */
29431#define SYSCTL0_USBPHYPLL0LOCKTIMEDIV2_LOCKTIMEDIV2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_USBPHYPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_SHIFT)) & SYSCTL0_USBPHYPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK)
29432/*! @} */
29433
29434/*! @name PDSLEEPCFG0 - Sleep configuration 0 */
29435/*! @{ */
29436#define SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK (0x1U)
29437#define SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_SHIFT (0U)
29438/*! MAINCLK_SHUTOFF - main clock shut off
29439 * 0b0..Clocks enabled
29440 * 0b1..Clocks gated
29441 */
29442#define SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_SHIFT)) & SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK)
29443#define SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_MASK (0x2U)
29444#define SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_SHIFT (1U)
29445/*! PMIC_MODE0
29446 * 0b0..Set Mode0 to '0'.
29447 * 0b1..Set Mode0 to '1'.
29448 */
29449#define SYSCTL0_PDSLEEPCFG0_PMIC_MODE0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_SHIFT)) & SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_MASK)
29450#define SYSCTL0_PDSLEEPCFG0_PMIC_MODE1_MASK (0x4U)
29451#define SYSCTL0_PDSLEEPCFG0_PMIC_MODE1_SHIFT (2U)
29452/*! PMIC_MODE1
29453 * 0b0..Set Mode1 to 0.
29454 * 0b1..Set Mode1 to 1.
29455 */
29456#define SYSCTL0_PDSLEEPCFG0_PMIC_MODE1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_PMIC_MODE1_SHIFT)) & SYSCTL0_PDSLEEPCFG0_PMIC_MODE1_MASK)
29457#define SYSCTL0_PDSLEEPCFG0_DEEP_PD_MASK (0x8U)
29458#define SYSCTL0_PDSLEEPCFG0_DEEP_PD_SHIFT (3U)
29459/*! DEEP_PD
29460 * 0b0..enabled
29461 * 0b1..power down
29462 */
29463#define SYSCTL0_PDSLEEPCFG0_DEEP_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_DEEP_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_DEEP_PD_MASK)
29464#define SYSCTL0_PDSLEEPCFG0_VDDCOREREG_LP_MASK (0x10U)
29465#define SYSCTL0_PDSLEEPCFG0_VDDCOREREG_LP_SHIFT (4U)
29466/*! VDDCOREREG_LP
29467 * 0b0..VDDCOREREG HP Mode
29468 * 0b1..LP Mode
29469 */
29470#define SYSCTL0_PDSLEEPCFG0_VDDCOREREG_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_VDDCOREREG_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_VDDCOREREG_LP_MASK)
29471#define SYSCTL0_PDSLEEPCFG0_PMCREF_LP_MASK (0x40U)
29472#define SYSCTL0_PDSLEEPCFG0_PMCREF_LP_SHIFT (6U)
29473/*! PMCREF_LP
29474 * 0b0..PMCREF HP Mode
29475 * 0b1..PMCREF LP Mode
29476 */
29477#define SYSCTL0_PDSLEEPCFG0_PMCREF_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_PMCREF_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_PMCREF_LP_MASK)
29478#define SYSCTL0_PDSLEEPCFG0_HVD1V8_PD_MASK (0x80U)
29479#define SYSCTL0_PDSLEEPCFG0_HVD1V8_PD_SHIFT (7U)
29480/*! HVD1V8_PD
29481 * 0b0..enabled
29482 * 0b1..power down
29483 */
29484#define SYSCTL0_PDSLEEPCFG0_HVD1V8_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_HVD1V8_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_HVD1V8_PD_MASK)
29485#define SYSCTL0_PDSLEEPCFG0_PORCORE_LP_MASK (0x100U)
29486#define SYSCTL0_PDSLEEPCFG0_PORCORE_LP_SHIFT (8U)
29487/*! PORCORE_LP
29488 * 0b0..LVD0V6 HP Mode
29489 * 0b1..LVD0V6 LP Mode
29490 */
29491#define SYSCTL0_PDSLEEPCFG0_PORCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_PORCORE_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_PORCORE_LP_MASK)
29492#define SYSCTL0_PDSLEEPCFG0_LVDCORE_LP_MASK (0x200U)
29493#define SYSCTL0_PDSLEEPCFG0_LVDCORE_LP_SHIFT (9U)
29494/*! LVDCORE_LP
29495 * 0b0..LVD0V85 HP Mode
29496 * 0b1..LVD0V85 LP Mode.
29497 */
29498#define SYSCTL0_PDSLEEPCFG0_LVDCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_LVDCORE_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_LVDCORE_LP_MASK)
29499#define SYSCTL0_PDSLEEPCFG0_HVDCORE_PD_MASK (0x400U)
29500#define SYSCTL0_PDSLEEPCFG0_HVDCORE_PD_SHIFT (10U)
29501/*! HVDCORE_PD
29502 * 0b0..enabled
29503 * 0b1..power down
29504 */
29505#define SYSCTL0_PDSLEEPCFG0_HVDCORE_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_HVDCORE_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_HVDCORE_PD_MASK)
29506#define SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK (0x800U)
29507#define SYSCTL0_PDSLEEPCFG0_RBB_PD_SHIFT (11U)
29508/*! RBB_PD - Writes to this bit in PDRUNCFG, but not PDSLEEPCFG, can be disabled by an OTP bit.
29509 * 0b0..enabled
29510 * 0b1..power down
29511 */
29512#define SYSCTL0_PDSLEEPCFG0_RBB_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_RBB_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK)
29513#define SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK (0x1000U)
29514#define SYSCTL0_PDSLEEPCFG0_FBB_PD_SHIFT (12U)
29515/*! FBB_PD - Writes to this bit in PDRUNCFG, but not PDSLEEPCFG, can be disabled by an OTP bit.
29516 * 0b0..enabled
29517 * 0b1..power down
29518 */
29519#define SYSCTL0_PDSLEEPCFG0_FBB_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_FBB_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK)
29520#define SYSCTL0_PDSLEEPCFG0_SYSXTAL_PD_MASK (0x2000U)
29521#define SYSCTL0_PDSLEEPCFG0_SYSXTAL_PD_SHIFT (13U)
29522/*! SYSXTAL_PD
29523 * 0b0..enabled
29524 * 0b1..power down
29525 */
29526#define SYSCTL0_PDSLEEPCFG0_SYSXTAL_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_SYSXTAL_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_SYSXTAL_PD_MASK)
29527#define SYSCTL0_PDSLEEPCFG0_LPOSC_PD_MASK (0x4000U)
29528#define SYSCTL0_PDSLEEPCFG0_LPOSC_PD_SHIFT (14U)
29529/*! LPOSC_PD
29530 * 0b0..enabled
29531 * 0b1..power down
29532 */
29533#define SYSCTL0_PDSLEEPCFG0_LPOSC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_LPOSC_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_LPOSC_PD_MASK)
29534#define SYSCTL0_PDSLEEPCFG0_SFRO_PD_MASK (0x8000U)
29535#define SYSCTL0_PDSLEEPCFG0_SFRO_PD_SHIFT (15U)
29536/*! SFRO_PD
29537 * 0b0..enabled
29538 * 0b1..power down
29539 */
29540#define SYSCTL0_PDSLEEPCFG0_SFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_SFRO_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_SFRO_PD_MASK)
29541#define SYSCTL0_PDSLEEPCFG0_FFRO_PD_MASK (0x10000U)
29542#define SYSCTL0_PDSLEEPCFG0_FFRO_PD_SHIFT (16U)
29543/*! FFRO_PD
29544 * 0b0..enabled
29545 * 0b1..power down
29546 */
29547#define SYSCTL0_PDSLEEPCFG0_FFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_FFRO_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_FFRO_PD_MASK)
29548#define SYSCTL0_PDSLEEPCFG0_SYSPLLLDO_PD_MASK (0x20000U)
29549#define SYSCTL0_PDSLEEPCFG0_SYSPLLLDO_PD_SHIFT (17U)
29550/*! SYSPLLLDO_PD
29551 * 0b0..enabled
29552 * 0b1..power down
29553 */
29554#define SYSCTL0_PDSLEEPCFG0_SYSPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_SYSPLLLDO_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_SYSPLLLDO_PD_MASK)
29555#define SYSCTL0_PDSLEEPCFG0_SYSPLLANA_PD_MASK (0x40000U)
29556#define SYSCTL0_PDSLEEPCFG0_SYSPLLANA_PD_SHIFT (18U)
29557/*! SYSPLLANA_PD
29558 * 0b0..enabled
29559 * 0b1..power down
29560 */
29561#define SYSCTL0_PDSLEEPCFG0_SYSPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_SYSPLLANA_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_SYSPLLANA_PD_MASK)
29562#define SYSCTL0_PDSLEEPCFG0_AUDPLLLDO_PD_MASK (0x80000U)
29563#define SYSCTL0_PDSLEEPCFG0_AUDPLLLDO_PD_SHIFT (19U)
29564/*! AUDPLLLDO_PD
29565 * 0b0..enabled
29566 * 0b1..power down
29567 */
29568#define SYSCTL0_PDSLEEPCFG0_AUDPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_AUDPLLLDO_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_AUDPLLLDO_PD_MASK)
29569#define SYSCTL0_PDSLEEPCFG0_AUDPLLANA_PD_MASK (0x100000U)
29570#define SYSCTL0_PDSLEEPCFG0_AUDPLLANA_PD_SHIFT (20U)
29571/*! AUDPLLANA_PD
29572 * 0b0..enabled
29573 * 0b1..power down
29574 */
29575#define SYSCTL0_PDSLEEPCFG0_AUDPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_AUDPLLANA_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_AUDPLLANA_PD_MASK)
29576#define SYSCTL0_PDSLEEPCFG0_ADC_PD_MASK (0x200000U)
29577#define SYSCTL0_PDSLEEPCFG0_ADC_PD_SHIFT (21U)
29578/*! ADC_PD
29579 * 0b0..enabled
29580 * 0b1..power down
29581 */
29582#define SYSCTL0_PDSLEEPCFG0_ADC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_ADC_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_ADC_PD_MASK)
29583#define SYSCTL0_PDSLEEPCFG0_ADC_LP_MASK (0x400000U)
29584#define SYSCTL0_PDSLEEPCFG0_ADC_LP_SHIFT (22U)
29585/*! ADC_LP
29586 * 0b0..enabled
29587 * 0b1..power down
29588 */
29589#define SYSCTL0_PDSLEEPCFG0_ADC_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_ADC_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_ADC_LP_MASK)
29590#define SYSCTL0_PDSLEEPCFG0_ADCTEMPSNS_PD_MASK (0x800000U)
29591#define SYSCTL0_PDSLEEPCFG0_ADCTEMPSNS_PD_SHIFT (23U)
29592/*! ADCTEMPSNS_PD
29593 * 0b0..enabled
29594 * 0b1..power down
29595 */
29596#define SYSCTL0_PDSLEEPCFG0_ADCTEMPSNS_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_ADCTEMPSNS_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_ADCTEMPSNS_PD_MASK)
29597#define SYSCTL0_PDSLEEPCFG0_ACMP_PD_MASK (0x2000000U)
29598#define SYSCTL0_PDSLEEPCFG0_ACMP_PD_SHIFT (25U)
29599/*! ACMP_PD
29600 * 0b0..enabled
29601 * 0b1..power down
29602 */
29603#define SYSCTL0_PDSLEEPCFG0_ACMP_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_ACMP_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_ACMP_PD_MASK)
29604#define SYSCTL0_PDSLEEPCFG0_HSPAD0_VDET_LP_MASK (0x4000000U)
29605#define SYSCTL0_PDSLEEPCFG0_HSPAD0_VDET_LP_SHIFT (26U)
29606/*! HSPAD0_VDET_LP
29607 * 0b0..High Speed Pad VDET in Normal Mode
29608 * 0b1..High Speed Pad VDET in Sleep Mode
29609 */
29610#define SYSCTL0_PDSLEEPCFG0_HSPAD0_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_HSPAD0_VDET_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_HSPAD0_VDET_LP_MASK)
29611#define SYSCTL0_PDSLEEPCFG0_HSPAD0_REF_PD_MASK (0x8000000U)
29612#define SYSCTL0_PDSLEEPCFG0_HSPAD0_REF_PD_SHIFT (27U)
29613/*! HSPAD0_REF_PD
29614 * 0b0..High Speed Pad VREF Enabled
29615 * 0b1..High Speed Pad VREF in Power Down
29616 */
29617#define SYSCTL0_PDSLEEPCFG0_HSPAD0_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_HSPAD0_REF_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_HSPAD0_REF_PD_MASK)
29618#define SYSCTL0_PDSLEEPCFG0_HSPAD2_VDET_LP_MASK (0x10000000U)
29619#define SYSCTL0_PDSLEEPCFG0_HSPAD2_VDET_LP_SHIFT (28U)
29620/*! HSPAD2_VDET_LP
29621 * 0b0..High Speed Pad VDET in Normal Mode
29622 * 0b1..High Speed Pad VDET in Sleep Mode
29623 */
29624#define SYSCTL0_PDSLEEPCFG0_HSPAD2_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_HSPAD2_VDET_LP_SHIFT)) & SYSCTL0_PDSLEEPCFG0_HSPAD2_VDET_LP_MASK)
29625#define SYSCTL0_PDSLEEPCFG0_HSPAD2_REF_PD_MASK (0x20000000U)
29626#define SYSCTL0_PDSLEEPCFG0_HSPAD2_REF_PD_SHIFT (29U)
29627/*! HSPAD2_REF_PD
29628 * 0b0..High Speed Pad VREF Enabled
29629 * 0b1..High Speed Pad VREF in Power Down
29630 */
29631#define SYSCTL0_PDSLEEPCFG0_HSPAD2_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG0_HSPAD2_REF_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG0_HSPAD2_REF_PD_MASK)
29632/*! @} */
29633
29634/*! @name PDSLEEPCFG1 - Sleep configuration 1 */
29635/*! @{ */
29636#define SYSCTL0_PDSLEEPCFG1_PQ_SRAM_APD_MASK (0x1U)
29637#define SYSCTL0_PDSLEEPCFG1_PQ_SRAM_APD_SHIFT (0U)
29638/*! PQ_SRAM_APD - Array power
29639 * 0b0..enable
29640 * 0b1..power down
29641 */
29642#define SYSCTL0_PDSLEEPCFG1_PQ_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_PQ_SRAM_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_PQ_SRAM_APD_MASK)
29643#define SYSCTL0_PDSLEEPCFG1_PQ_SRAM_PPD_MASK (0x2U)
29644#define SYSCTL0_PDSLEEPCFG1_PQ_SRAM_PPD_SHIFT (1U)
29645/*! PQ_SRAM_PPD - Peiph power
29646 * 0b0..enable
29647 * 0b1..power down
29648 */
29649#define SYSCTL0_PDSLEEPCFG1_PQ_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_PQ_SRAM_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_PQ_SRAM_PPD_MASK)
29650#define SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD_MASK (0x4U)
29651#define SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD_SHIFT (2U)
29652/*! FLEXSPI_SRAM_APD - Array power
29653 * 0b0..enable
29654 * 0b1..power down
29655 */
29656#define SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD_MASK)
29657#define SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD_MASK (0x8U)
29658#define SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD_SHIFT (3U)
29659/*! FLEXSPI_SRAM_PPD - Peiph power
29660 * 0b0..enable
29661 * 0b1..power down
29662 */
29663#define SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD_MASK)
29664#define SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_APD_MASK (0x10U)
29665#define SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_APD_SHIFT (4U)
29666/*! USBHS_SRAM_APD - Array power
29667 * 0b0..enable
29668 * 0b1..power down
29669 */
29670#define SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_APD_MASK)
29671#define SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_PPD_MASK (0x20U)
29672#define SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_PPD_SHIFT (5U)
29673/*! USBHS_SRAM_PPD - Peiph power
29674 * 0b0..enable
29675 * 0b1..power down
29676 */
29677#define SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_PPD_MASK)
29678#define SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_APD_MASK (0x40U)
29679#define SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_APD_SHIFT (6U)
29680/*! USDHC0_SRAM_APD - Array power
29681 * 0b0..enable
29682 * 0b1..power down
29683 */
29684#define SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_APD_MASK)
29685#define SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_PPD_MASK (0x80U)
29686#define SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_PPD_SHIFT (7U)
29687/*! USDHC0_SRAM_PPD - Peiph power
29688 * 0b0..enable
29689 * 0b1..power down
29690 */
29691#define SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_PPD_MASK)
29692#define SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_APD_MASK (0x100U)
29693#define SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_APD_SHIFT (8U)
29694/*! USDHC1_SRAM_APD - Array power
29695 * 0b0..enable
29696 * 0b1..power down
29697 */
29698#define SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_APD_MASK)
29699#define SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_PPD_MASK (0x200U)
29700#define SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_PPD_SHIFT (9U)
29701/*! USDHC1_SRAM_PPD - Peiph power
29702 * 0b0..enable
29703 * 0b1..power down
29704 */
29705#define SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_PPD_MASK)
29706#define SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_APD_MASK (0x400U)
29707#define SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_APD_SHIFT (10U)
29708/*! CASPER_SRAM_APD - Array power
29709 * 0b0..enable
29710 * 0b1..power down
29711 */
29712#define SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_APD_MASK)
29713#define SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_PPD_MASK (0x800U)
29714#define SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_PPD_SHIFT (11U)
29715/*! CASPER_SRAM_PPD - Peiph power
29716 * 0b0..enable
29717 * 0b1..power down
29718 */
29719#define SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_PPD_MASK)
29720#define SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_APD_MASK (0x1000000U)
29721#define SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_APD_SHIFT (24U)
29722/*! DSPCACHE_REGF_APD - Array power
29723 * 0b0..enable
29724 * 0b1..power down
29725 */
29726#define SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_APD_MASK)
29727#define SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_PPD_MASK (0x2000000U)
29728#define SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_PPD_SHIFT (25U)
29729/*! DSPCACHE_REGF_PPD - Peiph power
29730 * 0b0..enable
29731 * 0b1..power down
29732 */
29733#define SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_PPD_MASK)
29734#define SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_APD_MASK (0x4000000U)
29735#define SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_APD_SHIFT (26U)
29736/*! DSPTCM_REGF_APD - Array power
29737 * 0b0..enable
29738 * 0b1..power down
29739 */
29740#define SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_APD_MASK)
29741#define SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_PPD_MASK (0x8000000U)
29742#define SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_PPD_SHIFT (27U)
29743/*! DSPTCM_REGF_PPD - Peiph power
29744 * 0b0..enable
29745 * 0b1..power down
29746 */
29747#define SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_PPD_MASK)
29748#define SYSCTL0_PDSLEEPCFG1_ROM_PD_MASK (0x10000000U)
29749#define SYSCTL0_PDSLEEPCFG1_ROM_PD_SHIFT (28U)
29750/*! ROM_PD - array power and periph power
29751 * 0b0..enable
29752 * 0b1..power down
29753 */
29754#define SYSCTL0_PDSLEEPCFG1_ROM_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_ROM_PD_SHIFT)) & SYSCTL0_PDSLEEPCFG1_ROM_PD_MASK)
29755#define SYSCTL0_PDSLEEPCFG1_SRAM_SLEEP_MASK (0x80000000U)
29756#define SYSCTL0_PDSLEEPCFG1_SRAM_SLEEP_SHIFT (31U)
29757/*! SRAM_SLEEP
29758 * 0b0..RAM Normal Mode
29759 * 0b1..RAM Sleep Mode.
29760 */
29761#define SYSCTL0_PDSLEEPCFG1_SRAM_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG1_SRAM_SLEEP_SHIFT)) & SYSCTL0_PDSLEEPCFG1_SRAM_SLEEP_MASK)
29762/*! @} */
29763
29764/*! @name PDSLEEPCFG2 - Sleep configuration 2 */
29765/*! @{ */
29766#define SYSCTL0_PDSLEEPCFG2_SRAM_IF0_APD_MASK (0x1U)
29767#define SYSCTL0_PDSLEEPCFG2_SRAM_IF0_APD_SHIFT (0U)
29768/*! SRAM_IF0_APD - Array Power
29769 * 0b0..enable
29770 * 0b1..power down
29771 */
29772#define SYSCTL0_PDSLEEPCFG2_SRAM_IF0_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF0_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF0_APD_MASK)
29773#define SYSCTL0_PDSLEEPCFG2_SRAM_IF1_APD_MASK (0x2U)
29774#define SYSCTL0_PDSLEEPCFG2_SRAM_IF1_APD_SHIFT (1U)
29775/*! SRAM_IF1_APD - Array Power
29776 * 0b0..enable
29777 * 0b1..power down
29778 */
29779#define SYSCTL0_PDSLEEPCFG2_SRAM_IF1_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF1_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF1_APD_MASK)
29780#define SYSCTL0_PDSLEEPCFG2_SRAM_IF2_APD_MASK (0x4U)
29781#define SYSCTL0_PDSLEEPCFG2_SRAM_IF2_APD_SHIFT (2U)
29782/*! SRAM_IF2_APD - Array Power
29783 * 0b0..enable
29784 * 0b1..power down
29785 */
29786#define SYSCTL0_PDSLEEPCFG2_SRAM_IF2_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF2_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF2_APD_MASK)
29787#define SYSCTL0_PDSLEEPCFG2_SRAM_IF3_APD_MASK (0x8U)
29788#define SYSCTL0_PDSLEEPCFG2_SRAM_IF3_APD_SHIFT (3U)
29789/*! SRAM_IF3_APD - Array Power
29790 * 0b0..enable
29791 * 0b1..power down
29792 */
29793#define SYSCTL0_PDSLEEPCFG2_SRAM_IF3_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF3_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF3_APD_MASK)
29794#define SYSCTL0_PDSLEEPCFG2_SRAM_IF4_APD_MASK (0x10U)
29795#define SYSCTL0_PDSLEEPCFG2_SRAM_IF4_APD_SHIFT (4U)
29796/*! SRAM_IF4_APD - Array Power
29797 * 0b0..enable
29798 * 0b1..power down
29799 */
29800#define SYSCTL0_PDSLEEPCFG2_SRAM_IF4_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF4_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF4_APD_MASK)
29801#define SYSCTL0_PDSLEEPCFG2_SRAM_IF5_APD_MASK (0x20U)
29802#define SYSCTL0_PDSLEEPCFG2_SRAM_IF5_APD_SHIFT (5U)
29803/*! SRAM_IF5_APD - Array Power
29804 * 0b0..enable
29805 * 0b1..power down
29806 */
29807#define SYSCTL0_PDSLEEPCFG2_SRAM_IF5_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF5_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF5_APD_MASK)
29808#define SYSCTL0_PDSLEEPCFG2_SRAM_IF6_APD_MASK (0x40U)
29809#define SYSCTL0_PDSLEEPCFG2_SRAM_IF6_APD_SHIFT (6U)
29810/*! SRAM_IF6_APD - Array Power
29811 * 0b0..enable
29812 * 0b1..power down
29813 */
29814#define SYSCTL0_PDSLEEPCFG2_SRAM_IF6_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF6_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF6_APD_MASK)
29815#define SYSCTL0_PDSLEEPCFG2_SRAM_IF7_APD_MASK (0x80U)
29816#define SYSCTL0_PDSLEEPCFG2_SRAM_IF7_APD_SHIFT (7U)
29817/*! SRAM_IF7_APD - Array Power
29818 * 0b0..enable
29819 * 0b1..power down
29820 */
29821#define SYSCTL0_PDSLEEPCFG2_SRAM_IF7_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF7_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF7_APD_MASK)
29822#define SYSCTL0_PDSLEEPCFG2_SRAM_IF8_APD_MASK (0x100U)
29823#define SYSCTL0_PDSLEEPCFG2_SRAM_IF8_APD_SHIFT (8U)
29824/*! SRAM_IF8_APD - Array Power
29825 * 0b0..enable
29826 * 0b1..power down
29827 */
29828#define SYSCTL0_PDSLEEPCFG2_SRAM_IF8_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF8_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF8_APD_MASK)
29829#define SYSCTL0_PDSLEEPCFG2_SRAM_IF9_APD_MASK (0x200U)
29830#define SYSCTL0_PDSLEEPCFG2_SRAM_IF9_APD_SHIFT (9U)
29831/*! SRAM_IF9_APD - Array Power
29832 * 0b0..enable
29833 * 0b1..power down
29834 */
29835#define SYSCTL0_PDSLEEPCFG2_SRAM_IF9_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF9_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF9_APD_MASK)
29836#define SYSCTL0_PDSLEEPCFG2_SRAM_IF10_APD_MASK (0x400U)
29837#define SYSCTL0_PDSLEEPCFG2_SRAM_IF10_APD_SHIFT (10U)
29838/*! SRAM_IF10_APD - Array Power
29839 * 0b0..enable
29840 * 0b1..power down
29841 */
29842#define SYSCTL0_PDSLEEPCFG2_SRAM_IF10_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF10_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF10_APD_MASK)
29843#define SYSCTL0_PDSLEEPCFG2_SRAM_IF11_APD_MASK (0x800U)
29844#define SYSCTL0_PDSLEEPCFG2_SRAM_IF11_APD_SHIFT (11U)
29845/*! SRAM_IF11_APD - Array Power
29846 * 0b0..enable
29847 * 0b1..power down
29848 */
29849#define SYSCTL0_PDSLEEPCFG2_SRAM_IF11_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF11_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF11_APD_MASK)
29850#define SYSCTL0_PDSLEEPCFG2_SRAM_IF12_APD_MASK (0x1000U)
29851#define SYSCTL0_PDSLEEPCFG2_SRAM_IF12_APD_SHIFT (12U)
29852/*! SRAM_IF12_APD - Array Power
29853 * 0b0..enable
29854 * 0b1..power down
29855 */
29856#define SYSCTL0_PDSLEEPCFG2_SRAM_IF12_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF12_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF12_APD_MASK)
29857#define SYSCTL0_PDSLEEPCFG2_SRAM_IF13_APD_MASK (0x2000U)
29858#define SYSCTL0_PDSLEEPCFG2_SRAM_IF13_APD_SHIFT (13U)
29859/*! SRAM_IF13_APD - Array Power
29860 * 0b0..enable
29861 * 0b1..power down
29862 */
29863#define SYSCTL0_PDSLEEPCFG2_SRAM_IF13_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF13_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF13_APD_MASK)
29864#define SYSCTL0_PDSLEEPCFG2_SRAM_IF14_APD_MASK (0x4000U)
29865#define SYSCTL0_PDSLEEPCFG2_SRAM_IF14_APD_SHIFT (14U)
29866/*! SRAM_IF14_APD - Array Power
29867 * 0b0..enable
29868 * 0b1..power down
29869 */
29870#define SYSCTL0_PDSLEEPCFG2_SRAM_IF14_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF14_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF14_APD_MASK)
29871#define SYSCTL0_PDSLEEPCFG2_SRAM_IF15_APD_MASK (0x8000U)
29872#define SYSCTL0_PDSLEEPCFG2_SRAM_IF15_APD_SHIFT (15U)
29873/*! SRAM_IF15_APD - Array Power
29874 * 0b0..enable
29875 * 0b1..power down
29876 */
29877#define SYSCTL0_PDSLEEPCFG2_SRAM_IF15_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF15_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF15_APD_MASK)
29878#define SYSCTL0_PDSLEEPCFG2_SRAM_IF16_APD_MASK (0x10000U)
29879#define SYSCTL0_PDSLEEPCFG2_SRAM_IF16_APD_SHIFT (16U)
29880/*! SRAM_IF16_APD - Array Power
29881 * 0b0..enable
29882 * 0b1..power down
29883 */
29884#define SYSCTL0_PDSLEEPCFG2_SRAM_IF16_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF16_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF16_APD_MASK)
29885#define SYSCTL0_PDSLEEPCFG2_SRAM_IF17_APD_MASK (0x20000U)
29886#define SYSCTL0_PDSLEEPCFG2_SRAM_IF17_APD_SHIFT (17U)
29887/*! SRAM_IF17_APD - Array Power
29888 * 0b0..enable
29889 * 0b1..power down
29890 */
29891#define SYSCTL0_PDSLEEPCFG2_SRAM_IF17_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF17_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF17_APD_MASK)
29892#define SYSCTL0_PDSLEEPCFG2_SRAM_IF18_APD_MASK (0x40000U)
29893#define SYSCTL0_PDSLEEPCFG2_SRAM_IF18_APD_SHIFT (18U)
29894/*! SRAM_IF18_APD - Array Power
29895 * 0b0..enable
29896 * 0b1..power down
29897 */
29898#define SYSCTL0_PDSLEEPCFG2_SRAM_IF18_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF18_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF18_APD_MASK)
29899#define SYSCTL0_PDSLEEPCFG2_SRAM_IF19_APD_MASK (0x80000U)
29900#define SYSCTL0_PDSLEEPCFG2_SRAM_IF19_APD_SHIFT (19U)
29901/*! SRAM_IF19_APD - Array Power
29902 * 0b0..enable
29903 * 0b1..power down
29904 */
29905#define SYSCTL0_PDSLEEPCFG2_SRAM_IF19_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF19_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF19_APD_MASK)
29906#define SYSCTL0_PDSLEEPCFG2_SRAM_IF20_APD_MASK (0x100000U)
29907#define SYSCTL0_PDSLEEPCFG2_SRAM_IF20_APD_SHIFT (20U)
29908/*! SRAM_IF20_APD - Array Power
29909 * 0b0..enable
29910 * 0b1..power down
29911 */
29912#define SYSCTL0_PDSLEEPCFG2_SRAM_IF20_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF20_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF20_APD_MASK)
29913#define SYSCTL0_PDSLEEPCFG2_SRAM_IF21_APD_MASK (0x200000U)
29914#define SYSCTL0_PDSLEEPCFG2_SRAM_IF21_APD_SHIFT (21U)
29915/*! SRAM_IF21_APD - Array Power
29916 * 0b0..enable
29917 * 0b1..power down
29918 */
29919#define SYSCTL0_PDSLEEPCFG2_SRAM_IF21_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF21_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF21_APD_MASK)
29920#define SYSCTL0_PDSLEEPCFG2_SRAM_IF22_APD_MASK (0x400000U)
29921#define SYSCTL0_PDSLEEPCFG2_SRAM_IF22_APD_SHIFT (22U)
29922/*! SRAM_IF22_APD - Array Power
29923 * 0b0..enable
29924 * 0b1..power down
29925 */
29926#define SYSCTL0_PDSLEEPCFG2_SRAM_IF22_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF22_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF22_APD_MASK)
29927#define SYSCTL0_PDSLEEPCFG2_SRAM_IF23_APD_MASK (0x800000U)
29928#define SYSCTL0_PDSLEEPCFG2_SRAM_IF23_APD_SHIFT (23U)
29929/*! SRAM_IF23_APD - Array Power
29930 * 0b0..enable
29931 * 0b1..power down
29932 */
29933#define SYSCTL0_PDSLEEPCFG2_SRAM_IF23_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF23_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF23_APD_MASK)
29934#define SYSCTL0_PDSLEEPCFG2_SRAM_IF24_APD_MASK (0x1000000U)
29935#define SYSCTL0_PDSLEEPCFG2_SRAM_IF24_APD_SHIFT (24U)
29936/*! SRAM_IF24_APD - Array Power
29937 * 0b0..enable
29938 * 0b1..power down
29939 */
29940#define SYSCTL0_PDSLEEPCFG2_SRAM_IF24_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF24_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF24_APD_MASK)
29941#define SYSCTL0_PDSLEEPCFG2_SRAM_IF25_APD_MASK (0x2000000U)
29942#define SYSCTL0_PDSLEEPCFG2_SRAM_IF25_APD_SHIFT (25U)
29943/*! SRAM_IF25_APD - Array Power
29944 * 0b0..enable
29945 * 0b1..power down
29946 */
29947#define SYSCTL0_PDSLEEPCFG2_SRAM_IF25_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF25_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF25_APD_MASK)
29948#define SYSCTL0_PDSLEEPCFG2_SRAM_IF26_APD_MASK (0x4000000U)
29949#define SYSCTL0_PDSLEEPCFG2_SRAM_IF26_APD_SHIFT (26U)
29950/*! SRAM_IF26_APD - Array Power
29951 * 0b0..enable
29952 * 0b1..power down
29953 */
29954#define SYSCTL0_PDSLEEPCFG2_SRAM_IF26_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF26_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF26_APD_MASK)
29955#define SYSCTL0_PDSLEEPCFG2_SRAM_IF27_APD_MASK (0x8000000U)
29956#define SYSCTL0_PDSLEEPCFG2_SRAM_IF27_APD_SHIFT (27U)
29957/*! SRAM_IF27_APD - Array Power
29958 * 0b0..enable
29959 * 0b1..power down
29960 */
29961#define SYSCTL0_PDSLEEPCFG2_SRAM_IF27_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF27_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF27_APD_MASK)
29962#define SYSCTL0_PDSLEEPCFG2_SRAM_IF28_APD_MASK (0x10000000U)
29963#define SYSCTL0_PDSLEEPCFG2_SRAM_IF28_APD_SHIFT (28U)
29964/*! SRAM_IF28_APD - Array Power
29965 * 0b0..enable
29966 * 0b1..power down
29967 */
29968#define SYSCTL0_PDSLEEPCFG2_SRAM_IF28_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF28_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF28_APD_MASK)
29969#define SYSCTL0_PDSLEEPCFG2_SRAM_IF29_APD_MASK (0x20000000U)
29970#define SYSCTL0_PDSLEEPCFG2_SRAM_IF29_APD_SHIFT (29U)
29971/*! SRAM_IF29_APD - Array Power
29972 * 0b0..enable
29973 * 0b1..power down
29974 */
29975#define SYSCTL0_PDSLEEPCFG2_SRAM_IF29_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG2_SRAM_IF29_APD_SHIFT)) & SYSCTL0_PDSLEEPCFG2_SRAM_IF29_APD_MASK)
29976/*! @} */
29977
29978/*! @name PDSLEEPCFG3 - Sleep configuration 3 */
29979/*! @{ */
29980#define SYSCTL0_PDSLEEPCFG3_SRAM_IF0_PPD_MASK (0x1U)
29981#define SYSCTL0_PDSLEEPCFG3_SRAM_IF0_PPD_SHIFT (0U)
29982/*! SRAM_IF0_PPD - Periph Power
29983 * 0b0..enable
29984 * 0b1..power down
29985 */
29986#define SYSCTL0_PDSLEEPCFG3_SRAM_IF0_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF0_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF0_PPD_MASK)
29987#define SYSCTL0_PDSLEEPCFG3_SRAM_IF1_PPD_MASK (0x2U)
29988#define SYSCTL0_PDSLEEPCFG3_SRAM_IF1_PPD_SHIFT (1U)
29989/*! SRAM_IF1_PPD - Periph Power
29990 * 0b0..enable
29991 * 0b1..power down
29992 */
29993#define SYSCTL0_PDSLEEPCFG3_SRAM_IF1_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF1_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF1_PPD_MASK)
29994#define SYSCTL0_PDSLEEPCFG3_SRAM_IF2_PPD_MASK (0x4U)
29995#define SYSCTL0_PDSLEEPCFG3_SRAM_IF2_PPD_SHIFT (2U)
29996/*! SRAM_IF2_PPD - Periph Power
29997 * 0b0..enable
29998 * 0b1..power down
29999 */
30000#define SYSCTL0_PDSLEEPCFG3_SRAM_IF2_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF2_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF2_PPD_MASK)
30001#define SYSCTL0_PDSLEEPCFG3_SRAM_IF3_PPD_MASK (0x8U)
30002#define SYSCTL0_PDSLEEPCFG3_SRAM_IF3_PPD_SHIFT (3U)
30003/*! SRAM_IF3_PPD - Periph Power
30004 * 0b0..enable
30005 * 0b1..power down
30006 */
30007#define SYSCTL0_PDSLEEPCFG3_SRAM_IF3_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF3_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF3_PPD_MASK)
30008#define SYSCTL0_PDSLEEPCFG3_SRAM_IF4_PPD_MASK (0x10U)
30009#define SYSCTL0_PDSLEEPCFG3_SRAM_IF4_PPD_SHIFT (4U)
30010/*! SRAM_IF4_PPD - Periph Power
30011 * 0b0..enable
30012 * 0b1..power down
30013 */
30014#define SYSCTL0_PDSLEEPCFG3_SRAM_IF4_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF4_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF4_PPD_MASK)
30015#define SYSCTL0_PDSLEEPCFG3_SRAM_IF5_PPD_MASK (0x20U)
30016#define SYSCTL0_PDSLEEPCFG3_SRAM_IF5_PPD_SHIFT (5U)
30017/*! SRAM_IF5_PPD - Periph Power
30018 * 0b0..enable
30019 * 0b1..power down
30020 */
30021#define SYSCTL0_PDSLEEPCFG3_SRAM_IF5_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF5_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF5_PPD_MASK)
30022#define SYSCTL0_PDSLEEPCFG3_SRAM_IF6_PPD_MASK (0x40U)
30023#define SYSCTL0_PDSLEEPCFG3_SRAM_IF6_PPD_SHIFT (6U)
30024/*! SRAM_IF6_PPD - Periph Power
30025 * 0b0..enable
30026 * 0b1..power down
30027 */
30028#define SYSCTL0_PDSLEEPCFG3_SRAM_IF6_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF6_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF6_PPD_MASK)
30029#define SYSCTL0_PDSLEEPCFG3_SRAM_IF7_PPD_MASK (0x80U)
30030#define SYSCTL0_PDSLEEPCFG3_SRAM_IF7_PPD_SHIFT (7U)
30031/*! SRAM_IF7_PPD - Periph Power
30032 * 0b0..enable
30033 * 0b1..power down
30034 */
30035#define SYSCTL0_PDSLEEPCFG3_SRAM_IF7_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF7_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF7_PPD_MASK)
30036#define SYSCTL0_PDSLEEPCFG3_SRAM_IF8_PPD_MASK (0x100U)
30037#define SYSCTL0_PDSLEEPCFG3_SRAM_IF8_PPD_SHIFT (8U)
30038/*! SRAM_IF8_PPD - Periph Power
30039 * 0b0..enable
30040 * 0b1..power down
30041 */
30042#define SYSCTL0_PDSLEEPCFG3_SRAM_IF8_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF8_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF8_PPD_MASK)
30043#define SYSCTL0_PDSLEEPCFG3_SRAM_IF9_PPD_MASK (0x200U)
30044#define SYSCTL0_PDSLEEPCFG3_SRAM_IF9_PPD_SHIFT (9U)
30045/*! SRAM_IF9_PPD - Periph Power
30046 * 0b0..enable
30047 * 0b1..power down
30048 */
30049#define SYSCTL0_PDSLEEPCFG3_SRAM_IF9_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF9_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF9_PPD_MASK)
30050#define SYSCTL0_PDSLEEPCFG3_SRAM_IF10_PPD_MASK (0x400U)
30051#define SYSCTL0_PDSLEEPCFG3_SRAM_IF10_PPD_SHIFT (10U)
30052/*! SRAM_IF10_PPD - Periph Power
30053 * 0b0..enable
30054 * 0b1..power down
30055 */
30056#define SYSCTL0_PDSLEEPCFG3_SRAM_IF10_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF10_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF10_PPD_MASK)
30057#define SYSCTL0_PDSLEEPCFG3_SRAM_IF11_PPD_MASK (0x800U)
30058#define SYSCTL0_PDSLEEPCFG3_SRAM_IF11_PPD_SHIFT (11U)
30059/*! SRAM_IF11_PPD - Periph Power
30060 * 0b0..enable
30061 * 0b1..power down
30062 */
30063#define SYSCTL0_PDSLEEPCFG3_SRAM_IF11_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF11_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF11_PPD_MASK)
30064#define SYSCTL0_PDSLEEPCFG3_SRAM_IF12_PPD_MASK (0x1000U)
30065#define SYSCTL0_PDSLEEPCFG3_SRAM_IF12_PPD_SHIFT (12U)
30066/*! SRAM_IF12_PPD - Periph Power
30067 * 0b0..enable
30068 * 0b1..power down
30069 */
30070#define SYSCTL0_PDSLEEPCFG3_SRAM_IF12_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF12_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF12_PPD_MASK)
30071#define SYSCTL0_PDSLEEPCFG3_SRAM_IF13_PPD_MASK (0x2000U)
30072#define SYSCTL0_PDSLEEPCFG3_SRAM_IF13_PPD_SHIFT (13U)
30073/*! SRAM_IF13_PPD - Periph Power
30074 * 0b0..enable
30075 * 0b1..power down
30076 */
30077#define SYSCTL0_PDSLEEPCFG3_SRAM_IF13_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF13_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF13_PPD_MASK)
30078#define SYSCTL0_PDSLEEPCFG3_SRAM_IF14_PPD_MASK (0x4000U)
30079#define SYSCTL0_PDSLEEPCFG3_SRAM_IF14_PPD_SHIFT (14U)
30080/*! SRAM_IF14_PPD - Periph Power
30081 * 0b0..enable
30082 * 0b1..power down
30083 */
30084#define SYSCTL0_PDSLEEPCFG3_SRAM_IF14_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF14_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF14_PPD_MASK)
30085#define SYSCTL0_PDSLEEPCFG3_SRAM_IF15_PPD_MASK (0x8000U)
30086#define SYSCTL0_PDSLEEPCFG3_SRAM_IF15_PPD_SHIFT (15U)
30087/*! SRAM_IF15_PPD - Periph Power
30088 * 0b0..enable
30089 * 0b1..power down
30090 */
30091#define SYSCTL0_PDSLEEPCFG3_SRAM_IF15_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF15_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF15_PPD_MASK)
30092#define SYSCTL0_PDSLEEPCFG3_SRAM_IF16_PPD_MASK (0x10000U)
30093#define SYSCTL0_PDSLEEPCFG3_SRAM_IF16_PPD_SHIFT (16U)
30094/*! SRAM_IF16_PPD - Periph Power
30095 * 0b0..enable
30096 * 0b1..power down
30097 */
30098#define SYSCTL0_PDSLEEPCFG3_SRAM_IF16_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF16_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF16_PPD_MASK)
30099#define SYSCTL0_PDSLEEPCFG3_SRAM_IF17_PPD_MASK (0x20000U)
30100#define SYSCTL0_PDSLEEPCFG3_SRAM_IF17_PPD_SHIFT (17U)
30101/*! SRAM_IF17_PPD - Periph Power
30102 * 0b0..enable
30103 * 0b1..power down
30104 */
30105#define SYSCTL0_PDSLEEPCFG3_SRAM_IF17_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF17_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF17_PPD_MASK)
30106#define SYSCTL0_PDSLEEPCFG3_SRAM_IF18_PPD_MASK (0x40000U)
30107#define SYSCTL0_PDSLEEPCFG3_SRAM_IF18_PPD_SHIFT (18U)
30108/*! SRAM_IF18_PPD - Periph Power
30109 * 0b0..enable
30110 * 0b1..power down
30111 */
30112#define SYSCTL0_PDSLEEPCFG3_SRAM_IF18_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF18_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF18_PPD_MASK)
30113#define SYSCTL0_PDSLEEPCFG3_SRAM_IF19_PPD_MASK (0x80000U)
30114#define SYSCTL0_PDSLEEPCFG3_SRAM_IF19_PPD_SHIFT (19U)
30115/*! SRAM_IF19_PPD - Periph Power
30116 * 0b0..enable
30117 * 0b1..power down
30118 */
30119#define SYSCTL0_PDSLEEPCFG3_SRAM_IF19_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF19_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF19_PPD_MASK)
30120#define SYSCTL0_PDSLEEPCFG3_SRAM_IF20_PPD_MASK (0x100000U)
30121#define SYSCTL0_PDSLEEPCFG3_SRAM_IF20_PPD_SHIFT (20U)
30122/*! SRAM_IF20_PPD - Periph Power
30123 * 0b0..enable
30124 * 0b1..power down
30125 */
30126#define SYSCTL0_PDSLEEPCFG3_SRAM_IF20_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF20_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF20_PPD_MASK)
30127#define SYSCTL0_PDSLEEPCFG3_SRAM_IF21_PPD_MASK (0x200000U)
30128#define SYSCTL0_PDSLEEPCFG3_SRAM_IF21_PPD_SHIFT (21U)
30129/*! SRAM_IF21_PPD - Periph Power
30130 * 0b0..enable
30131 * 0b1..power down
30132 */
30133#define SYSCTL0_PDSLEEPCFG3_SRAM_IF21_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF21_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF21_PPD_MASK)
30134#define SYSCTL0_PDSLEEPCFG3_SRAM_IF22_PPD_MASK (0x400000U)
30135#define SYSCTL0_PDSLEEPCFG3_SRAM_IF22_PPD_SHIFT (22U)
30136/*! SRAM_IF22_PPD - Periph Power
30137 * 0b0..enable
30138 * 0b1..power down
30139 */
30140#define SYSCTL0_PDSLEEPCFG3_SRAM_IF22_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF22_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF22_PPD_MASK)
30141#define SYSCTL0_PDSLEEPCFG3_SRAM_IF23_PPD_MASK (0x800000U)
30142#define SYSCTL0_PDSLEEPCFG3_SRAM_IF23_PPD_SHIFT (23U)
30143/*! SRAM_IF23_PPD - Periph Power
30144 * 0b0..enable
30145 * 0b1..power down
30146 */
30147#define SYSCTL0_PDSLEEPCFG3_SRAM_IF23_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF23_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF23_PPD_MASK)
30148#define SYSCTL0_PDSLEEPCFG3_SRAM_IF24_PPD_MASK (0x1000000U)
30149#define SYSCTL0_PDSLEEPCFG3_SRAM_IF24_PPD_SHIFT (24U)
30150/*! SRAM_IF24_PPD - Periph Power
30151 * 0b0..enable
30152 * 0b1..power down
30153 */
30154#define SYSCTL0_PDSLEEPCFG3_SRAM_IF24_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF24_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF24_PPD_MASK)
30155#define SYSCTL0_PDSLEEPCFG3_SRAM_IF25_PPD_MASK (0x2000000U)
30156#define SYSCTL0_PDSLEEPCFG3_SRAM_IF25_PPD_SHIFT (25U)
30157/*! SRAM_IF25_PPD - Periph Power
30158 * 0b0..enable
30159 * 0b1..power down
30160 */
30161#define SYSCTL0_PDSLEEPCFG3_SRAM_IF25_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF25_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF25_PPD_MASK)
30162#define SYSCTL0_PDSLEEPCFG3_SRAM_IF26_PPD_MASK (0x4000000U)
30163#define SYSCTL0_PDSLEEPCFG3_SRAM_IF26_PPD_SHIFT (26U)
30164/*! SRAM_IF26_PPD - Periph Power
30165 * 0b0..enable
30166 * 0b1..power down
30167 */
30168#define SYSCTL0_PDSLEEPCFG3_SRAM_IF26_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF26_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF26_PPD_MASK)
30169#define SYSCTL0_PDSLEEPCFG3_SRAM_IF27_PPD_MASK (0x8000000U)
30170#define SYSCTL0_PDSLEEPCFG3_SRAM_IF27_PPD_SHIFT (27U)
30171/*! SRAM_IF27_PPD - Periph Power
30172 * 0b0..enable
30173 * 0b1..power down
30174 */
30175#define SYSCTL0_PDSLEEPCFG3_SRAM_IF27_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF27_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF27_PPD_MASK)
30176#define SYSCTL0_PDSLEEPCFG3_SRAM_IF28_PPD_MASK (0x10000000U)
30177#define SYSCTL0_PDSLEEPCFG3_SRAM_IF28_PPD_SHIFT (28U)
30178/*! SRAM_IF28_PPD - Periph Power
30179 * 0b0..enable
30180 * 0b1..power down
30181 */
30182#define SYSCTL0_PDSLEEPCFG3_SRAM_IF28_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF28_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF28_PPD_MASK)
30183#define SYSCTL0_PDSLEEPCFG3_SRAM_IF29_PPD_MASK (0x20000000U)
30184#define SYSCTL0_PDSLEEPCFG3_SRAM_IF29_PPD_SHIFT (29U)
30185/*! SRAM_IF29_PPD - Periph Power
30186 * 0b0..enable
30187 * 0b1..power down
30188 */
30189#define SYSCTL0_PDSLEEPCFG3_SRAM_IF29_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDSLEEPCFG3_SRAM_IF29_PPD_SHIFT)) & SYSCTL0_PDSLEEPCFG3_SRAM_IF29_PPD_MASK)
30190/*! @} */
30191
30192/*! @name PDRUNCFG0 - Run configuration 0 */
30193/*! @{ */
30194#define SYSCTL0_PDRUNCFG0_PMIC_MODE0_MASK (0x2U)
30195#define SYSCTL0_PDRUNCFG0_PMIC_MODE0_SHIFT (1U)
30196/*! PMIC_MODE0
30197 * 0b0..Set Mode0 to 0.
30198 * 0b1..Set Mode0 to 1.
30199 */
30200#define SYSCTL0_PDRUNCFG0_PMIC_MODE0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_PMIC_MODE0_SHIFT)) & SYSCTL0_PDRUNCFG0_PMIC_MODE0_MASK)
30201#define SYSCTL0_PDRUNCFG0_PMIC_MODE1_MASK (0x4U)
30202#define SYSCTL0_PDRUNCFG0_PMIC_MODE1_SHIFT (2U)
30203/*! PMIC_MODE1
30204 * 0b0..Set Mode1 to 0.
30205 * 0b1..Set Mode1 to 1.
30206 */
30207#define SYSCTL0_PDRUNCFG0_PMIC_MODE1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_PMIC_MODE1_SHIFT)) & SYSCTL0_PDRUNCFG0_PMIC_MODE1_MASK)
30208#define SYSCTL0_PDRUNCFG0_VDDCOREREG_LP_MASK (0x10U)
30209#define SYSCTL0_PDRUNCFG0_VDDCOREREG_LP_SHIFT (4U)
30210/*! VDDCOREREG_LP
30211 * 0b0..VDDCOREREG HP Mode
30212 * 0b1..LP Mode
30213 */
30214#define SYSCTL0_PDRUNCFG0_VDDCOREREG_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_VDDCOREREG_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_VDDCOREREG_LP_MASK)
30215#define SYSCTL0_PDRUNCFG0_PMCREF_LP_MASK (0x40U)
30216#define SYSCTL0_PDRUNCFG0_PMCREF_LP_SHIFT (6U)
30217/*! PMCREF_LP
30218 * 0b0..PMCREF HP Mode
30219 * 0b1..PMCREF LP Mode
30220 */
30221#define SYSCTL0_PDRUNCFG0_PMCREF_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_PMCREF_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_PMCREF_LP_MASK)
30222#define SYSCTL0_PDRUNCFG0_HVD1V8_PD_MASK (0x80U)
30223#define SYSCTL0_PDRUNCFG0_HVD1V8_PD_SHIFT (7U)
30224/*! HVD1V8_PD
30225 * 0b0..enabled
30226 * 0b1..power down
30227 */
30228#define SYSCTL0_PDRUNCFG0_HVD1V8_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_HVD1V8_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_HVD1V8_PD_MASK)
30229#define SYSCTL0_PDRUNCFG0_PORCORE_LP_MASK (0x100U)
30230#define SYSCTL0_PDRUNCFG0_PORCORE_LP_SHIFT (8U)
30231/*! PORCORE_LP
30232 * 0b0..LVD0V6 HP Mode
30233 * 0b1..LVD0V6 LP Mode
30234 */
30235#define SYSCTL0_PDRUNCFG0_PORCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_PORCORE_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_PORCORE_LP_MASK)
30236#define SYSCTL0_PDRUNCFG0_LVDCORE_LP_MASK (0x200U)
30237#define SYSCTL0_PDRUNCFG0_LVDCORE_LP_SHIFT (9U)
30238/*! LVDCORE_LP
30239 * 0b0..LVD0V85 HP Mode
30240 * 0b1..LVD0V85 LP Mode.
30241 */
30242#define SYSCTL0_PDRUNCFG0_LVDCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_LVDCORE_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_LVDCORE_LP_MASK)
30243#define SYSCTL0_PDRUNCFG0_HVDCORE_PD_MASK (0x400U)
30244#define SYSCTL0_PDRUNCFG0_HVDCORE_PD_SHIFT (10U)
30245/*! HVDCORE_PD
30246 * 0b0..enabled
30247 * 0b1..power down
30248 */
30249#define SYSCTL0_PDRUNCFG0_HVDCORE_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_HVDCORE_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_HVDCORE_PD_MASK)
30250#define SYSCTL0_PDRUNCFG0_SYSXTAL_PD_MASK (0x2000U)
30251#define SYSCTL0_PDRUNCFG0_SYSXTAL_PD_SHIFT (13U)
30252/*! SYSXTAL_PD
30253 * 0b0..enabled
30254 * 0b1..power down
30255 */
30256#define SYSCTL0_PDRUNCFG0_SYSXTAL_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SYSXTAL_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SYSXTAL_PD_MASK)
30257#define SYSCTL0_PDRUNCFG0_LPOSC_PD_MASK (0x4000U)
30258#define SYSCTL0_PDRUNCFG0_LPOSC_PD_SHIFT (14U)
30259/*! LPOSC_PD
30260 * 0b0..enabled
30261 * 0b1..power down
30262 */
30263#define SYSCTL0_PDRUNCFG0_LPOSC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_LPOSC_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_LPOSC_PD_MASK)
30264#define SYSCTL0_PDRUNCFG0_SFRO_PD_MASK (0x8000U)
30265#define SYSCTL0_PDRUNCFG0_SFRO_PD_SHIFT (15U)
30266/*! SFRO_PD
30267 * 0b0..enabled
30268 * 0b1..power down
30269 */
30270#define SYSCTL0_PDRUNCFG0_SFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SFRO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SFRO_PD_MASK)
30271#define SYSCTL0_PDRUNCFG0_FFRO_PD_MASK (0x10000U)
30272#define SYSCTL0_PDRUNCFG0_FFRO_PD_SHIFT (16U)
30273/*! FFRO_PD
30274 * 0b0..enabled
30275 * 0b1..power down
30276 */
30277#define SYSCTL0_PDRUNCFG0_FFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_FFRO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_FFRO_PD_MASK)
30278#define SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK (0x20000U)
30279#define SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_SHIFT (17U)
30280/*! SYSPLLLDO_PD
30281 * 0b0..enabled
30282 * 0b1..power down
30283 */
30284#define SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK)
30285#define SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK (0x40000U)
30286#define SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_SHIFT (18U)
30287/*! SYSPLLANA_PD
30288 * 0b0..enabled
30289 * 0b1..power down
30290 */
30291#define SYSCTL0_PDRUNCFG0_SYSPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK)
30292#define SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK (0x80000U)
30293#define SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_SHIFT (19U)
30294/*! AUDPLLLDO_PD
30295 * 0b0..enabled
30296 * 0b1..power down
30297 */
30298#define SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK)
30299#define SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK (0x100000U)
30300#define SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_SHIFT (20U)
30301/*! AUDPLLANA_PD
30302 * 0b0..enabled
30303 * 0b1..power down
30304 */
30305#define SYSCTL0_PDRUNCFG0_AUDPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK)
30306#define SYSCTL0_PDRUNCFG0_ADC_PD_MASK (0x200000U)
30307#define SYSCTL0_PDRUNCFG0_ADC_PD_SHIFT (21U)
30308/*! ADC_PD
30309 * 0b0..enabled
30310 * 0b1..power down
30311 */
30312#define SYSCTL0_PDRUNCFG0_ADC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_ADC_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_ADC_PD_MASK)
30313#define SYSCTL0_PDRUNCFG0_ADC_LP_MASK (0x400000U)
30314#define SYSCTL0_PDRUNCFG0_ADC_LP_SHIFT (22U)
30315/*! ADC_LP
30316 * 0b0..enabled
30317 * 0b1..power down
30318 */
30319#define SYSCTL0_PDRUNCFG0_ADC_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_ADC_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_ADC_LP_MASK)
30320#define SYSCTL0_PDRUNCFG0_ADCTEMPSNS_PD_MASK (0x800000U)
30321#define SYSCTL0_PDRUNCFG0_ADCTEMPSNS_PD_SHIFT (23U)
30322/*! ADCTEMPSNS_PD
30323 * 0b0..enabled
30324 * 0b1..power down
30325 */
30326#define SYSCTL0_PDRUNCFG0_ADCTEMPSNS_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_ADCTEMPSNS_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_ADCTEMPSNS_PD_MASK)
30327#define SYSCTL0_PDRUNCFG0_ACMP_PD_MASK (0x2000000U)
30328#define SYSCTL0_PDRUNCFG0_ACMP_PD_SHIFT (25U)
30329/*! ACMP_PD
30330 * 0b0..enabled
30331 * 0b1..power down
30332 */
30333#define SYSCTL0_PDRUNCFG0_ACMP_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_ACMP_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_ACMP_PD_MASK)
30334#define SYSCTL0_PDRUNCFG0_HSPAD0_VDET_LP_MASK (0x4000000U)
30335#define SYSCTL0_PDRUNCFG0_HSPAD0_VDET_LP_SHIFT (26U)
30336/*! HSPAD0_VDET_LP - High Speed Pad vdde0 voltage detect block
30337 * 0b0..High Speed Pad VDET in Normal Mode
30338 * 0b1..High Speed Pad VDET in Sleep Mode
30339 */
30340#define SYSCTL0_PDRUNCFG0_HSPAD0_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_HSPAD0_VDET_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_HSPAD0_VDET_LP_MASK)
30341#define SYSCTL0_PDRUNCFG0_HSPAD0_REF_PD_MASK (0x8000000U)
30342#define SYSCTL0_PDRUNCFG0_HSPAD0_REF_PD_SHIFT (27U)
30343/*! HSPAD0_REF_PD - High speed Pad vdde0 reference blocks
30344 * 0b0..High Speed Pad VREF Enabled
30345 * 0b1..High Speed Pad VREF in Power Down
30346 */
30347#define SYSCTL0_PDRUNCFG0_HSPAD0_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_HSPAD0_REF_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_HSPAD0_REF_PD_MASK)
30348#define SYSCTL0_PDRUNCFG0_HSPAD2_VDET_LP_MASK (0x10000000U)
30349#define SYSCTL0_PDRUNCFG0_HSPAD2_VDET_LP_SHIFT (28U)
30350/*! HSPAD2_VDET_LP - High Speed Pad vdde2 voltage detect block
30351 * 0b0..High Speed Pad VDET in Normal Mode
30352 * 0b1..High Speed Pad VDET in Sleep Mode
30353 */
30354#define SYSCTL0_PDRUNCFG0_HSPAD2_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_HSPAD2_VDET_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_HSPAD2_VDET_LP_MASK)
30355#define SYSCTL0_PDRUNCFG0_HSPAD2_REF_PD_MASK (0x20000000U)
30356#define SYSCTL0_PDRUNCFG0_HSPAD2_REF_PD_SHIFT (29U)
30357/*! HSPAD2_REF_PD - High speed Pad vdde2 reference blocks
30358 * 0b0..High Speed Pad VREF Enabled
30359 * 0b1..High Speed Pad VREF in Power Down
30360 */
30361#define SYSCTL0_PDRUNCFG0_HSPAD2_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_HSPAD2_REF_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_HSPAD2_REF_PD_MASK)
30362/*! @} */
30363
30364/*! @name PDRUNCFG1 - Run configuration 1 */
30365/*! @{ */
30366#define SYSCTL0_PDRUNCFG1_PQ_SRAM_APD_MASK (0x1U)
30367#define SYSCTL0_PDRUNCFG1_PQ_SRAM_APD_SHIFT (0U)
30368/*! PQ_SRAM_APD - Array power
30369 * 0b0..enable
30370 * 0b1..power down
30371 */
30372#define SYSCTL0_PDRUNCFG1_PQ_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_PQ_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_PQ_SRAM_APD_MASK)
30373#define SYSCTL0_PDRUNCFG1_PQ_SRAM_PPD_MASK (0x2U)
30374#define SYSCTL0_PDRUNCFG1_PQ_SRAM_PPD_SHIFT (1U)
30375/*! PQ_SRAM_PPD - Peiph power
30376 * 0b0..enable
30377 * 0b1..power down
30378 */
30379#define SYSCTL0_PDRUNCFG1_PQ_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_PQ_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_PQ_SRAM_PPD_MASK)
30380#define SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_APD_MASK (0x4U)
30381#define SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_APD_SHIFT (2U)
30382/*! FLEXSPI_SRAM_APD - Array power
30383 * 0b0..enable
30384 * 0b1..power down
30385 */
30386#define SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_APD_MASK)
30387#define SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_PPD_MASK (0x8U)
30388#define SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_PPD_SHIFT (3U)
30389/*! FLEXSPI_SRAM_PPD - Peiph power
30390 * 0b0..enable
30391 * 0b1..power down
30392 */
30393#define SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_FLEXSPI_SRAM_PPD_MASK)
30394#define SYSCTL0_PDRUNCFG1_USBHS_SRAM_APD_MASK (0x10U)
30395#define SYSCTL0_PDRUNCFG1_USBHS_SRAM_APD_SHIFT (4U)
30396/*! USBHS_SRAM_APD - Array power
30397 * 0b0..enable
30398 * 0b1..power down
30399 */
30400#define SYSCTL0_PDRUNCFG1_USBHS_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_USBHS_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_USBHS_SRAM_APD_MASK)
30401#define SYSCTL0_PDRUNCFG1_USBHS_SRAM_PPD_MASK (0x20U)
30402#define SYSCTL0_PDRUNCFG1_USBHS_SRAM_PPD_SHIFT (5U)
30403/*! USBHS_SRAM_PPD - Peiph power
30404 * 0b0..enable
30405 * 0b1..power down
30406 */
30407#define SYSCTL0_PDRUNCFG1_USBHS_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_USBHS_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_USBHS_SRAM_PPD_MASK)
30408#define SYSCTL0_PDRUNCFG1_USDHC0_SRAM_APD_MASK (0x40U)
30409#define SYSCTL0_PDRUNCFG1_USDHC0_SRAM_APD_SHIFT (6U)
30410/*! USDHC0_SRAM_APD - Array power
30411 * 0b0..enable
30412 * 0b1..power down
30413 */
30414#define SYSCTL0_PDRUNCFG1_USDHC0_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_USDHC0_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_USDHC0_SRAM_APD_MASK)
30415#define SYSCTL0_PDRUNCFG1_USDHC0_SRAM_PPD_MASK (0x80U)
30416#define SYSCTL0_PDRUNCFG1_USDHC0_SRAM_PPD_SHIFT (7U)
30417/*! USDHC0_SRAM_PPD - Peiph power
30418 * 0b0..enable
30419 * 0b1..power down
30420 */
30421#define SYSCTL0_PDRUNCFG1_USDHC0_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_USDHC0_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_USDHC0_SRAM_PPD_MASK)
30422#define SYSCTL0_PDRUNCFG1_USDHC1_SRAM_APD_MASK (0x100U)
30423#define SYSCTL0_PDRUNCFG1_USDHC1_SRAM_APD_SHIFT (8U)
30424/*! USDHC1_SRAM_APD - Array power
30425 * 0b0..enable
30426 * 0b1..power down
30427 */
30428#define SYSCTL0_PDRUNCFG1_USDHC1_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_USDHC1_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_USDHC1_SRAM_APD_MASK)
30429#define SYSCTL0_PDRUNCFG1_USDHC1_SRAM_PPD_MASK (0x200U)
30430#define SYSCTL0_PDRUNCFG1_USDHC1_SRAM_PPD_SHIFT (9U)
30431/*! USDHC1_SRAM_PPD - Peiph power
30432 * 0b0..enable
30433 * 0b1..power down
30434 */
30435#define SYSCTL0_PDRUNCFG1_USDHC1_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_USDHC1_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_USDHC1_SRAM_PPD_MASK)
30436#define SYSCTL0_PDRUNCFG1_CASPER_SRAM_APD_MASK (0x400U)
30437#define SYSCTL0_PDRUNCFG1_CASPER_SRAM_APD_SHIFT (10U)
30438/*! CASPER_SRAM_APD - Array power
30439 * 0b0..enable
30440 * 0b1..power down
30441 */
30442#define SYSCTL0_PDRUNCFG1_CASPER_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CASPER_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CASPER_SRAM_APD_MASK)
30443#define SYSCTL0_PDRUNCFG1_CASPER_SRAM_PPD_MASK (0x800U)
30444#define SYSCTL0_PDRUNCFG1_CASPER_SRAM_PPD_SHIFT (11U)
30445/*! CASPER_SRAM_PPD - Peiph power
30446 * 0b0..enable
30447 * 0b1..power down
30448 */
30449#define SYSCTL0_PDRUNCFG1_CASPER_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CASPER_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CASPER_SRAM_PPD_MASK)
30450#define SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_APD_MASK (0x1000000U)
30451#define SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_APD_SHIFT (24U)
30452/*! DSPCACHE_REGF_APD - Array power
30453 * 0b0..enable
30454 * 0b1..power down
30455 */
30456#define SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_APD_MASK)
30457#define SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_PPD_MASK (0x2000000U)
30458#define SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_PPD_SHIFT (25U)
30459/*! DSPCACHE_REGF_PPD - Peiph power
30460 * 0b0..enable
30461 * 0b1..power down
30462 */
30463#define SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_PPD_MASK)
30464#define SYSCTL0_PDRUNCFG1_DSPTCM_REGF_APD_MASK (0x4000000U)
30465#define SYSCTL0_PDRUNCFG1_DSPTCM_REGF_APD_SHIFT (26U)
30466/*! DSPTCM_REGF_APD - Array power
30467 * 0b0..enable
30468 * 0b1..power down
30469 */
30470#define SYSCTL0_PDRUNCFG1_DSPTCM_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_DSPTCM_REGF_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_DSPTCM_REGF_APD_MASK)
30471#define SYSCTL0_PDRUNCFG1_DSPTCM_REGF_PPD_MASK (0x8000000U)
30472#define SYSCTL0_PDRUNCFG1_DSPTCM_REGF_PPD_SHIFT (27U)
30473/*! DSPTCM_REGF_PPD - Peiph power
30474 * 0b0..enable
30475 * 0b1..power down
30476 */
30477#define SYSCTL0_PDRUNCFG1_DSPTCM_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_DSPTCM_REGF_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_DSPTCM_REGF_PPD_MASK)
30478#define SYSCTL0_PDRUNCFG1_ROM_PD_MASK (0x10000000U)
30479#define SYSCTL0_PDRUNCFG1_ROM_PD_SHIFT (28U)
30480/*! ROM_PD - array power and periph power
30481 * 0b0..enable
30482 * 0b1..power down
30483 */
30484#define SYSCTL0_PDRUNCFG1_ROM_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_ROM_PD_SHIFT)) & SYSCTL0_PDRUNCFG1_ROM_PD_MASK)
30485#define SYSCTL0_PDRUNCFG1_SRAM_SLEEP_MASK (0x80000000U)
30486#define SYSCTL0_PDRUNCFG1_SRAM_SLEEP_SHIFT (31U)
30487/*! SRAM_SLEEP
30488 * 0b0..RAM Normal Mode
30489 * 0b1..RAM Sleep Mode.
30490 */
30491#define SYSCTL0_PDRUNCFG1_SRAM_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SRAM_SLEEP_SHIFT)) & SYSCTL0_PDRUNCFG1_SRAM_SLEEP_MASK)
30492/*! @} */
30493
30494/*! @name PDRUNCFG2 - Run configuration 2 */
30495/*! @{ */
30496#define SYSCTL0_PDRUNCFG2_SRAM_IF0_APD_MASK (0x1U)
30497#define SYSCTL0_PDRUNCFG2_SRAM_IF0_APD_SHIFT (0U)
30498/*! SRAM_IF0_APD - Array Power
30499 * 0b0..enable
30500 * 0b1..power down
30501 */
30502#define SYSCTL0_PDRUNCFG2_SRAM_IF0_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF0_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF0_APD_MASK)
30503#define SYSCTL0_PDRUNCFG2_SRAM_IF1_APD_MASK (0x2U)
30504#define SYSCTL0_PDRUNCFG2_SRAM_IF1_APD_SHIFT (1U)
30505/*! SRAM_IF1_APD - Array Power
30506 * 0b0..enable
30507 * 0b1..power down
30508 */
30509#define SYSCTL0_PDRUNCFG2_SRAM_IF1_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF1_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF1_APD_MASK)
30510#define SYSCTL0_PDRUNCFG2_SRAM_IF2_APD_MASK (0x4U)
30511#define SYSCTL0_PDRUNCFG2_SRAM_IF2_APD_SHIFT (2U)
30512/*! SRAM_IF2_APD - Array Power
30513 * 0b0..enable
30514 * 0b1..power down
30515 */
30516#define SYSCTL0_PDRUNCFG2_SRAM_IF2_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF2_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF2_APD_MASK)
30517#define SYSCTL0_PDRUNCFG2_SRAM_IF3_APD_MASK (0x8U)
30518#define SYSCTL0_PDRUNCFG2_SRAM_IF3_APD_SHIFT (3U)
30519/*! SRAM_IF3_APD - Array Power
30520 * 0b0..enable
30521 * 0b1..power down
30522 */
30523#define SYSCTL0_PDRUNCFG2_SRAM_IF3_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF3_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF3_APD_MASK)
30524#define SYSCTL0_PDRUNCFG2_SRAM_IF4_APD_MASK (0x10U)
30525#define SYSCTL0_PDRUNCFG2_SRAM_IF4_APD_SHIFT (4U)
30526/*! SRAM_IF4_APD - Array Power
30527 * 0b0..enable
30528 * 0b1..power down
30529 */
30530#define SYSCTL0_PDRUNCFG2_SRAM_IF4_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF4_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF4_APD_MASK)
30531#define SYSCTL0_PDRUNCFG2_SRAM_IF5_APD_MASK (0x20U)
30532#define SYSCTL0_PDRUNCFG2_SRAM_IF5_APD_SHIFT (5U)
30533/*! SRAM_IF5_APD - Array Power
30534 * 0b0..enable
30535 * 0b1..power down
30536 */
30537#define SYSCTL0_PDRUNCFG2_SRAM_IF5_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF5_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF5_APD_MASK)
30538#define SYSCTL0_PDRUNCFG2_SRAM_IF6_APD_MASK (0x40U)
30539#define SYSCTL0_PDRUNCFG2_SRAM_IF6_APD_SHIFT (6U)
30540/*! SRAM_IF6_APD - Array Power
30541 * 0b0..enable
30542 * 0b1..power down
30543 */
30544#define SYSCTL0_PDRUNCFG2_SRAM_IF6_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF6_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF6_APD_MASK)
30545#define SYSCTL0_PDRUNCFG2_SRAM_IF7_APD_MASK (0x80U)
30546#define SYSCTL0_PDRUNCFG2_SRAM_IF7_APD_SHIFT (7U)
30547/*! SRAM_IF7_APD - Array Power
30548 * 0b0..enable
30549 * 0b1..power down
30550 */
30551#define SYSCTL0_PDRUNCFG2_SRAM_IF7_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF7_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF7_APD_MASK)
30552#define SYSCTL0_PDRUNCFG2_SRAM_IF8_APD_MASK (0x100U)
30553#define SYSCTL0_PDRUNCFG2_SRAM_IF8_APD_SHIFT (8U)
30554/*! SRAM_IF8_APD - Array Power
30555 * 0b0..enable
30556 * 0b1..power down
30557 */
30558#define SYSCTL0_PDRUNCFG2_SRAM_IF8_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF8_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF8_APD_MASK)
30559#define SYSCTL0_PDRUNCFG2_SRAM_IF9_APD_MASK (0x200U)
30560#define SYSCTL0_PDRUNCFG2_SRAM_IF9_APD_SHIFT (9U)
30561/*! SRAM_IF9_APD - Array Power
30562 * 0b0..enable
30563 * 0b1..power down
30564 */
30565#define SYSCTL0_PDRUNCFG2_SRAM_IF9_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF9_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF9_APD_MASK)
30566#define SYSCTL0_PDRUNCFG2_SRAM_IF10_APD_MASK (0x400U)
30567#define SYSCTL0_PDRUNCFG2_SRAM_IF10_APD_SHIFT (10U)
30568/*! SRAM_IF10_APD - Array Power
30569 * 0b0..enable
30570 * 0b1..power down
30571 */
30572#define SYSCTL0_PDRUNCFG2_SRAM_IF10_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF10_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF10_APD_MASK)
30573#define SYSCTL0_PDRUNCFG2_SRAM_IF11_APD_MASK (0x800U)
30574#define SYSCTL0_PDRUNCFG2_SRAM_IF11_APD_SHIFT (11U)
30575/*! SRAM_IF11_APD - Array Power
30576 * 0b0..enable
30577 * 0b1..power down
30578 */
30579#define SYSCTL0_PDRUNCFG2_SRAM_IF11_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF11_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF11_APD_MASK)
30580#define SYSCTL0_PDRUNCFG2_SRAM_IF12_APD_MASK (0x1000U)
30581#define SYSCTL0_PDRUNCFG2_SRAM_IF12_APD_SHIFT (12U)
30582/*! SRAM_IF12_APD - Array Power
30583 * 0b0..enable
30584 * 0b1..power down
30585 */
30586#define SYSCTL0_PDRUNCFG2_SRAM_IF12_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF12_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF12_APD_MASK)
30587#define SYSCTL0_PDRUNCFG2_SRAM_IF13_APD_MASK (0x2000U)
30588#define SYSCTL0_PDRUNCFG2_SRAM_IF13_APD_SHIFT (13U)
30589/*! SRAM_IF13_APD - Array Power
30590 * 0b0..enable
30591 * 0b1..power down
30592 */
30593#define SYSCTL0_PDRUNCFG2_SRAM_IF13_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF13_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF13_APD_MASK)
30594#define SYSCTL0_PDRUNCFG2_SRAM_IF14_APD_MASK (0x4000U)
30595#define SYSCTL0_PDRUNCFG2_SRAM_IF14_APD_SHIFT (14U)
30596/*! SRAM_IF14_APD - Array Power
30597 * 0b0..enable
30598 * 0b1..power down
30599 */
30600#define SYSCTL0_PDRUNCFG2_SRAM_IF14_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF14_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF14_APD_MASK)
30601#define SYSCTL0_PDRUNCFG2_SRAM_IF15_APD_MASK (0x8000U)
30602#define SYSCTL0_PDRUNCFG2_SRAM_IF15_APD_SHIFT (15U)
30603/*! SRAM_IF15_APD - Array Power
30604 * 0b0..enable
30605 * 0b1..power down
30606 */
30607#define SYSCTL0_PDRUNCFG2_SRAM_IF15_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF15_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF15_APD_MASK)
30608#define SYSCTL0_PDRUNCFG2_SRAM_IF16_APD_MASK (0x10000U)
30609#define SYSCTL0_PDRUNCFG2_SRAM_IF16_APD_SHIFT (16U)
30610/*! SRAM_IF16_APD - Array Power
30611 * 0b0..enable
30612 * 0b1..power down
30613 */
30614#define SYSCTL0_PDRUNCFG2_SRAM_IF16_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF16_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF16_APD_MASK)
30615#define SYSCTL0_PDRUNCFG2_SRAM_IF17_APD_MASK (0x20000U)
30616#define SYSCTL0_PDRUNCFG2_SRAM_IF17_APD_SHIFT (17U)
30617/*! SRAM_IF17_APD - Array Power
30618 * 0b0..enable
30619 * 0b1..power down
30620 */
30621#define SYSCTL0_PDRUNCFG2_SRAM_IF17_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF17_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF17_APD_MASK)
30622#define SYSCTL0_PDRUNCFG2_SRAM_IF18_APD_MASK (0x40000U)
30623#define SYSCTL0_PDRUNCFG2_SRAM_IF18_APD_SHIFT (18U)
30624/*! SRAM_IF18_APD - Array Power
30625 * 0b0..enable
30626 * 0b1..power down
30627 */
30628#define SYSCTL0_PDRUNCFG2_SRAM_IF18_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF18_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF18_APD_MASK)
30629#define SYSCTL0_PDRUNCFG2_SRAM_IF19_APD_MASK (0x80000U)
30630#define SYSCTL0_PDRUNCFG2_SRAM_IF19_APD_SHIFT (19U)
30631/*! SRAM_IF19_APD - Array Power
30632 * 0b0..enable
30633 * 0b1..power down
30634 */
30635#define SYSCTL0_PDRUNCFG2_SRAM_IF19_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF19_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF19_APD_MASK)
30636#define SYSCTL0_PDRUNCFG2_SRAM_IF20_APD_MASK (0x100000U)
30637#define SYSCTL0_PDRUNCFG2_SRAM_IF20_APD_SHIFT (20U)
30638/*! SRAM_IF20_APD - Array Power
30639 * 0b0..enable
30640 * 0b1..power down
30641 */
30642#define SYSCTL0_PDRUNCFG2_SRAM_IF20_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF20_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF20_APD_MASK)
30643#define SYSCTL0_PDRUNCFG2_SRAM_IF21_APD_MASK (0x200000U)
30644#define SYSCTL0_PDRUNCFG2_SRAM_IF21_APD_SHIFT (21U)
30645/*! SRAM_IF21_APD - Array Power
30646 * 0b0..enable
30647 * 0b1..power down
30648 */
30649#define SYSCTL0_PDRUNCFG2_SRAM_IF21_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF21_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF21_APD_MASK)
30650#define SYSCTL0_PDRUNCFG2_SRAM_IF22_APD_MASK (0x400000U)
30651#define SYSCTL0_PDRUNCFG2_SRAM_IF22_APD_SHIFT (22U)
30652/*! SRAM_IF22_APD - Array Power
30653 * 0b0..enable
30654 * 0b1..power down
30655 */
30656#define SYSCTL0_PDRUNCFG2_SRAM_IF22_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF22_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF22_APD_MASK)
30657#define SYSCTL0_PDRUNCFG2_SRAM_IF23_APD_MASK (0x800000U)
30658#define SYSCTL0_PDRUNCFG2_SRAM_IF23_APD_SHIFT (23U)
30659/*! SRAM_IF23_APD - Array Power
30660 * 0b0..enable
30661 * 0b1..power down
30662 */
30663#define SYSCTL0_PDRUNCFG2_SRAM_IF23_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF23_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF23_APD_MASK)
30664#define SYSCTL0_PDRUNCFG2_SRAM_IF24_APD_MASK (0x1000000U)
30665#define SYSCTL0_PDRUNCFG2_SRAM_IF24_APD_SHIFT (24U)
30666/*! SRAM_IF24_APD - Array Power
30667 * 0b0..enable
30668 * 0b1..power down
30669 */
30670#define SYSCTL0_PDRUNCFG2_SRAM_IF24_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF24_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF24_APD_MASK)
30671#define SYSCTL0_PDRUNCFG2_SRAM_IF25_APD_MASK (0x2000000U)
30672#define SYSCTL0_PDRUNCFG2_SRAM_IF25_APD_SHIFT (25U)
30673/*! SRAM_IF25_APD - Array Power
30674 * 0b0..enable
30675 * 0b1..power down
30676 */
30677#define SYSCTL0_PDRUNCFG2_SRAM_IF25_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF25_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF25_APD_MASK)
30678#define SYSCTL0_PDRUNCFG2_SRAM_IF26_APD_MASK (0x4000000U)
30679#define SYSCTL0_PDRUNCFG2_SRAM_IF26_APD_SHIFT (26U)
30680/*! SRAM_IF26_APD - Array Power
30681 * 0b0..enable
30682 * 0b1..power down
30683 */
30684#define SYSCTL0_PDRUNCFG2_SRAM_IF26_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF26_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF26_APD_MASK)
30685#define SYSCTL0_PDRUNCFG2_SRAM_IF27_APD_MASK (0x8000000U)
30686#define SYSCTL0_PDRUNCFG2_SRAM_IF27_APD_SHIFT (27U)
30687/*! SRAM_IF27_APD - Array Power
30688 * 0b0..enable
30689 * 0b1..power down
30690 */
30691#define SYSCTL0_PDRUNCFG2_SRAM_IF27_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF27_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF27_APD_MASK)
30692#define SYSCTL0_PDRUNCFG2_SRAM_IF28_APD_MASK (0x10000000U)
30693#define SYSCTL0_PDRUNCFG2_SRAM_IF28_APD_SHIFT (28U)
30694/*! SRAM_IF28_APD - Array Power
30695 * 0b0..enable
30696 * 0b1..power down
30697 */
30698#define SYSCTL0_PDRUNCFG2_SRAM_IF28_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF28_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF28_APD_MASK)
30699#define SYSCTL0_PDRUNCFG2_SRAM_IF29_APD_MASK (0x20000000U)
30700#define SYSCTL0_PDRUNCFG2_SRAM_IF29_APD_SHIFT (29U)
30701/*! SRAM_IF29_APD - Array Power
30702 * 0b0..enable
30703 * 0b1..power down
30704 */
30705#define SYSCTL0_PDRUNCFG2_SRAM_IF29_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SRAM_IF29_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SRAM_IF29_APD_MASK)
30706/*! @} */
30707
30708/*! @name PDRUNCFG3 - Run configuration 3 */
30709/*! @{ */
30710#define SYSCTL0_PDRUNCFG3_SRAM_IF0_PPD_MASK (0x1U)
30711#define SYSCTL0_PDRUNCFG3_SRAM_IF0_PPD_SHIFT (0U)
30712/*! SRAM_IF0_PPD - Periph Power
30713 * 0b0..enable
30714 * 0b1..power down
30715 */
30716#define SYSCTL0_PDRUNCFG3_SRAM_IF0_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF0_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF0_PPD_MASK)
30717#define SYSCTL0_PDRUNCFG3_SRAM_IF1_PPD_MASK (0x2U)
30718#define SYSCTL0_PDRUNCFG3_SRAM_IF1_PPD_SHIFT (1U)
30719/*! SRAM_IF1_PPD - Periph Power
30720 * 0b0..enable
30721 * 0b1..power down
30722 */
30723#define SYSCTL0_PDRUNCFG3_SRAM_IF1_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF1_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF1_PPD_MASK)
30724#define SYSCTL0_PDRUNCFG3_SRAM_IF2_PPD_MASK (0x4U)
30725#define SYSCTL0_PDRUNCFG3_SRAM_IF2_PPD_SHIFT (2U)
30726/*! SRAM_IF2_PPD - Periph Power
30727 * 0b0..enable
30728 * 0b1..power down
30729 */
30730#define SYSCTL0_PDRUNCFG3_SRAM_IF2_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF2_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF2_PPD_MASK)
30731#define SYSCTL0_PDRUNCFG3_SRAM_IF3_PPD_MASK (0x8U)
30732#define SYSCTL0_PDRUNCFG3_SRAM_IF3_PPD_SHIFT (3U)
30733/*! SRAM_IF3_PPD - Periph Power
30734 * 0b0..enable
30735 * 0b1..power down
30736 */
30737#define SYSCTL0_PDRUNCFG3_SRAM_IF3_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF3_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF3_PPD_MASK)
30738#define SYSCTL0_PDRUNCFG3_SRAM_IF4_PPD_MASK (0x10U)
30739#define SYSCTL0_PDRUNCFG3_SRAM_IF4_PPD_SHIFT (4U)
30740/*! SRAM_IF4_PPD - Periph Power
30741 * 0b0..enable
30742 * 0b1..power down
30743 */
30744#define SYSCTL0_PDRUNCFG3_SRAM_IF4_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF4_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF4_PPD_MASK)
30745#define SYSCTL0_PDRUNCFG3_SRAM_IF5_PPD_MASK (0x20U)
30746#define SYSCTL0_PDRUNCFG3_SRAM_IF5_PPD_SHIFT (5U)
30747/*! SRAM_IF5_PPD - Periph Power
30748 * 0b0..enable
30749 * 0b1..power down
30750 */
30751#define SYSCTL0_PDRUNCFG3_SRAM_IF5_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF5_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF5_PPD_MASK)
30752#define SYSCTL0_PDRUNCFG3_SRAM_IF6_PPD_MASK (0x40U)
30753#define SYSCTL0_PDRUNCFG3_SRAM_IF6_PPD_SHIFT (6U)
30754/*! SRAM_IF6_PPD - Periph Power
30755 * 0b0..enable
30756 * 0b1..power down
30757 */
30758#define SYSCTL0_PDRUNCFG3_SRAM_IF6_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF6_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF6_PPD_MASK)
30759#define SYSCTL0_PDRUNCFG3_SRAM_IF7_PPD_MASK (0x80U)
30760#define SYSCTL0_PDRUNCFG3_SRAM_IF7_PPD_SHIFT (7U)
30761/*! SRAM_IF7_PPD - Periph Power
30762 * 0b0..enable
30763 * 0b1..power down
30764 */
30765#define SYSCTL0_PDRUNCFG3_SRAM_IF7_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF7_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF7_PPD_MASK)
30766#define SYSCTL0_PDRUNCFG3_SRAM_IF8_PPD_MASK (0x100U)
30767#define SYSCTL0_PDRUNCFG3_SRAM_IF8_PPD_SHIFT (8U)
30768/*! SRAM_IF8_PPD - Periph Power
30769 * 0b0..enable
30770 * 0b1..power down
30771 */
30772#define SYSCTL0_PDRUNCFG3_SRAM_IF8_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF8_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF8_PPD_MASK)
30773#define SYSCTL0_PDRUNCFG3_SRAM_IF9_PPD_MASK (0x200U)
30774#define SYSCTL0_PDRUNCFG3_SRAM_IF9_PPD_SHIFT (9U)
30775/*! SRAM_IF9_PPD - Periph Power
30776 * 0b0..enable
30777 * 0b1..power down
30778 */
30779#define SYSCTL0_PDRUNCFG3_SRAM_IF9_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF9_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF9_PPD_MASK)
30780#define SYSCTL0_PDRUNCFG3_SRAM_IF10_PPD_MASK (0x400U)
30781#define SYSCTL0_PDRUNCFG3_SRAM_IF10_PPD_SHIFT (10U)
30782/*! SRAM_IF10_PPD - Periph Power
30783 * 0b0..enable
30784 * 0b1..power down
30785 */
30786#define SYSCTL0_PDRUNCFG3_SRAM_IF10_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF10_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF10_PPD_MASK)
30787#define SYSCTL0_PDRUNCFG3_SRAM_IF11_PPD_MASK (0x800U)
30788#define SYSCTL0_PDRUNCFG3_SRAM_IF11_PPD_SHIFT (11U)
30789/*! SRAM_IF11_PPD - Periph Power
30790 * 0b0..enable
30791 * 0b1..power down
30792 */
30793#define SYSCTL0_PDRUNCFG3_SRAM_IF11_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF11_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF11_PPD_MASK)
30794#define SYSCTL0_PDRUNCFG3_SRAM_IF12_PPD_MASK (0x1000U)
30795#define SYSCTL0_PDRUNCFG3_SRAM_IF12_PPD_SHIFT (12U)
30796/*! SRAM_IF12_PPD - Periph Power
30797 * 0b0..enable
30798 * 0b1..power down
30799 */
30800#define SYSCTL0_PDRUNCFG3_SRAM_IF12_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF12_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF12_PPD_MASK)
30801#define SYSCTL0_PDRUNCFG3_SRAM_IF13_PPD_MASK (0x2000U)
30802#define SYSCTL0_PDRUNCFG3_SRAM_IF13_PPD_SHIFT (13U)
30803/*! SRAM_IF13_PPD - Periph Power
30804 * 0b0..enable
30805 * 0b1..power down
30806 */
30807#define SYSCTL0_PDRUNCFG3_SRAM_IF13_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF13_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF13_PPD_MASK)
30808#define SYSCTL0_PDRUNCFG3_SRAM_IF14_PPD_MASK (0x4000U)
30809#define SYSCTL0_PDRUNCFG3_SRAM_IF14_PPD_SHIFT (14U)
30810/*! SRAM_IF14_PPD - Periph Power
30811 * 0b0..enable
30812 * 0b1..power down
30813 */
30814#define SYSCTL0_PDRUNCFG3_SRAM_IF14_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF14_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF14_PPD_MASK)
30815#define SYSCTL0_PDRUNCFG3_SRAM_IF15_PPD_MASK (0x8000U)
30816#define SYSCTL0_PDRUNCFG3_SRAM_IF15_PPD_SHIFT (15U)
30817/*! SRAM_IF15_PPD - Periph Power
30818 * 0b0..enable
30819 * 0b1..power down
30820 */
30821#define SYSCTL0_PDRUNCFG3_SRAM_IF15_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF15_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF15_PPD_MASK)
30822#define SYSCTL0_PDRUNCFG3_SRAM_IF16_PPD_MASK (0x10000U)
30823#define SYSCTL0_PDRUNCFG3_SRAM_IF16_PPD_SHIFT (16U)
30824/*! SRAM_IF16_PPD - Periph Power
30825 * 0b0..enable
30826 * 0b1..power down
30827 */
30828#define SYSCTL0_PDRUNCFG3_SRAM_IF16_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF16_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF16_PPD_MASK)
30829#define SYSCTL0_PDRUNCFG3_SRAM_IF17_PPD_MASK (0x20000U)
30830#define SYSCTL0_PDRUNCFG3_SRAM_IF17_PPD_SHIFT (17U)
30831/*! SRAM_IF17_PPD - Periph Power
30832 * 0b0..enable
30833 * 0b1..power down
30834 */
30835#define SYSCTL0_PDRUNCFG3_SRAM_IF17_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF17_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF17_PPD_MASK)
30836#define SYSCTL0_PDRUNCFG3_SRAM_IF18_PPD_MASK (0x40000U)
30837#define SYSCTL0_PDRUNCFG3_SRAM_IF18_PPD_SHIFT (18U)
30838/*! SRAM_IF18_PPD - Periph Power
30839 * 0b0..enable
30840 * 0b1..power down
30841 */
30842#define SYSCTL0_PDRUNCFG3_SRAM_IF18_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF18_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF18_PPD_MASK)
30843#define SYSCTL0_PDRUNCFG3_SRAM_IF19_PPD_MASK (0x80000U)
30844#define SYSCTL0_PDRUNCFG3_SRAM_IF19_PPD_SHIFT (19U)
30845/*! SRAM_IF19_PPD - Periph Power
30846 * 0b0..enable
30847 * 0b1..power down
30848 */
30849#define SYSCTL0_PDRUNCFG3_SRAM_IF19_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF19_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF19_PPD_MASK)
30850#define SYSCTL0_PDRUNCFG3_SRAM_IF20_PPD_MASK (0x100000U)
30851#define SYSCTL0_PDRUNCFG3_SRAM_IF20_PPD_SHIFT (20U)
30852/*! SRAM_IF20_PPD - Periph Power
30853 * 0b0..enable
30854 * 0b1..power down
30855 */
30856#define SYSCTL0_PDRUNCFG3_SRAM_IF20_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF20_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF20_PPD_MASK)
30857#define SYSCTL0_PDRUNCFG3_SRAM_IF21_PPD_MASK (0x200000U)
30858#define SYSCTL0_PDRUNCFG3_SRAM_IF21_PPD_SHIFT (21U)
30859/*! SRAM_IF21_PPD - Periph Power
30860 * 0b0..enable
30861 * 0b1..power down
30862 */
30863#define SYSCTL0_PDRUNCFG3_SRAM_IF21_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF21_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF21_PPD_MASK)
30864#define SYSCTL0_PDRUNCFG3_SRAM_IF22_PPD_MASK (0x400000U)
30865#define SYSCTL0_PDRUNCFG3_SRAM_IF22_PPD_SHIFT (22U)
30866/*! SRAM_IF22_PPD - Periph Power
30867 * 0b0..enable
30868 * 0b1..power down
30869 */
30870#define SYSCTL0_PDRUNCFG3_SRAM_IF22_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF22_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF22_PPD_MASK)
30871#define SYSCTL0_PDRUNCFG3_SRAM_IF23_PPD_MASK (0x800000U)
30872#define SYSCTL0_PDRUNCFG3_SRAM_IF23_PPD_SHIFT (23U)
30873/*! SRAM_IF23_PPD - Periph Power
30874 * 0b0..enable
30875 * 0b1..power down
30876 */
30877#define SYSCTL0_PDRUNCFG3_SRAM_IF23_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF23_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF23_PPD_MASK)
30878#define SYSCTL0_PDRUNCFG3_SRAM_IF24_PPD_MASK (0x1000000U)
30879#define SYSCTL0_PDRUNCFG3_SRAM_IF24_PPD_SHIFT (24U)
30880/*! SRAM_IF24_PPD - Periph Power
30881 * 0b0..enable
30882 * 0b1..power down
30883 */
30884#define SYSCTL0_PDRUNCFG3_SRAM_IF24_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF24_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF24_PPD_MASK)
30885#define SYSCTL0_PDRUNCFG3_SRAM_IF25_PPD_MASK (0x2000000U)
30886#define SYSCTL0_PDRUNCFG3_SRAM_IF25_PPD_SHIFT (25U)
30887/*! SRAM_IF25_PPD - Periph Power
30888 * 0b0..enable
30889 * 0b1..power down
30890 */
30891#define SYSCTL0_PDRUNCFG3_SRAM_IF25_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF25_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF25_PPD_MASK)
30892#define SYSCTL0_PDRUNCFG3_SRAM_IF26_PPD_MASK (0x4000000U)
30893#define SYSCTL0_PDRUNCFG3_SRAM_IF26_PPD_SHIFT (26U)
30894/*! SRAM_IF26_PPD - Periph Power
30895 * 0b0..enable
30896 * 0b1..power down
30897 */
30898#define SYSCTL0_PDRUNCFG3_SRAM_IF26_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF26_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF26_PPD_MASK)
30899#define SYSCTL0_PDRUNCFG3_SRAM_IF27_PPD_MASK (0x8000000U)
30900#define SYSCTL0_PDRUNCFG3_SRAM_IF27_PPD_SHIFT (27U)
30901/*! SRAM_IF27_PPD - Periph Power
30902 * 0b0..enable
30903 * 0b1..power down
30904 */
30905#define SYSCTL0_PDRUNCFG3_SRAM_IF27_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF27_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF27_PPD_MASK)
30906#define SYSCTL0_PDRUNCFG3_SRAM_IF28_PPD_MASK (0x10000000U)
30907#define SYSCTL0_PDRUNCFG3_SRAM_IF28_PPD_SHIFT (28U)
30908/*! SRAM_IF28_PPD - Periph Power
30909 * 0b0..enable
30910 * 0b1..power down
30911 */
30912#define SYSCTL0_PDRUNCFG3_SRAM_IF28_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF28_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF28_PPD_MASK)
30913#define SYSCTL0_PDRUNCFG3_SRAM_IF29_PPD_MASK (0x20000000U)
30914#define SYSCTL0_PDRUNCFG3_SRAM_IF29_PPD_SHIFT (29U)
30915/*! SRAM_IF29_PPD - Periph Power
30916 * 0b0..enable
30917 * 0b1..power down
30918 */
30919#define SYSCTL0_PDRUNCFG3_SRAM_IF29_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SRAM_IF29_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SRAM_IF29_PPD_MASK)
30920/*! @} */
30921
30922/*! @name PDRUNCFG0_SET - Run configuration 0 set */
30923/*! @{ */
30924#define SYSCTL0_PDRUNCFG0_SET_PMIC_MODE0_MASK (0x2U)
30925#define SYSCTL0_PDRUNCFG0_SET_PMIC_MODE0_SHIFT (1U)
30926/*! PMIC_MODE0
30927 * 0b0..No effect
30928 * 0b1..Sets the PDRUNCFG0 Bit
30929 */
30930#define SYSCTL0_PDRUNCFG0_SET_PMIC_MODE0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_PMIC_MODE0_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_PMIC_MODE0_MASK)
30931#define SYSCTL0_PDRUNCFG0_SET_PMIC_MODE1_MASK (0x4U)
30932#define SYSCTL0_PDRUNCFG0_SET_PMIC_MODE1_SHIFT (2U)
30933/*! PMIC_MODE1
30934 * 0b0..No effect
30935 * 0b1..Sets the PDRUNCFG0 Bit
30936 */
30937#define SYSCTL0_PDRUNCFG0_SET_PMIC_MODE1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_PMIC_MODE1_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_PMIC_MODE1_MASK)
30938#define SYSCTL0_PDRUNCFG0_SET_VDDCOREREG_LP_MASK (0x10U)
30939#define SYSCTL0_PDRUNCFG0_SET_VDDCOREREG_LP_SHIFT (4U)
30940/*! VDDCOREREG_LP
30941 * 0b0..No effect
30942 * 0b1..Sets the PDRUNCFG0 Bit
30943 */
30944#define SYSCTL0_PDRUNCFG0_SET_VDDCOREREG_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_VDDCOREREG_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_VDDCOREREG_LP_MASK)
30945#define SYSCTL0_PDRUNCFG0_SET_PMCREF_LP_MASK (0x40U)
30946#define SYSCTL0_PDRUNCFG0_SET_PMCREF_LP_SHIFT (6U)
30947/*! PMCREF_LP
30948 * 0b0..No effect
30949 * 0b1..Sets the PDRUNCFG0 Bit
30950 */
30951#define SYSCTL0_PDRUNCFG0_SET_PMCREF_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_PMCREF_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_PMCREF_LP_MASK)
30952#define SYSCTL0_PDRUNCFG0_SET_HVD1V8_PD_MASK (0x80U)
30953#define SYSCTL0_PDRUNCFG0_SET_HVD1V8_PD_SHIFT (7U)
30954/*! HVD1V8_PD
30955 * 0b0..No effect
30956 * 0b1..Sets the PDRUNCFG0 Bit
30957 */
30958#define SYSCTL0_PDRUNCFG0_SET_HVD1V8_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_HVD1V8_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_HVD1V8_PD_MASK)
30959#define SYSCTL0_PDRUNCFG0_SET_PORCORE_LP_MASK (0x100U)
30960#define SYSCTL0_PDRUNCFG0_SET_PORCORE_LP_SHIFT (8U)
30961/*! PORCORE_LP
30962 * 0b0..No effect
30963 * 0b1..Sets the PDRUNCFG0 Bit
30964 */
30965#define SYSCTL0_PDRUNCFG0_SET_PORCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_PORCORE_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_PORCORE_LP_MASK)
30966#define SYSCTL0_PDRUNCFG0_SET_LVDCORE_LP_MASK (0x200U)
30967#define SYSCTL0_PDRUNCFG0_SET_LVDCORE_LP_SHIFT (9U)
30968/*! LVDCORE_LP
30969 * 0b0..No effect
30970 * 0b1..Sets the PDRUNCFG0 Bit
30971 */
30972#define SYSCTL0_PDRUNCFG0_SET_LVDCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_LVDCORE_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_LVDCORE_LP_MASK)
30973#define SYSCTL0_PDRUNCFG0_SET_HVDCORE_PD_MASK (0x400U)
30974#define SYSCTL0_PDRUNCFG0_SET_HVDCORE_PD_SHIFT (10U)
30975/*! HVDCORE_PD
30976 * 0b0..No effect
30977 * 0b1..Sets the PDRUNCFG0 Bit
30978 */
30979#define SYSCTL0_PDRUNCFG0_SET_HVDCORE_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_HVDCORE_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_HVDCORE_PD_MASK)
30980#define SYSCTL0_PDRUNCFG0_SET_RBB_PD_MASK (0x800U)
30981#define SYSCTL0_PDRUNCFG0_SET_RBB_PD_SHIFT (11U)
30982/*! RBB_PD
30983 * 0b0..No effect
30984 * 0b1..Sets the PDRUNCFG0 Bit
30985 */
30986#define SYSCTL0_PDRUNCFG0_SET_RBB_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_RBB_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_RBB_PD_MASK)
30987#define SYSCTL0_PDRUNCFG0_SET_FBB_PD_MASK (0x1000U)
30988#define SYSCTL0_PDRUNCFG0_SET_FBB_PD_SHIFT (12U)
30989/*! FBB_PD
30990 * 0b0..No effect
30991 * 0b1..Sets the PDRUNCFG0 Bit
30992 */
30993#define SYSCTL0_PDRUNCFG0_SET_FBB_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_FBB_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_FBB_PD_MASK)
30994#define SYSCTL0_PDRUNCFG0_SET_SYSXTAL_PD_MASK (0x2000U)
30995#define SYSCTL0_PDRUNCFG0_SET_SYSXTAL_PD_SHIFT (13U)
30996/*! SYSXTAL_PD
30997 * 0b0..No effect
30998 * 0b1..Sets the PDRUNCFG0 Bit
30999 */
31000#define SYSCTL0_PDRUNCFG0_SET_SYSXTAL_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_SYSXTAL_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_SYSXTAL_PD_MASK)
31001#define SYSCTL0_PDRUNCFG0_SET_LPOSC_PD_MASK (0x4000U)
31002#define SYSCTL0_PDRUNCFG0_SET_LPOSC_PD_SHIFT (14U)
31003/*! LPOSC_PD
31004 * 0b0..No effect
31005 * 0b1..Sets the PDRUNCFG0 Bit
31006 */
31007#define SYSCTL0_PDRUNCFG0_SET_LPOSC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_LPOSC_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_LPOSC_PD_MASK)
31008#define SYSCTL0_PDRUNCFG0_SET_SFRO_PD_MASK (0x8000U)
31009#define SYSCTL0_PDRUNCFG0_SET_SFRO_PD_SHIFT (15U)
31010/*! SFRO_PD
31011 * 0b0..No effect
31012 * 0b1..Sets the PDRUNCFG0 Bit
31013 */
31014#define SYSCTL0_PDRUNCFG0_SET_SFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_SFRO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_SFRO_PD_MASK)
31015#define SYSCTL0_PDRUNCFG0_SET_FFRO_PD_MASK (0x10000U)
31016#define SYSCTL0_PDRUNCFG0_SET_FFRO_PD_SHIFT (16U)
31017/*! FFRO_PD
31018 * 0b0..No effect
31019 * 0b1..Sets the PDRUNCFG0 Bit
31020 */
31021#define SYSCTL0_PDRUNCFG0_SET_FFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_FFRO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_FFRO_PD_MASK)
31022#define SYSCTL0_PDRUNCFG0_SET_SYSPLLLDO_PD_MASK (0x20000U)
31023#define SYSCTL0_PDRUNCFG0_SET_SYSPLLLDO_PD_SHIFT (17U)
31024/*! SYSPLLLDO_PD
31025 * 0b0..No effect
31026 * 0b1..Sets the PDRUNCFG0 Bit
31027 */
31028#define SYSCTL0_PDRUNCFG0_SET_SYSPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_SYSPLLLDO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_SYSPLLLDO_PD_MASK)
31029#define SYSCTL0_PDRUNCFG0_SET_SYSPLLANA_PD_MASK (0x40000U)
31030#define SYSCTL0_PDRUNCFG0_SET_SYSPLLANA_PD_SHIFT (18U)
31031/*! SYSPLLANA_PD
31032 * 0b0..No effect
31033 * 0b1..Sets the PDRUNCFG0 Bit
31034 */
31035#define SYSCTL0_PDRUNCFG0_SET_SYSPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_SYSPLLANA_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_SYSPLLANA_PD_MASK)
31036#define SYSCTL0_PDRUNCFG0_SET_AUDPLLLDO_PD_MASK (0x80000U)
31037#define SYSCTL0_PDRUNCFG0_SET_AUDPLLLDO_PD_SHIFT (19U)
31038/*! AUDPLLLDO_PD
31039 * 0b0..No effect
31040 * 0b1..Sets the PDRUNCFG0 Bit
31041 */
31042#define SYSCTL0_PDRUNCFG0_SET_AUDPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_AUDPLLLDO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_AUDPLLLDO_PD_MASK)
31043#define SYSCTL0_PDRUNCFG0_SET_AUDPLLANA_PD_MASK (0x100000U)
31044#define SYSCTL0_PDRUNCFG0_SET_AUDPLLANA_PD_SHIFT (20U)
31045/*! AUDPLLANA_PD
31046 * 0b0..No effect
31047 * 0b1..Sets the PDRUNCFG0 Bit
31048 */
31049#define SYSCTL0_PDRUNCFG0_SET_AUDPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_AUDPLLANA_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_AUDPLLANA_PD_MASK)
31050#define SYSCTL0_PDRUNCFG0_SET_ADC_PD_MASK (0x200000U)
31051#define SYSCTL0_PDRUNCFG0_SET_ADC_PD_SHIFT (21U)
31052/*! ADC_PD
31053 * 0b0..No effect
31054 * 0b1..Sets the PDRUNCFG0 Bit
31055 */
31056#define SYSCTL0_PDRUNCFG0_SET_ADC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_ADC_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_ADC_PD_MASK)
31057#define SYSCTL0_PDRUNCFG0_SET_ADC_LP_MASK (0x400000U)
31058#define SYSCTL0_PDRUNCFG0_SET_ADC_LP_SHIFT (22U)
31059/*! ADC_LP
31060 * 0b0..No effect
31061 * 0b1..Sets the PDRUNCFG0 Bit
31062 */
31063#define SYSCTL0_PDRUNCFG0_SET_ADC_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_ADC_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_ADC_LP_MASK)
31064#define SYSCTL0_PDRUNCFG0_SET_ADCTEMPSNS_PD_MASK (0x800000U)
31065#define SYSCTL0_PDRUNCFG0_SET_ADCTEMPSNS_PD_SHIFT (23U)
31066/*! ADCTEMPSNS_PD
31067 * 0b0..No effect
31068 * 0b1..Sets the PDRUNCFG0 Bit
31069 */
31070#define SYSCTL0_PDRUNCFG0_SET_ADCTEMPSNS_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_ADCTEMPSNS_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_ADCTEMPSNS_PD_MASK)
31071#define SYSCTL0_PDRUNCFG0_SET_ACMP_PD_MASK (0x2000000U)
31072#define SYSCTL0_PDRUNCFG0_SET_ACMP_PD_SHIFT (25U)
31073/*! ACMP_PD
31074 * 0b0..No effect
31075 * 0b1..Sets the PDRUNCFG0 Bit
31076 */
31077#define SYSCTL0_PDRUNCFG0_SET_ACMP_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_ACMP_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_ACMP_PD_MASK)
31078#define SYSCTL0_PDRUNCFG0_SET_HSPAD0_VDET_LP_MASK (0x4000000U)
31079#define SYSCTL0_PDRUNCFG0_SET_HSPAD0_VDET_LP_SHIFT (26U)
31080/*! HSPAD0_VDET_LP
31081 * 0b0..No effect
31082 * 0b1..Sets the PDRUNCFG0 Bit
31083 */
31084#define SYSCTL0_PDRUNCFG0_SET_HSPAD0_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_HSPAD0_VDET_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_HSPAD0_VDET_LP_MASK)
31085#define SYSCTL0_PDRUNCFG0_SET_HSPAD0_REF_PD_MASK (0x8000000U)
31086#define SYSCTL0_PDRUNCFG0_SET_HSPAD0_REF_PD_SHIFT (27U)
31087/*! HSPAD0_REF_PD
31088 * 0b0..No effect
31089 * 0b1..Sets the PDRUNCFG0 Bit
31090 */
31091#define SYSCTL0_PDRUNCFG0_SET_HSPAD0_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_HSPAD0_REF_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_HSPAD0_REF_PD_MASK)
31092#define SYSCTL0_PDRUNCFG0_SET_HSPAD2_VDET_LP_MASK (0x10000000U)
31093#define SYSCTL0_PDRUNCFG0_SET_HSPAD2_VDET_LP_SHIFT (28U)
31094/*! HSPAD2_VDET_LP
31095 * 0b0..No effect
31096 * 0b1..Sets the PDRUNCFG0 Bit
31097 */
31098#define SYSCTL0_PDRUNCFG0_SET_HSPAD2_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_HSPAD2_VDET_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_HSPAD2_VDET_LP_MASK)
31099#define SYSCTL0_PDRUNCFG0_SET_HSPAD2_REF_PD_MASK (0x20000000U)
31100#define SYSCTL0_PDRUNCFG0_SET_HSPAD2_REF_PD_SHIFT (29U)
31101/*! HSPAD2_REF_PD
31102 * 0b0..No effect
31103 * 0b1..Sets the PDRUNCFG0 Bit
31104 */
31105#define SYSCTL0_PDRUNCFG0_SET_HSPAD2_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_SET_HSPAD2_REF_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_SET_HSPAD2_REF_PD_MASK)
31106/*! @} */
31107
31108/*! @name PDRUNCFG1_SET - Run configuration 1 set */
31109/*! @{ */
31110#define SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_APD_MASK (0x1U)
31111#define SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_APD_SHIFT (0U)
31112/*! PQ_SRAM_APD - Array power
31113 * 0b0..No effect
31114 * 0b1..Sets the PDRUNCFG1 Bit
31115 */
31116#define SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_APD_MASK)
31117#define SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_PPD_MASK (0x2U)
31118#define SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_PPD_SHIFT (1U)
31119/*! PQ_SRAM_PPD - Peiph power
31120 * 0b0..No effect
31121 * 0b1..Sets the PDRUNCFG1 Bit
31122 */
31123#define SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_PQ_SRAM_PPD_MASK)
31124#define SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_APD_MASK (0x4U)
31125#define SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_APD_SHIFT (2U)
31126/*! FLEXSPI_SRAM_APD - Array power
31127 * 0b0..No effect
31128 * 0b1..Sets the PDRUNCFG1 Bit
31129 */
31130#define SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_APD_MASK)
31131#define SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_PPD_MASK (0x8U)
31132#define SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_PPD_SHIFT (3U)
31133/*! FLEXSPI_SRAM_PPD - Peiph power
31134 * 0b0..No effect
31135 * 0b1..Sets the PDRUNCFG1 Bit
31136 */
31137#define SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_FLEXSPI_SRAM_PPD_MASK)
31138#define SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_APD_MASK (0x10U)
31139#define SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_APD_SHIFT (4U)
31140/*! USBHS_SRAM_APD - Array power
31141 * 0b0..No effect
31142 * 0b1..Sets the PDRUNCFG1 Bit
31143 */
31144#define SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_APD_MASK)
31145#define SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_PPD_MASK (0x20U)
31146#define SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_PPD_SHIFT (5U)
31147/*! USBHS_SRAM_PPD - Peiph power
31148 * 0b0..No effect
31149 * 0b1..Sets the PDRUNCFG1 Bit
31150 */
31151#define SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_USBHS_SRAM_PPD_MASK)
31152#define SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_APD_MASK (0x40U)
31153#define SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_APD_SHIFT (6U)
31154/*! USDHC0_SRAM_APD - Array power
31155 * 0b0..No effect
31156 * 0b1..Sets the PDRUNCFG1 Bit
31157 */
31158#define SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_APD_MASK)
31159#define SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_PPD_MASK (0x80U)
31160#define SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_PPD_SHIFT (7U)
31161/*! USDHC0_SRAM_PPD - Peiph power
31162 * 0b0..No effect
31163 * 0b1..Sets the PDRUNCFG1 Bit
31164 */
31165#define SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_USDHC0_SRAM_PPD_MASK)
31166#define SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_APD_MASK (0x100U)
31167#define SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_APD_SHIFT (8U)
31168/*! USDHC1_SRAM_APD - Array power
31169 * 0b0..No effect
31170 * 0b1..Sets the PDRUNCFG1 Bit
31171 */
31172#define SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_APD_MASK)
31173#define SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_PPD_MASK (0x200U)
31174#define SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_PPD_SHIFT (9U)
31175/*! USDHC1_SRAM_PPD - Peiph power
31176 * 0b0..No effect
31177 * 0b1..Sets the PDRUNCFG1 Bit
31178 */
31179#define SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_USDHC1_SRAM_PPD_MASK)
31180#define SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_APD_MASK (0x400U)
31181#define SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_APD_SHIFT (10U)
31182/*! CASPER_SRAM_APD - Array power
31183 * 0b0..No effect
31184 * 0b1..Sets the PDRUNCFG1 Bit
31185 */
31186#define SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_APD_MASK)
31187#define SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_PPD_MASK (0x800U)
31188#define SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_PPD_SHIFT (11U)
31189/*! CASPER_SRAM_PPD - Peiph power
31190 * 0b0..No effect
31191 * 0b1..Sets the PDRUNCFG1 Bit
31192 */
31193#define SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_CASPER_SRAM_PPD_MASK)
31194#define SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_APD_MASK (0x1000000U)
31195#define SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_APD_SHIFT (24U)
31196/*! DSPCACHE_REGF_APD - Array power
31197 * 0b0..No effect
31198 * 0b1..Sets the PDRUNCFG1 Bit
31199 */
31200#define SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_APD_MASK)
31201#define SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_PPD_MASK (0x2000000U)
31202#define SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_PPD_SHIFT (25U)
31203/*! DSPCACHE_REGF_PPD - Peiph power
31204 * 0b0..No effect
31205 * 0b1..Sets the PDRUNCFG1 Bit
31206 */
31207#define SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_DSPCACHE_REGF_PPD_MASK)
31208#define SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_APD_MASK (0x4000000U)
31209#define SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_APD_SHIFT (26U)
31210/*! DSPTCM_REGF_APD - Array power
31211 * 0b0..No effect
31212 * 0b1..Sets the PDRUNCFG1 Bit
31213 */
31214#define SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_APD_MASK)
31215#define SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_PPD_MASK (0x8000000U)
31216#define SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_PPD_SHIFT (27U)
31217/*! DSPTCM_REGF_PPD - Peiph power
31218 * 0b0..No effect
31219 * 0b1..Sets the PDRUNCFG1 Bit
31220 */
31221#define SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_DSPTCM_REGF_PPD_MASK)
31222#define SYSCTL0_PDRUNCFG1_SET_ROM_PD_MASK (0x10000000U)
31223#define SYSCTL0_PDRUNCFG1_SET_ROM_PD_SHIFT (28U)
31224/*! ROM_PD - array power and periph power
31225 * 0b0..No effect
31226 * 0b1..Sets the PDRUNCFG1 Bit
31227 */
31228#define SYSCTL0_PDRUNCFG1_SET_ROM_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_ROM_PD_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_ROM_PD_MASK)
31229#define SYSCTL0_PDRUNCFG1_SET_SRAM_SLEEP_MASK (0x80000000U)
31230#define SYSCTL0_PDRUNCFG1_SET_SRAM_SLEEP_SHIFT (31U)
31231/*! SRAM_SLEEP
31232 * 0b0..No effect
31233 * 0b1..Sets the PDRUNCFG1 Bit
31234 */
31235#define SYSCTL0_PDRUNCFG1_SET_SRAM_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_SET_SRAM_SLEEP_SHIFT)) & SYSCTL0_PDRUNCFG1_SET_SRAM_SLEEP_MASK)
31236/*! @} */
31237
31238/*! @name PDRUNCFG2_SET - Run configuration 2 set */
31239/*! @{ */
31240#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF0_APD_MASK (0x1U)
31241#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF0_APD_SHIFT (0U)
31242/*! SRAM_IF0_APD - Array Power
31243 * 0b0..No effect
31244 * 0b1..Sets the PDRUNCFG2 Bit
31245 */
31246#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF0_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF0_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF0_APD_MASK)
31247#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF1_APD_MASK (0x2U)
31248#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF1_APD_SHIFT (1U)
31249/*! SRAM_IF1_APD - Array Power
31250 * 0b0..No effect
31251 * 0b1..Sets the PDRUNCFG2 Bit
31252 */
31253#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF1_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF1_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF1_APD_MASK)
31254#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF2_APD_MASK (0x4U)
31255#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF2_APD_SHIFT (2U)
31256/*! SRAM_IF2_APD - Array Power
31257 * 0b0..No effect
31258 * 0b1..Sets the PDRUNCFG2 Bit
31259 */
31260#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF2_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF2_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF2_APD_MASK)
31261#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF3_APD_MASK (0x8U)
31262#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF3_APD_SHIFT (3U)
31263/*! SRAM_IF3_APD - Array Power
31264 * 0b0..No effect
31265 * 0b1..Sets the PDRUNCFG2 Bit
31266 */
31267#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF3_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF3_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF3_APD_MASK)
31268#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF4_APD_MASK (0x10U)
31269#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF4_APD_SHIFT (4U)
31270/*! SRAM_IF4_APD - Array Power
31271 * 0b0..No effect
31272 * 0b1..Sets the PDRUNCFG2 Bit
31273 */
31274#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF4_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF4_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF4_APD_MASK)
31275#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF5_APD_MASK (0x20U)
31276#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF5_APD_SHIFT (5U)
31277/*! SRAM_IF5_APD - Array Power
31278 * 0b0..No effect
31279 * 0b1..Sets the PDRUNCFG2 Bit
31280 */
31281#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF5_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF5_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF5_APD_MASK)
31282#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF6_APD_MASK (0x40U)
31283#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF6_APD_SHIFT (6U)
31284/*! SRAM_IF6_APD - Array Power
31285 * 0b0..No effect
31286 * 0b1..Sets the PDRUNCFG2 Bit
31287 */
31288#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF6_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF6_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF6_APD_MASK)
31289#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF7_APD_MASK (0x80U)
31290#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF7_APD_SHIFT (7U)
31291/*! SRAM_IF7_APD - Array Power
31292 * 0b0..No effect
31293 * 0b1..Sets the PDRUNCFG2 Bit
31294 */
31295#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF7_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF7_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF7_APD_MASK)
31296#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF8_APD_MASK (0x100U)
31297#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF8_APD_SHIFT (8U)
31298/*! SRAM_IF8_APD - Array Power
31299 * 0b0..No effect
31300 * 0b1..Sets the PDRUNCFG2 Bit
31301 */
31302#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF8_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF8_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF8_APD_MASK)
31303#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF9_APD_MASK (0x200U)
31304#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF9_APD_SHIFT (9U)
31305/*! SRAM_IF9_APD - Array Power
31306 * 0b0..No effect
31307 * 0b1..Sets the PDRUNCFG2 Bit
31308 */
31309#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF9_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF9_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF9_APD_MASK)
31310#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF10_APD_MASK (0x400U)
31311#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF10_APD_SHIFT (10U)
31312/*! SRAM_IF10_APD - Array Power
31313 * 0b0..No effect
31314 * 0b1..Sets the PDRUNCFG2 Bit
31315 */
31316#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF10_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF10_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF10_APD_MASK)
31317#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF11_APD_MASK (0x800U)
31318#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF11_APD_SHIFT (11U)
31319/*! SRAM_IF11_APD - Array Power
31320 * 0b0..No effect
31321 * 0b1..Sets the PDRUNCFG2 Bit
31322 */
31323#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF11_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF11_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF11_APD_MASK)
31324#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF12_APD_MASK (0x1000U)
31325#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF12_APD_SHIFT (12U)
31326/*! SRAM_IF12_APD - Array Power
31327 * 0b0..No effect
31328 * 0b1..Sets the PDRUNCFG2 Bit
31329 */
31330#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF12_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF12_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF12_APD_MASK)
31331#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF13_APD_MASK (0x2000U)
31332#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF13_APD_SHIFT (13U)
31333/*! SRAM_IF13_APD - Array Power
31334 * 0b0..No effect
31335 * 0b1..Sets the PDRUNCFG2 Bit
31336 */
31337#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF13_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF13_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF13_APD_MASK)
31338#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF14_APD_MASK (0x4000U)
31339#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF14_APD_SHIFT (14U)
31340/*! SRAM_IF14_APD - Array Power
31341 * 0b0..No effect
31342 * 0b1..Sets the PDRUNCFG2 Bit
31343 */
31344#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF14_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF14_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF14_APD_MASK)
31345#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF15_APD_MASK (0x8000U)
31346#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF15_APD_SHIFT (15U)
31347/*! SRAM_IF15_APD - Array Power
31348 * 0b0..No effect
31349 * 0b1..Sets the PDRUNCFG2 Bit
31350 */
31351#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF15_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF15_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF15_APD_MASK)
31352#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF16_APD_MASK (0x10000U)
31353#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF16_APD_SHIFT (16U)
31354/*! SRAM_IF16_APD - Array Power
31355 * 0b0..No effect
31356 * 0b1..Sets the PDRUNCFG2 Bit
31357 */
31358#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF16_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF16_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF16_APD_MASK)
31359#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF17_APD_MASK (0x20000U)
31360#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF17_APD_SHIFT (17U)
31361/*! SRAM_IF17_APD - Array Power
31362 * 0b0..No effect
31363 * 0b1..Sets the PDRUNCFG2 Bit
31364 */
31365#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF17_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF17_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF17_APD_MASK)
31366#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF18_APD_MASK (0x40000U)
31367#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF18_APD_SHIFT (18U)
31368/*! SRAM_IF18_APD - Array Power
31369 * 0b0..No effect
31370 * 0b1..Sets the PDRUNCFG2 Bit
31371 */
31372#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF18_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF18_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF18_APD_MASK)
31373#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF19_APD_MASK (0x80000U)
31374#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF19_APD_SHIFT (19U)
31375/*! SRAM_IF19_APD - Array Power
31376 * 0b0..No effect
31377 * 0b1..Sets the PDRUNCFG2 Bit
31378 */
31379#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF19_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF19_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF19_APD_MASK)
31380#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF20_APD_MASK (0x100000U)
31381#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF20_APD_SHIFT (20U)
31382/*! SRAM_IF20_APD - Array Power
31383 * 0b0..No effect
31384 * 0b1..Sets the PDRUNCFG2 Bit
31385 */
31386#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF20_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF20_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF20_APD_MASK)
31387#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF21_APD_MASK (0x200000U)
31388#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF21_APD_SHIFT (21U)
31389/*! SRAM_IF21_APD - Array Power
31390 * 0b0..No effect
31391 * 0b1..Sets the PDRUNCFG2 Bit
31392 */
31393#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF21_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF21_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF21_APD_MASK)
31394#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF22_APD_MASK (0x400000U)
31395#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF22_APD_SHIFT (22U)
31396/*! SRAM_IF22_APD - Array Power
31397 * 0b0..No effect
31398 * 0b1..Sets the PDRUNCFG2 Bit
31399 */
31400#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF22_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF22_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF22_APD_MASK)
31401#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF23_APD_MASK (0x800000U)
31402#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF23_APD_SHIFT (23U)
31403/*! SRAM_IF23_APD - Array Power
31404 * 0b0..No effect
31405 * 0b1..Sets the PDRUNCFG2 Bit
31406 */
31407#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF23_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF23_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF23_APD_MASK)
31408#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF24_APD_MASK (0x1000000U)
31409#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF24_APD_SHIFT (24U)
31410/*! SRAM_IF24_APD - Array Power
31411 * 0b0..No effect
31412 * 0b1..Sets the PDRUNCFG2 Bit
31413 */
31414#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF24_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF24_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF24_APD_MASK)
31415#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF25_APD_MASK (0x2000000U)
31416#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF25_APD_SHIFT (25U)
31417/*! SRAM_IF25_APD - Array Power
31418 * 0b0..No effect
31419 * 0b1..Sets the PDRUNCFG2 Bit
31420 */
31421#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF25_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF25_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF25_APD_MASK)
31422#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF26_APD_MASK (0x4000000U)
31423#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF26_APD_SHIFT (26U)
31424/*! SRAM_IF26_APD - Array Power
31425 * 0b0..No effect
31426 * 0b1..Sets the PDRUNCFG2 Bit
31427 */
31428#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF26_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF26_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF26_APD_MASK)
31429#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF27_APD_MASK (0x8000000U)
31430#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF27_APD_SHIFT (27U)
31431/*! SRAM_IF27_APD - Array Power
31432 * 0b0..No effect
31433 * 0b1..Sets the PDRUNCFG2 Bit
31434 */
31435#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF27_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF27_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF27_APD_MASK)
31436#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF28_APD_MASK (0x10000000U)
31437#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF28_APD_SHIFT (28U)
31438/*! SRAM_IF28_APD - Array Power
31439 * 0b0..No effect
31440 * 0b1..Sets the PDRUNCFG2 Bit
31441 */
31442#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF28_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF28_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF28_APD_MASK)
31443#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF29_APD_MASK (0x20000000U)
31444#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF29_APD_SHIFT (29U)
31445/*! SRAM_IF29_APD - Array Power
31446 * 0b0..No effect
31447 * 0b1..Sets the PDRUNCFG2 Bit
31448 */
31449#define SYSCTL0_PDRUNCFG2_SET_SRAM_IF29_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_SET_SRAM_IF29_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_SET_SRAM_IF29_APD_MASK)
31450/*! @} */
31451
31452/*! @name PDRUNCFG3_SET - Run configuration 3 set */
31453/*! @{ */
31454#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF0_PPD_MASK (0x1U)
31455#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF0_PPD_SHIFT (0U)
31456/*! SRAM_IF0_PPD - Periph Power
31457 * 0b0..No effect
31458 * 0b1..Sets the PDRUNCFG3 Bit
31459 */
31460#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF0_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF0_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF0_PPD_MASK)
31461#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF1_PPD_MASK (0x2U)
31462#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF1_PPD_SHIFT (1U)
31463/*! SRAM_IF1_PPD - Periph Power
31464 * 0b0..No effect
31465 * 0b1..Sets the PDRUNCFG3 Bit
31466 */
31467#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF1_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF1_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF1_PPD_MASK)
31468#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF2_PPD_MASK (0x4U)
31469#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF2_PPD_SHIFT (2U)
31470/*! SRAM_IF2_PPD - Periph Power
31471 * 0b0..No effect
31472 * 0b1..Sets the PDRUNCFG3 Bit
31473 */
31474#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF2_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF2_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF2_PPD_MASK)
31475#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF3_PPD_MASK (0x8U)
31476#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF3_PPD_SHIFT (3U)
31477/*! SRAM_IF3_PPD - Periph Power
31478 * 0b0..No effect
31479 * 0b1..Sets the PDRUNCFG3 Bit
31480 */
31481#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF3_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF3_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF3_PPD_MASK)
31482#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF4_PPD_MASK (0x10U)
31483#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF4_PPD_SHIFT (4U)
31484/*! SRAM_IF4_PPD - Periph Power
31485 * 0b0..No effect
31486 * 0b1..Sets the PDRUNCFG3 Bit
31487 */
31488#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF4_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF4_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF4_PPD_MASK)
31489#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF5_PPD_MASK (0x20U)
31490#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF5_PPD_SHIFT (5U)
31491/*! SRAM_IF5_PPD - Periph Power
31492 * 0b0..No effect
31493 * 0b1..Sets the PDRUNCFG3 Bit
31494 */
31495#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF5_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF5_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF5_PPD_MASK)
31496#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF6_PPD_MASK (0x40U)
31497#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF6_PPD_SHIFT (6U)
31498/*! SRAM_IF6_PPD - Periph Power
31499 * 0b0..No effect
31500 * 0b1..Sets the PDRUNCFG3 Bit
31501 */
31502#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF6_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF6_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF6_PPD_MASK)
31503#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF7_PPD_MASK (0x80U)
31504#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF7_PPD_SHIFT (7U)
31505/*! SRAM_IF7_PPD - Periph Power
31506 * 0b0..No effect
31507 * 0b1..Sets the PDRUNCFG3 Bit
31508 */
31509#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF7_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF7_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF7_PPD_MASK)
31510#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF8_PPD_MASK (0x100U)
31511#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF8_PPD_SHIFT (8U)
31512/*! SRAM_IF8_PPD - Periph Power
31513 * 0b0..No effect
31514 * 0b1..Sets the PDRUNCFG3 Bit
31515 */
31516#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF8_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF8_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF8_PPD_MASK)
31517#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF9_PPD_MASK (0x200U)
31518#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF9_PPD_SHIFT (9U)
31519/*! SRAM_IF9_PPD - Periph Power
31520 * 0b0..No effect
31521 * 0b1..Sets the PDRUNCFG3 Bit
31522 */
31523#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF9_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF9_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF9_PPD_MASK)
31524#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF10_PPD_MASK (0x400U)
31525#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF10_PPD_SHIFT (10U)
31526/*! SRAM_IF10_PPD - Periph Power
31527 * 0b0..No effect
31528 * 0b1..Sets the PDRUNCFG3 Bit
31529 */
31530#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF10_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF10_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF10_PPD_MASK)
31531#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF11_PPD_MASK (0x800U)
31532#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF11_PPD_SHIFT (11U)
31533/*! SRAM_IF11_PPD - Periph Power
31534 * 0b0..No effect
31535 * 0b1..Sets the PDRUNCFG3 Bit
31536 */
31537#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF11_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF11_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF11_PPD_MASK)
31538#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF12_PPD_MASK (0x1000U)
31539#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF12_PPD_SHIFT (12U)
31540/*! SRAM_IF12_PPD - Periph Power
31541 * 0b0..No effect
31542 * 0b1..Sets the PDRUNCFG3 Bit
31543 */
31544#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF12_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF12_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF12_PPD_MASK)
31545#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF13_PPD_MASK (0x2000U)
31546#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF13_PPD_SHIFT (13U)
31547/*! SRAM_IF13_PPD - Periph Power
31548 * 0b0..No effect
31549 * 0b1..Sets the PDRUNCFG3 Bit
31550 */
31551#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF13_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF13_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF13_PPD_MASK)
31552#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF14_PPD_MASK (0x4000U)
31553#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF14_PPD_SHIFT (14U)
31554/*! SRAM_IF14_PPD - Periph Power
31555 * 0b0..No effect
31556 * 0b1..Sets the PDRUNCFG3 Bit
31557 */
31558#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF14_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF14_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF14_PPD_MASK)
31559#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF15_PPD_MASK (0x8000U)
31560#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF15_PPD_SHIFT (15U)
31561/*! SRAM_IF15_PPD - Periph Power
31562 * 0b0..No effect
31563 * 0b1..Sets the PDRUNCFG3 Bit
31564 */
31565#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF15_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF15_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF15_PPD_MASK)
31566#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF16_PPD_MASK (0x10000U)
31567#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF16_PPD_SHIFT (16U)
31568/*! SRAM_IF16_PPD - Periph Power
31569 * 0b0..No effect
31570 * 0b1..Sets the PDRUNCFG3 Bit
31571 */
31572#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF16_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF16_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF16_PPD_MASK)
31573#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF17_PPD_MASK (0x20000U)
31574#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF17_PPD_SHIFT (17U)
31575/*! SRAM_IF17_PPD - Periph Power
31576 * 0b0..No effect
31577 * 0b1..Sets the PDRUNCFG3 Bit
31578 */
31579#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF17_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF17_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF17_PPD_MASK)
31580#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF18_PPD_MASK (0x40000U)
31581#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF18_PPD_SHIFT (18U)
31582/*! SRAM_IF18_PPD - Periph Power
31583 * 0b0..No effect
31584 * 0b1..Sets the PDRUNCFG3 Bit
31585 */
31586#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF18_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF18_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF18_PPD_MASK)
31587#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF19_PPD_MASK (0x80000U)
31588#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF19_PPD_SHIFT (19U)
31589/*! SRAM_IF19_PPD - Periph Power
31590 * 0b0..No effect
31591 * 0b1..Sets the PDRUNCFG3 Bit
31592 */
31593#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF19_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF19_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF19_PPD_MASK)
31594#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF20_PPD_MASK (0x100000U)
31595#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF20_PPD_SHIFT (20U)
31596/*! SRAM_IF20_PPD - Periph Power
31597 * 0b0..No effect
31598 * 0b1..Sets the PDRUNCFG3 Bit
31599 */
31600#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF20_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF20_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF20_PPD_MASK)
31601#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF21_PPD_MASK (0x200000U)
31602#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF21_PPD_SHIFT (21U)
31603/*! SRAM_IF21_PPD - Periph Power
31604 * 0b0..No effect
31605 * 0b1..Sets the PDRUNCFG3 Bit
31606 */
31607#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF21_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF21_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF21_PPD_MASK)
31608#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF22_PPD_MASK (0x400000U)
31609#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF22_PPD_SHIFT (22U)
31610/*! SRAM_IF22_PPD - Periph Power
31611 * 0b0..No effect
31612 * 0b1..Sets the PDRUNCFG3 Bit
31613 */
31614#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF22_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF22_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF22_PPD_MASK)
31615#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF23_PPD_MASK (0x800000U)
31616#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF23_PPD_SHIFT (23U)
31617/*! SRAM_IF23_PPD - Periph Power
31618 * 0b0..No effect
31619 * 0b1..Sets the PDRUNCFG3 Bit
31620 */
31621#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF23_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF23_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF23_PPD_MASK)
31622#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF24_PPD_MASK (0x1000000U)
31623#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF24_PPD_SHIFT (24U)
31624/*! SRAM_IF24_PPD - Periph Power
31625 * 0b0..No effect
31626 * 0b1..Sets the PDRUNCFG3 Bit
31627 */
31628#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF24_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF24_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF24_PPD_MASK)
31629#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF25_PPD_MASK (0x2000000U)
31630#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF25_PPD_SHIFT (25U)
31631/*! SRAM_IF25_PPD - Periph Power
31632 * 0b0..No effect
31633 * 0b1..Sets the PDRUNCFG3 Bit
31634 */
31635#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF25_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF25_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF25_PPD_MASK)
31636#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF26_PPD_MASK (0x4000000U)
31637#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF26_PPD_SHIFT (26U)
31638/*! SRAM_IF26_PPD - Periph Power
31639 * 0b0..No effect
31640 * 0b1..Sets the PDRUNCFG3 Bit
31641 */
31642#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF26_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF26_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF26_PPD_MASK)
31643#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF27_PPD_MASK (0x8000000U)
31644#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF27_PPD_SHIFT (27U)
31645/*! SRAM_IF27_PPD - Periph Power
31646 * 0b0..No effect
31647 * 0b1..Sets the PDRUNCFG3 Bit
31648 */
31649#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF27_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF27_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF27_PPD_MASK)
31650#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF28_PPD_MASK (0x10000000U)
31651#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF28_PPD_SHIFT (28U)
31652/*! SRAM_IF28_PPD - Periph Power
31653 * 0b0..No effect
31654 * 0b1..Sets the PDRUNCFG3 Bit
31655 */
31656#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF28_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF28_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF28_PPD_MASK)
31657#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF29_PPD_MASK (0x20000000U)
31658#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF29_PPD_SHIFT (29U)
31659/*! SRAM_IF29_PPD - Periph Power
31660 * 0b0..No effect
31661 * 0b1..Sets the PDRUNCFG3 Bit
31662 */
31663#define SYSCTL0_PDRUNCFG3_SET_SRAM_IF29_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_SET_SRAM_IF29_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_SET_SRAM_IF29_PPD_MASK)
31664/*! @} */
31665
31666/*! @name PDRUNCFG0_CLR - Run configuration 0 clear */
31667/*! @{ */
31668#define SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE0_MASK (0x2U)
31669#define SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE0_SHIFT (1U)
31670/*! PMIC_MODE0
31671 * 0b0..No effect
31672 * 0b1..Clears the PDRUNCFG0 Bit
31673 */
31674#define SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE0_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE0_MASK)
31675#define SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE1_MASK (0x4U)
31676#define SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE1_SHIFT (2U)
31677/*! PMIC_MODE1
31678 * 0b0..No effect
31679 * 0b1..Clears the PDRUNCFG0 Bit
31680 */
31681#define SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE1_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_PMIC_MODE1_MASK)
31682#define SYSCTL0_PDRUNCFG0_CLR_VDDCOREREG_LP_MASK (0x10U)
31683#define SYSCTL0_PDRUNCFG0_CLR_VDDCOREREG_LP_SHIFT (4U)
31684/*! VDDCOREREG_LP
31685 * 0b0..No effect
31686 * 0b1..Clears the PDRUNCFG0 Bit
31687 */
31688#define SYSCTL0_PDRUNCFG0_CLR_VDDCOREREG_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_VDDCOREREG_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_VDDCOREREG_LP_MASK)
31689#define SYSCTL0_PDRUNCFG0_CLR_PMCREF_LP_MASK (0x40U)
31690#define SYSCTL0_PDRUNCFG0_CLR_PMCREF_LP_SHIFT (6U)
31691/*! PMCREF_LP
31692 * 0b0..No effect
31693 * 0b1..Clears the PDRUNCFG0 Bit
31694 */
31695#define SYSCTL0_PDRUNCFG0_CLR_PMCREF_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_PMCREF_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_PMCREF_LP_MASK)
31696#define SYSCTL0_PDRUNCFG0_CLR_HVD1V8_PD_MASK (0x80U)
31697#define SYSCTL0_PDRUNCFG0_CLR_HVD1V8_PD_SHIFT (7U)
31698/*! HVD1V8_PD
31699 * 0b0..No effect
31700 * 0b1..Clears the PDRUNCFG0 Bit
31701 */
31702#define SYSCTL0_PDRUNCFG0_CLR_HVD1V8_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_HVD1V8_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_HVD1V8_PD_MASK)
31703#define SYSCTL0_PDRUNCFG0_CLR_PORCORE_LP_MASK (0x100U)
31704#define SYSCTL0_PDRUNCFG0_CLR_PORCORE_LP_SHIFT (8U)
31705/*! PORCORE_LP
31706 * 0b0..No effect
31707 * 0b1..Clears the PDRUNCFG0 Bit
31708 */
31709#define SYSCTL0_PDRUNCFG0_CLR_PORCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_PORCORE_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_PORCORE_LP_MASK)
31710#define SYSCTL0_PDRUNCFG0_CLR_LVDCORE_LP_MASK (0x200U)
31711#define SYSCTL0_PDRUNCFG0_CLR_LVDCORE_LP_SHIFT (9U)
31712/*! LVDCORE_LP
31713 * 0b0..No effect
31714 * 0b1..Clears the PDRUNCFG0 Bit
31715 */
31716#define SYSCTL0_PDRUNCFG0_CLR_LVDCORE_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_LVDCORE_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_LVDCORE_LP_MASK)
31717#define SYSCTL0_PDRUNCFG0_CLR_HVDCORE_PD_MASK (0x400U)
31718#define SYSCTL0_PDRUNCFG0_CLR_HVDCORE_PD_SHIFT (10U)
31719/*! HVDCORE_PD
31720 * 0b0..No effect
31721 * 0b1..Clears the PDRUNCFG0 Bit
31722 */
31723#define SYSCTL0_PDRUNCFG0_CLR_HVDCORE_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_HVDCORE_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_HVDCORE_PD_MASK)
31724#define SYSCTL0_PDRUNCFG0_CLR_RBB_PD_MASK (0x800U)
31725#define SYSCTL0_PDRUNCFG0_CLR_RBB_PD_SHIFT (11U)
31726/*! RBB_PD
31727 * 0b0..No effect
31728 * 0b1..Clears the PDRUNCFG0 Bit
31729 */
31730#define SYSCTL0_PDRUNCFG0_CLR_RBB_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_RBB_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_RBB_PD_MASK)
31731#define SYSCTL0_PDRUNCFG0_CLR_FBB_PD_MASK (0x1000U)
31732#define SYSCTL0_PDRUNCFG0_CLR_FBB_PD_SHIFT (12U)
31733/*! FBB_PD
31734 * 0b0..No effect
31735 * 0b1..Clears the PDRUNCFG0 Bit
31736 */
31737#define SYSCTL0_PDRUNCFG0_CLR_FBB_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_FBB_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_FBB_PD_MASK)
31738#define SYSCTL0_PDRUNCFG0_CLR_SYSXTAL_PD_MASK (0x2000U)
31739#define SYSCTL0_PDRUNCFG0_CLR_SYSXTAL_PD_SHIFT (13U)
31740/*! SYSXTAL_PD
31741 * 0b0..No effect
31742 * 0b1..Clears the PDRUNCFG0 Bit
31743 */
31744#define SYSCTL0_PDRUNCFG0_CLR_SYSXTAL_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_SYSXTAL_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_SYSXTAL_PD_MASK)
31745#define SYSCTL0_PDRUNCFG0_CLR_LPOSC_PD_MASK (0x4000U)
31746#define SYSCTL0_PDRUNCFG0_CLR_LPOSC_PD_SHIFT (14U)
31747/*! LPOSC_PD
31748 * 0b0..No effect
31749 * 0b1..Clears the PDRUNCFG0 Bit
31750 */
31751#define SYSCTL0_PDRUNCFG0_CLR_LPOSC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_LPOSC_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_LPOSC_PD_MASK)
31752#define SYSCTL0_PDRUNCFG0_CLR_SFRO_PD_MASK (0x8000U)
31753#define SYSCTL0_PDRUNCFG0_CLR_SFRO_PD_SHIFT (15U)
31754/*! SFRO_PD
31755 * 0b0..No effect
31756 * 0b1..Clears the PDRUNCFG0 Bit
31757 */
31758#define SYSCTL0_PDRUNCFG0_CLR_SFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_SFRO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_SFRO_PD_MASK)
31759#define SYSCTL0_PDRUNCFG0_CLR_FFRO_PD_MASK (0x10000U)
31760#define SYSCTL0_PDRUNCFG0_CLR_FFRO_PD_SHIFT (16U)
31761/*! FFRO_PD
31762 * 0b0..No effect
31763 * 0b1..Clears the PDRUNCFG0 Bit
31764 */
31765#define SYSCTL0_PDRUNCFG0_CLR_FFRO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_FFRO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_FFRO_PD_MASK)
31766#define SYSCTL0_PDRUNCFG0_CLR_SYSPLLLDO_PD_MASK (0x20000U)
31767#define SYSCTL0_PDRUNCFG0_CLR_SYSPLLLDO_PD_SHIFT (17U)
31768/*! SYSPLLLDO_PD
31769 * 0b0..No effect
31770 * 0b1..Clears the PDRUNCFG0 Bit
31771 */
31772#define SYSCTL0_PDRUNCFG0_CLR_SYSPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_SYSPLLLDO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_SYSPLLLDO_PD_MASK)
31773#define SYSCTL0_PDRUNCFG0_CLR_SYSPLLANA_PD_MASK (0x40000U)
31774#define SYSCTL0_PDRUNCFG0_CLR_SYSPLLANA_PD_SHIFT (18U)
31775/*! SYSPLLANA_PD
31776 * 0b0..No effect
31777 * 0b1..Clears the PDRUNCFG0 Bit
31778 */
31779#define SYSCTL0_PDRUNCFG0_CLR_SYSPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_SYSPLLANA_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_SYSPLLANA_PD_MASK)
31780#define SYSCTL0_PDRUNCFG0_CLR_AUDPLLLDO_PD_MASK (0x80000U)
31781#define SYSCTL0_PDRUNCFG0_CLR_AUDPLLLDO_PD_SHIFT (19U)
31782/*! AUDPLLLDO_PD
31783 * 0b0..No effect
31784 * 0b1..Clears the PDRUNCFG0 Bit
31785 */
31786#define SYSCTL0_PDRUNCFG0_CLR_AUDPLLLDO_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_AUDPLLLDO_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_AUDPLLLDO_PD_MASK)
31787#define SYSCTL0_PDRUNCFG0_CLR_AUDPLLANA_PD_MASK (0x100000U)
31788#define SYSCTL0_PDRUNCFG0_CLR_AUDPLLANA_PD_SHIFT (20U)
31789/*! AUDPLLANA_PD
31790 * 0b0..No effect
31791 * 0b1..Clears the PDRUNCFG0 Bit
31792 */
31793#define SYSCTL0_PDRUNCFG0_CLR_AUDPLLANA_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_AUDPLLANA_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_AUDPLLANA_PD_MASK)
31794#define SYSCTL0_PDRUNCFG0_CLR_ADC_PD_MASK (0x200000U)
31795#define SYSCTL0_PDRUNCFG0_CLR_ADC_PD_SHIFT (21U)
31796/*! ADC_PD
31797 * 0b0..No effect
31798 * 0b1..Clears the PDRUNCFG0 Bit
31799 */
31800#define SYSCTL0_PDRUNCFG0_CLR_ADC_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_ADC_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_ADC_PD_MASK)
31801#define SYSCTL0_PDRUNCFG0_CLR_ADC_LP_MASK (0x400000U)
31802#define SYSCTL0_PDRUNCFG0_CLR_ADC_LP_SHIFT (22U)
31803/*! ADC_LP
31804 * 0b0..No effect
31805 * 0b1..Clears the PDRUNCFG0 Bit
31806 */
31807#define SYSCTL0_PDRUNCFG0_CLR_ADC_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_ADC_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_ADC_LP_MASK)
31808#define SYSCTL0_PDRUNCFG0_CLR_ADCTEMPSNS_PD_MASK (0x800000U)
31809#define SYSCTL0_PDRUNCFG0_CLR_ADCTEMPSNS_PD_SHIFT (23U)
31810/*! ADCTEMPSNS_PD
31811 * 0b0..No effect
31812 * 0b1..Clears the PDRUNCFG0 Bit
31813 */
31814#define SYSCTL0_PDRUNCFG0_CLR_ADCTEMPSNS_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_ADCTEMPSNS_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_ADCTEMPSNS_PD_MASK)
31815#define SYSCTL0_PDRUNCFG0_CLR_ACMP_PD_MASK (0x2000000U)
31816#define SYSCTL0_PDRUNCFG0_CLR_ACMP_PD_SHIFT (25U)
31817/*! ACMP_PD
31818 * 0b0..No effect
31819 * 0b1..Clears the PDRUNCFG0 Bit
31820 */
31821#define SYSCTL0_PDRUNCFG0_CLR_ACMP_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_ACMP_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_ACMP_PD_MASK)
31822#define SYSCTL0_PDRUNCFG0_CLR_HSPAD0_VDET_LP_MASK (0x4000000U)
31823#define SYSCTL0_PDRUNCFG0_CLR_HSPAD0_VDET_LP_SHIFT (26U)
31824/*! HSPAD0_VDET_LP
31825 * 0b0..No effect
31826 * 0b1..Clears the PDRUNCFG0 Bit
31827 */
31828#define SYSCTL0_PDRUNCFG0_CLR_HSPAD0_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_HSPAD0_VDET_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_HSPAD0_VDET_LP_MASK)
31829#define SYSCTL0_PDRUNCFG0_CLR_HSPAD0_REF_PD_MASK (0x8000000U)
31830#define SYSCTL0_PDRUNCFG0_CLR_HSPAD0_REF_PD_SHIFT (27U)
31831/*! HSPAD0_REF_PD
31832 * 0b0..No effect
31833 * 0b1..Clears the PDRUNCFG0 Bit
31834 */
31835#define SYSCTL0_PDRUNCFG0_CLR_HSPAD0_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_HSPAD0_REF_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_HSPAD0_REF_PD_MASK)
31836#define SYSCTL0_PDRUNCFG0_CLR_HSPAD2_VDET_LP_MASK (0x10000000U)
31837#define SYSCTL0_PDRUNCFG0_CLR_HSPAD2_VDET_LP_SHIFT (28U)
31838/*! HSPAD2_VDET_LP
31839 * 0b0..No effect
31840 * 0b1..Clears the PDRUNCFG0 Bit
31841 */
31842#define SYSCTL0_PDRUNCFG0_CLR_HSPAD2_VDET_LP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_HSPAD2_VDET_LP_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_HSPAD2_VDET_LP_MASK)
31843#define SYSCTL0_PDRUNCFG0_CLR_HSPAD2_REF_PD_MASK (0x20000000U)
31844#define SYSCTL0_PDRUNCFG0_CLR_HSPAD2_REF_PD_SHIFT (29U)
31845/*! HSPAD2_REF_PD
31846 * 0b0..No effect
31847 * 0b1..Clears the PDRUNCFG0 Bit
31848 */
31849#define SYSCTL0_PDRUNCFG0_CLR_HSPAD2_REF_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG0_CLR_HSPAD2_REF_PD_SHIFT)) & SYSCTL0_PDRUNCFG0_CLR_HSPAD2_REF_PD_MASK)
31850/*! @} */
31851
31852/*! @name PDRUNCFG1_CLR - Run configuration 1 clear */
31853/*! @{ */
31854#define SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_APD_MASK (0x1U)
31855#define SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_APD_SHIFT (0U)
31856/*! PQ_SRAM_APD - Array power
31857 * 0b0..No effect
31858 * 0b1..Clears the PDRUNCFG1 Bit
31859 */
31860#define SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_APD_MASK)
31861#define SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_PPD_MASK (0x2U)
31862#define SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_PPD_SHIFT (1U)
31863/*! PQ_SRAM_PPD - Peiph power
31864 * 0b0..No effect
31865 * 0b1..Clears the PDRUNCFG1 Bit
31866 */
31867#define SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_PQ_SRAM_PPD_MASK)
31868#define SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_APD_MASK (0x4U)
31869#define SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_APD_SHIFT (2U)
31870/*! FLEXSPI_SRAM_APD - Array power
31871 * 0b0..No effect
31872 * 0b1..Clears the PDRUNCFG1 Bit
31873 */
31874#define SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_APD_MASK)
31875#define SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_PPD_MASK (0x8U)
31876#define SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_PPD_SHIFT (3U)
31877/*! FLEXSPI_SRAM_PPD - Peiph power
31878 * 0b0..No effect
31879 * 0b1..Clears the PDRUNCFG1 Bit
31880 */
31881#define SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_FLEXSPI_SRAM_PPD_MASK)
31882#define SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_APD_MASK (0x10U)
31883#define SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_APD_SHIFT (4U)
31884/*! USBHS_SRAM_APD - Array power
31885 * 0b0..No effect
31886 * 0b1..Clears the PDRUNCFG1 Bit
31887 */
31888#define SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_APD_MASK)
31889#define SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_PPD_MASK (0x20U)
31890#define SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_PPD_SHIFT (5U)
31891/*! USBHS_SRAM_PPD - Peiph power
31892 * 0b0..No effect
31893 * 0b1..Clears the PDRUNCFG1 Bit
31894 */
31895#define SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_USBHS_SRAM_PPD_MASK)
31896#define SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_APD_MASK (0x40U)
31897#define SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_APD_SHIFT (6U)
31898/*! USDHC0_SRAM_APD - Array power
31899 * 0b0..No effect
31900 * 0b1..Clears the PDRUNCFG1 Bit
31901 */
31902#define SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_APD_MASK)
31903#define SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_PPD_MASK (0x80U)
31904#define SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_PPD_SHIFT (7U)
31905/*! USDHC0_SRAM_PPD - Array power
31906 * 0b0..No effect
31907 * 0b1..Clears the PDRUNCFG1 Bit
31908 */
31909#define SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_USDHC0_SRAM_PPD_MASK)
31910#define SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_APD_MASK (0x100U)
31911#define SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_APD_SHIFT (8U)
31912/*! USDHC1_SRAM_APD - Peiph power
31913 * 0b0..No effect
31914 * 0b1..Clears the PDRUNCFG1 Bit
31915 */
31916#define SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_APD_MASK)
31917#define SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_PPD_MASK (0x200U)
31918#define SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_PPD_SHIFT (9U)
31919/*! USDHC1_SRAM_PPD - Peiph power
31920 * 0b0..No effect
31921 * 0b1..Clears the PDRUNCFG1 Bit
31922 */
31923#define SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_USDHC1_SRAM_PPD_MASK)
31924#define SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_APD_MASK (0x400U)
31925#define SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_APD_SHIFT (10U)
31926/*! CASPER_SRAM_APD - Array power
31927 * 0b0..No effect
31928 * 0b1..Clears the PDRUNCFG1 Bit
31929 */
31930#define SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_APD_MASK)
31931#define SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_PPD_MASK (0x800U)
31932#define SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_PPD_SHIFT (11U)
31933/*! CASPER_SRAM_PPD - Peiph power
31934 * 0b0..No effect
31935 * 0b1..Clears the PDRUNCFG1 Bit
31936 */
31937#define SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_CASPER_SRAM_PPD_MASK)
31938#define SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_APD_MASK (0x1000000U)
31939#define SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_APD_SHIFT (24U)
31940/*! DSPCACHE_REGF_APD - Array power
31941 * 0b0..No effect
31942 * 0b1..Clears the PDRUNCFG1 Bit
31943 */
31944#define SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_APD_MASK)
31945#define SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_PPD_MASK (0x2000000U)
31946#define SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_PPD_SHIFT (25U)
31947/*! DSPCACHE_REGF_PPD - Peiph power
31948 * 0b0..No effect
31949 * 0b1..Clears the PDRUNCFG1 Bit
31950 */
31951#define SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_DSPCACHE_REGF_PPD_MASK)
31952#define SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_APD_MASK (0x4000000U)
31953#define SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_APD_SHIFT (26U)
31954/*! DSPTCM_REGF_APD - Array power
31955 * 0b0..No effect
31956 * 0b1..Clears the PDRUNCFG1 Bit
31957 */
31958#define SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_APD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_APD_MASK)
31959#define SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_PPD_MASK (0x8000000U)
31960#define SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_PPD_SHIFT (27U)
31961/*! DSPTCM_REGF_PPD - Peiph power
31962 * 0b0..No effect
31963 * 0b1..Clears the PDRUNCFG1 Bit
31964 */
31965#define SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_PPD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_DSPTCM_REGF_PPD_MASK)
31966#define SYSCTL0_PDRUNCFG1_CLR_ROM_PD_MASK (0x10000000U)
31967#define SYSCTL0_PDRUNCFG1_CLR_ROM_PD_SHIFT (28U)
31968/*! ROM_PD - array power and periph power
31969 * 0b0..No effect
31970 * 0b1..Clears the PDRUNCFG1 Bit
31971 */
31972#define SYSCTL0_PDRUNCFG1_CLR_ROM_PD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_ROM_PD_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_ROM_PD_MASK)
31973#define SYSCTL0_PDRUNCFG1_CLR_SRAM_SLEEP_MASK (0x80000000U)
31974#define SYSCTL0_PDRUNCFG1_CLR_SRAM_SLEEP_SHIFT (31U)
31975/*! SRAM_SLEEP
31976 * 0b0..No effect
31977 * 0b1..Clears the PDRUNCFG1 Bit
31978 */
31979#define SYSCTL0_PDRUNCFG1_CLR_SRAM_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG1_CLR_SRAM_SLEEP_SHIFT)) & SYSCTL0_PDRUNCFG1_CLR_SRAM_SLEEP_MASK)
31980/*! @} */
31981
31982/*! @name PDRUNCFG2_CLR - Run configuration 2 clear */
31983/*! @{ */
31984#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF0_APD_MASK (0x1U)
31985#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF0_APD_SHIFT (0U)
31986/*! SRAM_IF0_APD - Array Power
31987 * 0b0..No effect
31988 * 0b1..Clears the PDRUNCFG2 Bit
31989 */
31990#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF0_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF0_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF0_APD_MASK)
31991#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF1_APD_MASK (0x2U)
31992#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF1_APD_SHIFT (1U)
31993/*! SRAM_IF1_APD - Array Power
31994 * 0b0..No effect
31995 * 0b1..Clears the PDRUNCFG2 Bit
31996 */
31997#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF1_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF1_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF1_APD_MASK)
31998#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF2_APD_MASK (0x4U)
31999#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF2_APD_SHIFT (2U)
32000/*! SRAM_IF2_APD - Array Power
32001 * 0b0..No effect
32002 * 0b1..Clears the PDRUNCFG2 Bit
32003 */
32004#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF2_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF2_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF2_APD_MASK)
32005#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF3_APD_MASK (0x8U)
32006#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF3_APD_SHIFT (3U)
32007/*! SRAM_IF3_APD - Array Power
32008 * 0b0..No effect
32009 * 0b1..Clears the PDRUNCFG2 Bit
32010 */
32011#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF3_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF3_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF3_APD_MASK)
32012#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF4_APD_MASK (0x10U)
32013#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF4_APD_SHIFT (4U)
32014/*! SRAM_IF4_APD - Array Power
32015 * 0b0..No effect
32016 * 0b1..Clears the PDRUNCFG2 Bit
32017 */
32018#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF4_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF4_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF4_APD_MASK)
32019#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF5_APD_MASK (0x20U)
32020#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF5_APD_SHIFT (5U)
32021/*! SRAM_IF5_APD - Array Power
32022 * 0b0..No effect
32023 * 0b1..Clears the PDRUNCFG2 Bit
32024 */
32025#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF5_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF5_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF5_APD_MASK)
32026#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF6_APD_MASK (0x40U)
32027#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF6_APD_SHIFT (6U)
32028/*! SRAM_IF6_APD - Array Power
32029 * 0b0..No effect
32030 * 0b1..Clears the PDRUNCFG2 Bit
32031 */
32032#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF6_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF6_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF6_APD_MASK)
32033#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF7_APD_MASK (0x80U)
32034#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF7_APD_SHIFT (7U)
32035/*! SRAM_IF7_APD - Array Power
32036 * 0b0..No effect
32037 * 0b1..Clears the PDRUNCFG2 Bit
32038 */
32039#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF7_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF7_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF7_APD_MASK)
32040#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF8_APD_MASK (0x100U)
32041#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF8_APD_SHIFT (8U)
32042/*! SRAM_IF8_APD - Array Power
32043 * 0b0..No effect
32044 * 0b1..Clears the PDRUNCFG2 Bit
32045 */
32046#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF8_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF8_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF8_APD_MASK)
32047#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF9_APD_MASK (0x200U)
32048#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF9_APD_SHIFT (9U)
32049/*! SRAM_IF9_APD - Array Power
32050 * 0b0..No effect
32051 * 0b1..Clears the PDRUNCFG2 Bit
32052 */
32053#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF9_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF9_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF9_APD_MASK)
32054#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF10_APD_MASK (0x400U)
32055#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF10_APD_SHIFT (10U)
32056/*! SRAM_IF10_APD - Array Power
32057 * 0b0..No effect
32058 * 0b1..Clears the PDRUNCFG2 Bit
32059 */
32060#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF10_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF10_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF10_APD_MASK)
32061#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF11_APD_MASK (0x800U)
32062#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF11_APD_SHIFT (11U)
32063/*! SRAM_IF11_APD - Array Power
32064 * 0b0..No effect
32065 * 0b1..Clears the PDRUNCFG2 Bit
32066 */
32067#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF11_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF11_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF11_APD_MASK)
32068#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF12_APD_MASK (0x1000U)
32069#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF12_APD_SHIFT (12U)
32070/*! SRAM_IF12_APD - Array Power
32071 * 0b0..No effect
32072 * 0b1..Clears the PDRUNCFG2 Bit
32073 */
32074#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF12_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF12_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF12_APD_MASK)
32075#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF13_APD_MASK (0x2000U)
32076#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF13_APD_SHIFT (13U)
32077/*! SRAM_IF13_APD - Array Power
32078 * 0b0..No effect
32079 * 0b1..Clears the PDRUNCFG2 Bit
32080 */
32081#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF13_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF13_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF13_APD_MASK)
32082#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF14_APD_MASK (0x4000U)
32083#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF14_APD_SHIFT (14U)
32084/*! SRAM_IF14_APD - Array Power
32085 * 0b0..No effect
32086 * 0b1..Clears the PDRUNCFG2 Bit
32087 */
32088#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF14_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF14_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF14_APD_MASK)
32089#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF15_APD_MASK (0x8000U)
32090#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF15_APD_SHIFT (15U)
32091/*! SRAM_IF15_APD - Array Power
32092 * 0b0..No effect
32093 * 0b1..Clears the PDRUNCFG2 Bit
32094 */
32095#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF15_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF15_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF15_APD_MASK)
32096#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF16_APD_MASK (0x10000U)
32097#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF16_APD_SHIFT (16U)
32098/*! SRAM_IF16_APD - Array Power
32099 * 0b0..No effect
32100 * 0b1..Clears the PDRUNCFG2 Bit
32101 */
32102#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF16_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF16_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF16_APD_MASK)
32103#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF17_APD_MASK (0x20000U)
32104#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF17_APD_SHIFT (17U)
32105/*! SRAM_IF17_APD - Array Power
32106 * 0b0..No effect
32107 * 0b1..Clears the PDRUNCFG2 Bit
32108 */
32109#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF17_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF17_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF17_APD_MASK)
32110#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF18_APD_MASK (0x40000U)
32111#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF18_APD_SHIFT (18U)
32112/*! SRAM_IF18_APD - Array Power
32113 * 0b0..No effect
32114 * 0b1..Clears the PDRUNCFG2 Bit
32115 */
32116#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF18_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF18_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF18_APD_MASK)
32117#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF19_APD_MASK (0x80000U)
32118#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF19_APD_SHIFT (19U)
32119/*! SRAM_IF19_APD - Array Power
32120 * 0b0..No effect
32121 * 0b1..Clears the PDRUNCFG2 Bit
32122 */
32123#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF19_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF19_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF19_APD_MASK)
32124#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF20_APD_MASK (0x100000U)
32125#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF20_APD_SHIFT (20U)
32126/*! SRAM_IF20_APD - Array Power
32127 * 0b0..No effect
32128 * 0b1..Clears the PDRUNCFG2 Bit
32129 */
32130#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF20_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF20_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF20_APD_MASK)
32131#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF21_APD_MASK (0x200000U)
32132#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF21_APD_SHIFT (21U)
32133/*! SRAM_IF21_APD - Array Power
32134 * 0b0..No effect
32135 * 0b1..Clears the PDRUNCFG2 Bit
32136 */
32137#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF21_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF21_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF21_APD_MASK)
32138#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF22_APD_MASK (0x400000U)
32139#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF22_APD_SHIFT (22U)
32140/*! SRAM_IF22_APD - Array Power
32141 * 0b0..No effect
32142 * 0b1..Clears the PDRUNCFG2 Bit
32143 */
32144#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF22_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF22_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF22_APD_MASK)
32145#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF23_APD_MASK (0x800000U)
32146#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF23_APD_SHIFT (23U)
32147/*! SRAM_IF23_APD - Array Power
32148 * 0b0..No effect
32149 * 0b1..Clears the PDRUNCFG2 Bit
32150 */
32151#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF23_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF23_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF23_APD_MASK)
32152#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF24_APD_MASK (0x1000000U)
32153#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF24_APD_SHIFT (24U)
32154/*! SRAM_IF24_APD - Array Power
32155 * 0b0..No effect
32156 * 0b1..Clears the PDRUNCFG2 Bit
32157 */
32158#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF24_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF24_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF24_APD_MASK)
32159#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF25_APD_MASK (0x2000000U)
32160#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF25_APD_SHIFT (25U)
32161/*! SRAM_IF25_APD - Array Power
32162 * 0b0..No effect
32163 * 0b1..Clears the PDRUNCFG2 Bit
32164 */
32165#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF25_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF25_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF25_APD_MASK)
32166#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF26_APD_MASK (0x4000000U)
32167#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF26_APD_SHIFT (26U)
32168/*! SRAM_IF26_APD - Array Power
32169 * 0b0..No effect
32170 * 0b1..Clears the PDRUNCFG2 Bit
32171 */
32172#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF26_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF26_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF26_APD_MASK)
32173#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF27_APD_MASK (0x8000000U)
32174#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF27_APD_SHIFT (27U)
32175/*! SRAM_IF27_APD - Array Power
32176 * 0b0..No effect
32177 * 0b1..Clears the PDRUNCFG2 Bit
32178 */
32179#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF27_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF27_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF27_APD_MASK)
32180#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF28_APD_MASK (0x10000000U)
32181#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF28_APD_SHIFT (28U)
32182/*! SRAM_IF28_APD - Array Power
32183 * 0b0..No effect
32184 * 0b1..Clears the PDRUNCFG2 Bit
32185 */
32186#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF28_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF28_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF28_APD_MASK)
32187#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF29_APD_MASK (0x20000000U)
32188#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF29_APD_SHIFT (29U)
32189/*! SRAM_IF29_APD - Array Power
32190 * 0b0..No effect
32191 * 0b1..Clears the PDRUNCFG2 Bit
32192 */
32193#define SYSCTL0_PDRUNCFG2_CLR_SRAM_IF29_APD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG2_CLR_SRAM_IF29_APD_SHIFT)) & SYSCTL0_PDRUNCFG2_CLR_SRAM_IF29_APD_MASK)
32194/*! @} */
32195
32196/*! @name PDRUNCFG3_CLR - Run configuration 3 clear */
32197/*! @{ */
32198#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF0_PPD_MASK (0x1U)
32199#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF0_PPD_SHIFT (0U)
32200/*! SRAM_IF0_PPD - Periph Power
32201 * 0b0..No effect
32202 * 0b1..Clears the PDRUNCFG3 Bit
32203 */
32204#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF0_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF0_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF0_PPD_MASK)
32205#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF1_PPD_MASK (0x2U)
32206#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF1_PPD_SHIFT (1U)
32207/*! SRAM_IF1_PPD - Periph Power
32208 * 0b0..No effect
32209 * 0b1..Clears the PDRUNCFG3 Bit
32210 */
32211#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF1_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF1_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF1_PPD_MASK)
32212#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF2_PPD_MASK (0x4U)
32213#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF2_PPD_SHIFT (2U)
32214/*! SRAM_IF2_PPD - Periph Power
32215 * 0b0..No effect
32216 * 0b1..Clears the PDRUNCFG3 Bit
32217 */
32218#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF2_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF2_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF2_PPD_MASK)
32219#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF3_PPD_MASK (0x8U)
32220#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF3_PPD_SHIFT (3U)
32221/*! SRAM_IF3_PPD - Periph Power
32222 * 0b0..No effect
32223 * 0b1..Clears the PDRUNCFG3 Bit
32224 */
32225#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF3_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF3_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF3_PPD_MASK)
32226#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF4_PPD_MASK (0x10U)
32227#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF4_PPD_SHIFT (4U)
32228/*! SRAM_IF4_PPD - Periph Power
32229 * 0b0..No effect
32230 * 0b1..Clears the PDRUNCFG3 Bit
32231 */
32232#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF4_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF4_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF4_PPD_MASK)
32233#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF5_PPD_MASK (0x20U)
32234#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF5_PPD_SHIFT (5U)
32235/*! SRAM_IF5_PPD - Periph Power
32236 * 0b0..No effect
32237 * 0b1..Clears the PDRUNCFG3 Bit
32238 */
32239#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF5_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF5_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF5_PPD_MASK)
32240#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF6_PPD_MASK (0x40U)
32241#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF6_PPD_SHIFT (6U)
32242/*! SRAM_IF6_PPD - Periph Power
32243 * 0b0..No effect
32244 * 0b1..Clears the PDRUNCFG3 Bit
32245 */
32246#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF6_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF6_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF6_PPD_MASK)
32247#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF7_PPD_MASK (0x80U)
32248#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF7_PPD_SHIFT (7U)
32249/*! SRAM_IF7_PPD - Periph Power
32250 * 0b0..No effect
32251 * 0b1..Clears the PDRUNCFG3 Bit
32252 */
32253#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF7_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF7_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF7_PPD_MASK)
32254#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF8_PPD_MASK (0x100U)
32255#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF8_PPD_SHIFT (8U)
32256/*! SRAM_IF8_PPD - Periph Power
32257 * 0b0..No effect
32258 * 0b1..Clears the PDRUNCFG3 Bit
32259 */
32260#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF8_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF8_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF8_PPD_MASK)
32261#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF9_PPD_MASK (0x200U)
32262#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF9_PPD_SHIFT (9U)
32263/*! SRAM_IF9_PPD - Periph Power
32264 * 0b0..No effect
32265 * 0b1..Clears the PDRUNCFG3 Bit
32266 */
32267#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF9_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF9_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF9_PPD_MASK)
32268#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF10_PPD_MASK (0x400U)
32269#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF10_PPD_SHIFT (10U)
32270/*! SRAM_IF10_PPD - Periph Power
32271 * 0b0..No effect
32272 * 0b1..Clears the PDRUNCFG3 Bit
32273 */
32274#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF10_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF10_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF10_PPD_MASK)
32275#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF11_PPD_MASK (0x800U)
32276#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF11_PPD_SHIFT (11U)
32277/*! SRAM_IF11_PPD - Periph Power
32278 * 0b0..No effect
32279 * 0b1..Clears the PDRUNCFG3 Bit
32280 */
32281#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF11_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF11_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF11_PPD_MASK)
32282#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF12_PPD_MASK (0x1000U)
32283#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF12_PPD_SHIFT (12U)
32284/*! SRAM_IF12_PPD - Periph Power
32285 * 0b0..No effect
32286 * 0b1..Clears the PDRUNCFG3 Bit
32287 */
32288#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF12_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF12_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF12_PPD_MASK)
32289#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF13_PPD_MASK (0x2000U)
32290#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF13_PPD_SHIFT (13U)
32291/*! SRAM_IF13_PPD - Periph Power
32292 * 0b0..No effect
32293 * 0b1..Clears the PDRUNCFG3 Bit
32294 */
32295#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF13_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF13_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF13_PPD_MASK)
32296#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF14_PPD_MASK (0x4000U)
32297#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF14_PPD_SHIFT (14U)
32298/*! SRAM_IF14_PPD - Periph Power
32299 * 0b0..No effect
32300 * 0b1..Clears the PDRUNCFG3 Bit
32301 */
32302#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF14_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF14_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF14_PPD_MASK)
32303#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF15_PPD_MASK (0x8000U)
32304#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF15_PPD_SHIFT (15U)
32305/*! SRAM_IF15_PPD - Periph Power
32306 * 0b0..No effect
32307 * 0b1..Clears the PDRUNCFG3 Bit
32308 */
32309#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF15_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF15_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF15_PPD_MASK)
32310#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF16_PPD_MASK (0x10000U)
32311#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF16_PPD_SHIFT (16U)
32312/*! SRAM_IF16_PPD - Periph Power
32313 * 0b0..No effect
32314 * 0b1..Clears the PDRUNCFG3 Bit
32315 */
32316#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF16_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF16_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF16_PPD_MASK)
32317#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF17_PPD_MASK (0x20000U)
32318#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF17_PPD_SHIFT (17U)
32319/*! SRAM_IF17_PPD - Periph Power
32320 * 0b0..No effect
32321 * 0b1..Clears the PDRUNCFG3 Bit
32322 */
32323#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF17_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF17_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF17_PPD_MASK)
32324#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF18_PPD_MASK (0x40000U)
32325#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF18_PPD_SHIFT (18U)
32326/*! SRAM_IF18_PPD - Periph Power
32327 * 0b0..No effect
32328 * 0b1..Clears the PDRUNCFG3 Bit
32329 */
32330#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF18_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF18_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF18_PPD_MASK)
32331#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF19_PPD_MASK (0x80000U)
32332#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF19_PPD_SHIFT (19U)
32333/*! SRAM_IF19_PPD - Periph Power
32334 * 0b0..No effect
32335 * 0b1..Clears the PDRUNCFG3 Bit
32336 */
32337#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF19_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF19_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF19_PPD_MASK)
32338#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF20_PPD_MASK (0x100000U)
32339#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF20_PPD_SHIFT (20U)
32340/*! SRAM_IF20_PPD - Periph Power
32341 * 0b0..No effect
32342 * 0b1..Clears the PDRUNCFG3 Bit
32343 */
32344#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF20_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF20_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF20_PPD_MASK)
32345#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF21_PPD_MASK (0x200000U)
32346#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF21_PPD_SHIFT (21U)
32347/*! SRAM_IF21_PPD - Periph Power
32348 * 0b0..No effect
32349 * 0b1..Clears the PDRUNCFG3 Bit
32350 */
32351#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF21_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF21_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF21_PPD_MASK)
32352#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF22_PPD_MASK (0x400000U)
32353#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF22_PPD_SHIFT (22U)
32354/*! SRAM_IF22_PPD - Periph Power
32355 * 0b0..No effect
32356 * 0b1..Clears the PDRUNCFG3 Bit
32357 */
32358#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF22_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF22_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF22_PPD_MASK)
32359#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF23_PPD_MASK (0x800000U)
32360#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF23_PPD_SHIFT (23U)
32361/*! SRAM_IF23_PPD - Periph Power
32362 * 0b0..No effect
32363 * 0b1..Clears the PDRUNCFG3 Bit
32364 */
32365#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF23_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF23_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF23_PPD_MASK)
32366#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF24_PPD_MASK (0x1000000U)
32367#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF24_PPD_SHIFT (24U)
32368/*! SRAM_IF24_PPD - Periph Power
32369 * 0b0..No effect
32370 * 0b1..Clears the PDRUNCFG3 Bit
32371 */
32372#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF24_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF24_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF24_PPD_MASK)
32373#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF25_PPD_MASK (0x2000000U)
32374#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF25_PPD_SHIFT (25U)
32375/*! SRAM_IF25_PPD - Periph Power
32376 * 0b0..No effect
32377 * 0b1..Clears the PDRUNCFG3 Bit
32378 */
32379#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF25_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF25_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF25_PPD_MASK)
32380#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF26_PPD_MASK (0x4000000U)
32381#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF26_PPD_SHIFT (26U)
32382/*! SRAM_IF26_PPD - Periph Power
32383 * 0b0..No effect
32384 * 0b1..Clears the PDRUNCFG3 Bit
32385 */
32386#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF26_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF26_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF26_PPD_MASK)
32387#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF27_PPD_MASK (0x8000000U)
32388#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF27_PPD_SHIFT (27U)
32389/*! SRAM_IF27_PPD - Periph Power
32390 * 0b0..No effect
32391 * 0b1..Clears the PDRUNCFG3 Bit
32392 */
32393#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF27_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF27_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF27_PPD_MASK)
32394#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF28_PPD_MASK (0x10000000U)
32395#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF28_PPD_SHIFT (28U)
32396/*! SRAM_IF28_PPD - Periph Power
32397 * 0b0..No effect
32398 * 0b1..Clears the PDRUNCFG3 Bit
32399 */
32400#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF28_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF28_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF28_PPD_MASK)
32401#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF29_PPD_MASK (0x20000000U)
32402#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF29_PPD_SHIFT (29U)
32403/*! SRAM_IF29_PPD - Periph Power
32404 * 0b0..No effect
32405 * 0b1..Clears the PDRUNCFG3 Bit
32406 */
32407#define SYSCTL0_PDRUNCFG3_CLR_SRAM_IF29_PPD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDRUNCFG3_CLR_SRAM_IF29_PPD_SHIFT)) & SYSCTL0_PDRUNCFG3_CLR_SRAM_IF29_PPD_MASK)
32408/*! @} */
32409
32410/*! @name PDWAKECFG - PD Wake Configuration */
32411/*! @{ */
32412#define SYSCTL0_PDWAKECFG_RBBKEEPST_MASK (0x1U)
32413#define SYSCTL0_PDWAKECFG_RBBKEEPST_SHIFT (0U)
32414/*! RBBKEEPST - RBB mode on wakeup
32415 * 0b0..Use value of RBB_PD in PDRUNCFG on wakeup.
32416 * 0b1..Copy PDSLEEPCFG RBB_PD value to PDRUNCFG RBB_PD on wakeup to keep RBB state.
32417 */
32418#define SYSCTL0_PDWAKECFG_RBBKEEPST(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDWAKECFG_RBBKEEPST_SHIFT)) & SYSCTL0_PDWAKECFG_RBBKEEPST_MASK)
32419#define SYSCTL0_PDWAKECFG_FBBKEEPST_MASK (0x2U)
32420#define SYSCTL0_PDWAKECFG_FBBKEEPST_SHIFT (1U)
32421/*! FBBKEEPST - FBB mode on wakeup
32422 * 0b0..Use value of FBB_PD in PDRUNCFG on wakeup
32423 * 0b1..Copy PDSLEEPCFG FBB_PD value to PDRUNCFG FBB_PD on wakeup to keep FBB state
32424 */
32425#define SYSCTL0_PDWAKECFG_FBBKEEPST(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_PDWAKECFG_FBBKEEPST_SHIFT)) & SYSCTL0_PDWAKECFG_FBBKEEPST_MASK)
32426/*! @} */
32427
32428/*! @name STARTEN0 - Start enable 0 */
32429/*! @{ */
32430#define SYSCTL0_STARTEN0_WDT0_MASK (0x1U)
32431#define SYSCTL0_STARTEN0_WDT0_SHIFT (0U)
32432/*! WDT0
32433 * 0b0..disbale
32434 * 0b1..enable
32435 */
32436#define SYSCTL0_STARTEN0_WDT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_WDT0_SHIFT)) & SYSCTL0_STARTEN0_WDT0_MASK)
32437#define SYSCTL0_STARTEN0_DMAC0_MASK (0x2U)
32438#define SYSCTL0_STARTEN0_DMAC0_SHIFT (1U)
32439/*! DMAC0
32440 * 0b0..disbale
32441 * 0b1..enable
32442 */
32443#define SYSCTL0_STARTEN0_DMAC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_DMAC0_SHIFT)) & SYSCTL0_STARTEN0_DMAC0_MASK)
32444#define SYSCTL0_STARTEN0_NSHSGPIO_INT0_MASK (0x4U)
32445#define SYSCTL0_STARTEN0_NSHSGPIO_INT0_SHIFT (2U)
32446/*! NSHSGPIO_INT0
32447 * 0b0..disbale
32448 * 0b1..enable
32449 */
32450#define SYSCTL0_STARTEN0_NSHSGPIO_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_NSHSGPIO_INT0_SHIFT)) & SYSCTL0_STARTEN0_NSHSGPIO_INT0_MASK)
32451#define SYSCTL0_STARTEN0_NSHSGPIO_INT1_MASK (0x8U)
32452#define SYSCTL0_STARTEN0_NSHSGPIO_INT1_SHIFT (3U)
32453/*! NSHSGPIO_INT1
32454 * 0b0..disbale
32455 * 0b1..enable
32456 */
32457#define SYSCTL0_STARTEN0_NSHSGPIO_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_NSHSGPIO_INT1_SHIFT)) & SYSCTL0_STARTEN0_NSHSGPIO_INT1_MASK)
32458#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ0_MASK (0x10U)
32459#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ0_SHIFT (4U)
32460/*! GPIO_INT0_IRQ0
32461 * 0b0..disbale
32462 * 0b1..enable
32463 */
32464#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_GPIO_INT0_IRQ0_SHIFT)) & SYSCTL0_STARTEN0_GPIO_INT0_IRQ0_MASK)
32465#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ1_MASK (0x20U)
32466#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ1_SHIFT (5U)
32467/*! GPIO_INT0_IRQ1
32468 * 0b0..disbale
32469 * 0b1..enable
32470 */
32471#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_GPIO_INT0_IRQ1_SHIFT)) & SYSCTL0_STARTEN0_GPIO_INT0_IRQ1_MASK)
32472#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ2_MASK (0x40U)
32473#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ2_SHIFT (6U)
32474/*! GPIO_INT0_IRQ2
32475 * 0b0..disbale
32476 * 0b1..enable
32477 */
32478#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_GPIO_INT0_IRQ2_SHIFT)) & SYSCTL0_STARTEN0_GPIO_INT0_IRQ2_MASK)
32479#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ3_MASK (0x80U)
32480#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ3_SHIFT (7U)
32481/*! GPIO_INT0_IRQ3
32482 * 0b0..disbale
32483 * 0b1..enable
32484 */
32485#define SYSCTL0_STARTEN0_GPIO_INT0_IRQ3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_GPIO_INT0_IRQ3_SHIFT)) & SYSCTL0_STARTEN0_GPIO_INT0_IRQ3_MASK)
32486#define SYSCTL0_STARTEN0_UTICK0_MASK (0x100U)
32487#define SYSCTL0_STARTEN0_UTICK0_SHIFT (8U)
32488/*! UTICK0
32489 * 0b0..disbale
32490 * 0b1..enable
32491 */
32492#define SYSCTL0_STARTEN0_UTICK0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_UTICK0_SHIFT)) & SYSCTL0_STARTEN0_UTICK0_MASK)
32493#define SYSCTL0_STARTEN0_MRT0_MASK (0x200U)
32494#define SYSCTL0_STARTEN0_MRT0_SHIFT (9U)
32495/*! MRT0
32496 * 0b0..disbale
32497 * 0b1..enable
32498 */
32499#define SYSCTL0_STARTEN0_MRT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_MRT0_SHIFT)) & SYSCTL0_STARTEN0_MRT0_MASK)
32500#define SYSCTL0_STARTEN0_CT32BIT0_MASK (0x400U)
32501#define SYSCTL0_STARTEN0_CT32BIT0_SHIFT (10U)
32502/*! CT32BIT0
32503 * 0b0..disbale
32504 * 0b1..enable
32505 */
32506#define SYSCTL0_STARTEN0_CT32BIT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CT32BIT0_SHIFT)) & SYSCTL0_STARTEN0_CT32BIT0_MASK)
32507#define SYSCTL0_STARTEN0_CT32BIT1_MASK (0x800U)
32508#define SYSCTL0_STARTEN0_CT32BIT1_SHIFT (11U)
32509/*! CT32BIT1
32510 * 0b0..disbale
32511 * 0b1..enable
32512 */
32513#define SYSCTL0_STARTEN0_CT32BIT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CT32BIT1_SHIFT)) & SYSCTL0_STARTEN0_CT32BIT1_MASK)
32514#define SYSCTL0_STARTEN0_SCT0_MASK (0x1000U)
32515#define SYSCTL0_STARTEN0_SCT0_SHIFT (12U)
32516/*! SCT0
32517 * 0b0..disbale
32518 * 0b1..enable
32519 */
32520#define SYSCTL0_STARTEN0_SCT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SCT0_SHIFT)) & SYSCTL0_STARTEN0_SCT0_MASK)
32521#define SYSCTL0_STARTEN0_CT32BIT3_MASK (0x2000U)
32522#define SYSCTL0_STARTEN0_CT32BIT3_SHIFT (13U)
32523/*! CT32BIT3
32524 * 0b0..disbale
32525 * 0b1..enable
32526 */
32527#define SYSCTL0_STARTEN0_CT32BIT3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CT32BIT3_SHIFT)) & SYSCTL0_STARTEN0_CT32BIT3_MASK)
32528#define SYSCTL0_STARTEN0_FLEXCOMM0_MASK (0x4000U)
32529#define SYSCTL0_STARTEN0_FLEXCOMM0_SHIFT (14U)
32530/*! FLEXCOMM0
32531 * 0b0..disbale
32532 * 0b1..enable
32533 */
32534#define SYSCTL0_STARTEN0_FLEXCOMM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM0_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM0_MASK)
32535#define SYSCTL0_STARTEN0_FLEXCOMM1_MASK (0x8000U)
32536#define SYSCTL0_STARTEN0_FLEXCOMM1_SHIFT (15U)
32537/*! FLEXCOMM1
32538 * 0b0..disbale
32539 * 0b1..enable
32540 */
32541#define SYSCTL0_STARTEN0_FLEXCOMM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM1_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM1_MASK)
32542#define SYSCTL0_STARTEN0_FLEXCOMM2_MASK (0x10000U)
32543#define SYSCTL0_STARTEN0_FLEXCOMM2_SHIFT (16U)
32544/*! FLEXCOMM2
32545 * 0b0..disbale
32546 * 0b1..enable
32547 */
32548#define SYSCTL0_STARTEN0_FLEXCOMM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM2_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM2_MASK)
32549#define SYSCTL0_STARTEN0_FLEXCOMM3_MASK (0x20000U)
32550#define SYSCTL0_STARTEN0_FLEXCOMM3_SHIFT (17U)
32551/*! FLEXCOMM3
32552 * 0b0..disbale
32553 * 0b1..enable
32554 */
32555#define SYSCTL0_STARTEN0_FLEXCOMM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM3_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM3_MASK)
32556#define SYSCTL0_STARTEN0_FLEXCOMM4_MASK (0x40000U)
32557#define SYSCTL0_STARTEN0_FLEXCOMM4_SHIFT (18U)
32558/*! FLEXCOMM4
32559 * 0b0..disbale
32560 * 0b1..enable
32561 */
32562#define SYSCTL0_STARTEN0_FLEXCOMM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM4_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM4_MASK)
32563#define SYSCTL0_STARTEN0_FLEXCOMM5_MASK (0x80000U)
32564#define SYSCTL0_STARTEN0_FLEXCOMM5_SHIFT (19U)
32565/*! FLEXCOMM5
32566 * 0b0..disbale
32567 * 0b1..enable
32568 */
32569#define SYSCTL0_STARTEN0_FLEXCOMM5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM5_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM5_MASK)
32570#define SYSCTL0_STARTEN0_FLEXCOMM14_MASK (0x100000U)
32571#define SYSCTL0_STARTEN0_FLEXCOMM14_SHIFT (20U)
32572/*! FLEXCOMM14
32573 * 0b0..disbale
32574 * 0b1..enable
32575 */
32576#define SYSCTL0_STARTEN0_FLEXCOMM14(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM14_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM14_MASK)
32577#define SYSCTL0_STARTEN0_FLEXCOMM15_MASK (0x200000U)
32578#define SYSCTL0_STARTEN0_FLEXCOMM15_SHIFT (21U)
32579/*! FLEXCOMM15
32580 * 0b0..disbale
32581 * 0b1..enable
32582 */
32583#define SYSCTL0_STARTEN0_FLEXCOMM15(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_FLEXCOMM15_SHIFT)) & SYSCTL0_STARTEN0_FLEXCOMM15_MASK)
32584#define SYSCTL0_STARTEN0_ADC0_MASK (0x400000U)
32585#define SYSCTL0_STARTEN0_ADC0_SHIFT (22U)
32586/*! ADC0
32587 * 0b0..disbale
32588 * 0b1..enable
32589 */
32590#define SYSCTL0_STARTEN0_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_ADC0_SHIFT)) & SYSCTL0_STARTEN0_ADC0_MASK)
32591#define SYSCTL0_STARTEN0_ACMP_MASK (0x1000000U)
32592#define SYSCTL0_STARTEN0_ACMP_SHIFT (24U)
32593/*! ACMP
32594 * 0b0..disbale
32595 * 0b1..enable
32596 */
32597#define SYSCTL0_STARTEN0_ACMP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_ACMP_SHIFT)) & SYSCTL0_STARTEN0_ACMP_MASK)
32598#define SYSCTL0_STARTEN0_DMIC0_MASK (0x2000000U)
32599#define SYSCTL0_STARTEN0_DMIC0_SHIFT (25U)
32600/*! DMIC0
32601 * 0b0..disbale
32602 * 0b1..enable
32603 */
32604#define SYSCTL0_STARTEN0_DMIC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_DMIC0_SHIFT)) & SYSCTL0_STARTEN0_DMIC0_MASK)
32605#define SYSCTL0_STARTEN0_HYPERVISOR_MASK (0x8000000U)
32606#define SYSCTL0_STARTEN0_HYPERVISOR_SHIFT (27U)
32607/*! HYPERVISOR
32608 * 0b0..disbale
32609 * 0b1..enable
32610 */
32611#define SYSCTL0_STARTEN0_HYPERVISOR(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_HYPERVISOR_SHIFT)) & SYSCTL0_STARTEN0_HYPERVISOR_MASK)
32612#define SYSCTL0_STARTEN0_SECUREVIOLATION_MASK (0x10000000U)
32613#define SYSCTL0_STARTEN0_SECUREVIOLATION_SHIFT (28U)
32614/*! SECUREVIOLATION
32615 * 0b0..disbale
32616 * 0b1..enable
32617 */
32618#define SYSCTL0_STARTEN0_SECUREVIOLATION(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SECUREVIOLATION_SHIFT)) & SYSCTL0_STARTEN0_SECUREVIOLATION_MASK)
32619#define SYSCTL0_STARTEN0_HWVAD0_MASK (0x20000000U)
32620#define SYSCTL0_STARTEN0_HWVAD0_SHIFT (29U)
32621/*! HWVAD0
32622 * 0b0..disbale
32623 * 0b1..enable
32624 */
32625#define SYSCTL0_STARTEN0_HWVAD0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_HWVAD0_SHIFT)) & SYSCTL0_STARTEN0_HWVAD0_MASK)
32626#define SYSCTL0_STARTEN0_RNG_MASK (0x80000000U)
32627#define SYSCTL0_STARTEN0_RNG_SHIFT (31U)
32628/*! RNG
32629 * 0b0..disbale
32630 * 0b1..enable
32631 */
32632#define SYSCTL0_STARTEN0_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_RNG_SHIFT)) & SYSCTL0_STARTEN0_RNG_MASK)
32633/*! @} */
32634
32635/*! @name STARTEN1 - Start enable 1 */
32636/*! @{ */
32637#define SYSCTL0_STARTEN1_RTC_LITE0_ALARM_OR_WAKEUP_MASK (0x1U)
32638#define SYSCTL0_STARTEN1_RTC_LITE0_ALARM_OR_WAKEUP_SHIFT (0U)
32639/*! RTC_LITE0_ALARM_or_WAKEUP
32640 * 0b0..disbale
32641 * 0b1..enable
32642 */
32643#define SYSCTL0_STARTEN1_RTC_LITE0_ALARM_OR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_RTC_LITE0_ALARM_OR_WAKEUP_SHIFT)) & SYSCTL0_STARTEN1_RTC_LITE0_ALARM_OR_WAKEUP_MASK)
32644#define SYSCTL0_STARTEN1_MU_MASK (0x4U)
32645#define SYSCTL0_STARTEN1_MU_SHIFT (2U)
32646/*! MU
32647 * 0b0..disbale
32648 * 0b1..enable
32649 */
32650#define SYSCTL0_STARTEN1_MU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_MU_SHIFT)) & SYSCTL0_STARTEN1_MU_MASK)
32651#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ4_MASK (0x8U)
32652#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ4_SHIFT (3U)
32653/*! GPIO_INT0_IRQ4
32654 * 0b0..disbale
32655 * 0b1..enable
32656 */
32657#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_GPIO_INT0_IRQ4_SHIFT)) & SYSCTL0_STARTEN1_GPIO_INT0_IRQ4_MASK)
32658#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ5_MASK (0x10U)
32659#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ5_SHIFT (4U)
32660/*! GPIO_INT0_IRQ5
32661 * 0b0..disbale
32662 * 0b1..enable
32663 */
32664#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_GPIO_INT0_IRQ5_SHIFT)) & SYSCTL0_STARTEN1_GPIO_INT0_IRQ5_MASK)
32665#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ6_MASK (0x20U)
32666#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ6_SHIFT (5U)
32667/*! GPIO_INT0_IRQ6
32668 * 0b0..disbale
32669 * 0b1..enable
32670 */
32671#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_GPIO_INT0_IRQ6_SHIFT)) & SYSCTL0_STARTEN1_GPIO_INT0_IRQ6_MASK)
32672#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ7_MASK (0x40U)
32673#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ7_SHIFT (6U)
32674/*! GPIO_INT0_IRQ7
32675 * 0b0..disbale
32676 * 0b1..enable
32677 */
32678#define SYSCTL0_STARTEN1_GPIO_INT0_IRQ7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_GPIO_INT0_IRQ7_SHIFT)) & SYSCTL0_STARTEN1_GPIO_INT0_IRQ7_MASK)
32679#define SYSCTL0_STARTEN1_CT32BIT2_MASK (0x80U)
32680#define SYSCTL0_STARTEN1_CT32BIT2_SHIFT (7U)
32681/*! CT32BIT2
32682 * 0b0..disbale
32683 * 0b1..enable
32684 */
32685#define SYSCTL0_STARTEN1_CT32BIT2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CT32BIT2_SHIFT)) & SYSCTL0_STARTEN1_CT32BIT2_MASK)
32686#define SYSCTL0_STARTEN1_CT32BIT4_MASK (0x100U)
32687#define SYSCTL0_STARTEN1_CT32BIT4_SHIFT (8U)
32688/*! CT32BIT4
32689 * 0b0..disbale
32690 * 0b1..enable
32691 */
32692#define SYSCTL0_STARTEN1_CT32BIT4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CT32BIT4_SHIFT)) & SYSCTL0_STARTEN1_CT32BIT4_MASK)
32693#define SYSCTL0_STARTEN1_OS_EVENT_TIMER_WU_MASK (0x200U)
32694#define SYSCTL0_STARTEN1_OS_EVENT_TIMER_WU_SHIFT (9U)
32695/*! OS_EVENT_TIMER_WU
32696 * 0b0..disbale
32697 * 0b1..enable
32698 */
32699#define SYSCTL0_STARTEN1_OS_EVENT_TIMER_WU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_OS_EVENT_TIMER_WU_SHIFT)) & SYSCTL0_STARTEN1_OS_EVENT_TIMER_WU_MASK)
32700#define SYSCTL0_STARTEN1_FLEXSPI_MASK (0x400U)
32701#define SYSCTL0_STARTEN1_FLEXSPI_SHIFT (10U)
32702/*! FLEXSPI
32703 * 0b0..disbale
32704 * 0b1..enable
32705 */
32706#define SYSCTL0_STARTEN1_FLEXSPI(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_FLEXSPI_SHIFT)) & SYSCTL0_STARTEN1_FLEXSPI_MASK)
32707#define SYSCTL0_STARTEN1_FLEXCOMM6_MASK (0x800U)
32708#define SYSCTL0_STARTEN1_FLEXCOMM6_SHIFT (11U)
32709/*! FLEXCOMM6
32710 * 0b0..disbale
32711 * 0b1..enable
32712 */
32713#define SYSCTL0_STARTEN1_FLEXCOMM6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_FLEXCOMM6_SHIFT)) & SYSCTL0_STARTEN1_FLEXCOMM6_MASK)
32714#define SYSCTL0_STARTEN1_FLEXCOMM7_MASK (0x1000U)
32715#define SYSCTL0_STARTEN1_FLEXCOMM7_SHIFT (12U)
32716/*! FLEXCOMM7
32717 * 0b0..disbale
32718 * 0b1..enable
32719 */
32720#define SYSCTL0_STARTEN1_FLEXCOMM7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_FLEXCOMM7_SHIFT)) & SYSCTL0_STARTEN1_FLEXCOMM7_MASK)
32721#define SYSCTL0_STARTEN1_SDIO0_MASK (0x2000U)
32722#define SYSCTL0_STARTEN1_SDIO0_SHIFT (13U)
32723/*! SDIO0
32724 * 0b0..disbale
32725 * 0b1..enable
32726 */
32727#define SYSCTL0_STARTEN1_SDIO0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SDIO0_SHIFT)) & SYSCTL0_STARTEN1_SDIO0_MASK)
32728#define SYSCTL0_STARTEN1_SDIO1_MASK (0x4000U)
32729#define SYSCTL0_STARTEN1_SDIO1_SHIFT (14U)
32730/*! SDIO1
32731 * 0b0..disbale
32732 * 0b1..enable
32733 */
32734#define SYSCTL0_STARTEN1_SDIO1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SDIO1_SHIFT)) & SYSCTL0_STARTEN1_SDIO1_MASK)
32735#define SYSCTL0_STARTEN1_SHSGPIO_INT0_MASK (0x8000U)
32736#define SYSCTL0_STARTEN1_SHSGPIO_INT0_SHIFT (15U)
32737/*! SHSGPIO_INT0
32738 * 0b0..disbale
32739 * 0b1..enable
32740 */
32741#define SYSCTL0_STARTEN1_SHSGPIO_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SHSGPIO_INT0_SHIFT)) & SYSCTL0_STARTEN1_SHSGPIO_INT0_MASK)
32742#define SYSCTL0_STARTEN1_SHSGPIO_INT1_MASK (0x10000U)
32743#define SYSCTL0_STARTEN1_SHSGPIO_INT1_SHIFT (16U)
32744/*! SHSGPIO_INT1
32745 * 0b0..disbale
32746 * 0b1..enable
32747 */
32748#define SYSCTL0_STARTEN1_SHSGPIO_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SHSGPIO_INT1_SHIFT)) & SYSCTL0_STARTEN1_SHSGPIO_INT1_MASK)
32749#define SYSCTL0_STARTEN1_I3C0_MASK (0x20000U)
32750#define SYSCTL0_STARTEN1_I3C0_SHIFT (17U)
32751/*! I3C0
32752 * 0b0..disbale
32753 * 0b1..enable
32754 */
32755#define SYSCTL0_STARTEN1_I3C0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_I3C0_SHIFT)) & SYSCTL0_STARTEN1_I3C0_MASK)
32756#define SYSCTL0_STARTEN1_USB_IRQ_MASK (0x40000U)
32757#define SYSCTL0_STARTEN1_USB_IRQ_SHIFT (18U)
32758/*! USB_IRQ
32759 * 0b0..disbale
32760 * 0b1..enable
32761 */
32762#define SYSCTL0_STARTEN1_USB_IRQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_USB_IRQ_SHIFT)) & SYSCTL0_STARTEN1_USB_IRQ_MASK)
32763#define SYSCTL0_STARTEN1_USB_NEEDCLK_MASK (0x80000U)
32764#define SYSCTL0_STARTEN1_USB_NEEDCLK_SHIFT (19U)
32765/*! USB_NEEDCLK
32766 * 0b0..disbale
32767 * 0b1..enable
32768 */
32769#define SYSCTL0_STARTEN1_USB_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_USB_NEEDCLK_SHIFT)) & SYSCTL0_STARTEN1_USB_NEEDCLK_MASK)
32770#define SYSCTL0_STARTEN1_DMAC1_MASK (0x400000U)
32771#define SYSCTL0_STARTEN1_DMAC1_SHIFT (22U)
32772/*! DMAC1
32773 * 0b0..disbale
32774 * 0b1..enable
32775 */
32776#define SYSCTL0_STARTEN1_DMAC1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_DMAC1_SHIFT)) & SYSCTL0_STARTEN1_DMAC1_MASK)
32777#define SYSCTL0_STARTEN1_PUF_MASK (0x800000U)
32778#define SYSCTL0_STARTEN1_PUF_SHIFT (23U)
32779/*! PUF
32780 * 0b0..disbale
32781 * 0b1..enable
32782 */
32783#define SYSCTL0_STARTEN1_PUF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_PUF_SHIFT)) & SYSCTL0_STARTEN1_PUF_MASK)
32784#define SYSCTL0_STARTEN1_POWERQUAD_MASK (0x1000000U)
32785#define SYSCTL0_STARTEN1_POWERQUAD_SHIFT (24U)
32786/*! POWERQUAD
32787 * 0b0..disbale
32788 * 0b1..enable
32789 */
32790#define SYSCTL0_STARTEN1_POWERQUAD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_POWERQUAD_SHIFT)) & SYSCTL0_STARTEN1_POWERQUAD_MASK)
32791#define SYSCTL0_STARTEN1_CASPER_MASK (0x2000000U)
32792#define SYSCTL0_STARTEN1_CASPER_SHIFT (25U)
32793/*! CASPER
32794 * 0b0..disbale
32795 * 0b1..enable
32796 */
32797#define SYSCTL0_STARTEN1_CASPER(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CASPER_SHIFT)) & SYSCTL0_STARTEN1_CASPER_MASK)
32798#define SYSCTL0_STARTEN1_PMIC_MASK (0x4000000U)
32799#define SYSCTL0_STARTEN1_PMIC_SHIFT (26U)
32800/*! PMIC
32801 * 0b0..disbale
32802 * 0b1..enable
32803 */
32804#define SYSCTL0_STARTEN1_PMIC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_PMIC_SHIFT)) & SYSCTL0_STARTEN1_PMIC_MASK)
32805#define SYSCTL0_STARTEN1_SHA_MASK (0x8000000U)
32806#define SYSCTL0_STARTEN1_SHA_SHIFT (27U)
32807/*! SHA
32808 * 0b0..disbale
32809 * 0b1..enable
32810 */
32811#define SYSCTL0_STARTEN1_SHA(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SHA_SHIFT)) & SYSCTL0_STARTEN1_SHA_MASK)
32812/*! @} */
32813
32814/*! @name STARTEN0_SET - Start enable 0 set */
32815/*! @{ */
32816#define SYSCTL0_STARTEN0_SET_WDT0_MASK (0x1U)
32817#define SYSCTL0_STARTEN0_SET_WDT0_SHIFT (0U)
32818/*! WDT0
32819 * 0b0..No effect
32820 * 0b1..Sets the START_EN0 Bit
32821 */
32822#define SYSCTL0_STARTEN0_SET_WDT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_WDT0_SHIFT)) & SYSCTL0_STARTEN0_SET_WDT0_MASK)
32823#define SYSCTL0_STARTEN0_SET_DMAC0_MASK (0x2U)
32824#define SYSCTL0_STARTEN0_SET_DMAC0_SHIFT (1U)
32825/*! DMAC0
32826 * 0b0..No effect
32827 * 0b1..Sets the START_EN0 Bit
32828 */
32829#define SYSCTL0_STARTEN0_SET_DMAC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_DMAC0_SHIFT)) & SYSCTL0_STARTEN0_SET_DMAC0_MASK)
32830#define SYSCTL0_STARTEN0_SET_NSHSGPIO_INT0_MASK (0x4U)
32831#define SYSCTL0_STARTEN0_SET_NSHSGPIO_INT0_SHIFT (2U)
32832/*! NSHSGPIO_INT0
32833 * 0b0..No effect
32834 * 0b1..Sets the START_EN0 Bit
32835 */
32836#define SYSCTL0_STARTEN0_SET_NSHSGPIO_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_NSHSGPIO_INT0_SHIFT)) & SYSCTL0_STARTEN0_SET_NSHSGPIO_INT0_MASK)
32837#define SYSCTL0_STARTEN0_SET_NSHSGPIO_INT1_MASK (0x8U)
32838#define SYSCTL0_STARTEN0_SET_NSHSGPIO_INT1_SHIFT (3U)
32839/*! NSHSGPIO_INT1
32840 * 0b0..No effect
32841 * 0b1..Sets the START_EN0 Bit
32842 */
32843#define SYSCTL0_STARTEN0_SET_NSHSGPIO_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_NSHSGPIO_INT1_SHIFT)) & SYSCTL0_STARTEN0_SET_NSHSGPIO_INT1_MASK)
32844#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ0_MASK (0x10U)
32845#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ0_SHIFT (4U)
32846/*! GPIO_INT0_IRQ0
32847 * 0b0..No effect
32848 * 0b1..Sets the START_EN0 Bit
32849 */
32850#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ0_SHIFT)) & SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ0_MASK)
32851#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ1_MASK (0x20U)
32852#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ1_SHIFT (5U)
32853/*! GPIO_INT0_IRQ1
32854 * 0b0..No effect
32855 * 0b1..Sets the START_EN0 Bit
32856 */
32857#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ1_SHIFT)) & SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ1_MASK)
32858#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ2_MASK (0x40U)
32859#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ2_SHIFT (6U)
32860/*! GPIO_INT0_IRQ2
32861 * 0b0..No effect
32862 * 0b1..Sets the START_EN0 Bit
32863 */
32864#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ2_SHIFT)) & SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ2_MASK)
32865#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ3_MASK (0x80U)
32866#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ3_SHIFT (7U)
32867/*! GPIO_INT0_IRQ3
32868 * 0b0..No effect
32869 * 0b1..Sets the START_EN0 Bit
32870 */
32871#define SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ3_SHIFT)) & SYSCTL0_STARTEN0_SET_GPIO_INT0_IRQ3_MASK)
32872#define SYSCTL0_STARTEN0_SET_UTICK0_MASK (0x100U)
32873#define SYSCTL0_STARTEN0_SET_UTICK0_SHIFT (8U)
32874/*! UTICK0
32875 * 0b0..No effect
32876 * 0b1..Sets the START_EN0 Bit
32877 */
32878#define SYSCTL0_STARTEN0_SET_UTICK0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_UTICK0_SHIFT)) & SYSCTL0_STARTEN0_SET_UTICK0_MASK)
32879#define SYSCTL0_STARTEN0_SET_MRT0_MASK (0x200U)
32880#define SYSCTL0_STARTEN0_SET_MRT0_SHIFT (9U)
32881/*! MRT0
32882 * 0b0..No effect
32883 * 0b1..Sets the START_EN0 Bit
32884 */
32885#define SYSCTL0_STARTEN0_SET_MRT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_MRT0_SHIFT)) & SYSCTL0_STARTEN0_SET_MRT0_MASK)
32886#define SYSCTL0_STARTEN0_SET_CT32BIT0_MASK (0x400U)
32887#define SYSCTL0_STARTEN0_SET_CT32BIT0_SHIFT (10U)
32888/*! CT32BIT0
32889 * 0b0..No effect
32890 * 0b1..Sets the START_EN0 Bit
32891 */
32892#define SYSCTL0_STARTEN0_SET_CT32BIT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_CT32BIT0_SHIFT)) & SYSCTL0_STARTEN0_SET_CT32BIT0_MASK)
32893#define SYSCTL0_STARTEN0_SET_CT32BIT1_MASK (0x800U)
32894#define SYSCTL0_STARTEN0_SET_CT32BIT1_SHIFT (11U)
32895/*! CT32BIT1
32896 * 0b0..No effect
32897 * 0b1..Sets the START_EN0 Bit
32898 */
32899#define SYSCTL0_STARTEN0_SET_CT32BIT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_CT32BIT1_SHIFT)) & SYSCTL0_STARTEN0_SET_CT32BIT1_MASK)
32900#define SYSCTL0_STARTEN0_SET_SCT0_MASK (0x1000U)
32901#define SYSCTL0_STARTEN0_SET_SCT0_SHIFT (12U)
32902/*! SCT0
32903 * 0b0..No effect
32904 * 0b1..Sets the START_EN0 Bit
32905 */
32906#define SYSCTL0_STARTEN0_SET_SCT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_SCT0_SHIFT)) & SYSCTL0_STARTEN0_SET_SCT0_MASK)
32907#define SYSCTL0_STARTEN0_SET_CT32BIT3_MASK (0x2000U)
32908#define SYSCTL0_STARTEN0_SET_CT32BIT3_SHIFT (13U)
32909/*! CT32BIT3
32910 * 0b0..No effect
32911 * 0b1..Sets the START_EN0 Bit
32912 */
32913#define SYSCTL0_STARTEN0_SET_CT32BIT3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_CT32BIT3_SHIFT)) & SYSCTL0_STARTEN0_SET_CT32BIT3_MASK)
32914#define SYSCTL0_STARTEN0_SET_FLEXCOMM0_MASK (0x4000U)
32915#define SYSCTL0_STARTEN0_SET_FLEXCOMM0_SHIFT (14U)
32916/*! FLEXCOMM0
32917 * 0b0..No effect
32918 * 0b1..Sets the START_EN0 Bit
32919 */
32920#define SYSCTL0_STARTEN0_SET_FLEXCOMM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM0_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM0_MASK)
32921#define SYSCTL0_STARTEN0_SET_FLEXCOMM1_MASK (0x8000U)
32922#define SYSCTL0_STARTEN0_SET_FLEXCOMM1_SHIFT (15U)
32923/*! FLEXCOMM1
32924 * 0b0..No effect
32925 * 0b1..Sets the START_EN0 Bit
32926 */
32927#define SYSCTL0_STARTEN0_SET_FLEXCOMM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM1_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM1_MASK)
32928#define SYSCTL0_STARTEN0_SET_FLEXCOMM2_MASK (0x10000U)
32929#define SYSCTL0_STARTEN0_SET_FLEXCOMM2_SHIFT (16U)
32930/*! FLEXCOMM2
32931 * 0b0..No effect
32932 * 0b1..Sets the START_EN0 Bit
32933 */
32934#define SYSCTL0_STARTEN0_SET_FLEXCOMM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM2_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM2_MASK)
32935#define SYSCTL0_STARTEN0_SET_FLEXCOMM3_MASK (0x20000U)
32936#define SYSCTL0_STARTEN0_SET_FLEXCOMM3_SHIFT (17U)
32937/*! FLEXCOMM3
32938 * 0b0..No effect
32939 * 0b1..Sets the START_EN0 Bit
32940 */
32941#define SYSCTL0_STARTEN0_SET_FLEXCOMM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM3_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM3_MASK)
32942#define SYSCTL0_STARTEN0_SET_FLEXCOMM4_MASK (0x40000U)
32943#define SYSCTL0_STARTEN0_SET_FLEXCOMM4_SHIFT (18U)
32944/*! FLEXCOMM4
32945 * 0b0..No effect
32946 * 0b1..Sets the START_EN0 Bit
32947 */
32948#define SYSCTL0_STARTEN0_SET_FLEXCOMM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM4_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM4_MASK)
32949#define SYSCTL0_STARTEN0_SET_FLEXCOMM5_MASK (0x80000U)
32950#define SYSCTL0_STARTEN0_SET_FLEXCOMM5_SHIFT (19U)
32951/*! FLEXCOMM5
32952 * 0b0..No effect
32953 * 0b1..Sets the START_EN0 Bit
32954 */
32955#define SYSCTL0_STARTEN0_SET_FLEXCOMM5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM5_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM5_MASK)
32956#define SYSCTL0_STARTEN0_SET_FLEXCOMM14_MASK (0x100000U)
32957#define SYSCTL0_STARTEN0_SET_FLEXCOMM14_SHIFT (20U)
32958/*! FLEXCOMM14
32959 * 0b0..No effect
32960 * 0b1..Sets the START_EN0 Bit
32961 */
32962#define SYSCTL0_STARTEN0_SET_FLEXCOMM14(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM14_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM14_MASK)
32963#define SYSCTL0_STARTEN0_SET_FLEXCOMM15_MASK (0x200000U)
32964#define SYSCTL0_STARTEN0_SET_FLEXCOMM15_SHIFT (21U)
32965/*! FLEXCOMM15
32966 * 0b0..No effect
32967 * 0b1..Sets the START_EN0 Bit
32968 */
32969#define SYSCTL0_STARTEN0_SET_FLEXCOMM15(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_FLEXCOMM15_SHIFT)) & SYSCTL0_STARTEN0_SET_FLEXCOMM15_MASK)
32970#define SYSCTL0_STARTEN0_SET_ADC0_MASK (0x400000U)
32971#define SYSCTL0_STARTEN0_SET_ADC0_SHIFT (22U)
32972/*! ADC0
32973 * 0b0..No effect
32974 * 0b1..Sets the START_EN0 Bit
32975 */
32976#define SYSCTL0_STARTEN0_SET_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_ADC0_SHIFT)) & SYSCTL0_STARTEN0_SET_ADC0_MASK)
32977#define SYSCTL0_STARTEN0_SET_ACMP_MASK (0x1000000U)
32978#define SYSCTL0_STARTEN0_SET_ACMP_SHIFT (24U)
32979/*! ACMP
32980 * 0b0..No Effect
32981 * 0b1..Sets the START_EN0 Bit
32982 */
32983#define SYSCTL0_STARTEN0_SET_ACMP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_ACMP_SHIFT)) & SYSCTL0_STARTEN0_SET_ACMP_MASK)
32984#define SYSCTL0_STARTEN0_SET_DMIC0_MASK (0x2000000U)
32985#define SYSCTL0_STARTEN0_SET_DMIC0_SHIFT (25U)
32986/*! DMIC0
32987 * 0b0..No effect
32988 * 0b1..Sets the START_EN0 Bit
32989 */
32990#define SYSCTL0_STARTEN0_SET_DMIC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_DMIC0_SHIFT)) & SYSCTL0_STARTEN0_SET_DMIC0_MASK)
32991#define SYSCTL0_STARTEN0_SET_HYPERVISOR_MASK (0x8000000U)
32992#define SYSCTL0_STARTEN0_SET_HYPERVISOR_SHIFT (27U)
32993/*! HYPERVISOR
32994 * 0b0..No effect
32995 * 0b1..Sets the START_EN0 Bit
32996 */
32997#define SYSCTL0_STARTEN0_SET_HYPERVISOR(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_HYPERVISOR_SHIFT)) & SYSCTL0_STARTEN0_SET_HYPERVISOR_MASK)
32998#define SYSCTL0_STARTEN0_SET_SECUREVIOLATION_MASK (0x10000000U)
32999#define SYSCTL0_STARTEN0_SET_SECUREVIOLATION_SHIFT (28U)
33000/*! SECUREVIOLATION
33001 * 0b0..No effect
33002 * 0b1..Sets the START_EN0 Bit
33003 */
33004#define SYSCTL0_STARTEN0_SET_SECUREVIOLATION(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_SECUREVIOLATION_SHIFT)) & SYSCTL0_STARTEN0_SET_SECUREVIOLATION_MASK)
33005#define SYSCTL0_STARTEN0_SET_HWVAD0_MASK (0x20000000U)
33006#define SYSCTL0_STARTEN0_SET_HWVAD0_SHIFT (29U)
33007/*! HWVAD0
33008 * 0b0..No effect
33009 * 0b1..Sets the START_EN0 Bit
33010 */
33011#define SYSCTL0_STARTEN0_SET_HWVAD0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_HWVAD0_SHIFT)) & SYSCTL0_STARTEN0_SET_HWVAD0_MASK)
33012#define SYSCTL0_STARTEN0_SET_RNG_MASK (0x80000000U)
33013#define SYSCTL0_STARTEN0_SET_RNG_SHIFT (31U)
33014/*! RNG
33015 * 0b0..No effect
33016 * 0b1..Sets the START_EN0 Bit
33017 */
33018#define SYSCTL0_STARTEN0_SET_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_SET_RNG_SHIFT)) & SYSCTL0_STARTEN0_SET_RNG_MASK)
33019/*! @} */
33020
33021/*! @name STARTEN1_SET - Start enable 1 set */
33022/*! @{ */
33023#define SYSCTL0_STARTEN1_SET_RTC_LITE0_ALARM_OR_WAKEUP_MASK (0x1U)
33024#define SYSCTL0_STARTEN1_SET_RTC_LITE0_ALARM_OR_WAKEUP_SHIFT (0U)
33025/*! RTC_LITE0_ALARM_or_WAKEUP
33026 * 0b0..No effect
33027 * 0b1..Sets the START_EN1 Bit
33028 */
33029#define SYSCTL0_STARTEN1_SET_RTC_LITE0_ALARM_OR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_RTC_LITE0_ALARM_OR_WAKEUP_SHIFT)) & SYSCTL0_STARTEN1_SET_RTC_LITE0_ALARM_OR_WAKEUP_MASK)
33030#define SYSCTL0_STARTEN1_SET_MU_MASK (0x4U)
33031#define SYSCTL0_STARTEN1_SET_MU_SHIFT (2U)
33032/*! MU
33033 * 0b0..No effect
33034 * 0b1..Sets the START_EN1 Bit
33035 */
33036#define SYSCTL0_STARTEN1_SET_MU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_MU_SHIFT)) & SYSCTL0_STARTEN1_SET_MU_MASK)
33037#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ4_MASK (0x8U)
33038#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ4_SHIFT (3U)
33039/*! GPIO_INT0_IRQ4
33040 * 0b0..No effect
33041 * 0b1..Sets the START_EN1 Bit
33042 */
33043#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ4_SHIFT)) & SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ4_MASK)
33044#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ5_MASK (0x10U)
33045#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ5_SHIFT (4U)
33046/*! GPIO_INT0_IRQ5
33047 * 0b0..No effect
33048 * 0b1..Sets the START_EN1 Bit
33049 */
33050#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ5_SHIFT)) & SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ5_MASK)
33051#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ6_MASK (0x20U)
33052#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ6_SHIFT (5U)
33053/*! GPIO_INT0_IRQ6
33054 * 0b0..No effect
33055 * 0b1..Sets the START_EN1 Bit
33056 */
33057#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ6_SHIFT)) & SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ6_MASK)
33058#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ7_MASK (0x40U)
33059#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ7_SHIFT (6U)
33060/*! GPIO_INT0_IRQ7
33061 * 0b0..No effect
33062 * 0b1..Sets the START_EN1 Bit
33063 */
33064#define SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ7_SHIFT)) & SYSCTL0_STARTEN1_SET_GPIO_INT0_IRQ7_MASK)
33065#define SYSCTL0_STARTEN1_SET_CT32BIT2_MASK (0x80U)
33066#define SYSCTL0_STARTEN1_SET_CT32BIT2_SHIFT (7U)
33067/*! CT32BIT2
33068 * 0b0..No effect
33069 * 0b1..Sets the START_EN1 Bit
33070 */
33071#define SYSCTL0_STARTEN1_SET_CT32BIT2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_CT32BIT2_SHIFT)) & SYSCTL0_STARTEN1_SET_CT32BIT2_MASK)
33072#define SYSCTL0_STARTEN1_SET_CT32BIT4_MASK (0x100U)
33073#define SYSCTL0_STARTEN1_SET_CT32BIT4_SHIFT (8U)
33074/*! CT32BIT4
33075 * 0b0..No effect
33076 * 0b1..Sets the START_EN1 Bit
33077 */
33078#define SYSCTL0_STARTEN1_SET_CT32BIT4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_CT32BIT4_SHIFT)) & SYSCTL0_STARTEN1_SET_CT32BIT4_MASK)
33079#define SYSCTL0_STARTEN1_SET_OS_EVENT_TIMER_WU_MASK (0x200U)
33080#define SYSCTL0_STARTEN1_SET_OS_EVENT_TIMER_WU_SHIFT (9U)
33081/*! OS_EVENT_TIMER_WU
33082 * 0b0..No effect
33083 * 0b1..Sets the START_EN1 Bit
33084 */
33085#define SYSCTL0_STARTEN1_SET_OS_EVENT_TIMER_WU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_OS_EVENT_TIMER_WU_SHIFT)) & SYSCTL0_STARTEN1_SET_OS_EVENT_TIMER_WU_MASK)
33086#define SYSCTL0_STARTEN1_SET_FLEXSPI_MASK (0x400U)
33087#define SYSCTL0_STARTEN1_SET_FLEXSPI_SHIFT (10U)
33088/*! FLEXSPI
33089 * 0b0..No effect
33090 * 0b1..Sets the START_EN1 Bit
33091 */
33092#define SYSCTL0_STARTEN1_SET_FLEXSPI(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_FLEXSPI_SHIFT)) & SYSCTL0_STARTEN1_SET_FLEXSPI_MASK)
33093#define SYSCTL0_STARTEN1_SET_FLEXCOMM6_MASK (0x800U)
33094#define SYSCTL0_STARTEN1_SET_FLEXCOMM6_SHIFT (11U)
33095/*! FLEXCOMM6
33096 * 0b0..No effect
33097 * 0b1..Sets the START_EN1 Bit
33098 */
33099#define SYSCTL0_STARTEN1_SET_FLEXCOMM6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_FLEXCOMM6_SHIFT)) & SYSCTL0_STARTEN1_SET_FLEXCOMM6_MASK)
33100#define SYSCTL0_STARTEN1_SET_FLEXCOMM7_MASK (0x1000U)
33101#define SYSCTL0_STARTEN1_SET_FLEXCOMM7_SHIFT (12U)
33102/*! FLEXCOMM7
33103 * 0b0..No effect
33104 * 0b1..Sets the START_EN1 Bit
33105 */
33106#define SYSCTL0_STARTEN1_SET_FLEXCOMM7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_FLEXCOMM7_SHIFT)) & SYSCTL0_STARTEN1_SET_FLEXCOMM7_MASK)
33107#define SYSCTL0_STARTEN1_SET_SDIO0_MASK (0x2000U)
33108#define SYSCTL0_STARTEN1_SET_SDIO0_SHIFT (13U)
33109/*! SDIO0
33110 * 0b0..No effect
33111 * 0b1..Sets the START_EN1 Bit
33112 */
33113#define SYSCTL0_STARTEN1_SET_SDIO0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_SDIO0_SHIFT)) & SYSCTL0_STARTEN1_SET_SDIO0_MASK)
33114#define SYSCTL0_STARTEN1_SET_SDIO1_MASK (0x4000U)
33115#define SYSCTL0_STARTEN1_SET_SDIO1_SHIFT (14U)
33116/*! SDIO1
33117 * 0b0..No effect
33118 * 0b1..Sets the START_EN1 Bit
33119 */
33120#define SYSCTL0_STARTEN1_SET_SDIO1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_SDIO1_SHIFT)) & SYSCTL0_STARTEN1_SET_SDIO1_MASK)
33121#define SYSCTL0_STARTEN1_SET_SHSGPIO_INT0_MASK (0x8000U)
33122#define SYSCTL0_STARTEN1_SET_SHSGPIO_INT0_SHIFT (15U)
33123/*! SHSGPIO_INT0
33124 * 0b0..No effect
33125 * 0b1..Sets the START_EN1 Bit
33126 */
33127#define SYSCTL0_STARTEN1_SET_SHSGPIO_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_SHSGPIO_INT0_SHIFT)) & SYSCTL0_STARTEN1_SET_SHSGPIO_INT0_MASK)
33128#define SYSCTL0_STARTEN1_SET_SHSGPIO_INT1_MASK (0x10000U)
33129#define SYSCTL0_STARTEN1_SET_SHSGPIO_INT1_SHIFT (16U)
33130/*! SHSGPIO_INT1
33131 * 0b0..No effect
33132 * 0b1..Sets the START_EN1 Bit
33133 */
33134#define SYSCTL0_STARTEN1_SET_SHSGPIO_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_SHSGPIO_INT1_SHIFT)) & SYSCTL0_STARTEN1_SET_SHSGPIO_INT1_MASK)
33135#define SYSCTL0_STARTEN1_SET_I3C0_MASK (0x20000U)
33136#define SYSCTL0_STARTEN1_SET_I3C0_SHIFT (17U)
33137/*! I3C0
33138 * 0b0..No effect
33139 * 0b1..Sets the START_EN1 Bit
33140 */
33141#define SYSCTL0_STARTEN1_SET_I3C0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_I3C0_SHIFT)) & SYSCTL0_STARTEN1_SET_I3C0_MASK)
33142#define SYSCTL0_STARTEN1_SET_USB_IRQ_MASK (0x40000U)
33143#define SYSCTL0_STARTEN1_SET_USB_IRQ_SHIFT (18U)
33144/*! USB_IRQ
33145 * 0b0..No effect
33146 * 0b1..Sets the START_EN1 Bit
33147 */
33148#define SYSCTL0_STARTEN1_SET_USB_IRQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_USB_IRQ_SHIFT)) & SYSCTL0_STARTEN1_SET_USB_IRQ_MASK)
33149#define SYSCTL0_STARTEN1_SET_USB_NEEDCLK_MASK (0x80000U)
33150#define SYSCTL0_STARTEN1_SET_USB_NEEDCLK_SHIFT (19U)
33151/*! USB_NEEDCLK
33152 * 0b0..No effect
33153 * 0b1..Sets the START_EN1 Bit
33154 */
33155#define SYSCTL0_STARTEN1_SET_USB_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_USB_NEEDCLK_SHIFT)) & SYSCTL0_STARTEN1_SET_USB_NEEDCLK_MASK)
33156#define SYSCTL0_STARTEN1_SET_DMAC1_MASK (0x400000U)
33157#define SYSCTL0_STARTEN1_SET_DMAC1_SHIFT (22U)
33158/*! DMAC1
33159 * 0b0..No effect
33160 * 0b1..Sets the START_EN1 Bit
33161 */
33162#define SYSCTL0_STARTEN1_SET_DMAC1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_DMAC1_SHIFT)) & SYSCTL0_STARTEN1_SET_DMAC1_MASK)
33163#define SYSCTL0_STARTEN1_SET_PUF_MASK (0x800000U)
33164#define SYSCTL0_STARTEN1_SET_PUF_SHIFT (23U)
33165/*! PUF
33166 * 0b0..No effect
33167 * 0b1..Sets the START_EN1 Bit
33168 */
33169#define SYSCTL0_STARTEN1_SET_PUF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_PUF_SHIFT)) & SYSCTL0_STARTEN1_SET_PUF_MASK)
33170#define SYSCTL0_STARTEN1_SET_POWERQUAD_MASK (0x1000000U)
33171#define SYSCTL0_STARTEN1_SET_POWERQUAD_SHIFT (24U)
33172/*! POWERQUAD
33173 * 0b0..No effect
33174 * 0b1..Sets the START_EN1 Bit
33175 */
33176#define SYSCTL0_STARTEN1_SET_POWERQUAD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_POWERQUAD_SHIFT)) & SYSCTL0_STARTEN1_SET_POWERQUAD_MASK)
33177#define SYSCTL0_STARTEN1_SET_CASPER_MASK (0x2000000U)
33178#define SYSCTL0_STARTEN1_SET_CASPER_SHIFT (25U)
33179/*! CASPER
33180 * 0b0..No effect
33181 * 0b1..Sets the START_EN1 Bit
33182 */
33183#define SYSCTL0_STARTEN1_SET_CASPER(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_CASPER_SHIFT)) & SYSCTL0_STARTEN1_SET_CASPER_MASK)
33184#define SYSCTL0_STARTEN1_SET_PMIC_MASK (0x4000000U)
33185#define SYSCTL0_STARTEN1_SET_PMIC_SHIFT (26U)
33186/*! PMIC
33187 * 0b0..No effect
33188 * 0b1..Sets the START_EN1 Bit
33189 */
33190#define SYSCTL0_STARTEN1_SET_PMIC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_PMIC_SHIFT)) & SYSCTL0_STARTEN1_SET_PMIC_MASK)
33191#define SYSCTL0_STARTEN1_SET_SHA_MASK (0x8000000U)
33192#define SYSCTL0_STARTEN1_SET_SHA_SHIFT (27U)
33193/*! SHA
33194 * 0b0..No effect
33195 * 0b1..Sets the START_EN1 Bit
33196 */
33197#define SYSCTL0_STARTEN1_SET_SHA(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_SET_SHA_SHIFT)) & SYSCTL0_STARTEN1_SET_SHA_MASK)
33198/*! @} */
33199
33200/*! @name STARTEN0_CLR - Start enable 0 clear */
33201/*! @{ */
33202#define SYSCTL0_STARTEN0_CLR_WDT0_MASK (0x1U)
33203#define SYSCTL0_STARTEN0_CLR_WDT0_SHIFT (0U)
33204/*! WDT0
33205 * 0b0..No effect
33206 * 0b1..Clears the START_EN0 Bit
33207 */
33208#define SYSCTL0_STARTEN0_CLR_WDT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_WDT0_SHIFT)) & SYSCTL0_STARTEN0_CLR_WDT0_MASK)
33209#define SYSCTL0_STARTEN0_CLR_DMAC0_MASK (0x2U)
33210#define SYSCTL0_STARTEN0_CLR_DMAC0_SHIFT (1U)
33211/*! DMAC0
33212 * 0b0..No effect
33213 * 0b1..Clears the START_EN0 Bit
33214 */
33215#define SYSCTL0_STARTEN0_CLR_DMAC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_DMAC0_SHIFT)) & SYSCTL0_STARTEN0_CLR_DMAC0_MASK)
33216#define SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT0_MASK (0x4U)
33217#define SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT0_SHIFT (2U)
33218/*! NSHSGPIO_INT0
33219 * 0b0..No effect
33220 * 0b1..Clears the START_EN0 Bit
33221 */
33222#define SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT0_SHIFT)) & SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT0_MASK)
33223#define SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT1_MASK (0x8U)
33224#define SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT1_SHIFT (3U)
33225/*! NSHSGPIO_INT1
33226 * 0b0..No effect
33227 * 0b1..Clears the START_EN0 Bit
33228 */
33229#define SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT1_SHIFT)) & SYSCTL0_STARTEN0_CLR_NSHSGPIO_INT1_MASK)
33230#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ0_MASK (0x10U)
33231#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ0_SHIFT (4U)
33232/*! GPIO_INT0_IRQ0
33233 * 0b0..No effect
33234 * 0b1..Clears the START_EN0 Bit
33235 */
33236#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ0_SHIFT)) & SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ0_MASK)
33237#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ1_MASK (0x20U)
33238#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ1_SHIFT (5U)
33239/*! GPIO_INT0_IRQ1
33240 * 0b0..No effect
33241 * 0b1..Clears the START_EN0 Bit
33242 */
33243#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ1_SHIFT)) & SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ1_MASK)
33244#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ2_MASK (0x40U)
33245#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ2_SHIFT (6U)
33246/*! GPIO_INT0_IRQ2
33247 * 0b0..No effect
33248 * 0b1..Clears the START_EN0 Bit
33249 */
33250#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ2_SHIFT)) & SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ2_MASK)
33251#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ3_MASK (0x80U)
33252#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ3_SHIFT (7U)
33253/*! GPIO_INT0_IRQ3
33254 * 0b0..No effect
33255 * 0b1..Clears the START_EN0 Bit
33256 */
33257#define SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ3_SHIFT)) & SYSCTL0_STARTEN0_CLR_GPIO_INT0_IRQ3_MASK)
33258#define SYSCTL0_STARTEN0_CLR_UTICK0_MASK (0x100U)
33259#define SYSCTL0_STARTEN0_CLR_UTICK0_SHIFT (8U)
33260/*! UTICK0
33261 * 0b0..No effect
33262 * 0b1..Clears the START_EN0 Bit
33263 */
33264#define SYSCTL0_STARTEN0_CLR_UTICK0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_UTICK0_SHIFT)) & SYSCTL0_STARTEN0_CLR_UTICK0_MASK)
33265#define SYSCTL0_STARTEN0_CLR_MRT0_MASK (0x200U)
33266#define SYSCTL0_STARTEN0_CLR_MRT0_SHIFT (9U)
33267/*! MRT0
33268 * 0b0..No effect
33269 * 0b1..Clears the START_EN0 Bit
33270 */
33271#define SYSCTL0_STARTEN0_CLR_MRT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_MRT0_SHIFT)) & SYSCTL0_STARTEN0_CLR_MRT0_MASK)
33272#define SYSCTL0_STARTEN0_CLR_CT32BIT0_MASK (0x400U)
33273#define SYSCTL0_STARTEN0_CLR_CT32BIT0_SHIFT (10U)
33274/*! CT32BIT0
33275 * 0b0..No effect
33276 * 0b1..Clears the START_EN0 Bit
33277 */
33278#define SYSCTL0_STARTEN0_CLR_CT32BIT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_CT32BIT0_SHIFT)) & SYSCTL0_STARTEN0_CLR_CT32BIT0_MASK)
33279#define SYSCTL0_STARTEN0_CLR_CT32BIT1_MASK (0x800U)
33280#define SYSCTL0_STARTEN0_CLR_CT32BIT1_SHIFT (11U)
33281/*! CT32BIT1
33282 * 0b0..No effect
33283 * 0b1..Clears the START_EN0 Bit
33284 */
33285#define SYSCTL0_STARTEN0_CLR_CT32BIT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_CT32BIT1_SHIFT)) & SYSCTL0_STARTEN0_CLR_CT32BIT1_MASK)
33286#define SYSCTL0_STARTEN0_CLR_SCT0_MASK (0x1000U)
33287#define SYSCTL0_STARTEN0_CLR_SCT0_SHIFT (12U)
33288/*! SCT0
33289 * 0b0..No effect
33290 * 0b1..Clears the START_EN0 Bit
33291 */
33292#define SYSCTL0_STARTEN0_CLR_SCT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_SCT0_SHIFT)) & SYSCTL0_STARTEN0_CLR_SCT0_MASK)
33293#define SYSCTL0_STARTEN0_CLR_CT32BIT3_MASK (0x2000U)
33294#define SYSCTL0_STARTEN0_CLR_CT32BIT3_SHIFT (13U)
33295/*! CT32BIT3
33296 * 0b0..No effect
33297 * 0b1..Clears the START_EN0 Bit
33298 */
33299#define SYSCTL0_STARTEN0_CLR_CT32BIT3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_CT32BIT3_SHIFT)) & SYSCTL0_STARTEN0_CLR_CT32BIT3_MASK)
33300#define SYSCTL0_STARTEN0_CLR_FLEXCOMM0_MASK (0x4000U)
33301#define SYSCTL0_STARTEN0_CLR_FLEXCOMM0_SHIFT (14U)
33302/*! FLEXCOMM0
33303 * 0b0..No effect
33304 * 0b1..Clears the START_EN0 Bit
33305 */
33306#define SYSCTL0_STARTEN0_CLR_FLEXCOMM0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM0_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM0_MASK)
33307#define SYSCTL0_STARTEN0_CLR_FLEXCOMM1_MASK (0x8000U)
33308#define SYSCTL0_STARTEN0_CLR_FLEXCOMM1_SHIFT (15U)
33309/*! FLEXCOMM1
33310 * 0b0..No effect
33311 * 0b1..Clears the START_EN0 Bit
33312 */
33313#define SYSCTL0_STARTEN0_CLR_FLEXCOMM1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM1_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM1_MASK)
33314#define SYSCTL0_STARTEN0_CLR_FLEXCOMM2_MASK (0x10000U)
33315#define SYSCTL0_STARTEN0_CLR_FLEXCOMM2_SHIFT (16U)
33316/*! FLEXCOMM2
33317 * 0b0..No effect
33318 * 0b1..Clears the START_EN0 Bit
33319 */
33320#define SYSCTL0_STARTEN0_CLR_FLEXCOMM2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM2_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM2_MASK)
33321#define SYSCTL0_STARTEN0_CLR_FLEXCOMM3_MASK (0x20000U)
33322#define SYSCTL0_STARTEN0_CLR_FLEXCOMM3_SHIFT (17U)
33323/*! FLEXCOMM3
33324 * 0b0..No effect
33325 * 0b1..Clears the START_EN0 Bit
33326 */
33327#define SYSCTL0_STARTEN0_CLR_FLEXCOMM3(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM3_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM3_MASK)
33328#define SYSCTL0_STARTEN0_CLR_FLEXCOMM4_MASK (0x40000U)
33329#define SYSCTL0_STARTEN0_CLR_FLEXCOMM4_SHIFT (18U)
33330/*! FLEXCOMM4
33331 * 0b0..No effect
33332 * 0b1..Clears the START_EN0 Bit
33333 */
33334#define SYSCTL0_STARTEN0_CLR_FLEXCOMM4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM4_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM4_MASK)
33335#define SYSCTL0_STARTEN0_CLR_FLEXCOMM5_MASK (0x80000U)
33336#define SYSCTL0_STARTEN0_CLR_FLEXCOMM5_SHIFT (19U)
33337/*! FLEXCOMM5
33338 * 0b0..No effect
33339 * 0b1..Clears the START_EN0 Bit
33340 */
33341#define SYSCTL0_STARTEN0_CLR_FLEXCOMM5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM5_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM5_MASK)
33342#define SYSCTL0_STARTEN0_CLR_FLEXCOMM14_MASK (0x100000U)
33343#define SYSCTL0_STARTEN0_CLR_FLEXCOMM14_SHIFT (20U)
33344/*! FLEXCOMM14
33345 * 0b0..No effect
33346 * 0b1..Clears the START_EN0 Bit
33347 */
33348#define SYSCTL0_STARTEN0_CLR_FLEXCOMM14(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM14_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM14_MASK)
33349#define SYSCTL0_STARTEN0_CLR_FLEXCOMM15_MASK (0x200000U)
33350#define SYSCTL0_STARTEN0_CLR_FLEXCOMM15_SHIFT (21U)
33351/*! FLEXCOMM15
33352 * 0b0..No effect
33353 * 0b1..Clears the START_EN0 Bit
33354 */
33355#define SYSCTL0_STARTEN0_CLR_FLEXCOMM15(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_FLEXCOMM15_SHIFT)) & SYSCTL0_STARTEN0_CLR_FLEXCOMM15_MASK)
33356#define SYSCTL0_STARTEN0_CLR_ADC0_MASK (0x400000U)
33357#define SYSCTL0_STARTEN0_CLR_ADC0_SHIFT (22U)
33358/*! ADC0
33359 * 0b0..No effect
33360 * 0b1..Clears the START_EN0 Bit
33361 */
33362#define SYSCTL0_STARTEN0_CLR_ADC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_ADC0_SHIFT)) & SYSCTL0_STARTEN0_CLR_ADC0_MASK)
33363#define SYSCTL0_STARTEN0_CLR_ACMP_MASK (0x1000000U)
33364#define SYSCTL0_STARTEN0_CLR_ACMP_SHIFT (24U)
33365/*! ACMP
33366 * 0b0..No effect
33367 * 0b1..Clears the START_EN0 Bit
33368 */
33369#define SYSCTL0_STARTEN0_CLR_ACMP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_ACMP_SHIFT)) & SYSCTL0_STARTEN0_CLR_ACMP_MASK)
33370#define SYSCTL0_STARTEN0_CLR_DMIC0_MASK (0x2000000U)
33371#define SYSCTL0_STARTEN0_CLR_DMIC0_SHIFT (25U)
33372/*! DMIC0
33373 * 0b0..No effect
33374 * 0b1..Clears the START_EN0 Bit
33375 */
33376#define SYSCTL0_STARTEN0_CLR_DMIC0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_DMIC0_SHIFT)) & SYSCTL0_STARTEN0_CLR_DMIC0_MASK)
33377#define SYSCTL0_STARTEN0_CLR_HYPERVISOR_MASK (0x8000000U)
33378#define SYSCTL0_STARTEN0_CLR_HYPERVISOR_SHIFT (27U)
33379/*! HYPERVISOR
33380 * 0b0..No effect
33381 * 0b1..Clears the START_EN0 Bit
33382 */
33383#define SYSCTL0_STARTEN0_CLR_HYPERVISOR(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_HYPERVISOR_SHIFT)) & SYSCTL0_STARTEN0_CLR_HYPERVISOR_MASK)
33384#define SYSCTL0_STARTEN0_CLR_SECUREVIOLATION_MASK (0x10000000U)
33385#define SYSCTL0_STARTEN0_CLR_SECUREVIOLATION_SHIFT (28U)
33386/*! SECUREVIOLATION
33387 * 0b0..No effect
33388 * 0b1..Clears the START_EN0 Bit
33389 */
33390#define SYSCTL0_STARTEN0_CLR_SECUREVIOLATION(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_SECUREVIOLATION_SHIFT)) & SYSCTL0_STARTEN0_CLR_SECUREVIOLATION_MASK)
33391#define SYSCTL0_STARTEN0_CLR_HWVAD0_MASK (0x20000000U)
33392#define SYSCTL0_STARTEN0_CLR_HWVAD0_SHIFT (29U)
33393/*! HWVAD0
33394 * 0b0..No effect
33395 * 0b1..Clears the START_EN0 Bit
33396 */
33397#define SYSCTL0_STARTEN0_CLR_HWVAD0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_HWVAD0_SHIFT)) & SYSCTL0_STARTEN0_CLR_HWVAD0_MASK)
33398#define SYSCTL0_STARTEN0_CLR_RNG_MASK (0x80000000U)
33399#define SYSCTL0_STARTEN0_CLR_RNG_SHIFT (31U)
33400/*! RNG
33401 * 0b0..No effect
33402 * 0b1..Clears the START_EN0 Bit
33403 */
33404#define SYSCTL0_STARTEN0_CLR_RNG(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN0_CLR_RNG_SHIFT)) & SYSCTL0_STARTEN0_CLR_RNG_MASK)
33405/*! @} */
33406
33407/*! @name STARTEN1_CLR - Start enable 1 clear */
33408/*! @{ */
33409#define SYSCTL0_STARTEN1_CLR_RTC_LITE0_ALARM_OR_WAKEUP_MASK (0x1U)
33410#define SYSCTL0_STARTEN1_CLR_RTC_LITE0_ALARM_OR_WAKEUP_SHIFT (0U)
33411/*! RTC_LITE0_ALARM_or_WAKEUP
33412 * 0b0..No effect
33413 * 0b1..Clears the START_EN1 Bit
33414 */
33415#define SYSCTL0_STARTEN1_CLR_RTC_LITE0_ALARM_OR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_RTC_LITE0_ALARM_OR_WAKEUP_SHIFT)) & SYSCTL0_STARTEN1_CLR_RTC_LITE0_ALARM_OR_WAKEUP_MASK)
33416#define SYSCTL0_STARTEN1_CLR_MU_MASK (0x4U)
33417#define SYSCTL0_STARTEN1_CLR_MU_SHIFT (2U)
33418/*! MU
33419 * 0b0..No effect
33420 * 0b1..Clears the START_EN1 Bit
33421 */
33422#define SYSCTL0_STARTEN1_CLR_MU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_MU_SHIFT)) & SYSCTL0_STARTEN1_CLR_MU_MASK)
33423#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ4_MASK (0x8U)
33424#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ4_SHIFT (3U)
33425/*! GPIO_INT0_IRQ4
33426 * 0b0..No effect
33427 * 0b1..Clears the START_EN1 Bit
33428 */
33429#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ4_SHIFT)) & SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ4_MASK)
33430#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ5_MASK (0x10U)
33431#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ5_SHIFT (4U)
33432/*! GPIO_INT0_IRQ5
33433 * 0b0..No effect
33434 * 0b1..Clears the START_EN1 Bit
33435 */
33436#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ5(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ5_SHIFT)) & SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ5_MASK)
33437#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ6_MASK (0x20U)
33438#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ6_SHIFT (5U)
33439/*! GPIO_INT0_IRQ6
33440 * 0b0..No effect
33441 * 0b1..Clears the START_EN1 Bit
33442 */
33443#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ6_SHIFT)) & SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ6_MASK)
33444#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ7_MASK (0x40U)
33445#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ7_SHIFT (6U)
33446/*! GPIO_INT0_IRQ7
33447 * 0b0..No effect
33448 * 0b1..Clears the START_EN1 Bit
33449 */
33450#define SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ7_SHIFT)) & SYSCTL0_STARTEN1_CLR_GPIO_INT0_IRQ7_MASK)
33451#define SYSCTL0_STARTEN1_CLR_CT32BIT2_MASK (0x80U)
33452#define SYSCTL0_STARTEN1_CLR_CT32BIT2_SHIFT (7U)
33453/*! CT32BIT2
33454 * 0b0..No effect
33455 * 0b1..Clears the START_EN1 Bit
33456 */
33457#define SYSCTL0_STARTEN1_CLR_CT32BIT2(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_CT32BIT2_SHIFT)) & SYSCTL0_STARTEN1_CLR_CT32BIT2_MASK)
33458#define SYSCTL0_STARTEN1_CLR_CT32BIT4_MASK (0x100U)
33459#define SYSCTL0_STARTEN1_CLR_CT32BIT4_SHIFT (8U)
33460/*! CT32BIT4
33461 * 0b0..No effect
33462 * 0b1..Clears the START_EN1 Bit
33463 */
33464#define SYSCTL0_STARTEN1_CLR_CT32BIT4(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_CT32BIT4_SHIFT)) & SYSCTL0_STARTEN1_CLR_CT32BIT4_MASK)
33465#define SYSCTL0_STARTEN1_CLR_OS_EVENT_TIMER_WU_MASK (0x200U)
33466#define SYSCTL0_STARTEN1_CLR_OS_EVENT_TIMER_WU_SHIFT (9U)
33467/*! OS_EVENT_TIMER_WU
33468 * 0b0..No effect
33469 * 0b1..Clears the START_EN1 Bit
33470 */
33471#define SYSCTL0_STARTEN1_CLR_OS_EVENT_TIMER_WU(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_OS_EVENT_TIMER_WU_SHIFT)) & SYSCTL0_STARTEN1_CLR_OS_EVENT_TIMER_WU_MASK)
33472#define SYSCTL0_STARTEN1_CLR_FLEXSPI_MASK (0x400U)
33473#define SYSCTL0_STARTEN1_CLR_FLEXSPI_SHIFT (10U)
33474/*! FLEXSPI
33475 * 0b0..No effect
33476 * 0b1..Clears the START_EN1 Bit
33477 */
33478#define SYSCTL0_STARTEN1_CLR_FLEXSPI(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_FLEXSPI_SHIFT)) & SYSCTL0_STARTEN1_CLR_FLEXSPI_MASK)
33479#define SYSCTL0_STARTEN1_CLR_FLEXCOMM6_MASK (0x800U)
33480#define SYSCTL0_STARTEN1_CLR_FLEXCOMM6_SHIFT (11U)
33481/*! FLEXCOMM6
33482 * 0b0..No effect
33483 * 0b1..Clears the START_EN1 Bit
33484 */
33485#define SYSCTL0_STARTEN1_CLR_FLEXCOMM6(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_FLEXCOMM6_SHIFT)) & SYSCTL0_STARTEN1_CLR_FLEXCOMM6_MASK)
33486#define SYSCTL0_STARTEN1_CLR_FLEXCOMM7_MASK (0x1000U)
33487#define SYSCTL0_STARTEN1_CLR_FLEXCOMM7_SHIFT (12U)
33488/*! FLEXCOMM7
33489 * 0b0..No effect
33490 * 0b1..Clears the START_EN1 Bit
33491 */
33492#define SYSCTL0_STARTEN1_CLR_FLEXCOMM7(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_FLEXCOMM7_SHIFT)) & SYSCTL0_STARTEN1_CLR_FLEXCOMM7_MASK)
33493#define SYSCTL0_STARTEN1_CLR_SDIO0_MASK (0x2000U)
33494#define SYSCTL0_STARTEN1_CLR_SDIO0_SHIFT (13U)
33495/*! SDIO0
33496 * 0b0..No effect
33497 * 0b1..Clears the START_EN1 Bit
33498 */
33499#define SYSCTL0_STARTEN1_CLR_SDIO0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_SDIO0_SHIFT)) & SYSCTL0_STARTEN1_CLR_SDIO0_MASK)
33500#define SYSCTL0_STARTEN1_CLR_SDIO1_MASK (0x4000U)
33501#define SYSCTL0_STARTEN1_CLR_SDIO1_SHIFT (14U)
33502/*! SDIO1
33503 * 0b0..No effect
33504 * 0b1..Clears the START_EN1 Bit
33505 */
33506#define SYSCTL0_STARTEN1_CLR_SDIO1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_SDIO1_SHIFT)) & SYSCTL0_STARTEN1_CLR_SDIO1_MASK)
33507#define SYSCTL0_STARTEN1_CLR_SHSGPIO_INT0_MASK (0x8000U)
33508#define SYSCTL0_STARTEN1_CLR_SHSGPIO_INT0_SHIFT (15U)
33509/*! SHSGPIO_INT0
33510 * 0b0..No effect
33511 * 0b1..Clears the START_EN1 Bit
33512 */
33513#define SYSCTL0_STARTEN1_CLR_SHSGPIO_INT0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_SHSGPIO_INT0_SHIFT)) & SYSCTL0_STARTEN1_CLR_SHSGPIO_INT0_MASK)
33514#define SYSCTL0_STARTEN1_CLR_SHSGPIO_INT1_MASK (0x10000U)
33515#define SYSCTL0_STARTEN1_CLR_SHSGPIO_INT1_SHIFT (16U)
33516/*! SHSGPIO_INT1
33517 * 0b0..No effect
33518 * 0b1..Clears the START_EN1 Bit
33519 */
33520#define SYSCTL0_STARTEN1_CLR_SHSGPIO_INT1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_SHSGPIO_INT1_SHIFT)) & SYSCTL0_STARTEN1_CLR_SHSGPIO_INT1_MASK)
33521#define SYSCTL0_STARTEN1_CLR_I3C0_MASK (0x20000U)
33522#define SYSCTL0_STARTEN1_CLR_I3C0_SHIFT (17U)
33523/*! I3C0
33524 * 0b0..No effect
33525 * 0b1..Clears the START_EN1 Bit
33526 */
33527#define SYSCTL0_STARTEN1_CLR_I3C0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_I3C0_SHIFT)) & SYSCTL0_STARTEN1_CLR_I3C0_MASK)
33528#define SYSCTL0_STARTEN1_CLR_USB_IRQ_MASK (0x40000U)
33529#define SYSCTL0_STARTEN1_CLR_USB_IRQ_SHIFT (18U)
33530/*! USB_IRQ
33531 * 0b0..No effect
33532 * 0b1..Clears the START_EN1 Bit
33533 */
33534#define SYSCTL0_STARTEN1_CLR_USB_IRQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_USB_IRQ_SHIFT)) & SYSCTL0_STARTEN1_CLR_USB_IRQ_MASK)
33535#define SYSCTL0_STARTEN1_CLR_USB_NEEDCLK_MASK (0x80000U)
33536#define SYSCTL0_STARTEN1_CLR_USB_NEEDCLK_SHIFT (19U)
33537/*! USB_NEEDCLK
33538 * 0b0..No effect
33539 * 0b1..Clears the START_EN1 Bit
33540 */
33541#define SYSCTL0_STARTEN1_CLR_USB_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_USB_NEEDCLK_SHIFT)) & SYSCTL0_STARTEN1_CLR_USB_NEEDCLK_MASK)
33542#define SYSCTL0_STARTEN1_CLR_DMAC1_MASK (0x400000U)
33543#define SYSCTL0_STARTEN1_CLR_DMAC1_SHIFT (22U)
33544/*! DMAC1
33545 * 0b0..No effect
33546 * 0b1..Clears the START_EN1 Bit
33547 */
33548#define SYSCTL0_STARTEN1_CLR_DMAC1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_DMAC1_SHIFT)) & SYSCTL0_STARTEN1_CLR_DMAC1_MASK)
33549#define SYSCTL0_STARTEN1_CLR_PUF_MASK (0x800000U)
33550#define SYSCTL0_STARTEN1_CLR_PUF_SHIFT (23U)
33551/*! PUF
33552 * 0b0..No effect
33553 * 0b1..Clears the START_EN1 Bit
33554 */
33555#define SYSCTL0_STARTEN1_CLR_PUF(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_PUF_SHIFT)) & SYSCTL0_STARTEN1_CLR_PUF_MASK)
33556#define SYSCTL0_STARTEN1_CLR_POWERQUAD_MASK (0x1000000U)
33557#define SYSCTL0_STARTEN1_CLR_POWERQUAD_SHIFT (24U)
33558/*! POWERQUAD
33559 * 0b0..No effect
33560 * 0b1..Clears the START_EN1 Bit
33561 */
33562#define SYSCTL0_STARTEN1_CLR_POWERQUAD(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_POWERQUAD_SHIFT)) & SYSCTL0_STARTEN1_CLR_POWERQUAD_MASK)
33563#define SYSCTL0_STARTEN1_CLR_CASPER_MASK (0x2000000U)
33564#define SYSCTL0_STARTEN1_CLR_CASPER_SHIFT (25U)
33565/*! CASPER
33566 * 0b0..No effect
33567 * 0b1..Clears the START_EN1 Bit
33568 */
33569#define SYSCTL0_STARTEN1_CLR_CASPER(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_CASPER_SHIFT)) & SYSCTL0_STARTEN1_CLR_CASPER_MASK)
33570#define SYSCTL0_STARTEN1_CLR_PMIC_MASK (0x4000000U)
33571#define SYSCTL0_STARTEN1_CLR_PMIC_SHIFT (26U)
33572/*! PMIC
33573 * 0b0..No effect
33574 * 0b1..Clears the START_EN1 Bit
33575 */
33576#define SYSCTL0_STARTEN1_CLR_PMIC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_PMIC_SHIFT)) & SYSCTL0_STARTEN1_CLR_PMIC_MASK)
33577#define SYSCTL0_STARTEN1_CLR_SHA_MASK (0x8000000U)
33578#define SYSCTL0_STARTEN1_CLR_SHA_SHIFT (27U)
33579/*! SHA
33580 * 0b0..No effect
33581 * 0b1..Clears the START_EN1 Bit
33582 */
33583#define SYSCTL0_STARTEN1_CLR_SHA(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_STARTEN1_CLR_SHA_SHIFT)) & SYSCTL0_STARTEN1_CLR_SHA_MASK)
33584/*! @} */
33585
33586/*! @name MAINCLKSAFETY - Main Clock Safety */
33587/*! @{ */
33588#define SYSCTL0_MAINCLKSAFETY_DELAY_MASK (0xFFFFU)
33589#define SYSCTL0_MAINCLKSAFETY_DELAY_SHIFT (0U)
33590/*! DELAY - Main Clock turn on delay for Deep Sleep wake up
33591 */
33592#define SYSCTL0_MAINCLKSAFETY_DELAY(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_MAINCLKSAFETY_DELAY_SHIFT)) & SYSCTL0_MAINCLKSAFETY_DELAY_MASK)
33593/*! @} */
33594
33595/*! @name HWWAKE - Hardware Wake-up control */
33596/*! @{ */
33597#define SYSCTL0_HWWAKE_FORCEWAKE_MASK (0x1U)
33598#define SYSCTL0_HWWAKE_FORCEWAKE_SHIFT (0U)
33599/*! FORCEWAKE - Force peripheral clocking to stay on during deep-sleep mode. When 1, clocking to
33600 * peripherals is prevented from being shut down when the CPU enters deep-sleep mode. This is
33601 * intended to allow a coprocessor to continue operating while the main CPU(s) are shut down.
33602 */
33603#define SYSCTL0_HWWAKE_FORCEWAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HWWAKE_FORCEWAKE_SHIFT)) & SYSCTL0_HWWAKE_FORCEWAKE_MASK)
33604#define SYSCTL0_HWWAKE_FCWAKE_MASK (0x2U)
33605#define SYSCTL0_HWWAKE_FCWAKE_SHIFT (1U)
33606/*! FCWAKE - Wake for Flexcomm Interfaces. When 1, any Flexcomm Interface FIFO reaching the level
33607 * specified by its own TXLVL will cause peripheral clocking to wake up temporarily while the
33608 * related status is asserted.
33609 */
33610#define SYSCTL0_HWWAKE_FCWAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HWWAKE_FCWAKE_SHIFT)) & SYSCTL0_HWWAKE_FCWAKE_MASK)
33611#define SYSCTL0_HWWAKE_DMICWAKE_MASK (0x4U)
33612#define SYSCTL0_HWWAKE_DMICWAKE_SHIFT (2U)
33613/*! DMICWAKE - Wake for Digital Microphone. When 1, the digital microphone input FIFO reaching the
33614 * level specified by TRIGLVL of either channel will cause peripheral clocking to wake up
33615 * temporarily while the related status is asserted.
33616 */
33617#define SYSCTL0_HWWAKE_DMICWAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HWWAKE_DMICWAKE_SHIFT)) & SYSCTL0_HWWAKE_DMICWAKE_MASK)
33618#define SYSCTL0_HWWAKE_DMAC0WAKE_MASK (0x8U)
33619#define SYSCTL0_HWWAKE_DMAC0WAKE_SHIFT (3U)
33620/*! DMAC0WAKE - Wake for DMAC0. When 1, DMAC0 being busy will cause peripheral clocking to remain
33621 * running until DMAC0 completes. This is generally used in conjunction with bit 1 and/or 2 in
33622 * order to prevent peripheral clocking from being shut down as soon as the cause of wake-up is
33623 * cleared, but before DMAC0 has completed its related activity.
33624 */
33625#define SYSCTL0_HWWAKE_DMAC0WAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HWWAKE_DMAC0WAKE_SHIFT)) & SYSCTL0_HWWAKE_DMAC0WAKE_MASK)
33626#define SYSCTL0_HWWAKE_DMAC1WAKE_MASK (0x10U)
33627#define SYSCTL0_HWWAKE_DMAC1WAKE_SHIFT (4U)
33628/*! DMAC1WAKE - Wake for DMAC1. When 1, DMAC1 being busy will cause peripheral clocking to remain
33629 * running until DMAC1 completes. This is generally used in conjunction with bit 1 and/or 2 in
33630 * order to prevent peripheral clocking from being shut down as soon as the cause of wake-up is
33631 * cleared, but before DMAC1 has completed its related activity.
33632 */
33633#define SYSCTL0_HWWAKE_DMAC1WAKE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HWWAKE_DMAC1WAKE_SHIFT)) & SYSCTL0_HWWAKE_DMAC1WAKE_MASK)
33634/*! @} */
33635
33636/*! @name TEMPSENSORCTL - tempsensor ctrl */
33637/*! @{ */
33638#define SYSCTL0_TEMPSENSORCTL_TSSRC_MASK (0x1U)
33639#define SYSCTL0_TEMPSENSORCTL_TSSRC_SHIFT (0U)
33640/*! TSSRC - Temperature Sensor Source. . .
33641 * 0b0..ADC Built-in Temperature Sensor.
33642 * 0b1..Reserved.
33643 */
33644#define SYSCTL0_TEMPSENSORCTL_TSSRC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_TEMPSENSORCTL_TSSRC_SHIFT)) & SYSCTL0_TEMPSENSORCTL_TSSRC_MASK)
33645/*! @} */
33646
33647/*! @name BOOTSTATESEED - boot state seed register */
33648/*! @{ */
33649#define SYSCTL0_BOOTSTATESEED_BOOTSTATESEED_MASK (0xFFFFFFFFU)
33650#define SYSCTL0_BOOTSTATESEED_BOOTSTATESEED_SHIFT (0U)
33651#define SYSCTL0_BOOTSTATESEED_BOOTSTATESEED(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_BOOTSTATESEED_BOOTSTATESEED_SHIFT)) & SYSCTL0_BOOTSTATESEED_BOOTSTATESEED_MASK)
33652/*! @} */
33653
33654/* The count of SYSCTL0_BOOTSTATESEED */
33655#define SYSCTL0_BOOTSTATESEED_COUNT (8U)
33656
33657/*! @name BOOTSTATEHMAC - boot state hmac register */
33658/*! @{ */
33659#define SYSCTL0_BOOTSTATEHMAC_BOOTSTATEHMAC_MASK (0xFFFFFFFFU)
33660#define SYSCTL0_BOOTSTATEHMAC_BOOTSTATEHMAC_SHIFT (0U)
33661#define SYSCTL0_BOOTSTATEHMAC_BOOTSTATEHMAC(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_BOOTSTATEHMAC_BOOTSTATEHMAC_SHIFT)) & SYSCTL0_BOOTSTATEHMAC_BOOTSTATEHMAC_MASK)
33662/*! @} */
33663
33664/* The count of SYSCTL0_BOOTSTATEHMAC */
33665#define SYSCTL0_BOOTSTATEHMAC_COUNT (8U)
33666
33667/*! @name FLEXSPIPADCTRL - FLEXSPI IO pads ctrl register */
33668/*! @{ */
33669#define SYSCTL0_FLEXSPIPADCTRL_RASRCN_MASK (0xFU)
33670#define SYSCTL0_FLEXSPIPADCTRL_RASRCN_SHIFT (0U)
33671/*! RASRCN - Drive FLEXSPI pad compensation circuit
33672 */
33673#define SYSCTL0_FLEXSPIPADCTRL_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_RASRCN_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_RASRCN_MASK)
33674#define SYSCTL0_FLEXSPIPADCTRL_RASRCP_MASK (0xF0U)
33675#define SYSCTL0_FLEXSPIPADCTRL_RASRCP_SHIFT (4U)
33676/*! RASRCP - Drive FLEXSPI pad compensation circuit
33677 */
33678#define SYSCTL0_FLEXSPIPADCTRL_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_RASRCP_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_RASRCP_MASK)
33679#define SYSCTL0_FLEXSPIPADCTRL_FASTFRZ_MASK (0x100U)
33680#define SYSCTL0_FLEXSPIPADCTRL_FASTFRZ_SHIFT (8U)
33681/*! FASTFRZ - Drive FLEXSPI pad compensation circuit
33682 */
33683#define SYSCTL0_FLEXSPIPADCTRL_FASTFRZ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_FASTFRZ_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_FASTFRZ_MASK)
33684#define SYSCTL0_FLEXSPIPADCTRL_FREEZE_MASK (0x200U)
33685#define SYSCTL0_FLEXSPIPADCTRL_FREEZE_SHIFT (9U)
33686/*! FREEZE - Drive FLEXSPI pad compensation circuit
33687 */
33688#define SYSCTL0_FLEXSPIPADCTRL_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_FREEZE_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_FREEZE_MASK)
33689#define SYSCTL0_FLEXSPIPADCTRL_COMPTQ_MASK (0x400U)
33690#define SYSCTL0_FLEXSPIPADCTRL_COMPTQ_SHIFT (10U)
33691/*! COMPTQ - Drive FLEXSPI pad compensation circuit
33692 */
33693#define SYSCTL0_FLEXSPIPADCTRL_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_COMPTQ_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_COMPTQ_MASK)
33694#define SYSCTL0_FLEXSPIPADCTRL_COMPEN_MASK (0x800U)
33695#define SYSCTL0_FLEXSPIPADCTRL_COMPEN_SHIFT (11U)
33696/*! COMPEN - Drive FLEXSPI pad compensation circuit
33697 */
33698#define SYSCTL0_FLEXSPIPADCTRL_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_COMPEN_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_COMPEN_MASK)
33699#define SYSCTL0_FLEXSPIPADCTRL_NASRCN_MASK (0xF0000U)
33700#define SYSCTL0_FLEXSPIPADCTRL_NASRCN_SHIFT (16U)
33701/*! NASRCN - FLEXSPI pad compensation circuit status
33702 */
33703#define SYSCTL0_FLEXSPIPADCTRL_NASRCN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_NASRCN_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_NASRCN_MASK)
33704#define SYSCTL0_FLEXSPIPADCTRL_NASRCP_MASK (0xF00000U)
33705#define SYSCTL0_FLEXSPIPADCTRL_NASRCP_SHIFT (20U)
33706/*! NASRCP - FLEXSPI pad compensation circuit status
33707 */
33708#define SYSCTL0_FLEXSPIPADCTRL_NASRCP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_NASRCP_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_NASRCP_MASK)
33709#define SYSCTL0_FLEXSPIPADCTRL_COMPOK_MASK (0x1000000U)
33710#define SYSCTL0_FLEXSPIPADCTRL_COMPOK_SHIFT (24U)
33711/*! COMPOK - FLEXSPI pad compensation circuit status
33712 */
33713#define SYSCTL0_FLEXSPIPADCTRL_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_FLEXSPIPADCTRL_COMPOK_SHIFT)) & SYSCTL0_FLEXSPIPADCTRL_COMPOK_MASK)
33714/*! @} */
33715
33716/*! @name SDIOPADCTL - sdio pad ctrl */
33717/*! @{ */
33718#define SYSCTL0_SDIOPADCTL_RASRCN_MASK (0xFU)
33719#define SYSCTL0_SDIOPADCTL_RASRCN_SHIFT (0U)
33720/*! RASRCN - Drives SDIO Pad Compensation Circuit
33721 */
33722#define SYSCTL0_SDIOPADCTL_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_RASRCN_SHIFT)) & SYSCTL0_SDIOPADCTL_RASRCN_MASK)
33723#define SYSCTL0_SDIOPADCTL_RASRCP_MASK (0xF0U)
33724#define SYSCTL0_SDIOPADCTL_RASRCP_SHIFT (4U)
33725/*! RASRCP - Drives SDIO Pad Compensation Circuit
33726 */
33727#define SYSCTL0_SDIOPADCTL_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_RASRCP_SHIFT)) & SYSCTL0_SDIOPADCTL_RASRCP_MASK)
33728#define SYSCTL0_SDIOPADCTL_FASTFRZ_MASK (0x100U)
33729#define SYSCTL0_SDIOPADCTL_FASTFRZ_SHIFT (8U)
33730/*! FASTFRZ - Drives SDIO Pad Compensation Circuit
33731 */
33732#define SYSCTL0_SDIOPADCTL_FASTFRZ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_FASTFRZ_SHIFT)) & SYSCTL0_SDIOPADCTL_FASTFRZ_MASK)
33733#define SYSCTL0_SDIOPADCTL_FREEZE_MASK (0x200U)
33734#define SYSCTL0_SDIOPADCTL_FREEZE_SHIFT (9U)
33735/*! FREEZE - Drives SDIO Pad Compensation Circuit
33736 */
33737#define SYSCTL0_SDIOPADCTL_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_FREEZE_SHIFT)) & SYSCTL0_SDIOPADCTL_FREEZE_MASK)
33738#define SYSCTL0_SDIOPADCTL_COMPTQ_MASK (0x400U)
33739#define SYSCTL0_SDIOPADCTL_COMPTQ_SHIFT (10U)
33740/*! COMPTQ - Drives SDIO Pad Compensation Circuit
33741 */
33742#define SYSCTL0_SDIOPADCTL_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_COMPTQ_SHIFT)) & SYSCTL0_SDIOPADCTL_COMPTQ_MASK)
33743#define SYSCTL0_SDIOPADCTL_COMPEN_MASK (0x800U)
33744#define SYSCTL0_SDIOPADCTL_COMPEN_SHIFT (11U)
33745/*! COMPEN - Drives SDIO Pad Compensation Circuit
33746 */
33747#define SYSCTL0_SDIOPADCTL_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_COMPEN_SHIFT)) & SYSCTL0_SDIOPADCTL_COMPEN_MASK)
33748#define SYSCTL0_SDIOPADCTL_NASRCN_MASK (0xF0000U)
33749#define SYSCTL0_SDIOPADCTL_NASRCN_SHIFT (16U)
33750/*! NASRCN - SDIO Pad Compensation Circuit Status
33751 */
33752#define SYSCTL0_SDIOPADCTL_NASRCN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_NASRCN_SHIFT)) & SYSCTL0_SDIOPADCTL_NASRCN_MASK)
33753#define SYSCTL0_SDIOPADCTL_NASRCP_MASK (0xF00000U)
33754#define SYSCTL0_SDIOPADCTL_NASRCP_SHIFT (20U)
33755/*! NASRCP - SDIO Pad Compensation Circuit Status
33756 */
33757#define SYSCTL0_SDIOPADCTL_NASRCP(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_NASRCP_SHIFT)) & SYSCTL0_SDIOPADCTL_NASRCP_MASK)
33758#define SYSCTL0_SDIOPADCTL_COMPOK_MASK (0x1000000U)
33759#define SYSCTL0_SDIOPADCTL_COMPOK_SHIFT (24U)
33760/*! COMPOK - SDIO Pad Compensation Circuit Status
33761 */
33762#define SYSCTL0_SDIOPADCTL_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_SDIOPADCTL_COMPOK_SHIFT)) & SYSCTL0_SDIOPADCTL_COMPOK_MASK)
33763/*! @} */
33764
33765/*! @name DICEHWREG - DICE General Purpose 32-Bit Data Register */
33766/*! @{ */
33767#define SYSCTL0_DICEHWREG_DICEHWREG_MASK (0xFFFFFFFFU)
33768#define SYSCTL0_DICEHWREG_DICEHWREG_SHIFT (0U)
33769/*! DICEHWREG - DICE General Purpose 32-Bit Data Register
33770 */
33771#define SYSCTL0_DICEHWREG_DICEHWREG(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DICEHWREG_DICEHWREG_SHIFT)) & SYSCTL0_DICEHWREG_DICEHWREG_MASK)
33772/*! @} */
33773
33774/* The count of SYSCTL0_DICEHWREG */
33775#define SYSCTL0_DICEHWREG_COUNT (8U)
33776
33777/*! @name UUID - UUIDn 32-Bit Data Register */
33778/*! @{ */
33779#define SYSCTL0_UUID_UUID_MASK (0xFFFFFFFFU)
33780#define SYSCTL0_UUID_UUID_SHIFT (0U)
33781#define SYSCTL0_UUID_UUID(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_UUID_UUID_SHIFT)) & SYSCTL0_UUID_UUID_MASK)
33782/*! @} */
33783
33784/* The count of SYSCTL0_UUID */
33785#define SYSCTL0_UUID_COUNT (4U)
33786
33787/*! @name AESKEY_SRCSEL - AES key source selection */
33788/*! @{ */
33789#define SYSCTL0_AESKEY_SRCSEL_AESKEY_SRCSEL_MASK (0x3U)
33790#define SYSCTL0_AESKEY_SRCSEL_AESKEY_SRCSEL_SHIFT (0U)
33791/*! AESKEY_SRCSEL - AES Key Source Select:
33792 */
33793#define SYSCTL0_AESKEY_SRCSEL_AESKEY_SRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_AESKEY_SRCSEL_AESKEY_SRCSEL_SHIFT)) & SYSCTL0_AESKEY_SRCSEL_AESKEY_SRCSEL_MASK)
33794/*! @} */
33795
33796/*! @name HASHHWKEYDISABLE - Hash hardware key disable */
33797/*! @{ */
33798#define SYSCTL0_HASHHWKEYDISABLE_HASHHWKEYDISABLE_MASK (0xFFFFFFFFU)
33799#define SYSCTL0_HASHHWKEYDISABLE_HASHHWKEYDISABLE_SHIFT (0U)
33800#define SYSCTL0_HASHHWKEYDISABLE_HASHHWKEYDISABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HASHHWKEYDISABLE_HASHHWKEYDISABLE_SHIFT)) & SYSCTL0_HASHHWKEYDISABLE_HASHHWKEYDISABLE_MASK)
33801/*! @} */
33802
33803/*! @name DBG_LOCKEN - Debug Write Lock registers */
33804/*! @{ */
33805#define SYSCTL0_DBG_LOCKEN_DBG_LOCKEN_MASK (0xFU)
33806#define SYSCTL0_DBG_LOCKEN_DBG_LOCKEN_SHIFT (0U)
33807#define SYSCTL0_DBG_LOCKEN_DBG_LOCKEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_LOCKEN_DBG_LOCKEN_SHIFT)) & SYSCTL0_DBG_LOCKEN_DBG_LOCKEN_MASK)
33808/*! @} */
33809
33810/*! @name DBG_FEATURES - Debug features control for the CM33 */
33811/*! @{ */
33812#define SYSCTL0_DBG_FEATURES_DBGEN_MASK (0x3U)
33813#define SYSCTL0_DBG_FEATURES_DBGEN_SHIFT (0U)
33814/*! DBGEN - CM33 Debug Enable Control
33815 * 0b00..enabled
33816 * 0b01..disabled
33817 * 0b10..disabled
33818 * 0b11..disabled
33819 */
33820#define SYSCTL0_DBG_FEATURES_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_DBGEN_SHIFT)) & SYSCTL0_DBG_FEATURES_DBGEN_MASK)
33821#define SYSCTL0_DBG_FEATURES_NIDEN_MASK (0xCU)
33822#define SYSCTL0_DBG_FEATURES_NIDEN_SHIFT (2U)
33823/*! NIDEN - CM33 NID Enable Control
33824 * 0b00..enabled
33825 * 0b01..disabled
33826 * 0b10..disabled
33827 * 0b11..disabled
33828 */
33829#define SYSCTL0_DBG_FEATURES_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_NIDEN_SHIFT)) & SYSCTL0_DBG_FEATURES_NIDEN_MASK)
33830#define SYSCTL0_DBG_FEATURES_SPIDEN_MASK (0x30U)
33831#define SYSCTL0_DBG_FEATURES_SPIDEN_SHIFT (4U)
33832/*! SPIDEN - CM33 SPID Enable Control
33833 * 0b00..enabled
33834 * 0b01..disabled
33835 * 0b10..disabled
33836 * 0b11..disabled
33837 */
33838#define SYSCTL0_DBG_FEATURES_SPIDEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_SPIDEN_SHIFT)) & SYSCTL0_DBG_FEATURES_SPIDEN_MASK)
33839#define SYSCTL0_DBG_FEATURES_SPNIDEN_MASK (0xC0U)
33840#define SYSCTL0_DBG_FEATURES_SPNIDEN_SHIFT (6U)
33841/*! SPNIDEN - CM33 SPNIDEN Enable Control
33842 * 0b00..enabled
33843 * 0b01..disabled
33844 * 0b10..disabled
33845 * 0b11..disabled
33846 */
33847#define SYSCTL0_DBG_FEATURES_SPNIDEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_SPNIDEN_SHIFT)) & SYSCTL0_DBG_FEATURES_SPNIDEN_MASK)
33848/*! @} */
33849
33850/*! @name DBG_FEATURES_DP - Debug features duplicate */
33851/*! @{ */
33852#define SYSCTL0_DBG_FEATURES_DP_DBGEN_MASK (0x3U)
33853#define SYSCTL0_DBG_FEATURES_DP_DBGEN_SHIFT (0U)
33854/*! DBGEN - CM33 Debug Enable Control
33855 * 0b00..enabled
33856 * 0b01..disabled
33857 * 0b10..disabled
33858 * 0b11..disabled
33859 */
33860#define SYSCTL0_DBG_FEATURES_DP_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_DP_DBGEN_SHIFT)) & SYSCTL0_DBG_FEATURES_DP_DBGEN_MASK)
33861#define SYSCTL0_DBG_FEATURES_DP_NIDEN_MASK (0xCU)
33862#define SYSCTL0_DBG_FEATURES_DP_NIDEN_SHIFT (2U)
33863/*! NIDEN - CM33 NID Enable Control
33864 * 0b00..enabled
33865 * 0b01..disabled
33866 * 0b10..disabled
33867 * 0b11..disabled
33868 */
33869#define SYSCTL0_DBG_FEATURES_DP_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_DP_NIDEN_SHIFT)) & SYSCTL0_DBG_FEATURES_DP_NIDEN_MASK)
33870#define SYSCTL0_DBG_FEATURES_DP_SPIDEN_MASK (0x30U)
33871#define SYSCTL0_DBG_FEATURES_DP_SPIDEN_SHIFT (4U)
33872/*! SPIDEN - CM33 SPID Enable Control
33873 * 0b00..enabled
33874 * 0b01..disabled
33875 * 0b10..disabled
33876 * 0b11..disabled
33877 */
33878#define SYSCTL0_DBG_FEATURES_DP_SPIDEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_DP_SPIDEN_SHIFT)) & SYSCTL0_DBG_FEATURES_DP_SPIDEN_MASK)
33879#define SYSCTL0_DBG_FEATURES_DP_SPNIDEN_MASK (0xC0U)
33880#define SYSCTL0_DBG_FEATURES_DP_SPNIDEN_SHIFT (6U)
33881/*! SPNIDEN - CM33 SPNIDEN Enable Control
33882 * 0b00..enabled
33883 * 0b01..disabled
33884 * 0b10..disabled
33885 * 0b11..disabled
33886 */
33887#define SYSCTL0_DBG_FEATURES_DP_SPNIDEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_FEATURES_DP_SPNIDEN_SHIFT)) & SYSCTL0_DBG_FEATURES_DP_SPNIDEN_MASK)
33888/*! @} */
33889
33890/*! @name HWUNLOCK_DISABLE - HW unlock disable */
33891/*! @{ */
33892#define SYSCTL0_HWUNLOCK_DISABLE_HWUNLOCK_DISABLE_MASK (0xFU)
33893#define SYSCTL0_HWUNLOCK_DISABLE_HWUNLOCK_DISABLE_SHIFT (0U)
33894#define SYSCTL0_HWUNLOCK_DISABLE_HWUNLOCK_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_HWUNLOCK_DISABLE_HWUNLOCK_DISABLE_SHIFT)) & SYSCTL0_HWUNLOCK_DISABLE_HWUNLOCK_DISABLE_MASK)
33895/*! @} */
33896
33897/*! @name CS_PROTCPU0 - Code Security for CPU0 */
33898/*! @{ */
33899#define SYSCTL0_CS_PROTCPU0_CS_PROTCPU0_MASK (0xFFFFFFFFU)
33900#define SYSCTL0_CS_PROTCPU0_CS_PROTCPU0_SHIFT (0U)
33901/*! CS_PROTCPU0 - Controls M33 AP Enable. Magic Value: 0x1234 5678
33902 */
33903#define SYSCTL0_CS_PROTCPU0_CS_PROTCPU0(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CS_PROTCPU0_CS_PROTCPU0_SHIFT)) & SYSCTL0_CS_PROTCPU0_CS_PROTCPU0_MASK)
33904/*! @} */
33905
33906/*! @name CS_PROTCPU1 - Code Security for CPU1 */
33907/*! @{ */
33908#define SYSCTL0_CS_PROTCPU1_CS_PROTCPU1_MASK (0xFFFFFFFFU)
33909#define SYSCTL0_CS_PROTCPU1_CS_PROTCPU1_SHIFT (0U)
33910/*! CS_PROTCPU1 - Controls HIFI4 AP Enable. Magic Value: 0x1234 5678
33911 */
33912#define SYSCTL0_CS_PROTCPU1_CS_PROTCPU1(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_CS_PROTCPU1_CS_PROTCPU1_SHIFT)) & SYSCTL0_CS_PROTCPU1_CS_PROTCPU1_MASK)
33913/*! @} */
33914
33915/*! @name DBG_AUTH_SCRATCH - Debug authorization scratch */
33916/*! @{ */
33917#define SYSCTL0_DBG_AUTH_SCRATCH_DBG_AUTH_SCRATCH_MASK (0xFFFFFFFFU)
33918#define SYSCTL0_DBG_AUTH_SCRATCH_DBG_AUTH_SCRATCH_SHIFT (0U)
33919/*! DBG_AUTH_SCRATCH - Debug authorization scratch register for S/W.
33920 */
33921#define SYSCTL0_DBG_AUTH_SCRATCH_DBG_AUTH_SCRATCH(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_DBG_AUTH_SCRATCH_DBG_AUTH_SCRATCH_SHIFT)) & SYSCTL0_DBG_AUTH_SCRATCH_DBG_AUTH_SCRATCH_MASK)
33922/*! @} */
33923
33924/*! @name KEY_BLOCK - Key block */
33925/*! @{ */
33926#define SYSCTL0_KEY_BLOCK_KEY_BLOCK_MASK (0xFFFFFFFFU)
33927#define SYSCTL0_KEY_BLOCK_KEY_BLOCK_SHIFT (0U)
33928/*! KEY_BLOCK - key block register
33929 */
33930#define SYSCTL0_KEY_BLOCK_KEY_BLOCK(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL0_KEY_BLOCK_KEY_BLOCK_SHIFT)) & SYSCTL0_KEY_BLOCK_KEY_BLOCK_MASK)
33931/*! @} */
33932
33933
33934/*!
33935 * @}
33936 */ /* end of group SYSCTL0_Register_Masks */
33937
33938
33939/* SYSCTL0 - Peripheral instance base addresses */
33940#if (__ARM_FEATURE_CMSE & 0x2)
33941 /** Peripheral SYSCTL0 base address */
33942 #define SYSCTL0_BASE (0x50002000u)
33943 /** Peripheral SYSCTL0 base address */
33944 #define SYSCTL0_BASE_NS (0x40002000u)
33945 /** Peripheral SYSCTL0 base pointer */
33946 #define SYSCTL0 ((SYSCTL0_Type *)SYSCTL0_BASE)
33947 /** Peripheral SYSCTL0 base pointer */
33948 #define SYSCTL0_NS ((SYSCTL0_Type *)SYSCTL0_BASE_NS)
33949 /** Array initializer of SYSCTL0 peripheral base addresses */
33950 #define SYSCTL0_BASE_ADDRS { SYSCTL0_BASE }
33951 /** Array initializer of SYSCTL0 peripheral base pointers */
33952 #define SYSCTL0_BASE_PTRS { SYSCTL0 }
33953 /** Array initializer of SYSCTL0 peripheral base addresses */
33954 #define SYSCTL0_BASE_ADDRS_NS { SYSCTL0_BASE_NS }
33955 /** Array initializer of SYSCTL0 peripheral base pointers */
33956 #define SYSCTL0_BASE_PTRS_NS { SYSCTL0_NS }
33957#else
33958 /** Peripheral SYSCTL0 base address */
33959 #define SYSCTL0_BASE (0x40002000u)
33960 /** Peripheral SYSCTL0 base pointer */
33961 #define SYSCTL0 ((SYSCTL0_Type *)SYSCTL0_BASE)
33962 /** Array initializer of SYSCTL0 peripheral base addresses */
33963 #define SYSCTL0_BASE_ADDRS { SYSCTL0_BASE }
33964 /** Array initializer of SYSCTL0 peripheral base pointers */
33965 #define SYSCTL0_BASE_PTRS { SYSCTL0 }
33966#endif
33967
33968/*!
33969 * @}
33970 */ /* end of group SYSCTL0_Peripheral_Access_Layer */
33971
33972
33973/* ----------------------------------------------------------------------------
33974 -- SYSCTL1 Peripheral Access Layer
33975 ---------------------------------------------------------------------------- */
33976
33977/*!
33978 * @addtogroup SYSCTL1_Peripheral_Access_Layer SYSCTL1 Peripheral Access Layer
33979 * @{
33980 */
33981
33982/** SYSCTL1 - Register Layout Typedef */
33983typedef struct {
33984 uint8_t RESERVED_0[16];
33985 __IO uint32_t MCLKPINDIR; /**< mclk direction control, offset: 0x10 */
33986 uint8_t RESERVED_1[28];
33987 __IO uint32_t DSPNMISRCSEL; /**< DSP NMI source selection, offset: 0x30 */
33988 uint8_t RESERVED_2[12];
33989 __IO uint32_t FCCTRLSEL[8]; /**< flexcomm control selection N, array offset: 0x40, array step: 0x4 */
33990 uint8_t RESERVED_3[32];
33991 __IO uint32_t SHAREDCTRLSET[2]; /**< shared control set N, array offset: 0x80, array step: 0x4 */
33992 uint8_t RESERVED_4[376];
33993 __IO uint32_t RXEVPULSEGEN; /**< RX Event Pulse Generator, offset: 0x200 */
33994} SYSCTL1_Type;
33995
33996/* ----------------------------------------------------------------------------
33997 -- SYSCTL1 Register Masks
33998 ---------------------------------------------------------------------------- */
33999
34000/*!
34001 * @addtogroup SYSCTL1_Register_Masks SYSCTL1 Register Masks
34002 * @{
34003 */
34004
34005/*! @name MCLKPINDIR - mclk direction control */
34006/*! @{ */
34007#define SYSCTL1_MCLKPINDIR_MCLKPINDIR_MASK (0x1U)
34008#define SYSCTL1_MCLKPINDIR_MCLKPINDIR_SHIFT (0U)
34009/*! MCLKPINDIR - Selects one of the M33 interrupt sources
34010 * 0b0..MCLK is in input direction.
34011 * 0b1..MCLK is in the output direction.
34012 */
34013#define SYSCTL1_MCLKPINDIR_MCLKPINDIR(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_MCLKPINDIR_MCLKPINDIR_SHIFT)) & SYSCTL1_MCLKPINDIR_MCLKPINDIR_MASK)
34014/*! @} */
34015
34016/*! @name DSPNMISRCSEL - DSP NMI source selection */
34017/*! @{ */
34018#define SYSCTL1_DSPNMISRCSEL_NMISRCSEL_MASK (0x1FU)
34019#define SYSCTL1_DSPNMISRCSEL_NMISRCSEL_SHIFT (0U)
34020/*! NMISRCSEL - Selects one of the DSP interrupt sources as the NMI source. See DSP Interrupt Slot Table for Interrupt Slot Numers.
34021 */
34022#define SYSCTL1_DSPNMISRCSEL_NMISRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_DSPNMISRCSEL_NMISRCSEL_SHIFT)) & SYSCTL1_DSPNMISRCSEL_NMISRCSEL_MASK)
34023#define SYSCTL1_DSPNMISRCSEL_NMIEN_MASK (0x80000000U)
34024#define SYSCTL1_DSPNMISRCSEL_NMIEN_SHIFT (31U)
34025/*! NMIEN - NMI interrupt enable
34026 * 0b0..Disable NMI Interrupt
34027 * 0b1..Enable NMI Interrupt.
34028 */
34029#define SYSCTL1_DSPNMISRCSEL_NMIEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_DSPNMISRCSEL_NMIEN_SHIFT)) & SYSCTL1_DSPNMISRCSEL_NMIEN_MASK)
34030/*! @} */
34031
34032/*! @name FCCTRLSEL - flexcomm control selection N */
34033/*! @{ */
34034#define SYSCTL1_FCCTRLSEL_SCKINSEL_MASK (0x3U)
34035#define SYSCTL1_FCCTRLSEL_SCKINSEL_SHIFT (0U)
34036/*! SCKINSEL - SCK IN Select. . .
34037 * 0b00..Original FLEXCOMM I2S signals
34038 * 0b01..Shared Set0 I2S signals.
34039 * 0b10..Shared Set1 I2S signals.
34040 * 0b11..Reserved.
34041 */
34042#define SYSCTL1_FCCTRLSEL_SCKINSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_FCCTRLSEL_SCKINSEL_SHIFT)) & SYSCTL1_FCCTRLSEL_SCKINSEL_MASK)
34043#define SYSCTL1_FCCTRLSEL_WSINSEL_MASK (0x300U)
34044#define SYSCTL1_FCCTRLSEL_WSINSEL_SHIFT (8U)
34045/*! WSINSEL - WS IN Select. . .
34046 * 0b00..Original FLEXCOMM I2S signals
34047 * 0b01..Shared Set0 I2S signals.
34048 * 0b10..Shared Set1 I2S signals.
34049 * 0b11..Reserved.
34050 */
34051#define SYSCTL1_FCCTRLSEL_WSINSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_FCCTRLSEL_WSINSEL_SHIFT)) & SYSCTL1_FCCTRLSEL_WSINSEL_MASK)
34052#define SYSCTL1_FCCTRLSEL_DATAINSEL_MASK (0x30000U)
34053#define SYSCTL1_FCCTRLSEL_DATAINSEL_SHIFT (16U)
34054/*! DATAINSEL - DATA IN Select. . .
34055 * 0b00..Original FLEXCOMM I2S signals
34056 * 0b01..Shared Set0 I2S signals.
34057 * 0b10..Shared Set1 I2S signals.
34058 * 0b11..Reserved.
34059 */
34060#define SYSCTL1_FCCTRLSEL_DATAINSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_FCCTRLSEL_DATAINSEL_SHIFT)) & SYSCTL1_FCCTRLSEL_DATAINSEL_MASK)
34061#define SYSCTL1_FCCTRLSEL_DATAOUTSEL_MASK (0x3000000U)
34062#define SYSCTL1_FCCTRLSEL_DATAOUTSEL_SHIFT (24U)
34063/*! DATAOUTSEL - DATA OUT Select. . .
34064 * 0b00..Original FLEXCOMM I2S signals
34065 * 0b01..Shared Set0 I2S signals.
34066 * 0b10..Shared Set1 I2S signals.
34067 * 0b11..Reserved.
34068 */
34069#define SYSCTL1_FCCTRLSEL_DATAOUTSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_FCCTRLSEL_DATAOUTSEL_SHIFT)) & SYSCTL1_FCCTRLSEL_DATAOUTSEL_MASK)
34070/*! @} */
34071
34072/* The count of SYSCTL1_FCCTRLSEL */
34073#define SYSCTL1_FCCTRLSEL_COUNT (8U)
34074
34075/*! @name SHAREDCTRLSET - shared control set N */
34076/*! @{ */
34077#define SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL_MASK (0x7U)
34078#define SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL_SHIFT (0U)
34079/*! SHAREDSCKSEL - Shared SCK Select. . .
34080 * 0b000..FLEXCOMM0
34081 * 0b001..FLEXCOMM1
34082 * 0b010..FLEXCOMM2
34083 * 0b011..FLEXCOMM3
34084 * 0b100..FLEXCOMM4
34085 * 0b101..FLEXCOMM5
34086 * 0b110..FLEXCOMM6
34087 * 0b111..FLEXCOMM7
34088 */
34089#define SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL_SHIFT)) & SYSCTL1_SHAREDCTRLSET_SHAREDSCKSEL_MASK)
34090#define SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL_MASK (0x70U)
34091#define SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL_SHIFT (4U)
34092/*! SHAREDWSSEL - Shared WS Select. . .
34093 * 0b000..FLEXCOMM0
34094 * 0b001..FLEXCOMM1
34095 * 0b010..FLEXCOMM2
34096 * 0b011..FLEXCOMM3
34097 * 0b100..FLEXCOMM4
34098 * 0b101..FLEXCOMM5
34099 * 0b110..FLEXCOMM6
34100 * 0b111..FLEXCOMM7
34101 */
34102#define SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL_SHIFT)) & SYSCTL1_SHAREDCTRLSET_SHAREDWSSEL_MASK)
34103#define SYSCTL1_SHAREDCTRLSET_SHAREDDATASEL_MASK (0x700U)
34104#define SYSCTL1_SHAREDCTRLSET_SHAREDDATASEL_SHIFT (8U)
34105/*! SHAREDDATASEL - Shared DATA Select. . .
34106 * 0b000..FLEXCOMM0
34107 * 0b001..FLEXCOMM1
34108 * 0b010..FLEXCOMM2
34109 * 0b011..FLEXCOMM3
34110 * 0b100..FLEXCOMM4
34111 * 0b101..FLEXCOMM5
34112 * 0b110..FLEXCOMM6
34113 * 0b111..FLEXCOMM7
34114 */
34115#define SYSCTL1_SHAREDCTRLSET_SHAREDDATASEL(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_SHAREDDATASEL_SHIFT)) & SYSCTL1_SHAREDCTRLSET_SHAREDDATASEL_MASK)
34116#define SYSCTL1_SHAREDCTRLSET_FC0DATAOUTEN_MASK (0x10000U)
34117#define SYSCTL1_SHAREDCTRLSET_FC0DATAOUTEN_SHIFT (16U)
34118/*! FC0DATAOUTEN - FLEXCOMM0 DATAOUT OUTPUT ENABLE
34119 * 0b0..Input
34120 * 0b1..Output
34121 */
34122#define SYSCTL1_SHAREDCTRLSET_FC0DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC0DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC0DATAOUTEN_MASK)
34123#define SYSCTL1_SHAREDCTRLSET_FC1DATAOUTEN_MASK (0x20000U)
34124#define SYSCTL1_SHAREDCTRLSET_FC1DATAOUTEN_SHIFT (17U)
34125/*! FC1DATAOUTEN - FLEXCOMM1 DATAOUT OUTPUT ENABLE
34126 * 0b0..Input
34127 * 0b1..Output
34128 */
34129#define SYSCTL1_SHAREDCTRLSET_FC1DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC1DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC1DATAOUTEN_MASK)
34130#define SYSCTL1_SHAREDCTRLSET_F20DATAOUTEN_MASK (0x40000U)
34131#define SYSCTL1_SHAREDCTRLSET_F20DATAOUTEN_SHIFT (18U)
34132/*! F20DATAOUTEN - FLEXCOMM2 DATAOUT OUTPUT ENABLE
34133 * 0b0..Input
34134 * 0b1..Output
34135 */
34136#define SYSCTL1_SHAREDCTRLSET_F20DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_F20DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_F20DATAOUTEN_MASK)
34137#define SYSCTL1_SHAREDCTRLSET_FC3DATAOUTEN_MASK (0x80000U)
34138#define SYSCTL1_SHAREDCTRLSET_FC3DATAOUTEN_SHIFT (19U)
34139/*! FC3DATAOUTEN - FLEXCOMM3 DATAOUT OUTPUT ENABLE
34140 * 0b0..Input
34141 * 0b1..Output
34142 */
34143#define SYSCTL1_SHAREDCTRLSET_FC3DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC3DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC3DATAOUTEN_MASK)
34144#define SYSCTL1_SHAREDCTRLSET_FC4DATAOUTEN_MASK (0x100000U)
34145#define SYSCTL1_SHAREDCTRLSET_FC4DATAOUTEN_SHIFT (20U)
34146/*! FC4DATAOUTEN - FLEXCOMM4 DATAOUT OUTPUT ENABLE
34147 * 0b0..Input
34148 * 0b1..Output
34149 */
34150#define SYSCTL1_SHAREDCTRLSET_FC4DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC4DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC4DATAOUTEN_MASK)
34151#define SYSCTL1_SHAREDCTRLSET_FC5DATAOUTEN_MASK (0x200000U)
34152#define SYSCTL1_SHAREDCTRLSET_FC5DATAOUTEN_SHIFT (21U)
34153/*! FC5DATAOUTEN - FLEXCOMM5 DATAOUT OUTPUT ENABLE
34154 * 0b0..Input
34155 * 0b1..Output
34156 */
34157#define SYSCTL1_SHAREDCTRLSET_FC5DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC5DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC5DATAOUTEN_MASK)
34158#define SYSCTL1_SHAREDCTRLSET_FC6DATAOUTEN_MASK (0x400000U)
34159#define SYSCTL1_SHAREDCTRLSET_FC6DATAOUTEN_SHIFT (22U)
34160/*! FC6DATAOUTEN - FLEXCOMM6 DATAOUT OUTPUT ENABLE
34161 * 0b0..Input
34162 * 0b1..Output
34163 */
34164#define SYSCTL1_SHAREDCTRLSET_FC6DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC6DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC6DATAOUTEN_MASK)
34165#define SYSCTL1_SHAREDCTRLSET_FC7DATAOUTEN_MASK (0x800000U)
34166#define SYSCTL1_SHAREDCTRLSET_FC7DATAOUTEN_SHIFT (23U)
34167/*! FC7DATAOUTEN - FLEXCOMM7 DATAOUT OUTPUT ENABLE
34168 * 0b0..Input
34169 * 0b1..Output
34170 */
34171#define SYSCTL1_SHAREDCTRLSET_FC7DATAOUTEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_SHAREDCTRLSET_FC7DATAOUTEN_SHIFT)) & SYSCTL1_SHAREDCTRLSET_FC7DATAOUTEN_MASK)
34172/*! @} */
34173
34174/* The count of SYSCTL1_SHAREDCTRLSET */
34175#define SYSCTL1_SHAREDCTRLSET_COUNT (2U)
34176
34177/*! @name RXEVPULSEGEN - RX Event Pulse Generator */
34178/*! @{ */
34179#define SYSCTL1_RXEVPULSEGEN_RXEVPULSEGEN_MASK (0x1U)
34180#define SYSCTL1_RXEVPULSEGEN_RXEVPULSEGEN_SHIFT (0U)
34181/*! RXEVPULSEGEN - RX Event Pulse Generator. Writing a '1' to this register will create a one PSCLK
34182 * pulse width of logic '1'. It is automatically cleared.
34183 * 0b0..No effect.
34184 * 0b1..Pulse RXEV High for one PSCLK cycle.
34185 */
34186#define SYSCTL1_RXEVPULSEGEN_RXEVPULSEGEN(x) (((uint32_t)(((uint32_t)(x)) << SYSCTL1_RXEVPULSEGEN_RXEVPULSEGEN_SHIFT)) & SYSCTL1_RXEVPULSEGEN_RXEVPULSEGEN_MASK)
34187/*! @} */
34188
34189
34190/*!
34191 * @}
34192 */ /* end of group SYSCTL1_Register_Masks */
34193
34194
34195/* SYSCTL1 - Peripheral instance base addresses */
34196#if (__ARM_FEATURE_CMSE & 0x2)
34197 /** Peripheral SYSCTL1 base address */
34198 #define SYSCTL1_BASE (0x50022000u)
34199 /** Peripheral SYSCTL1 base address */
34200 #define SYSCTL1_BASE_NS (0x40022000u)
34201 /** Peripheral SYSCTL1 base pointer */
34202 #define SYSCTL1 ((SYSCTL1_Type *)SYSCTL1_BASE)
34203 /** Peripheral SYSCTL1 base pointer */
34204 #define SYSCTL1_NS ((SYSCTL1_Type *)SYSCTL1_BASE_NS)
34205 /** Array initializer of SYSCTL1 peripheral base addresses */
34206 #define SYSCTL1_BASE_ADDRS { SYSCTL1_BASE }
34207 /** Array initializer of SYSCTL1 peripheral base pointers */
34208 #define SYSCTL1_BASE_PTRS { SYSCTL1 }
34209 /** Array initializer of SYSCTL1 peripheral base addresses */
34210 #define SYSCTL1_BASE_ADDRS_NS { SYSCTL1_BASE_NS }
34211 /** Array initializer of SYSCTL1 peripheral base pointers */
34212 #define SYSCTL1_BASE_PTRS_NS { SYSCTL1_NS }
34213#else
34214 /** Peripheral SYSCTL1 base address */
34215 #define SYSCTL1_BASE (0x40022000u)
34216 /** Peripheral SYSCTL1 base pointer */
34217 #define SYSCTL1 ((SYSCTL1_Type *)SYSCTL1_BASE)
34218 /** Array initializer of SYSCTL1 peripheral base addresses */
34219 #define SYSCTL1_BASE_ADDRS { SYSCTL1_BASE }
34220 /** Array initializer of SYSCTL1 peripheral base pointers */
34221 #define SYSCTL1_BASE_PTRS { SYSCTL1 }
34222#endif
34223
34224/*!
34225 * @}
34226 */ /* end of group SYSCTL1_Peripheral_Access_Layer */
34227
34228
34229/* ----------------------------------------------------------------------------
34230 -- TRNG Peripheral Access Layer
34231 ---------------------------------------------------------------------------- */
34232
34233/*!
34234 * @addtogroup TRNG_Peripheral_Access_Layer TRNG Peripheral Access Layer
34235 * @{
34236 */
34237
34238/** TRNG - Register Layout Typedef */
34239typedef struct {
34240 __IO uint32_t MCTL; /**< Miscellaneous Control Register, offset: 0x0 */
34241 __IO uint32_t SCMISC; /**< Statistical Check Miscellaneous Register, offset: 0x4 */
34242 __IO uint32_t PKRRNG; /**< Poker Range Register, offset: 0x8 */
34243 union { /* offset: 0xC */
34244 __IO uint32_t PKRMAX; /**< Poker Maximum Limit Register, offset: 0xC */
34245 __I uint32_t PKRSQ; /**< Poker Square Calculation Result Register, offset: 0xC */
34246 };
34247 __IO uint32_t SDCTL; /**< Seed Control Register, offset: 0x10 */
34248 union { /* offset: 0x14 */
34249 __IO uint32_t SBLIM; /**< Sparse Bit Limit Register, offset: 0x14 */
34250 __I uint32_t TOTSAM; /**< Total Samples Register, offset: 0x14 */
34251 };
34252 __IO uint32_t FRQMIN; /**< Frequency Count Minimum Limit Register, offset: 0x18 */
34253 union { /* offset: 0x1C */
34254 __I uint32_t FRQCNT; /**< Frequency Count Register, offset: 0x1C */
34255 __IO uint32_t FRQMAX; /**< Frequency Count Maximum Limit Register, offset: 0x1C */
34256 };
34257 union { /* offset: 0x20 */
34258 __I uint32_t SCMC; /**< Statistical Check Monobit Count Register, offset: 0x20 */
34259 __IO uint32_t SCML; /**< Statistical Check Monobit Limit Register, offset: 0x20 */
34260 };
34261 union { /* offset: 0x24 */
34262 __I uint32_t SCR1C; /**< Statistical Check Run Length 1 Count Register, offset: 0x24 */
34263 __IO uint32_t SCR1L; /**< Statistical Check Run Length 1 Limit Register, offset: 0x24 */
34264 };
34265 union { /* offset: 0x28 */
34266 __I uint32_t SCR2C; /**< Statistical Check Run Length 2 Count Register, offset: 0x28 */
34267 __IO uint32_t SCR2L; /**< Statistical Check Run Length 2 Limit Register, offset: 0x28 */
34268 };
34269 union { /* offset: 0x2C */
34270 __I uint32_t SCR3C; /**< Statistical Check Run Length 3 Count Register, offset: 0x2C */
34271 __IO uint32_t SCR3L; /**< Statistical Check Run Length 3 Limit Register, offset: 0x2C */
34272 };
34273 union { /* offset: 0x30 */
34274 __I uint32_t SCR4C; /**< Statistical Check Run Length 4 Count Register, offset: 0x30 */
34275 __IO uint32_t SCR4L; /**< Statistical Check Run Length 4 Limit Register, offset: 0x30 */
34276 };
34277 union { /* offset: 0x34 */
34278 __I uint32_t SCR5C; /**< Statistical Check Run Length 5 Count Register, offset: 0x34 */
34279 __IO uint32_t SCR5L; /**< Statistical Check Run Length 5 Limit Register, offset: 0x34 */
34280 };
34281 union { /* offset: 0x38 */
34282 __I uint32_t SCR6PC; /**< Statistical Check Run Length 6+ Count Register, offset: 0x38 */
34283 __IO uint32_t SCR6PL; /**< Statistical Check Run Length 6+ Limit Register, offset: 0x38 */
34284 };
34285 __I uint32_t STATUS; /**< Status Register, offset: 0x3C */
34286 __I uint32_t ENT[16]; /**< Entropy Read Register, array offset: 0x40, array step: 0x4 */
34287 __I uint32_t PKRCNT10; /**< Statistical Check Poker Count 1 and 0 Register, offset: 0x80 */
34288 __I uint32_t PKRCNT32; /**< Statistical Check Poker Count 3 and 2 Register, offset: 0x84 */
34289 __I uint32_t PKRCNT54; /**< Statistical Check Poker Count 5 and 4 Register, offset: 0x88 */
34290 __I uint32_t PKRCNT76; /**< Statistical Check Poker Count 7 and 6 Register, offset: 0x8C */
34291 __I uint32_t PKRCNT98; /**< Statistical Check Poker Count 9 and 8 Register, offset: 0x90 */
34292 __I uint32_t PKRCNTBA; /**< Statistical Check Poker Count B and A Register, offset: 0x94 */
34293 __I uint32_t PKRCNTDC; /**< Statistical Check Poker Count D and C Register, offset: 0x98 */
34294 __I uint32_t PKRCNTFE; /**< Statistical Check Poker Count F and E Register, offset: 0x9C */
34295 __IO uint32_t SEC_CFG; /**< Security Configuration Register, offset: 0xA0 */
34296 __IO uint32_t INT_CTRL; /**< Interrupt Control Register, offset: 0xA4 */
34297 __IO uint32_t INT_MASK; /**< Mask Register, offset: 0xA8 */
34298 __I uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0xAC */
34299 uint8_t RESERVED_0[64];
34300 __I uint32_t VID1; /**< Version ID Register (MS), offset: 0xF0 */
34301 __I uint32_t VID2; /**< Version ID Register (LS), offset: 0xF4 */
34302} TRNG_Type;
34303
34304/* ----------------------------------------------------------------------------
34305 -- TRNG Register Masks
34306 ---------------------------------------------------------------------------- */
34307
34308/*!
34309 * @addtogroup TRNG_Register_Masks TRNG Register Masks
34310 * @{
34311 */
34312
34313/*! @name MCTL - Miscellaneous Control Register */
34314/*! @{ */
34315#define TRNG_MCTL_SAMP_MODE_MASK (0x3U)
34316#define TRNG_MCTL_SAMP_MODE_SHIFT (0U)
34317/*! SAMP_MODE
34318 * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker
34319 * 0b01..use raw data into both Entropy shifter and Statistical Checker
34320 * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker
34321 * 0b11..undefined/reserved.
34322 */
34323#define TRNG_MCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_SAMP_MODE_SHIFT)) & TRNG_MCTL_SAMP_MODE_MASK)
34324#define TRNG_MCTL_OSC_DIV_MASK (0xCU)
34325#define TRNG_MCTL_OSC_DIV_SHIFT (2U)
34326/*! OSC_DIV
34327 * 0b00..use ring oscillator with no divide
34328 * 0b01..use ring oscillator divided-by-2
34329 * 0b10..use ring oscillator divided-by-4
34330 * 0b11..use ring oscillator divided-by-8
34331 */
34332#define TRNG_MCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_OSC_DIV_SHIFT)) & TRNG_MCTL_OSC_DIV_MASK)
34333#define TRNG_MCTL_TRNG_ACC_MASK (0x20U)
34334#define TRNG_MCTL_TRNG_ACC_SHIFT (5U)
34335#define TRNG_MCTL_TRNG_ACC(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TRNG_ACC_SHIFT)) & TRNG_MCTL_TRNG_ACC_MASK)
34336#define TRNG_MCTL_RST_DEF_MASK (0x40U)
34337#define TRNG_MCTL_RST_DEF_SHIFT (6U)
34338#define TRNG_MCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_RST_DEF_SHIFT)) & TRNG_MCTL_RST_DEF_MASK)
34339#define TRNG_MCTL_FOR_SCLK_MASK (0x80U)
34340#define TRNG_MCTL_FOR_SCLK_SHIFT (7U)
34341#define TRNG_MCTL_FOR_SCLK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FOR_SCLK_SHIFT)) & TRNG_MCTL_FOR_SCLK_MASK)
34342#define TRNG_MCTL_FCT_FAIL_MASK (0x100U)
34343#define TRNG_MCTL_FCT_FAIL_SHIFT (8U)
34344#define TRNG_MCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_FAIL_SHIFT)) & TRNG_MCTL_FCT_FAIL_MASK)
34345#define TRNG_MCTL_FCT_VAL_MASK (0x200U)
34346#define TRNG_MCTL_FCT_VAL_SHIFT (9U)
34347#define TRNG_MCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_VAL_SHIFT)) & TRNG_MCTL_FCT_VAL_MASK)
34348#define TRNG_MCTL_ENT_VAL_MASK (0x400U)
34349#define TRNG_MCTL_ENT_VAL_SHIFT (10U)
34350#define TRNG_MCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ENT_VAL_SHIFT)) & TRNG_MCTL_ENT_VAL_MASK)
34351#define TRNG_MCTL_TST_OUT_MASK (0x800U)
34352#define TRNG_MCTL_TST_OUT_SHIFT (11U)
34353#define TRNG_MCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TST_OUT_SHIFT)) & TRNG_MCTL_TST_OUT_MASK)
34354#define TRNG_MCTL_ERR_MASK (0x1000U)
34355#define TRNG_MCTL_ERR_SHIFT (12U)
34356#define TRNG_MCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ERR_SHIFT)) & TRNG_MCTL_ERR_MASK)
34357#define TRNG_MCTL_TSTOP_OK_MASK (0x2000U)
34358#define TRNG_MCTL_TSTOP_OK_SHIFT (13U)
34359#define TRNG_MCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TSTOP_OK_SHIFT)) & TRNG_MCTL_TSTOP_OK_MASK)
34360#define TRNG_MCTL_PRGM_MASK (0x10000U)
34361#define TRNG_MCTL_PRGM_SHIFT (16U)
34362#define TRNG_MCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_PRGM_SHIFT)) & TRNG_MCTL_PRGM_MASK)
34363/*! @} */
34364
34365/*! @name SCMISC - Statistical Check Miscellaneous Register */
34366/*! @{ */
34367#define TRNG_SCMISC_LRUN_MAX_MASK (0xFFU)
34368#define TRNG_SCMISC_LRUN_MAX_SHIFT (0U)
34369#define TRNG_SCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_LRUN_MAX_SHIFT)) & TRNG_SCMISC_LRUN_MAX_MASK)
34370#define TRNG_SCMISC_RTY_CT_MASK (0xF0000U)
34371#define TRNG_SCMISC_RTY_CT_SHIFT (16U)
34372#define TRNG_SCMISC_RTY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_RTY_CT_SHIFT)) & TRNG_SCMISC_RTY_CT_MASK)
34373/*! @} */
34374
34375/*! @name PKRRNG - Poker Range Register */
34376/*! @{ */
34377#define TRNG_PKRRNG_PKR_RNG_MASK (0xFFFFU)
34378#define TRNG_PKRRNG_PKR_RNG_SHIFT (0U)
34379#define TRNG_PKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRRNG_PKR_RNG_SHIFT)) & TRNG_PKRRNG_PKR_RNG_MASK)
34380/*! @} */
34381
34382/*! @name PKRMAX - Poker Maximum Limit Register */
34383/*! @{ */
34384#define TRNG_PKRMAX_PKR_MAX_MASK (0xFFFFFFU)
34385#define TRNG_PKRMAX_PKR_MAX_SHIFT (0U)
34386/*! PKR_MAX - Poker Maximum Limit.
34387 */
34388#define TRNG_PKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRMAX_PKR_MAX_SHIFT)) & TRNG_PKRMAX_PKR_MAX_MASK)
34389/*! @} */
34390
34391/*! @name PKRSQ - Poker Square Calculation Result Register */
34392/*! @{ */
34393#define TRNG_PKRSQ_PKR_SQ_MASK (0xFFFFFFU)
34394#define TRNG_PKRSQ_PKR_SQ_SHIFT (0U)
34395/*! PKR_SQ - Poker Square Calculation Result.
34396 */
34397#define TRNG_PKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRSQ_PKR_SQ_SHIFT)) & TRNG_PKRSQ_PKR_SQ_MASK)
34398/*! @} */
34399
34400/*! @name SDCTL - Seed Control Register */
34401/*! @{ */
34402#define TRNG_SDCTL_SAMP_SIZE_MASK (0xFFFFU)
34403#define TRNG_SDCTL_SAMP_SIZE_SHIFT (0U)
34404#define TRNG_SDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_SAMP_SIZE_SHIFT)) & TRNG_SDCTL_SAMP_SIZE_MASK)
34405#define TRNG_SDCTL_ENT_DLY_MASK (0xFFFF0000U)
34406#define TRNG_SDCTL_ENT_DLY_SHIFT (16U)
34407#define TRNG_SDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_ENT_DLY_SHIFT)) & TRNG_SDCTL_ENT_DLY_MASK)
34408/*! @} */
34409
34410/*! @name SBLIM - Sparse Bit Limit Register */
34411/*! @{ */
34412#define TRNG_SBLIM_SB_LIM_MASK (0x3FFU)
34413#define TRNG_SBLIM_SB_LIM_SHIFT (0U)
34414#define TRNG_SBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SBLIM_SB_LIM_SHIFT)) & TRNG_SBLIM_SB_LIM_MASK)
34415/*! @} */
34416
34417/*! @name TOTSAM - Total Samples Register */
34418/*! @{ */
34419#define TRNG_TOTSAM_TOT_SAM_MASK (0xFFFFFU)
34420#define TRNG_TOTSAM_TOT_SAM_SHIFT (0U)
34421#define TRNG_TOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_TOTSAM_TOT_SAM_SHIFT)) & TRNG_TOTSAM_TOT_SAM_MASK)
34422/*! @} */
34423
34424/*! @name FRQMIN - Frequency Count Minimum Limit Register */
34425/*! @{ */
34426#define TRNG_FRQMIN_FRQ_MIN_MASK (0x3FFFFFU)
34427#define TRNG_FRQMIN_FRQ_MIN_SHIFT (0U)
34428#define TRNG_FRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMIN_FRQ_MIN_SHIFT)) & TRNG_FRQMIN_FRQ_MIN_MASK)
34429/*! @} */
34430
34431/*! @name FRQCNT - Frequency Count Register */
34432/*! @{ */
34433#define TRNG_FRQCNT_FRQ_CT_MASK (0x3FFFFFU)
34434#define TRNG_FRQCNT_FRQ_CT_SHIFT (0U)
34435#define TRNG_FRQCNT_FRQ_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQCNT_FRQ_CT_SHIFT)) & TRNG_FRQCNT_FRQ_CT_MASK)
34436/*! @} */
34437
34438/*! @name FRQMAX - Frequency Count Maximum Limit Register */
34439/*! @{ */
34440#define TRNG_FRQMAX_FRQ_MAX_MASK (0x3FFFFFU)
34441#define TRNG_FRQMAX_FRQ_MAX_SHIFT (0U)
34442#define TRNG_FRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMAX_FRQ_MAX_SHIFT)) & TRNG_FRQMAX_FRQ_MAX_MASK)
34443/*! @} */
34444
34445/*! @name SCMC - Statistical Check Monobit Count Register */
34446/*! @{ */
34447#define TRNG_SCMC_MONO_CT_MASK (0xFFFFU)
34448#define TRNG_SCMC_MONO_CT_SHIFT (0U)
34449#define TRNG_SCMC_MONO_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMC_MONO_CT_SHIFT)) & TRNG_SCMC_MONO_CT_MASK)
34450/*! @} */
34451
34452/*! @name SCML - Statistical Check Monobit Limit Register */
34453/*! @{ */
34454#define TRNG_SCML_MONO_MAX_MASK (0xFFFFU)
34455#define TRNG_SCML_MONO_MAX_SHIFT (0U)
34456#define TRNG_SCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_MAX_SHIFT)) & TRNG_SCML_MONO_MAX_MASK)
34457#define TRNG_SCML_MONO_RNG_MASK (0xFFFF0000U)
34458#define TRNG_SCML_MONO_RNG_SHIFT (16U)
34459#define TRNG_SCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_RNG_SHIFT)) & TRNG_SCML_MONO_RNG_MASK)
34460/*! @} */
34461
34462/*! @name SCR1C - Statistical Check Run Length 1 Count Register */
34463/*! @{ */
34464#define TRNG_SCR1C_R1_0_CT_MASK (0x7FFFU)
34465#define TRNG_SCR1C_R1_0_CT_SHIFT (0U)
34466#define TRNG_SCR1C_R1_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_0_CT_SHIFT)) & TRNG_SCR1C_R1_0_CT_MASK)
34467#define TRNG_SCR1C_R1_1_CT_MASK (0x7FFF0000U)
34468#define TRNG_SCR1C_R1_1_CT_SHIFT (16U)
34469#define TRNG_SCR1C_R1_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_1_CT_SHIFT)) & TRNG_SCR1C_R1_1_CT_MASK)
34470/*! @} */
34471
34472/*! @name SCR1L - Statistical Check Run Length 1 Limit Register */
34473/*! @{ */
34474#define TRNG_SCR1L_RUN1_MAX_MASK (0x7FFFU)
34475#define TRNG_SCR1L_RUN1_MAX_SHIFT (0U)
34476#define TRNG_SCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_MAX_SHIFT)) & TRNG_SCR1L_RUN1_MAX_MASK)
34477#define TRNG_SCR1L_RUN1_RNG_MASK (0x7FFF0000U)
34478#define TRNG_SCR1L_RUN1_RNG_SHIFT (16U)
34479#define TRNG_SCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_RNG_SHIFT)) & TRNG_SCR1L_RUN1_RNG_MASK)
34480/*! @} */
34481
34482/*! @name SCR2C - Statistical Check Run Length 2 Count Register */
34483/*! @{ */
34484#define TRNG_SCR2C_R2_0_CT_MASK (0x3FFFU)
34485#define TRNG_SCR2C_R2_0_CT_SHIFT (0U)
34486#define TRNG_SCR2C_R2_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_0_CT_SHIFT)) & TRNG_SCR2C_R2_0_CT_MASK)
34487#define TRNG_SCR2C_R2_1_CT_MASK (0x3FFF0000U)
34488#define TRNG_SCR2C_R2_1_CT_SHIFT (16U)
34489#define TRNG_SCR2C_R2_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_1_CT_SHIFT)) & TRNG_SCR2C_R2_1_CT_MASK)
34490/*! @} */
34491
34492/*! @name SCR2L - Statistical Check Run Length 2 Limit Register */
34493/*! @{ */
34494#define TRNG_SCR2L_RUN2_MAX_MASK (0x3FFFU)
34495#define TRNG_SCR2L_RUN2_MAX_SHIFT (0U)
34496#define TRNG_SCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_MAX_SHIFT)) & TRNG_SCR2L_RUN2_MAX_MASK)
34497#define TRNG_SCR2L_RUN2_RNG_MASK (0x3FFF0000U)
34498#define TRNG_SCR2L_RUN2_RNG_SHIFT (16U)
34499#define TRNG_SCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_RNG_SHIFT)) & TRNG_SCR2L_RUN2_RNG_MASK)
34500/*! @} */
34501
34502/*! @name SCR3C - Statistical Check Run Length 3 Count Register */
34503/*! @{ */
34504#define TRNG_SCR3C_R3_0_CT_MASK (0x1FFFU)
34505#define TRNG_SCR3C_R3_0_CT_SHIFT (0U)
34506#define TRNG_SCR3C_R3_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_0_CT_SHIFT)) & TRNG_SCR3C_R3_0_CT_MASK)
34507#define TRNG_SCR3C_R3_1_CT_MASK (0x1FFF0000U)
34508#define TRNG_SCR3C_R3_1_CT_SHIFT (16U)
34509#define TRNG_SCR3C_R3_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_1_CT_SHIFT)) & TRNG_SCR3C_R3_1_CT_MASK)
34510/*! @} */
34511
34512/*! @name SCR3L - Statistical Check Run Length 3 Limit Register */
34513/*! @{ */
34514#define TRNG_SCR3L_RUN3_MAX_MASK (0x1FFFU)
34515#define TRNG_SCR3L_RUN3_MAX_SHIFT (0U)
34516#define TRNG_SCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_MAX_SHIFT)) & TRNG_SCR3L_RUN3_MAX_MASK)
34517#define TRNG_SCR3L_RUN3_RNG_MASK (0x1FFF0000U)
34518#define TRNG_SCR3L_RUN3_RNG_SHIFT (16U)
34519#define TRNG_SCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_RNG_SHIFT)) & TRNG_SCR3L_RUN3_RNG_MASK)
34520/*! @} */
34521
34522/*! @name SCR4C - Statistical Check Run Length 4 Count Register */
34523/*! @{ */
34524#define TRNG_SCR4C_R4_0_CT_MASK (0xFFFU)
34525#define TRNG_SCR4C_R4_0_CT_SHIFT (0U)
34526#define TRNG_SCR4C_R4_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_0_CT_SHIFT)) & TRNG_SCR4C_R4_0_CT_MASK)
34527#define TRNG_SCR4C_R4_1_CT_MASK (0xFFF0000U)
34528#define TRNG_SCR4C_R4_1_CT_SHIFT (16U)
34529#define TRNG_SCR4C_R4_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_1_CT_SHIFT)) & TRNG_SCR4C_R4_1_CT_MASK)
34530/*! @} */
34531
34532/*! @name SCR4L - Statistical Check Run Length 4 Limit Register */
34533/*! @{ */
34534#define TRNG_SCR4L_RUN4_MAX_MASK (0xFFFU)
34535#define TRNG_SCR4L_RUN4_MAX_SHIFT (0U)
34536#define TRNG_SCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_MAX_SHIFT)) & TRNG_SCR4L_RUN4_MAX_MASK)
34537#define TRNG_SCR4L_RUN4_RNG_MASK (0xFFF0000U)
34538#define TRNG_SCR4L_RUN4_RNG_SHIFT (16U)
34539#define TRNG_SCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_RNG_SHIFT)) & TRNG_SCR4L_RUN4_RNG_MASK)
34540/*! @} */
34541
34542/*! @name SCR5C - Statistical Check Run Length 5 Count Register */
34543/*! @{ */
34544#define TRNG_SCR5C_R5_0_CT_MASK (0x7FFU)
34545#define TRNG_SCR5C_R5_0_CT_SHIFT (0U)
34546#define TRNG_SCR5C_R5_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_0_CT_SHIFT)) & TRNG_SCR5C_R5_0_CT_MASK)
34547#define TRNG_SCR5C_R5_1_CT_MASK (0x7FF0000U)
34548#define TRNG_SCR5C_R5_1_CT_SHIFT (16U)
34549#define TRNG_SCR5C_R5_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_1_CT_SHIFT)) & TRNG_SCR5C_R5_1_CT_MASK)
34550/*! @} */
34551
34552/*! @name SCR5L - Statistical Check Run Length 5 Limit Register */
34553/*! @{ */
34554#define TRNG_SCR5L_RUN5_MAX_MASK (0x7FFU)
34555#define TRNG_SCR5L_RUN5_MAX_SHIFT (0U)
34556#define TRNG_SCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_MAX_SHIFT)) & TRNG_SCR5L_RUN5_MAX_MASK)
34557#define TRNG_SCR5L_RUN5_RNG_MASK (0x7FF0000U)
34558#define TRNG_SCR5L_RUN5_RNG_SHIFT (16U)
34559#define TRNG_SCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_RNG_SHIFT)) & TRNG_SCR5L_RUN5_RNG_MASK)
34560/*! @} */
34561
34562/*! @name SCR6PC - Statistical Check Run Length 6+ Count Register */
34563/*! @{ */
34564#define TRNG_SCR6PC_R6P_0_CT_MASK (0x7FFU)
34565#define TRNG_SCR6PC_R6P_0_CT_SHIFT (0U)
34566#define TRNG_SCR6PC_R6P_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_0_CT_SHIFT)) & TRNG_SCR6PC_R6P_0_CT_MASK)
34567#define TRNG_SCR6PC_R6P_1_CT_MASK (0x7FF0000U)
34568#define TRNG_SCR6PC_R6P_1_CT_SHIFT (16U)
34569#define TRNG_SCR6PC_R6P_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_1_CT_SHIFT)) & TRNG_SCR6PC_R6P_1_CT_MASK)
34570/*! @} */
34571
34572/*! @name SCR6PL - Statistical Check Run Length 6+ Limit Register */
34573/*! @{ */
34574#define TRNG_SCR6PL_RUN6P_MAX_MASK (0x7FFU)
34575#define TRNG_SCR6PL_RUN6P_MAX_SHIFT (0U)
34576#define TRNG_SCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_MAX_SHIFT)) & TRNG_SCR6PL_RUN6P_MAX_MASK)
34577#define TRNG_SCR6PL_RUN6P_RNG_MASK (0x7FF0000U)
34578#define TRNG_SCR6PL_RUN6P_RNG_SHIFT (16U)
34579#define TRNG_SCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_RNG_SHIFT)) & TRNG_SCR6PL_RUN6P_RNG_MASK)
34580/*! @} */
34581
34582/*! @name STATUS - Status Register */
34583/*! @{ */
34584#define TRNG_STATUS_TF1BR0_MASK (0x1U)
34585#define TRNG_STATUS_TF1BR0_SHIFT (0U)
34586#define TRNG_STATUS_TF1BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR0_SHIFT)) & TRNG_STATUS_TF1BR0_MASK)
34587#define TRNG_STATUS_TF1BR1_MASK (0x2U)
34588#define TRNG_STATUS_TF1BR1_SHIFT (1U)
34589#define TRNG_STATUS_TF1BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR1_SHIFT)) & TRNG_STATUS_TF1BR1_MASK)
34590#define TRNG_STATUS_TF2BR0_MASK (0x4U)
34591#define TRNG_STATUS_TF2BR0_SHIFT (2U)
34592#define TRNG_STATUS_TF2BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR0_SHIFT)) & TRNG_STATUS_TF2BR0_MASK)
34593#define TRNG_STATUS_TF2BR1_MASK (0x8U)
34594#define TRNG_STATUS_TF2BR1_SHIFT (3U)
34595#define TRNG_STATUS_TF2BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR1_SHIFT)) & TRNG_STATUS_TF2BR1_MASK)
34596#define TRNG_STATUS_TF3BR0_MASK (0x10U)
34597#define TRNG_STATUS_TF3BR0_SHIFT (4U)
34598#define TRNG_STATUS_TF3BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR0_SHIFT)) & TRNG_STATUS_TF3BR0_MASK)
34599#define TRNG_STATUS_TF3BR1_MASK (0x20U)
34600#define TRNG_STATUS_TF3BR1_SHIFT (5U)
34601#define TRNG_STATUS_TF3BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR1_SHIFT)) & TRNG_STATUS_TF3BR1_MASK)
34602#define TRNG_STATUS_TF4BR0_MASK (0x40U)
34603#define TRNG_STATUS_TF4BR0_SHIFT (6U)
34604#define TRNG_STATUS_TF4BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR0_SHIFT)) & TRNG_STATUS_TF4BR0_MASK)
34605#define TRNG_STATUS_TF4BR1_MASK (0x80U)
34606#define TRNG_STATUS_TF4BR1_SHIFT (7U)
34607#define TRNG_STATUS_TF4BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR1_SHIFT)) & TRNG_STATUS_TF4BR1_MASK)
34608#define TRNG_STATUS_TF5BR0_MASK (0x100U)
34609#define TRNG_STATUS_TF5BR0_SHIFT (8U)
34610#define TRNG_STATUS_TF5BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR0_SHIFT)) & TRNG_STATUS_TF5BR0_MASK)
34611#define TRNG_STATUS_TF5BR1_MASK (0x200U)
34612#define TRNG_STATUS_TF5BR1_SHIFT (9U)
34613#define TRNG_STATUS_TF5BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR1_SHIFT)) & TRNG_STATUS_TF5BR1_MASK)
34614#define TRNG_STATUS_TF6PBR0_MASK (0x400U)
34615#define TRNG_STATUS_TF6PBR0_SHIFT (10U)
34616#define TRNG_STATUS_TF6PBR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR0_SHIFT)) & TRNG_STATUS_TF6PBR0_MASK)
34617#define TRNG_STATUS_TF6PBR1_MASK (0x800U)
34618#define TRNG_STATUS_TF6PBR1_SHIFT (11U)
34619#define TRNG_STATUS_TF6PBR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR1_SHIFT)) & TRNG_STATUS_TF6PBR1_MASK)
34620#define TRNG_STATUS_TFSB_MASK (0x1000U)
34621#define TRNG_STATUS_TFSB_SHIFT (12U)
34622#define TRNG_STATUS_TFSB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFSB_SHIFT)) & TRNG_STATUS_TFSB_MASK)
34623#define TRNG_STATUS_TFLR_MASK (0x2000U)
34624#define TRNG_STATUS_TFLR_SHIFT (13U)
34625#define TRNG_STATUS_TFLR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFLR_SHIFT)) & TRNG_STATUS_TFLR_MASK)
34626#define TRNG_STATUS_TFP_MASK (0x4000U)
34627#define TRNG_STATUS_TFP_SHIFT (14U)
34628#define TRNG_STATUS_TFP(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFP_SHIFT)) & TRNG_STATUS_TFP_MASK)
34629#define TRNG_STATUS_TFMB_MASK (0x8000U)
34630#define TRNG_STATUS_TFMB_SHIFT (15U)
34631#define TRNG_STATUS_TFMB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFMB_SHIFT)) & TRNG_STATUS_TFMB_MASK)
34632#define TRNG_STATUS_RETRY_CT_MASK (0xF0000U)
34633#define TRNG_STATUS_RETRY_CT_SHIFT (16U)
34634#define TRNG_STATUS_RETRY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_RETRY_CT_SHIFT)) & TRNG_STATUS_RETRY_CT_MASK)
34635/*! @} */
34636
34637/*! @name ENT - Entropy Read Register */
34638/*! @{ */
34639#define TRNG_ENT_ENT_MASK (0xFFFFFFFFU)
34640#define TRNG_ENT_ENT_SHIFT (0U)
34641#define TRNG_ENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_ENT_ENT_SHIFT)) & TRNG_ENT_ENT_MASK)
34642/*! @} */
34643
34644/* The count of TRNG_ENT */
34645#define TRNG_ENT_COUNT (16U)
34646
34647/*! @name PKRCNT10 - Statistical Check Poker Count 1 and 0 Register */
34648/*! @{ */
34649#define TRNG_PKRCNT10_PKR_0_CT_MASK (0xFFFFU)
34650#define TRNG_PKRCNT10_PKR_0_CT_SHIFT (0U)
34651#define TRNG_PKRCNT10_PKR_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_0_CT_SHIFT)) & TRNG_PKRCNT10_PKR_0_CT_MASK)
34652#define TRNG_PKRCNT10_PKR_1_CT_MASK (0xFFFF0000U)
34653#define TRNG_PKRCNT10_PKR_1_CT_SHIFT (16U)
34654#define TRNG_PKRCNT10_PKR_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_1_CT_SHIFT)) & TRNG_PKRCNT10_PKR_1_CT_MASK)
34655/*! @} */
34656
34657/*! @name PKRCNT32 - Statistical Check Poker Count 3 and 2 Register */
34658/*! @{ */
34659#define TRNG_PKRCNT32_PKR_2_CT_MASK (0xFFFFU)
34660#define TRNG_PKRCNT32_PKR_2_CT_SHIFT (0U)
34661#define TRNG_PKRCNT32_PKR_2_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_2_CT_SHIFT)) & TRNG_PKRCNT32_PKR_2_CT_MASK)
34662#define TRNG_PKRCNT32_PKR_3_CT_MASK (0xFFFF0000U)
34663#define TRNG_PKRCNT32_PKR_3_CT_SHIFT (16U)
34664#define TRNG_PKRCNT32_PKR_3_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_3_CT_SHIFT)) & TRNG_PKRCNT32_PKR_3_CT_MASK)
34665/*! @} */
34666
34667/*! @name PKRCNT54 - Statistical Check Poker Count 5 and 4 Register */
34668/*! @{ */
34669#define TRNG_PKRCNT54_PKR_4_CT_MASK (0xFFFFU)
34670#define TRNG_PKRCNT54_PKR_4_CT_SHIFT (0U)
34671#define TRNG_PKRCNT54_PKR_4_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_4_CT_SHIFT)) & TRNG_PKRCNT54_PKR_4_CT_MASK)
34672#define TRNG_PKRCNT54_PKR_5_CT_MASK (0xFFFF0000U)
34673#define TRNG_PKRCNT54_PKR_5_CT_SHIFT (16U)
34674#define TRNG_PKRCNT54_PKR_5_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_5_CT_SHIFT)) & TRNG_PKRCNT54_PKR_5_CT_MASK)
34675/*! @} */
34676
34677/*! @name PKRCNT76 - Statistical Check Poker Count 7 and 6 Register */
34678/*! @{ */
34679#define TRNG_PKRCNT76_PKR_6_CT_MASK (0xFFFFU)
34680#define TRNG_PKRCNT76_PKR_6_CT_SHIFT (0U)
34681#define TRNG_PKRCNT76_PKR_6_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_6_CT_SHIFT)) & TRNG_PKRCNT76_PKR_6_CT_MASK)
34682#define TRNG_PKRCNT76_PKR_7_CT_MASK (0xFFFF0000U)
34683#define TRNG_PKRCNT76_PKR_7_CT_SHIFT (16U)
34684#define TRNG_PKRCNT76_PKR_7_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_7_CT_SHIFT)) & TRNG_PKRCNT76_PKR_7_CT_MASK)
34685/*! @} */
34686
34687/*! @name PKRCNT98 - Statistical Check Poker Count 9 and 8 Register */
34688/*! @{ */
34689#define TRNG_PKRCNT98_PKR_8_CT_MASK (0xFFFFU)
34690#define TRNG_PKRCNT98_PKR_8_CT_SHIFT (0U)
34691#define TRNG_PKRCNT98_PKR_8_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_8_CT_SHIFT)) & TRNG_PKRCNT98_PKR_8_CT_MASK)
34692#define TRNG_PKRCNT98_PKR_9_CT_MASK (0xFFFF0000U)
34693#define TRNG_PKRCNT98_PKR_9_CT_SHIFT (16U)
34694#define TRNG_PKRCNT98_PKR_9_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_9_CT_SHIFT)) & TRNG_PKRCNT98_PKR_9_CT_MASK)
34695/*! @} */
34696
34697/*! @name PKRCNTBA - Statistical Check Poker Count B and A Register */
34698/*! @{ */
34699#define TRNG_PKRCNTBA_PKR_A_CT_MASK (0xFFFFU)
34700#define TRNG_PKRCNTBA_PKR_A_CT_SHIFT (0U)
34701#define TRNG_PKRCNTBA_PKR_A_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_A_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_A_CT_MASK)
34702#define TRNG_PKRCNTBA_PKR_B_CT_MASK (0xFFFF0000U)
34703#define TRNG_PKRCNTBA_PKR_B_CT_SHIFT (16U)
34704#define TRNG_PKRCNTBA_PKR_B_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_B_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_B_CT_MASK)
34705/*! @} */
34706
34707/*! @name PKRCNTDC - Statistical Check Poker Count D and C Register */
34708/*! @{ */
34709#define TRNG_PKRCNTDC_PKR_C_CT_MASK (0xFFFFU)
34710#define TRNG_PKRCNTDC_PKR_C_CT_SHIFT (0U)
34711#define TRNG_PKRCNTDC_PKR_C_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_C_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_C_CT_MASK)
34712#define TRNG_PKRCNTDC_PKR_D_CT_MASK (0xFFFF0000U)
34713#define TRNG_PKRCNTDC_PKR_D_CT_SHIFT (16U)
34714#define TRNG_PKRCNTDC_PKR_D_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_D_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_D_CT_MASK)
34715/*! @} */
34716
34717/*! @name PKRCNTFE - Statistical Check Poker Count F and E Register */
34718/*! @{ */
34719#define TRNG_PKRCNTFE_PKR_E_CT_MASK (0xFFFFU)
34720#define TRNG_PKRCNTFE_PKR_E_CT_SHIFT (0U)
34721#define TRNG_PKRCNTFE_PKR_E_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_E_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_E_CT_MASK)
34722#define TRNG_PKRCNTFE_PKR_F_CT_MASK (0xFFFF0000U)
34723#define TRNG_PKRCNTFE_PKR_F_CT_SHIFT (16U)
34724#define TRNG_PKRCNTFE_PKR_F_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_F_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_F_CT_MASK)
34725/*! @} */
34726
34727/*! @name SEC_CFG - Security Configuration Register */
34728/*! @{ */
34729#define TRNG_SEC_CFG_NO_PRGM_MASK (0x2U)
34730#define TRNG_SEC_CFG_NO_PRGM_SHIFT (1U)
34731/*! NO_PRGM
34732 * 0b0..Programability of registers controlled only by the Miscellaneous Control Register's access mode bit.
34733 * 0b1..Overides Miscellaneous Control Register access mode and prevents TRNG register programming.
34734 */
34735#define TRNG_SEC_CFG_NO_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_NO_PRGM_SHIFT)) & TRNG_SEC_CFG_NO_PRGM_MASK)
34736/*! @} */
34737
34738/*! @name INT_CTRL - Interrupt Control Register */
34739/*! @{ */
34740#define TRNG_INT_CTRL_HW_ERR_MASK (0x1U)
34741#define TRNG_INT_CTRL_HW_ERR_SHIFT (0U)
34742/*! HW_ERR
34743 * 0b0..Corresponding bit of INT_STATUS cleared.
34744 * 0b1..Corresponding bit of INT_STATUS active.
34745 */
34746#define TRNG_INT_CTRL_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_HW_ERR_SHIFT)) & TRNG_INT_CTRL_HW_ERR_MASK)
34747#define TRNG_INT_CTRL_ENT_VAL_MASK (0x2U)
34748#define TRNG_INT_CTRL_ENT_VAL_SHIFT (1U)
34749/*! ENT_VAL
34750 * 0b0..Same behavior as bit 0 above.
34751 * 0b1..Same behavior as bit 0 above.
34752 */
34753#define TRNG_INT_CTRL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_ENT_VAL_SHIFT)) & TRNG_INT_CTRL_ENT_VAL_MASK)
34754#define TRNG_INT_CTRL_FRQ_CT_FAIL_MASK (0x4U)
34755#define TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT (2U)
34756/*! FRQ_CT_FAIL
34757 * 0b0..Same behavior as bit 0 above.
34758 * 0b1..Same behavior as bit 0 above.
34759 */
34760#define TRNG_INT_CTRL_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_CTRL_FRQ_CT_FAIL_MASK)
34761/*! @} */
34762
34763/*! @name INT_MASK - Mask Register */
34764/*! @{ */
34765#define TRNG_INT_MASK_HW_ERR_MASK (0x1U)
34766#define TRNG_INT_MASK_HW_ERR_SHIFT (0U)
34767/*! HW_ERR
34768 * 0b0..Corresponding interrupt of INT_STATUS is masked.
34769 * 0b1..Corresponding bit of INT_STATUS is active.
34770 */
34771#define TRNG_INT_MASK_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_HW_ERR_SHIFT)) & TRNG_INT_MASK_HW_ERR_MASK)
34772#define TRNG_INT_MASK_ENT_VAL_MASK (0x2U)
34773#define TRNG_INT_MASK_ENT_VAL_SHIFT (1U)
34774/*! ENT_VAL
34775 * 0b0..Same behavior as bit 0 above.
34776 * 0b1..Same behavior as bit 0 above.
34777 */
34778#define TRNG_INT_MASK_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_ENT_VAL_SHIFT)) & TRNG_INT_MASK_ENT_VAL_MASK)
34779#define TRNG_INT_MASK_FRQ_CT_FAIL_MASK (0x4U)
34780#define TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT (2U)
34781/*! FRQ_CT_FAIL
34782 * 0b0..Same behavior as bit 0 above.
34783 * 0b1..Same behavior as bit 0 above.
34784 */
34785#define TRNG_INT_MASK_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_MASK_FRQ_CT_FAIL_MASK)
34786/*! @} */
34787
34788/*! @name INT_STATUS - Interrupt Status Register */
34789/*! @{ */
34790#define TRNG_INT_STATUS_HW_ERR_MASK (0x1U)
34791#define TRNG_INT_STATUS_HW_ERR_SHIFT (0U)
34792/*! HW_ERR
34793 * 0b0..no error
34794 * 0b1..error detected.
34795 */
34796#define TRNG_INT_STATUS_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_HW_ERR_SHIFT)) & TRNG_INT_STATUS_HW_ERR_MASK)
34797#define TRNG_INT_STATUS_ENT_VAL_MASK (0x2U)
34798#define TRNG_INT_STATUS_ENT_VAL_SHIFT (1U)
34799/*! ENT_VAL
34800 * 0b0..Busy generation entropy. Any value read is invalid.
34801 * 0b1..TRNG can be stopped and entropy is valid if read.
34802 */
34803#define TRNG_INT_STATUS_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_ENT_VAL_SHIFT)) & TRNG_INT_STATUS_ENT_VAL_MASK)
34804#define TRNG_INT_STATUS_FRQ_CT_FAIL_MASK (0x4U)
34805#define TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT (2U)
34806/*! FRQ_CT_FAIL
34807 * 0b0..No hardware nor self test frequency errors.
34808 * 0b1..The frequency counter has detected a failure.
34809 */
34810#define TRNG_INT_STATUS_FRQ_CT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT)) & TRNG_INT_STATUS_FRQ_CT_FAIL_MASK)
34811/*! @} */
34812
34813/*! @name VID1 - Version ID Register (MS) */
34814/*! @{ */
34815#define TRNG_VID1_MIN_REV_MASK (0xFFU)
34816#define TRNG_VID1_MIN_REV_SHIFT (0U)
34817/*! MIN_REV
34818 * 0b00000000..Minor revision number for TRNG.
34819 */
34820#define TRNG_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MIN_REV_SHIFT)) & TRNG_VID1_MIN_REV_MASK)
34821#define TRNG_VID1_MAJ_REV_MASK (0xFF00U)
34822#define TRNG_VID1_MAJ_REV_SHIFT (8U)
34823/*! MAJ_REV
34824 * 0b00000001..Major revision number for TRNG.
34825 */
34826#define TRNG_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MAJ_REV_SHIFT)) & TRNG_VID1_MAJ_REV_MASK)
34827#define TRNG_VID1_IP_ID_MASK (0xFFFF0000U)
34828#define TRNG_VID1_IP_ID_SHIFT (16U)
34829/*! IP_ID
34830 * 0b0000000000110000..ID for TRNG.
34831 */
34832#define TRNG_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_IP_ID_SHIFT)) & TRNG_VID1_IP_ID_MASK)
34833/*! @} */
34834
34835/*! @name VID2 - Version ID Register (LS) */
34836/*! @{ */
34837#define TRNG_VID2_CONFIG_OPT_MASK (0xFFU)
34838#define TRNG_VID2_CONFIG_OPT_SHIFT (0U)
34839/*! CONFIG_OPT
34840 * 0b00000000..TRNG_CONFIG_OPT for TRNG.
34841 */
34842#define TRNG_VID2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_CONFIG_OPT_SHIFT)) & TRNG_VID2_CONFIG_OPT_MASK)
34843#define TRNG_VID2_ECO_REV_MASK (0xFF00U)
34844#define TRNG_VID2_ECO_REV_SHIFT (8U)
34845/*! ECO_REV
34846 * 0b00000000..TRNG_ECO_REV for TRNG.
34847 */
34848#define TRNG_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ECO_REV_SHIFT)) & TRNG_VID2_ECO_REV_MASK)
34849#define TRNG_VID2_INTG_OPT_MASK (0xFF0000U)
34850#define TRNG_VID2_INTG_OPT_SHIFT (16U)
34851/*! INTG_OPT
34852 * 0b00000000..INTG_OPT for TRNG.
34853 */
34854#define TRNG_VID2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_INTG_OPT_SHIFT)) & TRNG_VID2_INTG_OPT_MASK)
34855#define TRNG_VID2_ERA_MASK (0xFF000000U)
34856#define TRNG_VID2_ERA_SHIFT (24U)
34857/*! ERA
34858 * 0b00000000..COMPILE_OPT for TRNG.
34859 */
34860#define TRNG_VID2_ERA(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ERA_SHIFT)) & TRNG_VID2_ERA_MASK)
34861/*! @} */
34862
34863
34864/*!
34865 * @}
34866 */ /* end of group TRNG_Register_Masks */
34867
34868
34869/* TRNG - Peripheral instance base addresses */
34870#if (__ARM_FEATURE_CMSE & 0x2)
34871 /** Peripheral TRNG base address */
34872 #define TRNG_BASE (0x50138000u)
34873 /** Peripheral TRNG base address */
34874 #define TRNG_BASE_NS (0x40138000u)
34875 /** Peripheral TRNG base pointer */
34876 #define TRNG ((TRNG_Type *)TRNG_BASE)
34877 /** Peripheral TRNG base pointer */
34878 #define TRNG_NS ((TRNG_Type *)TRNG_BASE_NS)
34879 /** Array initializer of TRNG peripheral base addresses */
34880 #define TRNG_BASE_ADDRS { TRNG_BASE }
34881 /** Array initializer of TRNG peripheral base pointers */
34882 #define TRNG_BASE_PTRS { TRNG }
34883 /** Array initializer of TRNG peripheral base addresses */
34884 #define TRNG_BASE_ADDRS_NS { TRNG_BASE_NS }
34885 /** Array initializer of TRNG peripheral base pointers */
34886 #define TRNG_BASE_PTRS_NS { TRNG_NS }
34887#else
34888 /** Peripheral TRNG base address */
34889 #define TRNG_BASE (0x40138000u)
34890 /** Peripheral TRNG base pointer */
34891 #define TRNG ((TRNG_Type *)TRNG_BASE)
34892 /** Array initializer of TRNG peripheral base addresses */
34893 #define TRNG_BASE_ADDRS { TRNG_BASE }
34894 /** Array initializer of TRNG peripheral base pointers */
34895 #define TRNG_BASE_PTRS { TRNG }
34896#endif
34897/** Interrupt vectors for the TRNG peripheral type */
34898#define TRNG_IRQS { RNG_IRQn }
34899/** Backward compatibility macros */
34900#define TRNG0 TRNG
34901
34902
34903/*!
34904 * @}
34905 */ /* end of group TRNG_Peripheral_Access_Layer */
34906
34907
34908/* ----------------------------------------------------------------------------
34909 -- USART Peripheral Access Layer
34910 ---------------------------------------------------------------------------- */
34911
34912/*!
34913 * @addtogroup USART_Peripheral_Access_Layer USART Peripheral Access Layer
34914 * @{
34915 */
34916
34917/** USART - Register Layout Typedef */
34918typedef struct {
34919 __IO uint32_t CFG; /**< USART Configuration register. Basic USART configuration settings that typically are not changed during operation., offset: 0x0 */
34920 __IO uint32_t CTL; /**< USART Control register. USART control settings that are more likely to change during operation., offset: 0x4 */
34921 __IO uint32_t STAT; /**< USART Status register. The complete status value can be read here. Writing ones clears some bits in the register. Some bits can be cleared by writing a 1 to them., offset: 0x8 */
34922 __IO uint32_t INTENSET; /**< Interrupt Enable read and Set register for USART (not FIFO) status. Contains individual interrupt enable bits for each potential USART interrupt. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set., offset: 0xC */
34923 __O uint32_t INTENCLR; /**< Interrupt Enable Clear register. Allows clearing any combination of bits in the INTENSET register. Writing a 1 to any implemented bit position causes the corresponding bit to be cleared., offset: 0x10 */
34924 uint8_t RESERVED_0[12];
34925 __IO uint32_t BRG; /**< Baud Rate Generator register. 16-bit integer baud rate divisor value., offset: 0x20 */
34926 __I uint32_t INTSTAT; /**< Interrupt status register. Reflects interrupts that are currently enabled., offset: 0x24 */
34927 __IO uint32_t OSR; /**< Oversample selection register for asynchronous communication., offset: 0x28 */
34928 __IO uint32_t ADDR; /**< Address register for automatic address matching., offset: 0x2C */
34929 uint8_t RESERVED_1[3536];
34930 __IO uint32_t FIFOCFG; /**< FIFO configuration and enable register., offset: 0xE00 */
34931 __IO uint32_t FIFOSTAT; /**< FIFO status register., offset: 0xE04 */
34932 __IO uint32_t FIFOTRIG; /**< FIFO trigger settings for interrupt and DMA request., offset: 0xE08 */
34933 uint8_t RESERVED_2[4];
34934 __IO uint32_t FIFOINTENSET; /**< FIFO interrupt enable set (enable) and read register., offset: 0xE10 */
34935 __IO uint32_t FIFOINTENCLR; /**< FIFO interrupt enable clear (disable) and read register., offset: 0xE14 */
34936 __I uint32_t FIFOINTSTAT; /**< FIFO interrupt status register., offset: 0xE18 */
34937 uint8_t RESERVED_3[4];
34938 __O uint32_t FIFOWR; /**< FIFO write data., offset: 0xE20 */
34939 uint8_t RESERVED_4[12];
34940 __I uint32_t FIFORD; /**< FIFO read data., offset: 0xE30 */
34941 uint8_t RESERVED_5[12];
34942 __I uint32_t FIFORDNOPOP; /**< FIFO data read with no FIFO pop., offset: 0xE40 */
34943 uint8_t RESERVED_6[4];
34944 __I uint32_t FIFOSIZE; /**< FIFO size register, offset: 0xE48 */
34945 uint8_t RESERVED_7[432];
34946 __I uint32_t ID; /**< Peripheral identification register., offset: 0xFFC */
34947} USART_Type;
34948
34949/* ----------------------------------------------------------------------------
34950 -- USART Register Masks
34951 ---------------------------------------------------------------------------- */
34952
34953/*!
34954 * @addtogroup USART_Register_Masks USART Register Masks
34955 * @{
34956 */
34957
34958/*! @name CFG - USART Configuration register. Basic USART configuration settings that typically are not changed during operation. */
34959/*! @{ */
34960#define USART_CFG_ENABLE_MASK (0x1U)
34961#define USART_CFG_ENABLE_SHIFT (0U)
34962/*! ENABLE - USART Enable.
34963 * 0b0..Disabled. The USART is disabled and the internal state machine and counters are reset. While Enable = 0,
34964 * all USART interrupts and DMA transfers are disabled. When Enable is set again, CFG and most other control
34965 * bits remain unchanged. When re-enabled, the USART will immediately be ready to transmit because the
34966 * transmitter has been reset and is therefore available.
34967 * 0b1..Enabled. The USART is enabled for operation.
34968 */
34969#define USART_CFG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_ENABLE_SHIFT)) & USART_CFG_ENABLE_MASK)
34970#define USART_CFG_DATALEN_MASK (0xCU)
34971#define USART_CFG_DATALEN_SHIFT (2U)
34972/*! DATALEN - Selects the data size for the USART.
34973 * 0b00..7 bit Data length.
34974 * 0b01..8 bit Data length.
34975 * 0b10..9 bit data length. The 9th bit is commonly used for addressing in multidrop mode. See the ADDRDET bit in the CTL register.
34976 * 0b11..Reserved.
34977 */
34978#define USART_CFG_DATALEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_DATALEN_SHIFT)) & USART_CFG_DATALEN_MASK)
34979#define USART_CFG_PARITYSEL_MASK (0x30U)
34980#define USART_CFG_PARITYSEL_SHIFT (4U)
34981/*! PARITYSEL - Selects what type of parity is used by the USART.
34982 * 0b00..No parity.
34983 * 0b01..Reserved.
34984 * 0b10..Even parity. Adds a bit to each character such that the number of 1s in a transmitted character is even,
34985 * and the number of 1s in a received character is expected to be even.
34986 * 0b11..Odd parity. Adds a bit to each character such that the number of 1s in a transmitted character is odd,
34987 * and the number of 1s in a received character is expected to be odd.
34988 */
34989#define USART_CFG_PARITYSEL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_PARITYSEL_SHIFT)) & USART_CFG_PARITYSEL_MASK)
34990#define USART_CFG_STOPLEN_MASK (0x40U)
34991#define USART_CFG_STOPLEN_SHIFT (6U)
34992/*! STOPLEN - Number of stop bits appended to transmitted data. Only a single stop bit is required for received data.
34993 * 0b0..1 stop bit.
34994 * 0b1..2 stop bits. This setting should only be used for asynchronous communication.
34995 */
34996#define USART_CFG_STOPLEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_STOPLEN_SHIFT)) & USART_CFG_STOPLEN_MASK)
34997#define USART_CFG_MODE32K_MASK (0x80U)
34998#define USART_CFG_MODE32K_SHIFT (7U)
34999/*! MODE32K - Selects standard or 32 kHz clocking mode.
35000 * 0b0..Disabled. USART uses standard clocking.
35001 * 0b1..Enabled. USART uses the 32 kHz clock from the RTC oscillator as the clock source to the BRG, and uses a special bit clocking scheme.
35002 */
35003#define USART_CFG_MODE32K(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_MODE32K_SHIFT)) & USART_CFG_MODE32K_MASK)
35004#define USART_CFG_LINMODE_MASK (0x100U)
35005#define USART_CFG_LINMODE_SHIFT (8U)
35006/*! LINMODE - LIN break mode enable.
35007 * 0b0..Disabled. Break detect and generate is configured for normal operation.
35008 * 0b1..Enabled. Break detect and generate is configured for LIN bus operation.
35009 */
35010#define USART_CFG_LINMODE(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_LINMODE_SHIFT)) & USART_CFG_LINMODE_MASK)
35011#define USART_CFG_CTSEN_MASK (0x200U)
35012#define USART_CFG_CTSEN_SHIFT (9U)
35013/*! CTSEN - CTS Enable. Determines whether CTS is used for flow control. CTS can be from the input
35014 * pin, or from the USART's own RTS if loopback mode is enabled.
35015 * 0b0..No flow control. The transmitter does not receive any automatic flow control signal.
35016 * 0b1..Flow control enabled. The transmitter uses the CTS input (or RTS output in loopback mode) for flow control purposes.
35017 */
35018#define USART_CFG_CTSEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_CTSEN_SHIFT)) & USART_CFG_CTSEN_MASK)
35019#define USART_CFG_SYNCEN_MASK (0x800U)
35020#define USART_CFG_SYNCEN_SHIFT (11U)
35021/*! SYNCEN - Selects synchronous or asynchronous operation.
35022 * 0b0..Asynchronous mode.
35023 * 0b1..Synchronous mode.
35024 */
35025#define USART_CFG_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_SYNCEN_SHIFT)) & USART_CFG_SYNCEN_MASK)
35026#define USART_CFG_CLKPOL_MASK (0x1000U)
35027#define USART_CFG_CLKPOL_SHIFT (12U)
35028/*! CLKPOL - Selects the clock polarity and sampling edge of received data in synchronous mode.
35029 * 0b0..Falling edge. Un_RXD is sampled on the falling edge of SCLK.
35030 * 0b1..Rising edge. Un_RXD is sampled on the rising edge of SCLK.
35031 */
35032#define USART_CFG_CLKPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_CLKPOL_SHIFT)) & USART_CFG_CLKPOL_MASK)
35033#define USART_CFG_SYNCMST_MASK (0x4000U)
35034#define USART_CFG_SYNCMST_SHIFT (14U)
35035/*! SYNCMST - Synchronous mode Master select.
35036 * 0b0..Slave. When synchronous mode is enabled, the USART is a slave.
35037 * 0b1..Master. When synchronous mode is enabled, the USART is a master.
35038 */
35039#define USART_CFG_SYNCMST(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_SYNCMST_SHIFT)) & USART_CFG_SYNCMST_MASK)
35040#define USART_CFG_LOOP_MASK (0x8000U)
35041#define USART_CFG_LOOP_SHIFT (15U)
35042/*! LOOP - Selects data loopback mode.
35043 * 0b0..Normal operation.
35044 * 0b1..Loopback mode. This provides a mechanism to perform diagnostic loopback testing for USART data. Serial
35045 * data from the transmitter (Un_TXD) is connected internally to serial input of the receive (Un_RXD). Un_TXD
35046 * and Un_RTS activity will also appear on external pins if these functions are configured to appear on device
35047 * pins. The receiver RTS signal is also looped back to CTS and performs flow control if enabled by CTSEN.
35048 */
35049#define USART_CFG_LOOP(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_LOOP_SHIFT)) & USART_CFG_LOOP_MASK)
35050#define USART_CFG_OETA_MASK (0x40000U)
35051#define USART_CFG_OETA_SHIFT (18U)
35052/*! OETA - Output Enable Turnaround time enable for RS-485 operation.
35053 * 0b0..Disabled. If selected by OESEL, the Output Enable signal deasserted at the end of the last stop bit of a transmission.
35054 * 0b1..Enabled. If selected by OESEL, the Output Enable signal remains asserted for one character time after the
35055 * end of the last stop bit of a transmission. OE will also remain asserted if another transmit begins
35056 * before it is deasserted.
35057 */
35058#define USART_CFG_OETA(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_OETA_SHIFT)) & USART_CFG_OETA_MASK)
35059#define USART_CFG_AUTOADDR_MASK (0x80000U)
35060#define USART_CFG_AUTOADDR_SHIFT (19U)
35061/*! AUTOADDR - Automatic Address matching enable.
35062 * 0b0..Disabled. When addressing is enabled by ADDRDET, address matching is done by software. This provides the
35063 * possibility of versatile addressing (e.g. respond to more than one address).
35064 * 0b1..Enabled. When addressing is enabled by ADDRDET, address matching is done by hardware, using the value in
35065 * the ADDR register as the address to match.
35066 */
35067#define USART_CFG_AUTOADDR(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_AUTOADDR_SHIFT)) & USART_CFG_AUTOADDR_MASK)
35068#define USART_CFG_OESEL_MASK (0x100000U)
35069#define USART_CFG_OESEL_SHIFT (20U)
35070/*! OESEL - Output Enable Select.
35071 * 0b0..Standard. The RTS signal is used as the standard flow control function.
35072 * 0b1..RS-485. The RTS signal configured to provide an output enable signal to control an RS-485 transceiver.
35073 */
35074#define USART_CFG_OESEL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_OESEL_SHIFT)) & USART_CFG_OESEL_MASK)
35075#define USART_CFG_OEPOL_MASK (0x200000U)
35076#define USART_CFG_OEPOL_SHIFT (21U)
35077/*! OEPOL - Output Enable Polarity.
35078 * 0b0..Low. If selected by OESEL, the output enable is active low.
35079 * 0b1..High. If selected by OESEL, the output enable is active high.
35080 */
35081#define USART_CFG_OEPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_OEPOL_SHIFT)) & USART_CFG_OEPOL_MASK)
35082#define USART_CFG_RXPOL_MASK (0x400000U)
35083#define USART_CFG_RXPOL_SHIFT (22U)
35084/*! RXPOL - Receive data polarity.
35085 * 0b0..Standard. The RX signal is used as it arrives from the pin. This means that the RX rest value is 1, start
35086 * bit is 0, data is not inverted, and the stop bit is 1.
35087 * 0b1..Inverted. The RX signal is inverted before being used by the USART. This means that the RX rest value is
35088 * 0, start bit is 1, data is inverted, and the stop bit is 0.
35089 */
35090#define USART_CFG_RXPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_RXPOL_SHIFT)) & USART_CFG_RXPOL_MASK)
35091#define USART_CFG_TXPOL_MASK (0x800000U)
35092#define USART_CFG_TXPOL_SHIFT (23U)
35093/*! TXPOL - Transmit data polarity.
35094 * 0b0..Standard. The TX signal is sent out without change. This means that the TX rest value is 1, start bit is
35095 * 0, data is not inverted, and the stop bit is 1.
35096 * 0b1..Inverted. The TX signal is inverted by the USART before being sent out. This means that the TX rest value
35097 * is 0, start bit is 1, data is inverted, and the stop bit is 0.
35098 */
35099#define USART_CFG_TXPOL(x) (((uint32_t)(((uint32_t)(x)) << USART_CFG_TXPOL_SHIFT)) & USART_CFG_TXPOL_MASK)
35100/*! @} */
35101
35102/*! @name CTL - USART Control register. USART control settings that are more likely to change during operation. */
35103/*! @{ */
35104#define USART_CTL_TXBRKEN_MASK (0x2U)
35105#define USART_CTL_TXBRKEN_SHIFT (1U)
35106/*! TXBRKEN - Break Enable.
35107 * 0b0..Normal operation.
35108 * 0b1..Continuous break. Continuous break is sent immediately when this bit is set, and remains until this bit
35109 * is cleared. A break may be sent without danger of corrupting any currently transmitting character if the
35110 * transmitter is first disabled (TXDIS in CTL is set) and then waiting for the transmitter to be disabled
35111 * (TXDISINT in STAT = 1) before writing 1 to TXBRKEN.
35112 */
35113#define USART_CTL_TXBRKEN(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_TXBRKEN_SHIFT)) & USART_CTL_TXBRKEN_MASK)
35114#define USART_CTL_ADDRDET_MASK (0x4U)
35115#define USART_CTL_ADDRDET_SHIFT (2U)
35116/*! ADDRDET - Enable address detect mode.
35117 * 0b0..Disabled. The USART presents all incoming data.
35118 * 0b1..Enabled. The USART receiver ignores incoming data that does not have the most significant bit of the data
35119 * (typically the 9th bit) = 1. When the data MSB bit = 1, the receiver treats the incoming data normally,
35120 * generating a received data interrupt. Software can then check the data to see if this is an address that
35121 * should be handled. If it is, the ADDRDET bit is cleared by software and further incoming data is handled
35122 * normally.
35123 */
35124#define USART_CTL_ADDRDET(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_ADDRDET_SHIFT)) & USART_CTL_ADDRDET_MASK)
35125#define USART_CTL_TXDIS_MASK (0x40U)
35126#define USART_CTL_TXDIS_SHIFT (6U)
35127/*! TXDIS - Transmit Disable.
35128 * 0b0..Not disabled. USART transmitter is not disabled.
35129 * 0b1..Disabled. USART transmitter is disabled after any character currently being transmitted is complete. This
35130 * feature can be used to facilitate software flow control.
35131 */
35132#define USART_CTL_TXDIS(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_TXDIS_SHIFT)) & USART_CTL_TXDIS_MASK)
35133#define USART_CTL_CC_MASK (0x100U)
35134#define USART_CTL_CC_SHIFT (8U)
35135/*! CC - Continuous Clock generation. By default, SCLK is only output while data is being transmitted in synchronous mode.
35136 * 0b0..Clock on character. In synchronous mode, SCLK cycles only when characters are being sent on Un_TXD or to
35137 * complete a character that is being received.
35138 * 0b1..Continuous clock. SCLK runs continuously in synchronous mode, allowing characters to be received on
35139 * Un_RxD independently from transmission on Un_TXD).
35140 */
35141#define USART_CTL_CC(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_CC_SHIFT)) & USART_CTL_CC_MASK)
35142#define USART_CTL_CLRCCONRX_MASK (0x200U)
35143#define USART_CTL_CLRCCONRX_SHIFT (9U)
35144/*! CLRCCONRX - Clear Continuous Clock.
35145 * 0b0..No effect. No effect on the CC bit.
35146 * 0b1..Auto-clear. The CC bit is automatically cleared when a complete character has been received. This bit is cleared at the same time.
35147 */
35148#define USART_CTL_CLRCCONRX(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_CLRCCONRX_SHIFT)) & USART_CTL_CLRCCONRX_MASK)
35149#define USART_CTL_AUTOBAUD_MASK (0x10000U)
35150#define USART_CTL_AUTOBAUD_SHIFT (16U)
35151/*! AUTOBAUD - Autobaud enable.
35152 * 0b0..Disabled. USART is in normal operating mode.
35153 * 0b1..Enabled. USART is in autobaud mode. This bit should only be set when the USART receiver is idle. The
35154 * first start bit of RX is measured and used the update the BRG register to match the received data rate.
35155 * AUTOBAUD is cleared once this process is complete, or if there is an AERR.
35156 */
35157#define USART_CTL_AUTOBAUD(x) (((uint32_t)(((uint32_t)(x)) << USART_CTL_AUTOBAUD_SHIFT)) & USART_CTL_AUTOBAUD_MASK)
35158/*! @} */
35159
35160/*! @name STAT - USART Status register. The complete status value can be read here. Writing ones clears some bits in the register. Some bits can be cleared by writing a 1 to them. */
35161/*! @{ */
35162#define USART_STAT_RXIDLE_MASK (0x2U)
35163#define USART_STAT_RXIDLE_SHIFT (1U)
35164/*! RXIDLE - Receiver Idle. When 0, indicates that the receiver is currently in the process of
35165 * receiving data. When 1, indicates that the receiver is not currently in the process of receiving
35166 * data.
35167 */
35168#define USART_STAT_RXIDLE(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_RXIDLE_SHIFT)) & USART_STAT_RXIDLE_MASK)
35169#define USART_STAT_TXIDLE_MASK (0x8U)
35170#define USART_STAT_TXIDLE_SHIFT (3U)
35171/*! TXIDLE - Transmitter Idle. When 0, indicates that the transmitter is currently in the process of
35172 * sending data.When 1, indicate that the transmitter is not currently in the process of sending
35173 * data.
35174 */
35175#define USART_STAT_TXIDLE(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_TXIDLE_SHIFT)) & USART_STAT_TXIDLE_MASK)
35176#define USART_STAT_CTS_MASK (0x10U)
35177#define USART_STAT_CTS_SHIFT (4U)
35178/*! CTS - This bit reflects the current state of the CTS signal, regardless of the setting of the
35179 * CTSEN bit in the CFG register. This will be the value of the CTS input pin unless loopback mode
35180 * is enabled.
35181 */
35182#define USART_STAT_CTS(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_CTS_SHIFT)) & USART_STAT_CTS_MASK)
35183#define USART_STAT_DELTACTS_MASK (0x20U)
35184#define USART_STAT_DELTACTS_SHIFT (5U)
35185/*! DELTACTS - This bit is set when a change in the state is detected for the CTS flag above. This bit is cleared by software.
35186 */
35187#define USART_STAT_DELTACTS(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_DELTACTS_SHIFT)) & USART_STAT_DELTACTS_MASK)
35188#define USART_STAT_TXDISSTAT_MASK (0x40U)
35189#define USART_STAT_TXDISSTAT_SHIFT (6U)
35190/*! TXDISSTAT - Transmitter Disabled Status flag. When 1, this bit indicates that the USART
35191 * transmitter is fully idle after being disabled via the TXDIS bit in the CFG register (TXDIS = 1).
35192 */
35193#define USART_STAT_TXDISSTAT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_TXDISSTAT_SHIFT)) & USART_STAT_TXDISSTAT_MASK)
35194#define USART_STAT_RXBRK_MASK (0x400U)
35195#define USART_STAT_RXBRK_SHIFT (10U)
35196/*! RXBRK - Received Break. This bit reflects the current state of the receiver break detection
35197 * logic. It is set when the Un_RXD pin remains low for 16 bit times. Note that FRAMERRINT will also
35198 * be set when this condition occurs because the stop bit(s) for the character would be missing.
35199 * RXBRK is cleared when the Un_RXD pin goes high.
35200 */
35201#define USART_STAT_RXBRK(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_RXBRK_SHIFT)) & USART_STAT_RXBRK_MASK)
35202#define USART_STAT_DELTARXBRK_MASK (0x800U)
35203#define USART_STAT_DELTARXBRK_SHIFT (11U)
35204/*! DELTARXBRK - This bit is set when a change in the state of receiver break detection occurs. Cleared by software.
35205 */
35206#define USART_STAT_DELTARXBRK(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_DELTARXBRK_SHIFT)) & USART_STAT_DELTARXBRK_MASK)
35207#define USART_STAT_START_MASK (0x1000U)
35208#define USART_STAT_START_SHIFT (12U)
35209/*! START - This bit is set when a start is detected on the receiver input. Its purpose is primarily
35210 * to allow wake-up from Deep-sleep or Power-down mode immediately when a start is detected.
35211 * Cleared by software.
35212 */
35213#define USART_STAT_START(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_START_SHIFT)) & USART_STAT_START_MASK)
35214#define USART_STAT_FRAMERRINT_MASK (0x2000U)
35215#define USART_STAT_FRAMERRINT_SHIFT (13U)
35216/*! FRAMERRINT - Framing Error interrupt flag. This flag is set when a character is received with a
35217 * missing stop bit at the expected location. This could be an indication of a baud rate or
35218 * configuration mismatch with the transmitting source.
35219 */
35220#define USART_STAT_FRAMERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_FRAMERRINT_SHIFT)) & USART_STAT_FRAMERRINT_MASK)
35221#define USART_STAT_PARITYERRINT_MASK (0x4000U)
35222#define USART_STAT_PARITYERRINT_SHIFT (14U)
35223/*! PARITYERRINT - Parity Error interrupt flag. This flag is set when a parity error is detected in a received character.
35224 */
35225#define USART_STAT_PARITYERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_PARITYERRINT_SHIFT)) & USART_STAT_PARITYERRINT_MASK)
35226#define USART_STAT_RXNOISEINT_MASK (0x8000U)
35227#define USART_STAT_RXNOISEINT_SHIFT (15U)
35228/*! RXNOISEINT - Received Noise interrupt flag. Three samples of received data are taken in order to
35229 * determine the value of each received data bit, except in synchronous mode. This acts as a
35230 * noise filter if one sample disagrees. This flag is set when a received data bit contains one
35231 * disagreeing sample. This could indicate line noise, a baud rate or character format mismatch, or
35232 * loss of synchronization during data reception.
35233 */
35234#define USART_STAT_RXNOISEINT(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_RXNOISEINT_SHIFT)) & USART_STAT_RXNOISEINT_MASK)
35235#define USART_STAT_ABERR_MASK (0x10000U)
35236#define USART_STAT_ABERR_SHIFT (16U)
35237/*! ABERR - Auto baud Error. An auto baud error can occur if the BRG counts to its limit before the
35238 * end of the start bit that is being measured, essentially an auto baud time-out.
35239 */
35240#define USART_STAT_ABERR(x) (((uint32_t)(((uint32_t)(x)) << USART_STAT_ABERR_SHIFT)) & USART_STAT_ABERR_MASK)
35241/*! @} */
35242
35243/*! @name INTENSET - Interrupt Enable read and Set register for USART (not FIFO) status. Contains individual interrupt enable bits for each potential USART interrupt. A complete value may be read from this register. Writing a 1 to any implemented bit position causes that bit to be set. */
35244/*! @{ */
35245#define USART_INTENSET_TXIDLEEN_MASK (0x8U)
35246#define USART_INTENSET_TXIDLEEN_SHIFT (3U)
35247/*! TXIDLEEN - When 1, enables an interrupt when the transmitter becomes idle (TXIDLE = 1).
35248 */
35249#define USART_INTENSET_TXIDLEEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_TXIDLEEN_SHIFT)) & USART_INTENSET_TXIDLEEN_MASK)
35250#define USART_INTENSET_DELTACTSEN_MASK (0x20U)
35251#define USART_INTENSET_DELTACTSEN_SHIFT (5U)
35252/*! DELTACTSEN - When 1, enables an interrupt when there is a change in the state of the CTS input.
35253 */
35254#define USART_INTENSET_DELTACTSEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_DELTACTSEN_SHIFT)) & USART_INTENSET_DELTACTSEN_MASK)
35255#define USART_INTENSET_TXDISEN_MASK (0x40U)
35256#define USART_INTENSET_TXDISEN_SHIFT (6U)
35257/*! TXDISEN - When 1, enables an interrupt when the transmitter is fully disabled as indicated by
35258 * the TXDISINT flag in STAT. See description of the TXDISINT bit for details.
35259 */
35260#define USART_INTENSET_TXDISEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_TXDISEN_SHIFT)) & USART_INTENSET_TXDISEN_MASK)
35261#define USART_INTENSET_DELTARXBRKEN_MASK (0x800U)
35262#define USART_INTENSET_DELTARXBRKEN_SHIFT (11U)
35263/*! DELTARXBRKEN - When 1, enables an interrupt when a change of state has occurred in the detection
35264 * of a received break condition (break condition asserted or deasserted).
35265 */
35266#define USART_INTENSET_DELTARXBRKEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_DELTARXBRKEN_SHIFT)) & USART_INTENSET_DELTARXBRKEN_MASK)
35267#define USART_INTENSET_STARTEN_MASK (0x1000U)
35268#define USART_INTENSET_STARTEN_SHIFT (12U)
35269/*! STARTEN - When 1, enables an interrupt when a received start bit has been detected.
35270 */
35271#define USART_INTENSET_STARTEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_STARTEN_SHIFT)) & USART_INTENSET_STARTEN_MASK)
35272#define USART_INTENSET_FRAMERREN_MASK (0x2000U)
35273#define USART_INTENSET_FRAMERREN_SHIFT (13U)
35274/*! FRAMERREN - When 1, enables an interrupt when a framing error has been detected.
35275 */
35276#define USART_INTENSET_FRAMERREN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_FRAMERREN_SHIFT)) & USART_INTENSET_FRAMERREN_MASK)
35277#define USART_INTENSET_PARITYERREN_MASK (0x4000U)
35278#define USART_INTENSET_PARITYERREN_SHIFT (14U)
35279/*! PARITYERREN - When 1, enables an interrupt when a parity error has been detected.
35280 */
35281#define USART_INTENSET_PARITYERREN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_PARITYERREN_SHIFT)) & USART_INTENSET_PARITYERREN_MASK)
35282#define USART_INTENSET_RXNOISEEN_MASK (0x8000U)
35283#define USART_INTENSET_RXNOISEEN_SHIFT (15U)
35284/*! RXNOISEEN - When 1, enables an interrupt when noise is detected. See description of the RXNOISEINT bit in Table 354.
35285 */
35286#define USART_INTENSET_RXNOISEEN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_RXNOISEEN_SHIFT)) & USART_INTENSET_RXNOISEEN_MASK)
35287#define USART_INTENSET_ABERREN_MASK (0x10000U)
35288#define USART_INTENSET_ABERREN_SHIFT (16U)
35289/*! ABERREN - When 1, enables an interrupt when an auto baud error occurs.
35290 */
35291#define USART_INTENSET_ABERREN(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENSET_ABERREN_SHIFT)) & USART_INTENSET_ABERREN_MASK)
35292/*! @} */
35293
35294/*! @name INTENCLR - Interrupt Enable Clear register. Allows clearing any combination of bits in the INTENSET register. Writing a 1 to any implemented bit position causes the corresponding bit to be cleared. */
35295/*! @{ */
35296#define USART_INTENCLR_TXIDLECLR_MASK (0x8U)
35297#define USART_INTENCLR_TXIDLECLR_SHIFT (3U)
35298/*! TXIDLECLR - Writing 1 clears the corresponding bit in the INTENSET register.
35299 */
35300#define USART_INTENCLR_TXIDLECLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_TXIDLECLR_SHIFT)) & USART_INTENCLR_TXIDLECLR_MASK)
35301#define USART_INTENCLR_DELTACTSCLR_MASK (0x20U)
35302#define USART_INTENCLR_DELTACTSCLR_SHIFT (5U)
35303/*! DELTACTSCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35304 */
35305#define USART_INTENCLR_DELTACTSCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_DELTACTSCLR_SHIFT)) & USART_INTENCLR_DELTACTSCLR_MASK)
35306#define USART_INTENCLR_TXDISCLR_MASK (0x40U)
35307#define USART_INTENCLR_TXDISCLR_SHIFT (6U)
35308/*! TXDISCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35309 */
35310#define USART_INTENCLR_TXDISCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_TXDISCLR_SHIFT)) & USART_INTENCLR_TXDISCLR_MASK)
35311#define USART_INTENCLR_DELTARXBRKCLR_MASK (0x800U)
35312#define USART_INTENCLR_DELTARXBRKCLR_SHIFT (11U)
35313/*! DELTARXBRKCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35314 */
35315#define USART_INTENCLR_DELTARXBRKCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_DELTARXBRKCLR_SHIFT)) & USART_INTENCLR_DELTARXBRKCLR_MASK)
35316#define USART_INTENCLR_STARTCLR_MASK (0x1000U)
35317#define USART_INTENCLR_STARTCLR_SHIFT (12U)
35318/*! STARTCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35319 */
35320#define USART_INTENCLR_STARTCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_STARTCLR_SHIFT)) & USART_INTENCLR_STARTCLR_MASK)
35321#define USART_INTENCLR_FRAMERRCLR_MASK (0x2000U)
35322#define USART_INTENCLR_FRAMERRCLR_SHIFT (13U)
35323/*! FRAMERRCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35324 */
35325#define USART_INTENCLR_FRAMERRCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_FRAMERRCLR_SHIFT)) & USART_INTENCLR_FRAMERRCLR_MASK)
35326#define USART_INTENCLR_PARITYERRCLR_MASK (0x4000U)
35327#define USART_INTENCLR_PARITYERRCLR_SHIFT (14U)
35328/*! PARITYERRCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35329 */
35330#define USART_INTENCLR_PARITYERRCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_PARITYERRCLR_SHIFT)) & USART_INTENCLR_PARITYERRCLR_MASK)
35331#define USART_INTENCLR_RXNOISECLR_MASK (0x8000U)
35332#define USART_INTENCLR_RXNOISECLR_SHIFT (15U)
35333/*! RXNOISECLR - Writing 1 clears the corresponding bit in the INTENSET register.
35334 */
35335#define USART_INTENCLR_RXNOISECLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_RXNOISECLR_SHIFT)) & USART_INTENCLR_RXNOISECLR_MASK)
35336#define USART_INTENCLR_ABERRCLR_MASK (0x10000U)
35337#define USART_INTENCLR_ABERRCLR_SHIFT (16U)
35338/*! ABERRCLR - Writing 1 clears the corresponding bit in the INTENSET register.
35339 */
35340#define USART_INTENCLR_ABERRCLR(x) (((uint32_t)(((uint32_t)(x)) << USART_INTENCLR_ABERRCLR_SHIFT)) & USART_INTENCLR_ABERRCLR_MASK)
35341/*! @} */
35342
35343/*! @name BRG - Baud Rate Generator register. 16-bit integer baud rate divisor value. */
35344/*! @{ */
35345#define USART_BRG_BRGVAL_MASK (0xFFFFU)
35346#define USART_BRG_BRGVAL_SHIFT (0U)
35347/*! BRGVAL - This value is used to divide the USART input clock to determine the baud rate, based on
35348 * the input clock from the FRG. 0 = FCLK is used directly by the USART function. 1 = FCLK is
35349 * divided by 2 before use by the USART function. 2 = FCLK is divided by 3 before use by the USART
35350 * function. 0xFFFF = FCLK is divided by 65,536 before use by the USART function.
35351 */
35352#define USART_BRG_BRGVAL(x) (((uint32_t)(((uint32_t)(x)) << USART_BRG_BRGVAL_SHIFT)) & USART_BRG_BRGVAL_MASK)
35353/*! @} */
35354
35355/*! @name INTSTAT - Interrupt status register. Reflects interrupts that are currently enabled. */
35356/*! @{ */
35357#define USART_INTSTAT_TXIDLE_MASK (0x8U)
35358#define USART_INTSTAT_TXIDLE_SHIFT (3U)
35359/*! TXIDLE - Transmitter Idle status.
35360 */
35361#define USART_INTSTAT_TXIDLE(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_TXIDLE_SHIFT)) & USART_INTSTAT_TXIDLE_MASK)
35362#define USART_INTSTAT_DELTACTS_MASK (0x20U)
35363#define USART_INTSTAT_DELTACTS_SHIFT (5U)
35364/*! DELTACTS - This bit is set when a change in the state of the CTS input is detected.
35365 */
35366#define USART_INTSTAT_DELTACTS(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_DELTACTS_SHIFT)) & USART_INTSTAT_DELTACTS_MASK)
35367#define USART_INTSTAT_TXDISINT_MASK (0x40U)
35368#define USART_INTSTAT_TXDISINT_SHIFT (6U)
35369/*! TXDISINT - Transmitter Disabled Interrupt flag.
35370 */
35371#define USART_INTSTAT_TXDISINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_TXDISINT_SHIFT)) & USART_INTSTAT_TXDISINT_MASK)
35372#define USART_INTSTAT_DELTARXBRK_MASK (0x800U)
35373#define USART_INTSTAT_DELTARXBRK_SHIFT (11U)
35374/*! DELTARXBRK - This bit is set when a change in the state of receiver break detection occurs.
35375 */
35376#define USART_INTSTAT_DELTARXBRK(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_DELTARXBRK_SHIFT)) & USART_INTSTAT_DELTARXBRK_MASK)
35377#define USART_INTSTAT_START_MASK (0x1000U)
35378#define USART_INTSTAT_START_SHIFT (12U)
35379/*! START - This bit is set when a start is detected on the receiver input.
35380 */
35381#define USART_INTSTAT_START(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_START_SHIFT)) & USART_INTSTAT_START_MASK)
35382#define USART_INTSTAT_FRAMERRINT_MASK (0x2000U)
35383#define USART_INTSTAT_FRAMERRINT_SHIFT (13U)
35384/*! FRAMERRINT - Framing Error interrupt flag.
35385 */
35386#define USART_INTSTAT_FRAMERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_FRAMERRINT_SHIFT)) & USART_INTSTAT_FRAMERRINT_MASK)
35387#define USART_INTSTAT_PARITYERRINT_MASK (0x4000U)
35388#define USART_INTSTAT_PARITYERRINT_SHIFT (14U)
35389/*! PARITYERRINT - Parity Error interrupt flag.
35390 */
35391#define USART_INTSTAT_PARITYERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_PARITYERRINT_SHIFT)) & USART_INTSTAT_PARITYERRINT_MASK)
35392#define USART_INTSTAT_RXNOISEINT_MASK (0x8000U)
35393#define USART_INTSTAT_RXNOISEINT_SHIFT (15U)
35394/*! RXNOISEINT - Received Noise interrupt flag.
35395 */
35396#define USART_INTSTAT_RXNOISEINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_RXNOISEINT_SHIFT)) & USART_INTSTAT_RXNOISEINT_MASK)
35397#define USART_INTSTAT_ABERRINT_MASK (0x10000U)
35398#define USART_INTSTAT_ABERRINT_SHIFT (16U)
35399/*! ABERRINT - Auto baud Error Interrupt flag.
35400 */
35401#define USART_INTSTAT_ABERRINT(x) (((uint32_t)(((uint32_t)(x)) << USART_INTSTAT_ABERRINT_SHIFT)) & USART_INTSTAT_ABERRINT_MASK)
35402/*! @} */
35403
35404/*! @name OSR - Oversample selection register for asynchronous communication. */
35405/*! @{ */
35406#define USART_OSR_OSRVAL_MASK (0xFU)
35407#define USART_OSR_OSRVAL_SHIFT (0U)
35408/*! OSRVAL - Oversample Selection Value. 0 to 3 = not supported 0x4 = 5 function clocks are used to
35409 * transmit and receive each data bit. 0x5 = 6 function clocks are used to transmit and receive
35410 * each data bit. 0xF= 16 function clocks are used to transmit and receive each data bit.
35411 */
35412#define USART_OSR_OSRVAL(x) (((uint32_t)(((uint32_t)(x)) << USART_OSR_OSRVAL_SHIFT)) & USART_OSR_OSRVAL_MASK)
35413/*! @} */
35414
35415/*! @name ADDR - Address register for automatic address matching. */
35416/*! @{ */
35417#define USART_ADDR_ADDRESS_MASK (0xFFU)
35418#define USART_ADDR_ADDRESS_SHIFT (0U)
35419/*! ADDRESS - 8-bit address used with automatic address matching. Used when address detection is
35420 * enabled (ADDRDET in CTL = 1) and automatic address matching is enabled (AUTOADDR in CFG = 1).
35421 */
35422#define USART_ADDR_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << USART_ADDR_ADDRESS_SHIFT)) & USART_ADDR_ADDRESS_MASK)
35423/*! @} */
35424
35425/*! @name FIFOCFG - FIFO configuration and enable register. */
35426/*! @{ */
35427#define USART_FIFOCFG_ENABLETX_MASK (0x1U)
35428#define USART_FIFOCFG_ENABLETX_SHIFT (0U)
35429/*! ENABLETX - Enable the transmit FIFO.
35430 * 0b0..The transmit FIFO is not enabled.
35431 * 0b1..The transmit FIFO is enabled.
35432 */
35433#define USART_FIFOCFG_ENABLETX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_ENABLETX_SHIFT)) & USART_FIFOCFG_ENABLETX_MASK)
35434#define USART_FIFOCFG_ENABLERX_MASK (0x2U)
35435#define USART_FIFOCFG_ENABLERX_SHIFT (1U)
35436/*! ENABLERX - Enable the receive FIFO.
35437 * 0b0..The receive FIFO is not enabled.
35438 * 0b1..The receive FIFO is enabled.
35439 */
35440#define USART_FIFOCFG_ENABLERX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_ENABLERX_SHIFT)) & USART_FIFOCFG_ENABLERX_MASK)
35441#define USART_FIFOCFG_SIZE_MASK (0x30U)
35442#define USART_FIFOCFG_SIZE_SHIFT (4U)
35443/*! SIZE - FIFO size configuration. This is a read-only field. 0x0 = FIFO is configured as 16
35444 * entries of 8 bits. 0x1, 0x2, 0x3 = not applicable to USART.
35445 */
35446#define USART_FIFOCFG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_SIZE_SHIFT)) & USART_FIFOCFG_SIZE_MASK)
35447#define USART_FIFOCFG_DMATX_MASK (0x1000U)
35448#define USART_FIFOCFG_DMATX_SHIFT (12U)
35449/*! DMATX - DMA configuration for transmit.
35450 * 0b0..DMA is not used for the transmit function.
35451 * 0b1..Trigger DMA for the transmit function if the FIFO is not full. Generally, data interrupts would be disabled if DMA is enabled.
35452 */
35453#define USART_FIFOCFG_DMATX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_DMATX_SHIFT)) & USART_FIFOCFG_DMATX_MASK)
35454#define USART_FIFOCFG_DMARX_MASK (0x2000U)
35455#define USART_FIFOCFG_DMARX_SHIFT (13U)
35456/*! DMARX - DMA configuration for receive.
35457 * 0b0..DMA is not used for the receive function.
35458 * 0b1..Trigger DMA for the receive function if the FIFO is not empty. Generally, data interrupts would be disabled if DMA is enabled.
35459 */
35460#define USART_FIFOCFG_DMARX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_DMARX_SHIFT)) & USART_FIFOCFG_DMARX_MASK)
35461#define USART_FIFOCFG_WAKETX_MASK (0x4000U)
35462#define USART_FIFOCFG_WAKETX_SHIFT (14U)
35463/*! WAKETX - Wake-up for transmit FIFO level. This allows the device to be woken from reduced power
35464 * modes (up to power-down, as long as the peripheral function works in that power mode) without
35465 * enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The
35466 * CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware
35467 * Wake-up control register.
35468 * 0b0..Only enabled interrupts will wake up the device form reduced power modes.
35469 * 0b1..A device wake-up for DMA will occur if the transmit FIFO level reaches the value specified by TXLVL in
35470 * FIFOTRIG, even when the TXLVL interrupt is not enabled.
35471 */
35472#define USART_FIFOCFG_WAKETX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_WAKETX_SHIFT)) & USART_FIFOCFG_WAKETX_MASK)
35473#define USART_FIFOCFG_WAKERX_MASK (0x8000U)
35474#define USART_FIFOCFG_WAKERX_SHIFT (15U)
35475/*! WAKERX - Wake-up for receive FIFO level. This allows the device to be woken from reduced power
35476 * modes (up to power-down, as long as the peripheral function works in that power mode) without
35477 * enabling the TXLVL interrupt. Only DMA wakes up, processes data, and goes back to sleep. The
35478 * CPU will remain stopped until woken by another cause, such as DMA completion. See Hardware
35479 * Wake-up control register.
35480 * 0b0..Only enabled interrupts will wake up the device form reduced power modes.
35481 * 0b1..A device wake-up for DMA will occur if the receive FIFO level reaches the value specified by RXLVL in
35482 * FIFOTRIG, even when the RXLVL interrupt is not enabled.
35483 */
35484#define USART_FIFOCFG_WAKERX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_WAKERX_SHIFT)) & USART_FIFOCFG_WAKERX_MASK)
35485#define USART_FIFOCFG_EMPTYTX_MASK (0x10000U)
35486#define USART_FIFOCFG_EMPTYTX_SHIFT (16U)
35487/*! EMPTYTX - Empty command for the transmit FIFO. When a 1 is written to this bit, the TX FIFO is emptied.
35488 */
35489#define USART_FIFOCFG_EMPTYTX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_EMPTYTX_SHIFT)) & USART_FIFOCFG_EMPTYTX_MASK)
35490#define USART_FIFOCFG_EMPTYRX_MASK (0x20000U)
35491#define USART_FIFOCFG_EMPTYRX_SHIFT (17U)
35492/*! EMPTYRX - Empty command for the receive FIFO. When a 1 is written to this bit, the RX FIFO is emptied.
35493 */
35494#define USART_FIFOCFG_EMPTYRX(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOCFG_EMPTYRX_SHIFT)) & USART_FIFOCFG_EMPTYRX_MASK)
35495/*! @} */
35496
35497/*! @name FIFOSTAT - FIFO status register. */
35498/*! @{ */
35499#define USART_FIFOSTAT_TXERR_MASK (0x1U)
35500#define USART_FIFOSTAT_TXERR_SHIFT (0U)
35501/*! TXERR - TX FIFO error. Will be set if a transmit FIFO error occurs. This could be an overflow
35502 * caused by pushing data into a full FIFO, or by an underflow if the FIFO is empty when data is
35503 * needed. Cleared by writing a 1 to this bit.
35504 */
35505#define USART_FIFOSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXERR_SHIFT)) & USART_FIFOSTAT_TXERR_MASK)
35506#define USART_FIFOSTAT_RXERR_MASK (0x2U)
35507#define USART_FIFOSTAT_RXERR_SHIFT (1U)
35508/*! RXERR - RX FIFO error. Will be set if a receive FIFO overflow occurs, caused by software or DMA
35509 * not emptying the FIFO fast enough. Cleared by writing a 1 to this bit.
35510 */
35511#define USART_FIFOSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXERR_SHIFT)) & USART_FIFOSTAT_RXERR_MASK)
35512#define USART_FIFOSTAT_PERINT_MASK (0x8U)
35513#define USART_FIFOSTAT_PERINT_SHIFT (3U)
35514/*! PERINT - Peripheral interrupt. When 1, this indicates that the peripheral function has asserted
35515 * an interrupt. The details can be found by reading the peripheral's STAT register.
35516 */
35517#define USART_FIFOSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_PERINT_SHIFT)) & USART_FIFOSTAT_PERINT_MASK)
35518#define USART_FIFOSTAT_TXEMPTY_MASK (0x10U)
35519#define USART_FIFOSTAT_TXEMPTY_SHIFT (4U)
35520/*! TXEMPTY - Transmit FIFO empty. When 1, the transmit FIFO is empty. The peripheral may still be processing the last piece of data.
35521 */
35522#define USART_FIFOSTAT_TXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXEMPTY_SHIFT)) & USART_FIFOSTAT_TXEMPTY_MASK)
35523#define USART_FIFOSTAT_TXNOTFULL_MASK (0x20U)
35524#define USART_FIFOSTAT_TXNOTFULL_SHIFT (5U)
35525/*! TXNOTFULL - Transmit FIFO not full. When 1, the transmit FIFO is not full, so more data can be
35526 * written. When 0, the transmit FIFO is full and another write would cause it to overflow.
35527 */
35528#define USART_FIFOSTAT_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXNOTFULL_SHIFT)) & USART_FIFOSTAT_TXNOTFULL_MASK)
35529#define USART_FIFOSTAT_RXNOTEMPTY_MASK (0x40U)
35530#define USART_FIFOSTAT_RXNOTEMPTY_SHIFT (6U)
35531/*! RXNOTEMPTY - Receive FIFO not empty. When 1, the receive FIFO is not empty, so data can be read. When 0, the receive FIFO is empty.
35532 */
35533#define USART_FIFOSTAT_RXNOTEMPTY(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXNOTEMPTY_SHIFT)) & USART_FIFOSTAT_RXNOTEMPTY_MASK)
35534#define USART_FIFOSTAT_RXFULL_MASK (0x80U)
35535#define USART_FIFOSTAT_RXFULL_SHIFT (7U)
35536/*! RXFULL - Receive FIFO full. When 1, the receive FIFO is full. Data needs to be read out to
35537 * prevent the peripheral from causing an overflow.
35538 */
35539#define USART_FIFOSTAT_RXFULL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXFULL_SHIFT)) & USART_FIFOSTAT_RXFULL_MASK)
35540#define USART_FIFOSTAT_TXLVL_MASK (0x1F00U)
35541#define USART_FIFOSTAT_TXLVL_SHIFT (8U)
35542/*! TXLVL - Transmit FIFO current level. A 0 means the TX FIFO is currently empty, and the TXEMPTY
35543 * and TXNOTFULL flags will be 1. Other values tell how much data is actually in the TX FIFO at
35544 * the point where the read occurs. If the TX FIFO is full, the TXEMPTY and TXNOTFULL flags will be
35545 * 0.
35546 */
35547#define USART_FIFOSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_TXLVL_SHIFT)) & USART_FIFOSTAT_TXLVL_MASK)
35548#define USART_FIFOSTAT_RXLVL_MASK (0x1F0000U)
35549#define USART_FIFOSTAT_RXLVL_SHIFT (16U)
35550/*! RXLVL - Receive FIFO current level. A 0 means the RX FIFO is currently empty, and the RXFULL and
35551 * RXNOTEMPTY flags will be 0. Other values tell how much data is actually in the RX FIFO at the
35552 * point where the read occurs. If the RX FIFO is full, the RXFULL and RXNOTEMPTY flags will be
35553 * 1.
35554 */
35555#define USART_FIFOSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSTAT_RXLVL_SHIFT)) & USART_FIFOSTAT_RXLVL_MASK)
35556/*! @} */
35557
35558/*! @name FIFOTRIG - FIFO trigger settings for interrupt and DMA request. */
35559/*! @{ */
35560#define USART_FIFOTRIG_TXLVLENA_MASK (0x1U)
35561#define USART_FIFOTRIG_TXLVLENA_SHIFT (0U)
35562/*! TXLVLENA - Transmit FIFO level trigger enable. This trigger will become an interrupt if enabled
35563 * in FIFOINTENSET, or a DMA trigger if DMATX in FIFOCFG is set.
35564 * 0b0..Transmit FIFO level does not generate a FIFO level trigger.
35565 * 0b1..An trigger will be generated if the transmit FIFO level reaches the value specified by the TXLVL field in this register.
35566 */
35567#define USART_FIFOTRIG_TXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_TXLVLENA_SHIFT)) & USART_FIFOTRIG_TXLVLENA_MASK)
35568#define USART_FIFOTRIG_RXLVLENA_MASK (0x2U)
35569#define USART_FIFOTRIG_RXLVLENA_SHIFT (1U)
35570/*! RXLVLENA - Receive FIFO level trigger enable. This trigger will become an interrupt if enabled
35571 * in FIFOINTENSET, or a DMA trigger if DMARX in FIFOCFG is set.
35572 * 0b0..Receive FIFO level does not generate a FIFO level trigger.
35573 * 0b1..An trigger will be generated if the receive FIFO level reaches the value specified by the RXLVL field in this register.
35574 */
35575#define USART_FIFOTRIG_RXLVLENA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_RXLVLENA_SHIFT)) & USART_FIFOTRIG_RXLVLENA_MASK)
35576#define USART_FIFOTRIG_TXLVL_MASK (0xF00U)
35577#define USART_FIFOTRIG_TXLVL_SHIFT (8U)
35578/*! TXLVL - Transmit FIFO level trigger point. This field is used only when TXLVLENA = 1. If enabled
35579 * to do so, the FIFO level can wake up the device just enough to perform DMA, then return to
35580 * the reduced power mode. See Hardware Wake-up control register. 0 = trigger when the TX FIFO
35581 * becomes empty. 1 = trigger when the TX FIFO level decreases to one entry. 15 = trigger when the TX
35582 * FIFO level decreases to 15 entries (is no longer full).
35583 */
35584#define USART_FIFOTRIG_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_TXLVL_SHIFT)) & USART_FIFOTRIG_TXLVL_MASK)
35585#define USART_FIFOTRIG_RXLVL_MASK (0xF0000U)
35586#define USART_FIFOTRIG_RXLVL_SHIFT (16U)
35587/*! RXLVL - Receive FIFO level trigger point. The RX FIFO level is checked when a new piece of data
35588 * is received. This field is used only when RXLVLENA = 1. If enabled to do so, the FIFO level
35589 * can wake up the device just enough to perform DMA, then return to the reduced power mode. See
35590 * Hardware Wake-up control register. 0 = trigger when the RX FIFO has received one entry (is no
35591 * longer empty). 1 = trigger when the RX FIFO has received two entries. 15 = trigger when the RX
35592 * FIFO has received 16 entries (has become full).
35593 */
35594#define USART_FIFOTRIG_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOTRIG_RXLVL_SHIFT)) & USART_FIFOTRIG_RXLVL_MASK)
35595/*! @} */
35596
35597/*! @name FIFOINTENSET - FIFO interrupt enable set (enable) and read register. */
35598/*! @{ */
35599#define USART_FIFOINTENSET_TXERR_MASK (0x1U)
35600#define USART_FIFOINTENSET_TXERR_SHIFT (0U)
35601/*! TXERR - Determines whether an interrupt occurs when a transmit error occurs, based on the TXERR flag in the FIFOSTAT register.
35602 * 0b0..No interrupt will be generated for a transmit error.
35603 * 0b1..An interrupt will be generated when a transmit error occurs.
35604 */
35605#define USART_FIFOINTENSET_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_TXERR_SHIFT)) & USART_FIFOINTENSET_TXERR_MASK)
35606#define USART_FIFOINTENSET_RXERR_MASK (0x2U)
35607#define USART_FIFOINTENSET_RXERR_SHIFT (1U)
35608/*! RXERR - Determines whether an interrupt occurs when a receive error occurs, based on the RXERR flag in the FIFOSTAT register.
35609 * 0b0..No interrupt will be generated for a receive error.
35610 * 0b1..An interrupt will be generated when a receive error occurs.
35611 */
35612#define USART_FIFOINTENSET_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_RXERR_SHIFT)) & USART_FIFOINTENSET_RXERR_MASK)
35613#define USART_FIFOINTENSET_TXLVL_MASK (0x4U)
35614#define USART_FIFOINTENSET_TXLVL_SHIFT (2U)
35615/*! TXLVL - Determines whether an interrupt occurs when a the transmit FIFO reaches the level
35616 * specified by the TXLVL field in the FIFOTRIG register.
35617 * 0b0..No interrupt will be generated based on the TX FIFO level.
35618 * 0b1..If TXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the TX FIFO level decreases
35619 * to the level specified by TXLVL in the FIFOTRIG register.
35620 */
35621#define USART_FIFOINTENSET_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_TXLVL_SHIFT)) & USART_FIFOINTENSET_TXLVL_MASK)
35622#define USART_FIFOINTENSET_RXLVL_MASK (0x8U)
35623#define USART_FIFOINTENSET_RXLVL_SHIFT (3U)
35624/*! RXLVL - Determines whether an interrupt occurs when a the receive FIFO reaches the level
35625 * specified by the TXLVL field in the FIFOTRIG register.
35626 * 0b0..No interrupt will be generated based on the RX FIFO level.
35627 * 0b1..If RXLVLENA in the FIFOTRIG register = 1, an interrupt will be generated when the when the RX FIFO level
35628 * increases to the level specified by RXLVL in the FIFOTRIG register.
35629 */
35630#define USART_FIFOINTENSET_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENSET_RXLVL_SHIFT)) & USART_FIFOINTENSET_RXLVL_MASK)
35631/*! @} */
35632
35633/*! @name FIFOINTENCLR - FIFO interrupt enable clear (disable) and read register. */
35634/*! @{ */
35635#define USART_FIFOINTENCLR_TXERR_MASK (0x1U)
35636#define USART_FIFOINTENCLR_TXERR_SHIFT (0U)
35637/*! TXERR - Writing one clears the corresponding bits in the FIFOINTENSET register.
35638 */
35639#define USART_FIFOINTENCLR_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_TXERR_SHIFT)) & USART_FIFOINTENCLR_TXERR_MASK)
35640#define USART_FIFOINTENCLR_RXERR_MASK (0x2U)
35641#define USART_FIFOINTENCLR_RXERR_SHIFT (1U)
35642/*! RXERR - Writing one clears the corresponding bits in the FIFOINTENSET register.
35643 */
35644#define USART_FIFOINTENCLR_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_RXERR_SHIFT)) & USART_FIFOINTENCLR_RXERR_MASK)
35645#define USART_FIFOINTENCLR_TXLVL_MASK (0x4U)
35646#define USART_FIFOINTENCLR_TXLVL_SHIFT (2U)
35647/*! TXLVL - Writing one clears the corresponding bits in the FIFOINTENSET register.
35648 */
35649#define USART_FIFOINTENCLR_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_TXLVL_SHIFT)) & USART_FIFOINTENCLR_TXLVL_MASK)
35650#define USART_FIFOINTENCLR_RXLVL_MASK (0x8U)
35651#define USART_FIFOINTENCLR_RXLVL_SHIFT (3U)
35652/*! RXLVL - Writing one clears the corresponding bits in the FIFOINTENSET register.
35653 */
35654#define USART_FIFOINTENCLR_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTENCLR_RXLVL_SHIFT)) & USART_FIFOINTENCLR_RXLVL_MASK)
35655/*! @} */
35656
35657/*! @name FIFOINTSTAT - FIFO interrupt status register. */
35658/*! @{ */
35659#define USART_FIFOINTSTAT_TXERR_MASK (0x1U)
35660#define USART_FIFOINTSTAT_TXERR_SHIFT (0U)
35661/*! TXERR - TX FIFO error.
35662 */
35663#define USART_FIFOINTSTAT_TXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_TXERR_SHIFT)) & USART_FIFOINTSTAT_TXERR_MASK)
35664#define USART_FIFOINTSTAT_RXERR_MASK (0x2U)
35665#define USART_FIFOINTSTAT_RXERR_SHIFT (1U)
35666/*! RXERR - RX FIFO error.
35667 */
35668#define USART_FIFOINTSTAT_RXERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_RXERR_SHIFT)) & USART_FIFOINTSTAT_RXERR_MASK)
35669#define USART_FIFOINTSTAT_TXLVL_MASK (0x4U)
35670#define USART_FIFOINTSTAT_TXLVL_SHIFT (2U)
35671/*! TXLVL - Transmit FIFO level interrupt.
35672 */
35673#define USART_FIFOINTSTAT_TXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_TXLVL_SHIFT)) & USART_FIFOINTSTAT_TXLVL_MASK)
35674#define USART_FIFOINTSTAT_RXLVL_MASK (0x8U)
35675#define USART_FIFOINTSTAT_RXLVL_SHIFT (3U)
35676/*! RXLVL - Receive FIFO level interrupt.
35677 */
35678#define USART_FIFOINTSTAT_RXLVL(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_RXLVL_SHIFT)) & USART_FIFOINTSTAT_RXLVL_MASK)
35679#define USART_FIFOINTSTAT_PERINT_MASK (0x10U)
35680#define USART_FIFOINTSTAT_PERINT_SHIFT (4U)
35681/*! PERINT - Peripheral interrupt.
35682 */
35683#define USART_FIFOINTSTAT_PERINT(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOINTSTAT_PERINT_SHIFT)) & USART_FIFOINTSTAT_PERINT_MASK)
35684/*! @} */
35685
35686/*! @name FIFOWR - FIFO write data. */
35687/*! @{ */
35688#define USART_FIFOWR_TXDATA_MASK (0x1FFU)
35689#define USART_FIFOWR_TXDATA_SHIFT (0U)
35690/*! TXDATA - Transmit data to the FIFO.
35691 */
35692#define USART_FIFOWR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOWR_TXDATA_SHIFT)) & USART_FIFOWR_TXDATA_MASK)
35693/*! @} */
35694
35695/*! @name FIFORD - FIFO read data. */
35696/*! @{ */
35697#define USART_FIFORD_RXDATA_MASK (0x1FFU)
35698#define USART_FIFORD_RXDATA_SHIFT (0U)
35699/*! RXDATA - Received data from the FIFO. The number of bits used depends on the DATALEN and PARITYSEL settings.
35700 */
35701#define USART_FIFORD_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_RXDATA_SHIFT)) & USART_FIFORD_RXDATA_MASK)
35702#define USART_FIFORD_FRAMERR_MASK (0x2000U)
35703#define USART_FIFORD_FRAMERR_SHIFT (13U)
35704/*! FRAMERR - Framing Error status flag. This bit reflects the status for the data it is read along
35705 * with from the FIFO, and indicates that the character was received with a missing stop bit at
35706 * the expected location. This could be an indication of a baud rate or configuration mismatch
35707 * with the transmitting source.
35708 */
35709#define USART_FIFORD_FRAMERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_FRAMERR_SHIFT)) & USART_FIFORD_FRAMERR_MASK)
35710#define USART_FIFORD_PARITYERR_MASK (0x4000U)
35711#define USART_FIFORD_PARITYERR_SHIFT (14U)
35712/*! PARITYERR - Parity Error status flag. This bit reflects the status for the data it is read along
35713 * with from the FIFO. This bit will be set when a parity error is detected in a received
35714 * character.
35715 */
35716#define USART_FIFORD_PARITYERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_PARITYERR_SHIFT)) & USART_FIFORD_PARITYERR_MASK)
35717#define USART_FIFORD_RXNOISE_MASK (0x8000U)
35718#define USART_FIFORD_RXNOISE_SHIFT (15U)
35719/*! RXNOISE - Received Noise flag. See description of the RxNoiseInt bit in Table 354.
35720 */
35721#define USART_FIFORD_RXNOISE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORD_RXNOISE_SHIFT)) & USART_FIFORD_RXNOISE_MASK)
35722/*! @} */
35723
35724/*! @name FIFORDNOPOP - FIFO data read with no FIFO pop. */
35725/*! @{ */
35726#define USART_FIFORDNOPOP_RXDATA_MASK (0x1FFU)
35727#define USART_FIFORDNOPOP_RXDATA_SHIFT (0U)
35728/*! RXDATA - Received data from the FIFO. The number of bits used depends on the DATALEN and PARITYSEL settings.
35729 */
35730#define USART_FIFORDNOPOP_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_RXDATA_SHIFT)) & USART_FIFORDNOPOP_RXDATA_MASK)
35731#define USART_FIFORDNOPOP_FRAMERR_MASK (0x2000U)
35732#define USART_FIFORDNOPOP_FRAMERR_SHIFT (13U)
35733/*! FRAMERR - Framing Error status flag. This bit reflects the status for the data it is read along
35734 * with from the FIFO, and indicates that the character was received with a missing stop bit at
35735 * the expected location. This could be an indication of a baud rate or configuration mismatch
35736 * with the transmitting source.
35737 */
35738#define USART_FIFORDNOPOP_FRAMERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_FRAMERR_SHIFT)) & USART_FIFORDNOPOP_FRAMERR_MASK)
35739#define USART_FIFORDNOPOP_PARITYERR_MASK (0x4000U)
35740#define USART_FIFORDNOPOP_PARITYERR_SHIFT (14U)
35741/*! PARITYERR - Parity Error status flag. This bit reflects the status for the data it is read along
35742 * with from the FIFO. This bit will be set when a parity error is detected in a received
35743 * character.
35744 */
35745#define USART_FIFORDNOPOP_PARITYERR(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_PARITYERR_SHIFT)) & USART_FIFORDNOPOP_PARITYERR_MASK)
35746#define USART_FIFORDNOPOP_RXNOISE_MASK (0x8000U)
35747#define USART_FIFORDNOPOP_RXNOISE_SHIFT (15U)
35748/*! RXNOISE - Received Noise flag. See description of the RxNoiseInt bit in Table 354.
35749 */
35750#define USART_FIFORDNOPOP_RXNOISE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFORDNOPOP_RXNOISE_SHIFT)) & USART_FIFORDNOPOP_RXNOISE_MASK)
35751/*! @} */
35752
35753/*! @name FIFOSIZE - FIFO size register */
35754/*! @{ */
35755#define USART_FIFOSIZE_FIFOSIZE_MASK (0x1FU)
35756#define USART_FIFOSIZE_FIFOSIZE_SHIFT (0U)
35757/*! FIFOSIZE - the fifo size is equal to the template parameter "fifo".
35758 */
35759#define USART_FIFOSIZE_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << USART_FIFOSIZE_FIFOSIZE_SHIFT)) & USART_FIFOSIZE_FIFOSIZE_MASK)
35760/*! @} */
35761
35762/*! @name ID - Peripheral identification register. */
35763/*! @{ */
35764#define USART_ID_APERTURE_MASK (0xFFU)
35765#define USART_ID_APERTURE_SHIFT (0U)
35766/*! APERTURE - Aperture: encoded as (aperture size/4K) -1, so 0x00 means a 4K aperture.
35767 */
35768#define USART_ID_APERTURE(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_APERTURE_SHIFT)) & USART_ID_APERTURE_MASK)
35769#define USART_ID_MINOR_REV_MASK (0xF00U)
35770#define USART_ID_MINOR_REV_SHIFT (8U)
35771/*! MINOR_REV - Minor revision of module implementation.
35772 */
35773#define USART_ID_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_MINOR_REV_SHIFT)) & USART_ID_MINOR_REV_MASK)
35774#define USART_ID_MAJOR_REV_MASK (0xF000U)
35775#define USART_ID_MAJOR_REV_SHIFT (12U)
35776/*! MAJOR_REV - Major revision of module implementation.
35777 */
35778#define USART_ID_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_MAJOR_REV_SHIFT)) & USART_ID_MAJOR_REV_MASK)
35779#define USART_ID_ID_MASK (0xFFFF0000U)
35780#define USART_ID_ID_SHIFT (16U)
35781/*! ID - Module identifier for the selected function.
35782 */
35783#define USART_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USART_ID_ID_SHIFT)) & USART_ID_ID_MASK)
35784/*! @} */
35785
35786
35787/*!
35788 * @}
35789 */ /* end of group USART_Register_Masks */
35790
35791
35792/* USART - Peripheral instance base addresses */
35793#if (__ARM_FEATURE_CMSE & 0x2)
35794 /** Peripheral USART0 base address */
35795 #define USART0_BASE (0x50106000u)
35796 /** Peripheral USART0 base address */
35797 #define USART0_BASE_NS (0x40106000u)
35798 /** Peripheral USART0 base pointer */
35799 #define USART0 ((USART_Type *)USART0_BASE)
35800 /** Peripheral USART0 base pointer */
35801 #define USART0_NS ((USART_Type *)USART0_BASE_NS)
35802 /** Peripheral USART1 base address */
35803 #define USART1_BASE (0x50107000u)
35804 /** Peripheral USART1 base address */
35805 #define USART1_BASE_NS (0x40107000u)
35806 /** Peripheral USART1 base pointer */
35807 #define USART1 ((USART_Type *)USART1_BASE)
35808 /** Peripheral USART1 base pointer */
35809 #define USART1_NS ((USART_Type *)USART1_BASE_NS)
35810 /** Peripheral USART2 base address */
35811 #define USART2_BASE (0x50108000u)
35812 /** Peripheral USART2 base address */
35813 #define USART2_BASE_NS (0x40108000u)
35814 /** Peripheral USART2 base pointer */
35815 #define USART2 ((USART_Type *)USART2_BASE)
35816 /** Peripheral USART2 base pointer */
35817 #define USART2_NS ((USART_Type *)USART2_BASE_NS)
35818 /** Peripheral USART3 base address */
35819 #define USART3_BASE (0x50109000u)
35820 /** Peripheral USART3 base address */
35821 #define USART3_BASE_NS (0x40109000u)
35822 /** Peripheral USART3 base pointer */
35823 #define USART3 ((USART_Type *)USART3_BASE)
35824 /** Peripheral USART3 base pointer */
35825 #define USART3_NS ((USART_Type *)USART3_BASE_NS)
35826 /** Peripheral USART4 base address */
35827 #define USART4_BASE (0x50122000u)
35828 /** Peripheral USART4 base address */
35829 #define USART4_BASE_NS (0x40122000u)
35830 /** Peripheral USART4 base pointer */
35831 #define USART4 ((USART_Type *)USART4_BASE)
35832 /** Peripheral USART4 base pointer */
35833 #define USART4_NS ((USART_Type *)USART4_BASE_NS)
35834 /** Peripheral USART5 base address */
35835 #define USART5_BASE (0x50123000u)
35836 /** Peripheral USART5 base address */
35837 #define USART5_BASE_NS (0x40123000u)
35838 /** Peripheral USART5 base pointer */
35839 #define USART5 ((USART_Type *)USART5_BASE)
35840 /** Peripheral USART5 base pointer */
35841 #define USART5_NS ((USART_Type *)USART5_BASE_NS)
35842 /** Peripheral USART6 base address */
35843 #define USART6_BASE (0x50124000u)
35844 /** Peripheral USART6 base address */
35845 #define USART6_BASE_NS (0x40124000u)
35846 /** Peripheral USART6 base pointer */
35847 #define USART6 ((USART_Type *)USART6_BASE)
35848 /** Peripheral USART6 base pointer */
35849 #define USART6_NS ((USART_Type *)USART6_BASE_NS)
35850 /** Peripheral USART7 base address */
35851 #define USART7_BASE (0x50125000u)
35852 /** Peripheral USART7 base address */
35853 #define USART7_BASE_NS (0x40125000u)
35854 /** Peripheral USART7 base pointer */
35855 #define USART7 ((USART_Type *)USART7_BASE)
35856 /** Peripheral USART7 base pointer */
35857 #define USART7_NS ((USART_Type *)USART7_BASE_NS)
35858 /** Array initializer of USART peripheral base addresses */
35859 #define USART_BASE_ADDRS { USART0_BASE, USART1_BASE, USART2_BASE, USART3_BASE, USART4_BASE, USART5_BASE, USART6_BASE, USART7_BASE }
35860 /** Array initializer of USART peripheral base pointers */
35861 #define USART_BASE_PTRS { USART0, USART1, USART2, USART3, USART4, USART5, USART6, USART7 }
35862 /** Array initializer of USART peripheral base addresses */
35863 #define USART_BASE_ADDRS_NS { USART0_BASE_NS, USART1_BASE_NS, USART2_BASE_NS, USART3_BASE_NS, USART4_BASE_NS, USART5_BASE_NS, USART6_BASE_NS, USART7_BASE_NS }
35864 /** Array initializer of USART peripheral base pointers */
35865 #define USART_BASE_PTRS_NS { USART0_NS, USART1_NS, USART2_NS, USART3_NS, USART4_NS, USART5_NS, USART6_NS, USART7_NS }
35866#else
35867 /** Peripheral USART0 base address */
35868 #define USART0_BASE (0x40106000u)
35869 /** Peripheral USART0 base pointer */
35870 #define USART0 ((USART_Type *)USART0_BASE)
35871 /** Peripheral USART1 base address */
35872 #define USART1_BASE (0x40107000u)
35873 /** Peripheral USART1 base pointer */
35874 #define USART1 ((USART_Type *)USART1_BASE)
35875 /** Peripheral USART2 base address */
35876 #define USART2_BASE (0x40108000u)
35877 /** Peripheral USART2 base pointer */
35878 #define USART2 ((USART_Type *)USART2_BASE)
35879 /** Peripheral USART3 base address */
35880 #define USART3_BASE (0x40109000u)
35881 /** Peripheral USART3 base pointer */
35882 #define USART3 ((USART_Type *)USART3_BASE)
35883 /** Peripheral USART4 base address */
35884 #define USART4_BASE (0x40122000u)
35885 /** Peripheral USART4 base pointer */
35886 #define USART4 ((USART_Type *)USART4_BASE)
35887 /** Peripheral USART5 base address */
35888 #define USART5_BASE (0x40123000u)
35889 /** Peripheral USART5 base pointer */
35890 #define USART5 ((USART_Type *)USART5_BASE)
35891 /** Peripheral USART6 base address */
35892 #define USART6_BASE (0x40124000u)
35893 /** Peripheral USART6 base pointer */
35894 #define USART6 ((USART_Type *)USART6_BASE)
35895 /** Peripheral USART7 base address */
35896 #define USART7_BASE (0x40125000u)
35897 /** Peripheral USART7 base pointer */
35898 #define USART7 ((USART_Type *)USART7_BASE)
35899 /** Array initializer of USART peripheral base addresses */
35900 #define USART_BASE_ADDRS { USART0_BASE, USART1_BASE, USART2_BASE, USART3_BASE, USART4_BASE, USART5_BASE, USART6_BASE, USART7_BASE }
35901 /** Array initializer of USART peripheral base pointers */
35902 #define USART_BASE_PTRS { USART0, USART1, USART2, USART3, USART4, USART5, USART6, USART7 }
35903#endif
35904/** Interrupt vectors for the USART peripheral type */
35905#define USART_IRQS { FLEXCOMM0_IRQn, FLEXCOMM1_IRQn, FLEXCOMM2_IRQn, FLEXCOMM3_IRQn, FLEXCOMM4_IRQn, FLEXCOMM5_IRQn, FLEXCOMM6_IRQn, FLEXCOMM7_IRQn }
35906
35907/*!
35908 * @}
35909 */ /* end of group USART_Peripheral_Access_Layer */
35910
35911
35912/* ----------------------------------------------------------------------------
35913 -- USBHSD Peripheral Access Layer
35914 ---------------------------------------------------------------------------- */
35915
35916/*!
35917 * @addtogroup USBHSD_Peripheral_Access_Layer USBHSD Peripheral Access Layer
35918 * @{
35919 */
35920
35921/** USBHSD - Register Layout Typedef */
35922typedef struct {
35923 __IO uint32_t DEVCMDSTAT; /**< USB Device Command/Status register, offset: 0x0 */
35924 __I uint32_t INFO; /**< USB Info register, offset: 0x4 */
35925 __IO uint32_t EPLISTSTART; /**< USB EP Command/Status List start address, offset: 0x8 */
35926 __IO uint32_t DATABUFSTART; /**< USB Data buffer start address, offset: 0xC */
35927 __IO uint32_t LPM; /**< USB Link Power Management register, offset: 0x10 */
35928 __IO uint32_t EPSKIP; /**< USB Endpoint skip, offset: 0x14 */
35929 __IO uint32_t EPINUSE; /**< USB Endpoint Buffer in use, offset: 0x18 */
35930 __IO uint32_t EPBUFCFG; /**< USB Endpoint Buffer Configuration register, offset: 0x1C */
35931 __IO uint32_t INTSTAT; /**< USB interrupt status register, offset: 0x20 */
35932 __IO uint32_t INTEN; /**< USB interrupt enable register, offset: 0x24 */
35933 __IO uint32_t INTSETSTAT; /**< USB set interrupt status register, offset: 0x28 */
35934 uint8_t RESERVED_0[8];
35935 __I uint32_t EPTOGGLE; /**< USB Endpoint toggle register, offset: 0x34 */
35936} USBHSD_Type;
35937
35938/* ----------------------------------------------------------------------------
35939 -- USBHSD Register Masks
35940 ---------------------------------------------------------------------------- */
35941
35942/*!
35943 * @addtogroup USBHSD_Register_Masks USBHSD Register Masks
35944 * @{
35945 */
35946
35947/*! @name DEVCMDSTAT - USB Device Command/Status register */
35948/*! @{ */
35949#define USBHSD_DEVCMDSTAT_DEV_ADDR_MASK (0x7FU)
35950#define USBHSD_DEVCMDSTAT_DEV_ADDR_SHIFT (0U)
35951/*! DEV_ADDR - USB device address.
35952 */
35953#define USBHSD_DEVCMDSTAT_DEV_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DEV_ADDR_SHIFT)) & USBHSD_DEVCMDSTAT_DEV_ADDR_MASK)
35954#define USBHSD_DEVCMDSTAT_DEV_EN_MASK (0x80U)
35955#define USBHSD_DEVCMDSTAT_DEV_EN_SHIFT (7U)
35956/*! DEV_EN - USB device enable.
35957 */
35958#define USBHSD_DEVCMDSTAT_DEV_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DEV_EN_SHIFT)) & USBHSD_DEVCMDSTAT_DEV_EN_MASK)
35959#define USBHSD_DEVCMDSTAT_SETUP_MASK (0x100U)
35960#define USBHSD_DEVCMDSTAT_SETUP_SHIFT (8U)
35961/*! SETUP - SETUP token received.
35962 */
35963#define USBHSD_DEVCMDSTAT_SETUP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_SETUP_SHIFT)) & USBHSD_DEVCMDSTAT_SETUP_MASK)
35964#define USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_MASK (0x200U)
35965#define USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_SHIFT (9U)
35966/*! FORCE_NEEDCLK - Forces the NEEDCLK output to always be on:.
35967 */
35968#define USBHSD_DEVCMDSTAT_FORCE_NEEDCLK(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_SHIFT)) & USBHSD_DEVCMDSTAT_FORCE_NEEDCLK_MASK)
35969#define USBHSD_DEVCMDSTAT_FORCE_VBUS_MASK (0x400U)
35970#define USBHSD_DEVCMDSTAT_FORCE_VBUS_SHIFT (10U)
35971/*! FORCE_VBUS - If this bit is set to 1, the VBUS voltage indicators from the PHY are overruled.
35972 */
35973#define USBHSD_DEVCMDSTAT_FORCE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_FORCE_VBUS_SHIFT)) & USBHSD_DEVCMDSTAT_FORCE_VBUS_MASK)
35974#define USBHSD_DEVCMDSTAT_LPM_SUP_MASK (0x800U)
35975#define USBHSD_DEVCMDSTAT_LPM_SUP_SHIFT (11U)
35976/*! LPM_SUP - LPM Supported:.
35977 */
35978#define USBHSD_DEVCMDSTAT_LPM_SUP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_LPM_SUP_SHIFT)) & USBHSD_DEVCMDSTAT_LPM_SUP_MASK)
35979#define USBHSD_DEVCMDSTAT_INTONNAK_AO_MASK (0x1000U)
35980#define USBHSD_DEVCMDSTAT_INTONNAK_AO_SHIFT (12U)
35981/*! INTONNAK_AO - Interrupt on NAK for interrupt and bulk OUT EP:.
35982 */
35983#define USBHSD_DEVCMDSTAT_INTONNAK_AO(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_AO_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_AO_MASK)
35984#define USBHSD_DEVCMDSTAT_INTONNAK_AI_MASK (0x2000U)
35985#define USBHSD_DEVCMDSTAT_INTONNAK_AI_SHIFT (13U)
35986/*! INTONNAK_AI - Interrupt on NAK for interrupt and bulk IN EP:.
35987 */
35988#define USBHSD_DEVCMDSTAT_INTONNAK_AI(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_AI_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_AI_MASK)
35989#define USBHSD_DEVCMDSTAT_INTONNAK_CO_MASK (0x4000U)
35990#define USBHSD_DEVCMDSTAT_INTONNAK_CO_SHIFT (14U)
35991/*! INTONNAK_CO - Interrupt on NAK for control OUT EP:.
35992 */
35993#define USBHSD_DEVCMDSTAT_INTONNAK_CO(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_CO_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_CO_MASK)
35994#define USBHSD_DEVCMDSTAT_INTONNAK_CI_MASK (0x8000U)
35995#define USBHSD_DEVCMDSTAT_INTONNAK_CI_SHIFT (15U)
35996/*! INTONNAK_CI - Interrupt on NAK for control IN EP:.
35997 */
35998#define USBHSD_DEVCMDSTAT_INTONNAK_CI(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_INTONNAK_CI_SHIFT)) & USBHSD_DEVCMDSTAT_INTONNAK_CI_MASK)
35999#define USBHSD_DEVCMDSTAT_DCON_MASK (0x10000U)
36000#define USBHSD_DEVCMDSTAT_DCON_SHIFT (16U)
36001/*! DCON - Device status - connect.
36002 */
36003#define USBHSD_DEVCMDSTAT_DCON(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DCON_SHIFT)) & USBHSD_DEVCMDSTAT_DCON_MASK)
36004#define USBHSD_DEVCMDSTAT_DSUS_MASK (0x20000U)
36005#define USBHSD_DEVCMDSTAT_DSUS_SHIFT (17U)
36006/*! DSUS - Device status - suspend.
36007 */
36008#define USBHSD_DEVCMDSTAT_DSUS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DSUS_SHIFT)) & USBHSD_DEVCMDSTAT_DSUS_MASK)
36009#define USBHSD_DEVCMDSTAT_LPM_SUS_MASK (0x80000U)
36010#define USBHSD_DEVCMDSTAT_LPM_SUS_SHIFT (19U)
36011/*! LPM_SUS - Device status - LPM Suspend.
36012 */
36013#define USBHSD_DEVCMDSTAT_LPM_SUS(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_LPM_SUS_SHIFT)) & USBHSD_DEVCMDSTAT_LPM_SUS_MASK)
36014#define USBHSD_DEVCMDSTAT_LPM_REWP_MASK (0x100000U)
36015#define USBHSD_DEVCMDSTAT_LPM_REWP_SHIFT (20U)
36016/*! LPM_REWP - LPM Remote Wake-up Enabled by USB host.
36017 */
36018#define USBHSD_DEVCMDSTAT_LPM_REWP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_LPM_REWP_SHIFT)) & USBHSD_DEVCMDSTAT_LPM_REWP_MASK)
36019#define USBHSD_DEVCMDSTAT_SPEED_MASK (0xC00000U)
36020#define USBHSD_DEVCMDSTAT_SPEED_SHIFT (22U)
36021/*! SPEED - This field indicates the speed at which the device operates: 00b: reserved 01b:
36022 * full-speed 10b: high-speed 11b: super-speed (reserved for future use).
36023 */
36024#define USBHSD_DEVCMDSTAT_SPEED(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_SPEED_SHIFT)) & USBHSD_DEVCMDSTAT_SPEED_MASK)
36025#define USBHSD_DEVCMDSTAT_DCON_C_MASK (0x1000000U)
36026#define USBHSD_DEVCMDSTAT_DCON_C_SHIFT (24U)
36027/*! DCON_C - Device status - connect change.
36028 */
36029#define USBHSD_DEVCMDSTAT_DCON_C(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DCON_C_SHIFT)) & USBHSD_DEVCMDSTAT_DCON_C_MASK)
36030#define USBHSD_DEVCMDSTAT_DSUS_C_MASK (0x2000000U)
36031#define USBHSD_DEVCMDSTAT_DSUS_C_SHIFT (25U)
36032/*! DSUS_C - Device status - suspend change.
36033 */
36034#define USBHSD_DEVCMDSTAT_DSUS_C(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DSUS_C_SHIFT)) & USBHSD_DEVCMDSTAT_DSUS_C_MASK)
36035#define USBHSD_DEVCMDSTAT_DRES_C_MASK (0x4000000U)
36036#define USBHSD_DEVCMDSTAT_DRES_C_SHIFT (26U)
36037/*! DRES_C - Device status - reset change.
36038 */
36039#define USBHSD_DEVCMDSTAT_DRES_C(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_DRES_C_SHIFT)) & USBHSD_DEVCMDSTAT_DRES_C_MASK)
36040#define USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_MASK (0x10000000U)
36041#define USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_SHIFT (28U)
36042/*! VBUS_DEBOUNCED - This bit indicates if VBUS is detected or not.
36043 */
36044#define USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_SHIFT)) & USBHSD_DEVCMDSTAT_VBUS_DEBOUNCED_MASK)
36045#define USBHSD_DEVCMDSTAT_PHY_TEST_MODE_MASK (0xE0000000U)
36046#define USBHSD_DEVCMDSTAT_PHY_TEST_MODE_SHIFT (29U)
36047/*! PHY_TEST_MODE - This field is written by firmware to put the PHY into a test mode as defined by the USB2.0 specification.
36048 */
36049#define USBHSD_DEVCMDSTAT_PHY_TEST_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DEVCMDSTAT_PHY_TEST_MODE_SHIFT)) & USBHSD_DEVCMDSTAT_PHY_TEST_MODE_MASK)
36050/*! @} */
36051
36052/*! @name INFO - USB Info register */
36053/*! @{ */
36054#define USBHSD_INFO_FRAME_NR_MASK (0x7FFU)
36055#define USBHSD_INFO_FRAME_NR_SHIFT (0U)
36056/*! FRAME_NR - Frame number.
36057 */
36058#define USBHSD_INFO_FRAME_NR(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_FRAME_NR_SHIFT)) & USBHSD_INFO_FRAME_NR_MASK)
36059#define USBHSD_INFO_ERR_CODE_MASK (0x7800U)
36060#define USBHSD_INFO_ERR_CODE_SHIFT (11U)
36061/*! ERR_CODE - The error code which last occurred:.
36062 */
36063#define USBHSD_INFO_ERR_CODE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_ERR_CODE_SHIFT)) & USBHSD_INFO_ERR_CODE_MASK)
36064#define USBHSD_INFO_Minrev_MASK (0xFF0000U)
36065#define USBHSD_INFO_Minrev_SHIFT (16U)
36066/*! Minrev - Minor revision.
36067 */
36068#define USBHSD_INFO_Minrev(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_Minrev_SHIFT)) & USBHSD_INFO_Minrev_MASK)
36069#define USBHSD_INFO_Majrev_MASK (0xFF000000U)
36070#define USBHSD_INFO_Majrev_SHIFT (24U)
36071/*! Majrev - Major revision.
36072 */
36073#define USBHSD_INFO_Majrev(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INFO_Majrev_SHIFT)) & USBHSD_INFO_Majrev_MASK)
36074/*! @} */
36075
36076/*! @name EPLISTSTART - USB EP Command/Status List start address */
36077/*! @{ */
36078#define USBHSD_EPLISTSTART_EP_LIST_PRG_MASK (0xFFF00U)
36079#define USBHSD_EPLISTSTART_EP_LIST_PRG_SHIFT (8U)
36080/*! EP_LIST_PRG - Programmable portion of the USB EP Command/Status List address.
36081 */
36082#define USBHSD_EPLISTSTART_EP_LIST_PRG(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPLISTSTART_EP_LIST_PRG_SHIFT)) & USBHSD_EPLISTSTART_EP_LIST_PRG_MASK)
36083#define USBHSD_EPLISTSTART_EP_LIST_FIXED_MASK (0xFFF00000U)
36084#define USBHSD_EPLISTSTART_EP_LIST_FIXED_SHIFT (20U)
36085/*! EP_LIST_FIXED - Fixed portion of USB EP Command/Status List address.
36086 */
36087#define USBHSD_EPLISTSTART_EP_LIST_FIXED(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPLISTSTART_EP_LIST_FIXED_SHIFT)) & USBHSD_EPLISTSTART_EP_LIST_FIXED_MASK)
36088/*! @} */
36089
36090/*! @name DATABUFSTART - USB Data buffer start address */
36091/*! @{ */
36092#define USBHSD_DATABUFSTART_DA_BUF_FIXED_MASK (0x3FFFFU)
36093#define USBHSD_DATABUFSTART_DA_BUF_FIXED_SHIFT (0U)
36094#define USBHSD_DATABUFSTART_DA_BUF_FIXED(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DATABUFSTART_DA_BUF_FIXED_SHIFT)) & USBHSD_DATABUFSTART_DA_BUF_FIXED_MASK)
36095#define USBHSD_DATABUFSTART_DA_BUF_MASK (0xFFFC0000U)
36096#define USBHSD_DATABUFSTART_DA_BUF_SHIFT (18U)
36097/*! DA_BUF - Programmable portion of the data buffer start address.
36098 */
36099#define USBHSD_DATABUFSTART_DA_BUF(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_DATABUFSTART_DA_BUF_SHIFT)) & USBHSD_DATABUFSTART_DA_BUF_MASK)
36100/*! @} */
36101
36102/*! @name LPM - USB Link Power Management register */
36103/*! @{ */
36104#define USBHSD_LPM_HIRD_HW_MASK (0xFU)
36105#define USBHSD_LPM_HIRD_HW_SHIFT (0U)
36106/*! HIRD_HW - Host Initiated Resume Duration - HW.
36107 */
36108#define USBHSD_LPM_HIRD_HW(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_LPM_HIRD_HW_SHIFT)) & USBHSD_LPM_HIRD_HW_MASK)
36109#define USBHSD_LPM_HIRD_SW_MASK (0xF0U)
36110#define USBHSD_LPM_HIRD_SW_SHIFT (4U)
36111/*! HIRD_SW - Host Initiated Resume Duration - SW.
36112 */
36113#define USBHSD_LPM_HIRD_SW(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_LPM_HIRD_SW_SHIFT)) & USBHSD_LPM_HIRD_SW_MASK)
36114#define USBHSD_LPM_DATA_PENDING_MASK (0x100U)
36115#define USBHSD_LPM_DATA_PENDING_SHIFT (8U)
36116/*! DATA_PENDING - As long as this bit is set to one and LPM supported bit is set to one, HW will
36117 * return a NYET handshake on every LPM token it receives.
36118 */
36119#define USBHSD_LPM_DATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_LPM_DATA_PENDING_SHIFT)) & USBHSD_LPM_DATA_PENDING_MASK)
36120/*! @} */
36121
36122/*! @name EPSKIP - USB Endpoint skip */
36123/*! @{ */
36124#define USBHSD_EPSKIP_SKIP_MASK (0xFFFU)
36125#define USBHSD_EPSKIP_SKIP_SHIFT (0U)
36126/*! SKIP - Endpoint skip: Writing 1 to one of these bits, will indicate to HW that it must
36127 * deactivate the buffer assigned to this endpoint and return control back to software.
36128 */
36129#define USBHSD_EPSKIP_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPSKIP_SKIP_SHIFT)) & USBHSD_EPSKIP_SKIP_MASK)
36130/*! @} */
36131
36132/*! @name EPINUSE - USB Endpoint Buffer in use */
36133/*! @{ */
36134#define USBHSD_EPINUSE_BUF_MASK (0xFFCU)
36135#define USBHSD_EPINUSE_BUF_SHIFT (2U)
36136/*! BUF - Buffer in use: This register has one bit per physical endpoint.
36137 */
36138#define USBHSD_EPINUSE_BUF(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPINUSE_BUF_SHIFT)) & USBHSD_EPINUSE_BUF_MASK)
36139/*! @} */
36140
36141/*! @name EPBUFCFG - USB Endpoint Buffer Configuration register */
36142/*! @{ */
36143#define USBHSD_EPBUFCFG_BUF_SB_MASK (0xFFCU)
36144#define USBHSD_EPBUFCFG_BUF_SB_SHIFT (2U)
36145/*! BUF_SB - Buffer usage: This register has one bit per physical endpoint.
36146 */
36147#define USBHSD_EPBUFCFG_BUF_SB(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPBUFCFG_BUF_SB_SHIFT)) & USBHSD_EPBUFCFG_BUF_SB_MASK)
36148/*! @} */
36149
36150/*! @name INTSTAT - USB interrupt status register */
36151/*! @{ */
36152#define USBHSD_INTSTAT_EP0OUT_MASK (0x1U)
36153#define USBHSD_INTSTAT_EP0OUT_SHIFT (0U)
36154/*! EP0OUT - Interrupt status register bit for the Control EP0 OUT direction.
36155 */
36156#define USBHSD_INTSTAT_EP0OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP0OUT_SHIFT)) & USBHSD_INTSTAT_EP0OUT_MASK)
36157#define USBHSD_INTSTAT_EP0IN_MASK (0x2U)
36158#define USBHSD_INTSTAT_EP0IN_SHIFT (1U)
36159/*! EP0IN - Interrupt status register bit for the Control EP0 IN direction.
36160 */
36161#define USBHSD_INTSTAT_EP0IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP0IN_SHIFT)) & USBHSD_INTSTAT_EP0IN_MASK)
36162#define USBHSD_INTSTAT_EP1OUT_MASK (0x4U)
36163#define USBHSD_INTSTAT_EP1OUT_SHIFT (2U)
36164/*! EP1OUT - Interrupt status register bit for the EP1 OUT direction.
36165 */
36166#define USBHSD_INTSTAT_EP1OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP1OUT_SHIFT)) & USBHSD_INTSTAT_EP1OUT_MASK)
36167#define USBHSD_INTSTAT_EP1IN_MASK (0x8U)
36168#define USBHSD_INTSTAT_EP1IN_SHIFT (3U)
36169/*! EP1IN - Interrupt status register bit for the EP1 IN direction.
36170 */
36171#define USBHSD_INTSTAT_EP1IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP1IN_SHIFT)) & USBHSD_INTSTAT_EP1IN_MASK)
36172#define USBHSD_INTSTAT_EP2OUT_MASK (0x10U)
36173#define USBHSD_INTSTAT_EP2OUT_SHIFT (4U)
36174/*! EP2OUT - Interrupt status register bit for the EP2 OUT direction.
36175 */
36176#define USBHSD_INTSTAT_EP2OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP2OUT_SHIFT)) & USBHSD_INTSTAT_EP2OUT_MASK)
36177#define USBHSD_INTSTAT_EP2IN_MASK (0x20U)
36178#define USBHSD_INTSTAT_EP2IN_SHIFT (5U)
36179/*! EP2IN - Interrupt status register bit for the EP2 IN direction.
36180 */
36181#define USBHSD_INTSTAT_EP2IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP2IN_SHIFT)) & USBHSD_INTSTAT_EP2IN_MASK)
36182#define USBHSD_INTSTAT_EP3OUT_MASK (0x40U)
36183#define USBHSD_INTSTAT_EP3OUT_SHIFT (6U)
36184/*! EP3OUT - Interrupt status register bit for the EP3 OUT direction.
36185 */
36186#define USBHSD_INTSTAT_EP3OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP3OUT_SHIFT)) & USBHSD_INTSTAT_EP3OUT_MASK)
36187#define USBHSD_INTSTAT_EP3IN_MASK (0x80U)
36188#define USBHSD_INTSTAT_EP3IN_SHIFT (7U)
36189/*! EP3IN - Interrupt status register bit for the EP3 IN direction.
36190 */
36191#define USBHSD_INTSTAT_EP3IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP3IN_SHIFT)) & USBHSD_INTSTAT_EP3IN_MASK)
36192#define USBHSD_INTSTAT_EP4OUT_MASK (0x100U)
36193#define USBHSD_INTSTAT_EP4OUT_SHIFT (8U)
36194/*! EP4OUT - Interrupt status register bit for the EP4 OUT direction.
36195 */
36196#define USBHSD_INTSTAT_EP4OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP4OUT_SHIFT)) & USBHSD_INTSTAT_EP4OUT_MASK)
36197#define USBHSD_INTSTAT_EP4IN_MASK (0x200U)
36198#define USBHSD_INTSTAT_EP4IN_SHIFT (9U)
36199/*! EP4IN - Interrupt status register bit for the EP4 IN direction.
36200 */
36201#define USBHSD_INTSTAT_EP4IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP4IN_SHIFT)) & USBHSD_INTSTAT_EP4IN_MASK)
36202#define USBHSD_INTSTAT_EP5OUT_MASK (0x400U)
36203#define USBHSD_INTSTAT_EP5OUT_SHIFT (10U)
36204/*! EP5OUT - Interrupt status register bit for the EP5 OUT direction.
36205 */
36206#define USBHSD_INTSTAT_EP5OUT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP5OUT_SHIFT)) & USBHSD_INTSTAT_EP5OUT_MASK)
36207#define USBHSD_INTSTAT_EP5IN_MASK (0x800U)
36208#define USBHSD_INTSTAT_EP5IN_SHIFT (11U)
36209/*! EP5IN - Interrupt status register bit for the EP5 IN direction.
36210 */
36211#define USBHSD_INTSTAT_EP5IN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_EP5IN_SHIFT)) & USBHSD_INTSTAT_EP5IN_MASK)
36212#define USBHSD_INTSTAT_FRAME_INT_MASK (0x40000000U)
36213#define USBHSD_INTSTAT_FRAME_INT_SHIFT (30U)
36214/*! FRAME_INT - Frame interrupt.
36215 */
36216#define USBHSD_INTSTAT_FRAME_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_FRAME_INT_SHIFT)) & USBHSD_INTSTAT_FRAME_INT_MASK)
36217#define USBHSD_INTSTAT_DEV_INT_MASK (0x80000000U)
36218#define USBHSD_INTSTAT_DEV_INT_SHIFT (31U)
36219/*! DEV_INT - Device status interrupt.
36220 */
36221#define USBHSD_INTSTAT_DEV_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSTAT_DEV_INT_SHIFT)) & USBHSD_INTSTAT_DEV_INT_MASK)
36222/*! @} */
36223
36224/*! @name INTEN - USB interrupt enable register */
36225/*! @{ */
36226#define USBHSD_INTEN_EP_INT_EN_MASK (0xFFFU)
36227#define USBHSD_INTEN_EP_INT_EN_SHIFT (0U)
36228/*! EP_INT_EN - If this bit is set and the corresponding USB interrupt status bit is set, a HW
36229 * interrupt is generated on the interrupt line.
36230 */
36231#define USBHSD_INTEN_EP_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTEN_EP_INT_EN_SHIFT)) & USBHSD_INTEN_EP_INT_EN_MASK)
36232#define USBHSD_INTEN_FRAME_INT_EN_MASK (0x40000000U)
36233#define USBHSD_INTEN_FRAME_INT_EN_SHIFT (30U)
36234/*! FRAME_INT_EN - If this bit is set and the corresponding USB interrupt status bit is set, a HW
36235 * interrupt is generated on the interrupt line.
36236 */
36237#define USBHSD_INTEN_FRAME_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTEN_FRAME_INT_EN_SHIFT)) & USBHSD_INTEN_FRAME_INT_EN_MASK)
36238#define USBHSD_INTEN_DEV_INT_EN_MASK (0x80000000U)
36239#define USBHSD_INTEN_DEV_INT_EN_SHIFT (31U)
36240/*! DEV_INT_EN - If this bit is set and the corresponding USB interrupt status bit is set, a HW
36241 * interrupt is generated on the interrupt line.
36242 */
36243#define USBHSD_INTEN_DEV_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTEN_DEV_INT_EN_SHIFT)) & USBHSD_INTEN_DEV_INT_EN_MASK)
36244/*! @} */
36245
36246/*! @name INTSETSTAT - USB set interrupt status register */
36247/*! @{ */
36248#define USBHSD_INTSETSTAT_EP_SET_INT_MASK (0xFFFU)
36249#define USBHSD_INTSETSTAT_EP_SET_INT_SHIFT (0U)
36250/*! EP_SET_INT - If software writes a one to one of these bits, the corresponding USB interrupt status bit is set.
36251 */
36252#define USBHSD_INTSETSTAT_EP_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSETSTAT_EP_SET_INT_SHIFT)) & USBHSD_INTSETSTAT_EP_SET_INT_MASK)
36253#define USBHSD_INTSETSTAT_FRAME_SET_INT_MASK (0x40000000U)
36254#define USBHSD_INTSETSTAT_FRAME_SET_INT_SHIFT (30U)
36255/*! FRAME_SET_INT - If software writes a one to one of these bits, the corresponding USB interrupt status bit is set.
36256 */
36257#define USBHSD_INTSETSTAT_FRAME_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSETSTAT_FRAME_SET_INT_SHIFT)) & USBHSD_INTSETSTAT_FRAME_SET_INT_MASK)
36258#define USBHSD_INTSETSTAT_DEV_SET_INT_MASK (0x80000000U)
36259#define USBHSD_INTSETSTAT_DEV_SET_INT_SHIFT (31U)
36260/*! DEV_SET_INT - If software writes a one to one of these bits, the corresponding USB interrupt status bit is set.
36261 */
36262#define USBHSD_INTSETSTAT_DEV_SET_INT(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_INTSETSTAT_DEV_SET_INT_SHIFT)) & USBHSD_INTSETSTAT_DEV_SET_INT_MASK)
36263/*! @} */
36264
36265/*! @name EPTOGGLE - USB Endpoint toggle register */
36266/*! @{ */
36267#define USBHSD_EPTOGGLE_TOGGLE_MASK (0x3FFFFFFFU)
36268#define USBHSD_EPTOGGLE_TOGGLE_SHIFT (0U)
36269/*! TOGGLE - Endpoint data toggle: This field indicates the current value of the data toggle for the corresponding endpoint.
36270 */
36271#define USBHSD_EPTOGGLE_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << USBHSD_EPTOGGLE_TOGGLE_SHIFT)) & USBHSD_EPTOGGLE_TOGGLE_MASK)
36272/*! @} */
36273
36274
36275/*!
36276 * @}
36277 */ /* end of group USBHSD_Register_Masks */
36278
36279
36280/* USBHSD - Peripheral instance base addresses */
36281#if (__ARM_FEATURE_CMSE & 0x2)
36282 /** Peripheral USBHSD base address */
36283 #define USBHSD_BASE (0x50144000u)
36284 /** Peripheral USBHSD base address */
36285 #define USBHSD_BASE_NS (0x40144000u)
36286 /** Peripheral USBHSD base pointer */
36287 #define USBHSD ((USBHSD_Type *)USBHSD_BASE)
36288 /** Peripheral USBHSD base pointer */
36289 #define USBHSD_NS ((USBHSD_Type *)USBHSD_BASE_NS)
36290 /** Array initializer of USBHSD peripheral base addresses */
36291 #define USBHSD_BASE_ADDRS { USBHSD_BASE }
36292 /** Array initializer of USBHSD peripheral base pointers */
36293 #define USBHSD_BASE_PTRS { USBHSD }
36294 /** Array initializer of USBHSD peripheral base addresses */
36295 #define USBHSD_BASE_ADDRS_NS { USBHSD_BASE_NS }
36296 /** Array initializer of USBHSD peripheral base pointers */
36297 #define USBHSD_BASE_PTRS_NS { USBHSD_NS }
36298#else
36299 /** Peripheral USBHSD base address */
36300 #define USBHSD_BASE (0x40144000u)
36301 /** Peripheral USBHSD base pointer */
36302 #define USBHSD ((USBHSD_Type *)USBHSD_BASE)
36303 /** Array initializer of USBHSD peripheral base addresses */
36304 #define USBHSD_BASE_ADDRS { USBHSD_BASE }
36305 /** Array initializer of USBHSD peripheral base pointers */
36306 #define USBHSD_BASE_PTRS { USBHSD }
36307#endif
36308/** Interrupt vectors for the USBHSD peripheral type */
36309#define USBHSD_IRQS { USB_IRQn }
36310/* Backward compatibility */
36311#define USBHSD_DEVCMDSTAT_Speed_MASK (USBHSD_DEVCMDSTAT_SPEED_MASK)
36312#define USBHSD_DEVCMDSTAT_Speed_SHIFT (USBHSD_DEVCMDSTAT_SPEED_SHIFT)
36313#define USBHSD_DEVCMDSTAT_Speed(x) (USBHSD_DEVCMDSTAT_SPEED(x))
36314
36315
36316/*!
36317 * @}
36318 */ /* end of group USBHSD_Peripheral_Access_Layer */
36319
36320
36321/* ----------------------------------------------------------------------------
36322 -- USBHSDCD Peripheral Access Layer
36323 ---------------------------------------------------------------------------- */
36324
36325/*!
36326 * @addtogroup USBHSDCD_Peripheral_Access_Layer USBHSDCD Peripheral Access Layer
36327 * @{
36328 */
36329
36330/** USBHSDCD - Register Layout Typedef */
36331typedef struct {
36332 __IO uint32_t CONTROL; /**< Control register, offset: 0x0 */
36333 __IO uint32_t CLOCK; /**< Clock register, offset: 0x4 */
36334 __I uint32_t STATUS; /**< Status register, offset: 0x8 */
36335 __IO uint32_t SIGNAL_OVERRIDE; /**< Signal Override Register, offset: 0xC */
36336 __IO uint32_t TIMER0; /**< TIMER0 register, offset: 0x10 */
36337 __IO uint32_t TIMER1; /**< TIMER1 register, offset: 0x14 */
36338 union { /* offset: 0x18 */
36339 __IO uint32_t TIMER2_BC11; /**< TIMER2_BC11 register, offset: 0x18 */
36340 __IO uint32_t TIMER2_BC12; /**< TIMER2_BC12 register, offset: 0x18 */
36341 };
36342} USBHSDCD_Type;
36343
36344/* ----------------------------------------------------------------------------
36345 -- USBHSDCD Register Masks
36346 ---------------------------------------------------------------------------- */
36347
36348/*!
36349 * @addtogroup USBHSDCD_Register_Masks USBHSDCD Register Masks
36350 * @{
36351 */
36352
36353/*! @name CONTROL - Control register */
36354/*! @{ */
36355#define USBHSDCD_CONTROL_IACK_MASK (0x1U)
36356#define USBHSDCD_CONTROL_IACK_SHIFT (0U)
36357/*! IACK - Interrupt Acknowledge
36358 * 0b0..Do not clear the interrupt.
36359 * 0b1..Clear the IF bit (interrupt flag).
36360 */
36361#define USBHSDCD_CONTROL_IACK(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IACK_SHIFT)) & USBHSDCD_CONTROL_IACK_MASK)
36362#define USBHSDCD_CONTROL_IF_MASK (0x100U)
36363#define USBHSDCD_CONTROL_IF_SHIFT (8U)
36364/*! IF - Interrupt Flag
36365 * 0b0..No interrupt is pending.
36366 * 0b1..An interrupt is pending.
36367 */
36368#define USBHSDCD_CONTROL_IF(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IF_SHIFT)) & USBHSDCD_CONTROL_IF_MASK)
36369#define USBHSDCD_CONTROL_IE_MASK (0x10000U)
36370#define USBHSDCD_CONTROL_IE_SHIFT (16U)
36371/*! IE - Interrupt Enable
36372 * 0b0..Disable interrupts to the system.
36373 * 0b1..Enable interrupts to the system.
36374 */
36375#define USBHSDCD_CONTROL_IE(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IE_SHIFT)) & USBHSDCD_CONTROL_IE_MASK)
36376#define USBHSDCD_CONTROL_BC12_MASK (0x20000U)
36377#define USBHSDCD_CONTROL_BC12_SHIFT (17U)
36378/*! BC12 - BC12
36379 * 0b0..Compatible with BC1.1 (default)
36380 * 0b1..Compatible with BC1.2
36381 */
36382#define USBHSDCD_CONTROL_BC12(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_BC12_SHIFT)) & USBHSDCD_CONTROL_BC12_MASK)
36383#define USBHSDCD_CONTROL_START_MASK (0x1000000U)
36384#define USBHSDCD_CONTROL_START_SHIFT (24U)
36385/*! START - Start Change Detection Sequence
36386 * 0b0..Do not start the sequence. Writes of this value have no effect.
36387 * 0b1..Initiate the charger detection sequence. If the sequence is already running, writes of this value have no effect.
36388 */
36389#define USBHSDCD_CONTROL_START(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_START_SHIFT)) & USBHSDCD_CONTROL_START_MASK)
36390#define USBHSDCD_CONTROL_SR_MASK (0x2000000U)
36391#define USBHSDCD_CONTROL_SR_SHIFT (25U)
36392/*! SR - Software Reset
36393 * 0b0..Do not perform a software reset.
36394 * 0b1..Perform a software reset.
36395 */
36396#define USBHSDCD_CONTROL_SR(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_SR_SHIFT)) & USBHSDCD_CONTROL_SR_MASK)
36397/*! @} */
36398
36399/*! @name CLOCK - Clock register */
36400/*! @{ */
36401#define USBHSDCD_CLOCK_CLOCK_UNIT_MASK (0x1U)
36402#define USBHSDCD_CLOCK_CLOCK_UNIT_SHIFT (0U)
36403/*! CLOCK_UNIT - Unit of Measurement Encoding for Clock Speed
36404 * 0b0..kHz Speed (between 1 kHz and 1023 kHz)
36405 * 0b1..MHz Speed (between 1 MHz and 1023 MHz)
36406 */
36407#define USBHSDCD_CLOCK_CLOCK_UNIT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CLOCK_CLOCK_UNIT_SHIFT)) & USBHSDCD_CLOCK_CLOCK_UNIT_MASK)
36408#define USBHSDCD_CLOCK_CLOCK_SPEED_MASK (0xFFCU)
36409#define USBHSDCD_CLOCK_CLOCK_SPEED_SHIFT (2U)
36410/*! CLOCK_SPEED - Numerical Value of Clock Speed in Binary
36411 */
36412#define USBHSDCD_CLOCK_CLOCK_SPEED(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CLOCK_CLOCK_SPEED_SHIFT)) & USBHSDCD_CLOCK_CLOCK_SPEED_MASK)
36413/*! @} */
36414
36415/*! @name STATUS - Status register */
36416/*! @{ */
36417#define USBHSDCD_STATUS_SEQ_RES_MASK (0x30000U)
36418#define USBHSDCD_STATUS_SEQ_RES_SHIFT (16U)
36419/*! SEQ_RES - Charger Detection Sequence Results
36420 * 0b00..No results to report.
36421 * 0b01..Attached to an SDP. Must comply with USB 2.0 by drawing only 2.5 mA (max) until connected.
36422 * 0b10..Attached to a charging port. The exact meaning depends on bit 18 (value 0: Attached to either a CDP or a
36423 * DCP. The charger type detection has not completed. value 1: Attached to a CDP. The charger type
36424 * detection has completed.)
36425 * 0b11..Attached to a DCP.
36426 */
36427#define USBHSDCD_STATUS_SEQ_RES(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_SEQ_RES_SHIFT)) & USBHSDCD_STATUS_SEQ_RES_MASK)
36428#define USBHSDCD_STATUS_SEQ_STAT_MASK (0xC0000U)
36429#define USBHSDCD_STATUS_SEQ_STAT_SHIFT (18U)
36430/*! SEQ_STAT - Charger Detection Sequence Status
36431 * 0b00..The module is either not enabled, or the module is enabled but the data pins have not yet been detected.
36432 * 0b01..Data pin contact detection is complete.
36433 * 0b10..Charging port detection is complete.
36434 * 0b11..Charger type detection is complete.
36435 */
36436#define USBHSDCD_STATUS_SEQ_STAT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_SEQ_STAT_SHIFT)) & USBHSDCD_STATUS_SEQ_STAT_MASK)
36437#define USBHSDCD_STATUS_ERR_MASK (0x100000U)
36438#define USBHSDCD_STATUS_ERR_SHIFT (20U)
36439/*! ERR - Error Flag
36440 * 0b0..No sequence errors.
36441 * 0b1..Error in the detection sequence. See the SEQ_STAT field to determine the phase in which the error occurred.
36442 */
36443#define USBHSDCD_STATUS_ERR(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_ERR_SHIFT)) & USBHSDCD_STATUS_ERR_MASK)
36444#define USBHSDCD_STATUS_TO_MASK (0x200000U)
36445#define USBHSDCD_STATUS_TO_SHIFT (21U)
36446/*! TO - Timeout Flag
36447 * 0b0..The detection sequence has not been running for over 1 s.
36448 * 0b1..It has been over 1 s since the data pin contact was detected and debounced.
36449 */
36450#define USBHSDCD_STATUS_TO(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_TO_SHIFT)) & USBHSDCD_STATUS_TO_MASK)
36451#define USBHSDCD_STATUS_ACTIVE_MASK (0x400000U)
36452#define USBHSDCD_STATUS_ACTIVE_SHIFT (22U)
36453/*! ACTIVE - Active Status Indicator
36454 * 0b0..The sequence is not running.
36455 * 0b1..The sequence is running.
36456 */
36457#define USBHSDCD_STATUS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_ACTIVE_SHIFT)) & USBHSDCD_STATUS_ACTIVE_MASK)
36458/*! @} */
36459
36460/*! @name SIGNAL_OVERRIDE - Signal Override Register */
36461/*! @{ */
36462#define USBHSDCD_SIGNAL_OVERRIDE_PS_MASK (0x3U)
36463#define USBHSDCD_SIGNAL_OVERRIDE_PS_SHIFT (0U)
36464/*! PS - Phase Selection
36465 * 0b00..No overrides. Bit field must remain at this value during normal USB data communication to prevent
36466 * unexpected conditions on USB_DP and USB_DM pins. (Default)
36467 * 0b01..Reserved, not for customer use.
36468 * 0b10..Enables VDP_SRC voltage source for the USB_DP pin and IDM_SINK current source for the USB_DM pin.
36469 * 0b11..Reserved, not for customer use.
36470 */
36471#define USBHSDCD_SIGNAL_OVERRIDE_PS(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_SIGNAL_OVERRIDE_PS_SHIFT)) & USBHSDCD_SIGNAL_OVERRIDE_PS_MASK)
36472/*! @} */
36473
36474/*! @name TIMER0 - TIMER0 register */
36475/*! @{ */
36476#define USBHSDCD_TIMER0_TUNITCON_MASK (0xFFFU)
36477#define USBHSDCD_TIMER0_TUNITCON_SHIFT (0U)
36478/*! TUNITCON - Unit Connection Timer Elapse (in ms)
36479 */
36480#define USBHSDCD_TIMER0_TUNITCON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER0_TUNITCON_SHIFT)) & USBHSDCD_TIMER0_TUNITCON_MASK)
36481#define USBHSDCD_TIMER0_TSEQ_INIT_MASK (0x3FF0000U)
36482#define USBHSDCD_TIMER0_TSEQ_INIT_SHIFT (16U)
36483/*! TSEQ_INIT - Sequence Initiation Time
36484 */
36485#define USBHSDCD_TIMER0_TSEQ_INIT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER0_TSEQ_INIT_SHIFT)) & USBHSDCD_TIMER0_TSEQ_INIT_MASK)
36486/*! @} */
36487
36488/*! @name TIMER1 - TIMER1 register */
36489/*! @{ */
36490#define USBHSDCD_TIMER1_TVDPSRC_ON_MASK (0x3FFU)
36491#define USBHSDCD_TIMER1_TVDPSRC_ON_SHIFT (0U)
36492/*! TVDPSRC_ON - Time Period Comparator Enabled
36493 */
36494#define USBHSDCD_TIMER1_TVDPSRC_ON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER1_TVDPSRC_ON_SHIFT)) & USBHSDCD_TIMER1_TVDPSRC_ON_MASK)
36495#define USBHSDCD_TIMER1_TDCD_DBNC_MASK (0x3FF0000U)
36496#define USBHSDCD_TIMER1_TDCD_DBNC_SHIFT (16U)
36497/*! TDCD_DBNC - Time Period to Debounce D+ Signal
36498 */
36499#define USBHSDCD_TIMER1_TDCD_DBNC(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER1_TDCD_DBNC_SHIFT)) & USBHSDCD_TIMER1_TDCD_DBNC_MASK)
36500/*! @} */
36501
36502/*! @name TIMER2_BC11 - TIMER2_BC11 register */
36503/*! @{ */
36504#define USBHSDCD_TIMER2_BC11_CHECK_DM_MASK (0xFU)
36505#define USBHSDCD_TIMER2_BC11_CHECK_DM_SHIFT (0U)
36506/*! CHECK_DM - Time Before Check of D- Line
36507 */
36508#define USBHSDCD_TIMER2_BC11_CHECK_DM(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC11_CHECK_DM_SHIFT)) & USBHSDCD_TIMER2_BC11_CHECK_DM_MASK)
36509#define USBHSDCD_TIMER2_BC11_TVDPSRC_CON_MASK (0x3FF0000U)
36510#define USBHSDCD_TIMER2_BC11_TVDPSRC_CON_SHIFT (16U)
36511/*! TVDPSRC_CON - Time Period Before Enabling D+ Pullup
36512 */
36513#define USBHSDCD_TIMER2_BC11_TVDPSRC_CON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC11_TVDPSRC_CON_SHIFT)) & USBHSDCD_TIMER2_BC11_TVDPSRC_CON_MASK)
36514/*! @} */
36515
36516/*! @name TIMER2_BC12 - TIMER2_BC12 register */
36517/*! @{ */
36518#define USBHSDCD_TIMER2_BC12_TVDMSRC_ON_MASK (0x3FFU)
36519#define USBHSDCD_TIMER2_BC12_TVDMSRC_ON_SHIFT (0U)
36520/*! TVDMSRC_ON - TVDMSRC_ON
36521 */
36522#define USBHSDCD_TIMER2_BC12_TVDMSRC_ON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC12_TVDMSRC_ON_SHIFT)) & USBHSDCD_TIMER2_BC12_TVDMSRC_ON_MASK)
36523#define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_MASK (0x3FF0000U)
36524#define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_SHIFT (16U)
36525/*! TWAIT_AFTER_PRD - TWAIT_AFTER_PRD
36526 */
36527#define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_SHIFT)) & USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_MASK)
36528/*! @} */
36529
36530
36531/*!
36532 * @}
36533 */ /* end of group USBHSDCD_Register_Masks */
36534
36535
36536/* USBHSDCD - Peripheral instance base addresses */
36537#if (__ARM_FEATURE_CMSE & 0x2)
36538 /** Peripheral USBHSDCD base address */
36539 #define USBHSDCD_BASE (0x5013B800u)
36540 /** Peripheral USBHSDCD base address */
36541 #define USBHSDCD_BASE_NS (0x4013B800u)
36542 /** Peripheral USBHSDCD base pointer */
36543 #define USBHSDCD ((USBHSDCD_Type *)USBHSDCD_BASE)
36544 /** Peripheral USBHSDCD base pointer */
36545 #define USBHSDCD_NS ((USBHSDCD_Type *)USBHSDCD_BASE_NS)
36546 /** Array initializer of USBHSDCD peripheral base addresses */
36547 #define USBHSDCD_BASE_ADDRS { USBHSDCD_BASE }
36548 /** Array initializer of USBHSDCD peripheral base pointers */
36549 #define USBHSDCD_BASE_PTRS { USBHSDCD }
36550 /** Array initializer of USBHSDCD peripheral base addresses */
36551 #define USBHSDCD_BASE_ADDRS_NS { USBHSDCD_BASE_NS }
36552 /** Array initializer of USBHSDCD peripheral base pointers */
36553 #define USBHSDCD_BASE_PTRS_NS { USBHSDCD_NS }
36554#else
36555 /** Peripheral USBHSDCD base address */
36556 #define USBHSDCD_BASE (0x4013B800u)
36557 /** Peripheral USBHSDCD base pointer */
36558 #define USBHSDCD ((USBHSDCD_Type *)USBHSDCD_BASE)
36559 /** Array initializer of USBHSDCD peripheral base addresses */
36560 #define USBHSDCD_BASE_ADDRS { USBHSDCD_BASE }
36561 /** Array initializer of USBHSDCD peripheral base pointers */
36562 #define USBHSDCD_BASE_PTRS { USBHSDCD }
36563#endif
36564/** Interrupt vectors for the USBHSDCD peripheral type */
36565#define USBHSDCD_IRQS { USBPHY_DCD_IRQn }
36566
36567/*!
36568 * @}
36569 */ /* end of group USBHSDCD_Peripheral_Access_Layer */
36570
36571
36572/* ----------------------------------------------------------------------------
36573 -- USBHSH Peripheral Access Layer
36574 ---------------------------------------------------------------------------- */
36575
36576/*!
36577 * @addtogroup USBHSH_Peripheral_Access_Layer USBHSH Peripheral Access Layer
36578 * @{
36579 */
36580
36581/** USBHSH - Register Layout Typedef */
36582typedef struct {
36583 __I uint32_t CAPLENGTH_CHIPID; /**< This register contains the offset value towards the start of the operational register space and the version number of the IP block, offset: 0x0 */
36584 __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x4 */
36585 __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x8 */
36586 __IO uint32_t FLADJ_FRINDEX; /**< Frame Length Adjustment, offset: 0xC */
36587 __IO uint32_t ATLPTD; /**< Memory base address where ATL PTD0 is stored, offset: 0x10 */
36588 __IO uint32_t ISOPTD; /**< Memory base address where ISO PTD0 is stored, offset: 0x14 */
36589 __IO uint32_t INTPTD; /**< Memory base address where INT PTD0 is stored, offset: 0x18 */
36590 __IO uint32_t DATAPAYLOAD; /**< Memory base address that indicates the start of the data payload buffers, offset: 0x1C */
36591 __IO uint32_t USBCMD; /**< USB Command register, offset: 0x20 */
36592 __IO uint32_t USBSTS; /**< USB Interrupt Status register, offset: 0x24 */
36593 __IO uint32_t USBINTR; /**< USB Interrupt Enable register, offset: 0x28 */
36594 __IO uint32_t PORTSC1; /**< Port Status and Control register, offset: 0x2C */
36595 __IO uint32_t ATLPTDD; /**< Done map for each ATL PTD, offset: 0x30 */
36596 __IO uint32_t ATLPTDS; /**< Skip map for each ATL PTD, offset: 0x34 */
36597 __IO uint32_t ISOPTDD; /**< Done map for each ISO PTD, offset: 0x38 */
36598 __IO uint32_t ISOPTDS; /**< Skip map for each ISO PTD, offset: 0x3C */
36599 __IO uint32_t INTPTDD; /**< Done map for each INT PTD, offset: 0x40 */
36600 __IO uint32_t INTPTDS; /**< Skip map for each INT PTD, offset: 0x44 */
36601 __IO uint32_t LASTPTD; /**< Marks the last PTD in the list for ISO, INT and ATL, offset: 0x48 */
36602 uint8_t RESERVED_0[4];
36603 __IO uint32_t PORTMODE; /**< Controls the port if it is attached to the host block or the device block, offset: 0x50 */
36604} USBHSH_Type;
36605
36606/* ----------------------------------------------------------------------------
36607 -- USBHSH Register Masks
36608 ---------------------------------------------------------------------------- */
36609
36610/*!
36611 * @addtogroup USBHSH_Register_Masks USBHSH Register Masks
36612 * @{
36613 */
36614
36615/*! @name CAPLENGTH_CHIPID - This register contains the offset value towards the start of the operational register space and the version number of the IP block */
36616/*! @{ */
36617#define USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_MASK (0xFFU)
36618#define USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_SHIFT (0U)
36619/*! CAPLENGTH - Capability Length: This is used as an offset.
36620 */
36621#define USBHSH_CAPLENGTH_CHIPID_CAPLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_SHIFT)) & USBHSH_CAPLENGTH_CHIPID_CAPLENGTH_MASK)
36622#define USBHSH_CAPLENGTH_CHIPID_CHIPID_MASK (0xFFFF0000U)
36623#define USBHSH_CAPLENGTH_CHIPID_CHIPID_SHIFT (16U)
36624/*! CHIPID - Chip identification: indicates major and minor revision of the IP: [31:24] = Major
36625 * revision [23:16] = Minor revision Major revisions used: 0x01: USB2.
36626 */
36627#define USBHSH_CAPLENGTH_CHIPID_CHIPID(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_CAPLENGTH_CHIPID_CHIPID_SHIFT)) & USBHSH_CAPLENGTH_CHIPID_CHIPID_MASK)
36628/*! @} */
36629
36630/*! @name HCSPARAMS - Host Controller Structural Parameters */
36631/*! @{ */
36632#define USBHSH_HCSPARAMS_N_PORTS_MASK (0xFU)
36633#define USBHSH_HCSPARAMS_N_PORTS_SHIFT (0U)
36634/*! N_PORTS - This register specifies the number of physical downstream ports implemented on this host controller.
36635 */
36636#define USBHSH_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCSPARAMS_N_PORTS_SHIFT)) & USBHSH_HCSPARAMS_N_PORTS_MASK)
36637#define USBHSH_HCSPARAMS_PPC_MASK (0x10U)
36638#define USBHSH_HCSPARAMS_PPC_SHIFT (4U)
36639/*! PPC - This field indicates whether the host controller implementation includes port power control.
36640 */
36641#define USBHSH_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCSPARAMS_PPC_SHIFT)) & USBHSH_HCSPARAMS_PPC_MASK)
36642#define USBHSH_HCSPARAMS_P_INDICATOR_MASK (0x10000U)
36643#define USBHSH_HCSPARAMS_P_INDICATOR_SHIFT (16U)
36644/*! P_INDICATOR - This bit indicates whether the ports support port indicator control.
36645 */
36646#define USBHSH_HCSPARAMS_P_INDICATOR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCSPARAMS_P_INDICATOR_SHIFT)) & USBHSH_HCSPARAMS_P_INDICATOR_MASK)
36647/*! @} */
36648
36649/*! @name HCCPARAMS - Host Controller Capability Parameters */
36650/*! @{ */
36651#define USBHSH_HCCPARAMS_LPMC_MASK (0x20000U)
36652#define USBHSH_HCCPARAMS_LPMC_SHIFT (17U)
36653/*! LPMC - Link Power Management Capability.
36654 */
36655#define USBHSH_HCCPARAMS_LPMC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_HCCPARAMS_LPMC_SHIFT)) & USBHSH_HCCPARAMS_LPMC_MASK)
36656/*! @} */
36657
36658/*! @name FLADJ_FRINDEX - Frame Length Adjustment */
36659/*! @{ */
36660#define USBHSH_FLADJ_FRINDEX_FLADJ_MASK (0x3FU)
36661#define USBHSH_FLADJ_FRINDEX_FLADJ_SHIFT (0U)
36662/*! FLADJ - Frame Length Timing Value.
36663 */
36664#define USBHSH_FLADJ_FRINDEX_FLADJ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_FLADJ_FRINDEX_FLADJ_SHIFT)) & USBHSH_FLADJ_FRINDEX_FLADJ_MASK)
36665#define USBHSH_FLADJ_FRINDEX_FRINDEX_MASK (0x3FFF0000U)
36666#define USBHSH_FLADJ_FRINDEX_FRINDEX_SHIFT (16U)
36667/*! FRINDEX - Frame Index: Bits 29 to16 in this register are used for the frame number field in the SOF packet.
36668 */
36669#define USBHSH_FLADJ_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_FLADJ_FRINDEX_FRINDEX_SHIFT)) & USBHSH_FLADJ_FRINDEX_FRINDEX_MASK)
36670/*! @} */
36671
36672/*! @name ATLPTD - Memory base address where ATL PTD0 is stored */
36673/*! @{ */
36674#define USBHSH_ATLPTD_ATL_CUR_MASK (0x1F0U)
36675#define USBHSH_ATLPTD_ATL_CUR_SHIFT (4U)
36676/*! ATL_CUR - This indicates the current PTD that is used by the hardware when it is processing the ATL list.
36677 */
36678#define USBHSH_ATLPTD_ATL_CUR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATLPTD_ATL_CUR_SHIFT)) & USBHSH_ATLPTD_ATL_CUR_MASK)
36679#define USBHSH_ATLPTD_ATL_BASE_MASK (0xFFFFFE00U)
36680#define USBHSH_ATLPTD_ATL_BASE_SHIFT (9U)
36681/*! ATL_BASE - Base address to be used by the hardware to find the start of the ATL list.
36682 */
36683#define USBHSH_ATLPTD_ATL_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATLPTD_ATL_BASE_SHIFT)) & USBHSH_ATLPTD_ATL_BASE_MASK)
36684/*! @} */
36685
36686/*! @name ISOPTD - Memory base address where ISO PTD0 is stored */
36687/*! @{ */
36688#define USBHSH_ISOPTD_ISO_FIRST_MASK (0x3E0U)
36689#define USBHSH_ISOPTD_ISO_FIRST_SHIFT (5U)
36690/*! ISO_FIRST - This indicates the first PTD that is used by the hardware when it is processing the ISO list.
36691 */
36692#define USBHSH_ISOPTD_ISO_FIRST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISOPTD_ISO_FIRST_SHIFT)) & USBHSH_ISOPTD_ISO_FIRST_MASK)
36693#define USBHSH_ISOPTD_ISO_BASE_MASK (0xFFFFFC00U)
36694#define USBHSH_ISOPTD_ISO_BASE_SHIFT (10U)
36695/*! ISO_BASE - Base address to be used by the hardware to find the start of the ISO list.
36696 */
36697#define USBHSH_ISOPTD_ISO_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISOPTD_ISO_BASE_SHIFT)) & USBHSH_ISOPTD_ISO_BASE_MASK)
36698/*! @} */
36699
36700/*! @name INTPTD - Memory base address where INT PTD0 is stored */
36701/*! @{ */
36702#define USBHSH_INTPTD_INT_FIRST_MASK (0x3E0U)
36703#define USBHSH_INTPTD_INT_FIRST_SHIFT (5U)
36704/*! INT_FIRST - This indicates the first PTD that is used by the hardware when it is processing the INT list.
36705 */
36706#define USBHSH_INTPTD_INT_FIRST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INTPTD_INT_FIRST_SHIFT)) & USBHSH_INTPTD_INT_FIRST_MASK)
36707#define USBHSH_INTPTD_INT_BASE_MASK (0xFFFFFC00U)
36708#define USBHSH_INTPTD_INT_BASE_SHIFT (10U)
36709/*! INT_BASE - Base address to be used by the hardware to find the start of the INT list.
36710 */
36711#define USBHSH_INTPTD_INT_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INTPTD_INT_BASE_SHIFT)) & USBHSH_INTPTD_INT_BASE_MASK)
36712/*! @} */
36713
36714/*! @name DATAPAYLOAD - Memory base address that indicates the start of the data payload buffers */
36715/*! @{ */
36716#define USBHSH_DATAPAYLOAD_DAT_BASE_MASK (0xFFFF0000U)
36717#define USBHSH_DATAPAYLOAD_DAT_BASE_SHIFT (16U)
36718/*! DAT_BASE - Base address to be used by the hardware to find the start of the data payload section.
36719 */
36720#define USBHSH_DATAPAYLOAD_DAT_BASE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_DATAPAYLOAD_DAT_BASE_SHIFT)) & USBHSH_DATAPAYLOAD_DAT_BASE_MASK)
36721/*! @} */
36722
36723/*! @name USBCMD - USB Command register */
36724/*! @{ */
36725#define USBHSH_USBCMD_RS_MASK (0x1U)
36726#define USBHSH_USBCMD_RS_SHIFT (0U)
36727/*! RS - Run/Stop: 1b = Run.
36728 */
36729#define USBHSH_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_RS_SHIFT)) & USBHSH_USBCMD_RS_MASK)
36730#define USBHSH_USBCMD_HCRESET_MASK (0x2U)
36731#define USBHSH_USBCMD_HCRESET_SHIFT (1U)
36732/*! HCRESET - Host Controller Reset: This control bit is used by the software to reset the host controller.
36733 */
36734#define USBHSH_USBCMD_HCRESET(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_HCRESET_SHIFT)) & USBHSH_USBCMD_HCRESET_MASK)
36735#define USBHSH_USBCMD_FLS_MASK (0xCU)
36736#define USBHSH_USBCMD_FLS_SHIFT (2U)
36737/*! FLS - Frame List Size: This field specifies the size of the frame list.
36738 */
36739#define USBHSH_USBCMD_FLS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_FLS_SHIFT)) & USBHSH_USBCMD_FLS_MASK)
36740#define USBHSH_USBCMD_LHCR_MASK (0x80U)
36741#define USBHSH_USBCMD_LHCR_SHIFT (7U)
36742/*! LHCR - Light Host Controller Reset: This bit allows the driver software to reset the host
36743 * controller without affecting the state of the ports.
36744 */
36745#define USBHSH_USBCMD_LHCR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_LHCR_SHIFT)) & USBHSH_USBCMD_LHCR_MASK)
36746#define USBHSH_USBCMD_ATL_EN_MASK (0x100U)
36747#define USBHSH_USBCMD_ATL_EN_SHIFT (8U)
36748/*! ATL_EN - ATL List enabled.
36749 */
36750#define USBHSH_USBCMD_ATL_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_ATL_EN_SHIFT)) & USBHSH_USBCMD_ATL_EN_MASK)
36751#define USBHSH_USBCMD_ISO_EN_MASK (0x200U)
36752#define USBHSH_USBCMD_ISO_EN_SHIFT (9U)
36753/*! ISO_EN - ISO List enabled.
36754 */
36755#define USBHSH_USBCMD_ISO_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_ISO_EN_SHIFT)) & USBHSH_USBCMD_ISO_EN_MASK)
36756#define USBHSH_USBCMD_INT_EN_MASK (0x400U)
36757#define USBHSH_USBCMD_INT_EN_SHIFT (10U)
36758/*! INT_EN - INT List enabled.
36759 */
36760#define USBHSH_USBCMD_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_INT_EN_SHIFT)) & USBHSH_USBCMD_INT_EN_MASK)
36761#define USBHSH_USBCMD_HIRD_MASK (0xF000000U)
36762#define USBHSH_USBCMD_HIRD_SHIFT (24U)
36763/*! HIRD - Host-Initiated Resume Duration.
36764 */
36765#define USBHSH_USBCMD_HIRD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBCMD_HIRD_SHIFT)) & USBHSH_USBCMD_HIRD_MASK)
36766/*! @} */
36767
36768/*! @name USBSTS - USB Interrupt Status register */
36769/*! @{ */
36770#define USBHSH_USBSTS_PCD_MASK (0x4U)
36771#define USBHSH_USBSTS_PCD_SHIFT (2U)
36772/*! PCD - Port Change Detect: The host controller sets this bit to logic 1 when any port has a
36773 * change bit transition from a 0 to a one or a Force Port Resume bit transition from a 0 to a 1 as a
36774 * result of a J-K transition detected on a suspended port. or - the ID pin value changes or - an
36775 * LPM token has been transmitted to enter LPM L1 suspend state.. Software must write a one to
36776 * clear the bit
36777 */
36778#define USBHSH_USBSTS_PCD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_PCD_SHIFT)) & USBHSH_USBSTS_PCD_MASK)
36779#define USBHSH_USBSTS_FLR_MASK (0x8U)
36780#define USBHSH_USBSTS_FLR_SHIFT (3U)
36781/*! FLR - Frame List Rollover: The host controller sets this bit to logic 1 when the frame list
36782 * index rolls over its maximum value to 0.
36783 */
36784#define USBHSH_USBSTS_FLR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_FLR_SHIFT)) & USBHSH_USBSTS_FLR_MASK)
36785#define USBHSH_USBSTS_ATL_IRQ_MASK (0x10000U)
36786#define USBHSH_USBSTS_ATL_IRQ_SHIFT (16U)
36787/*! ATL_IRQ - ATL IRQ: Indicates that an ATL PTD (with I-bit set) was completed.
36788 */
36789#define USBHSH_USBSTS_ATL_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_ATL_IRQ_SHIFT)) & USBHSH_USBSTS_ATL_IRQ_MASK)
36790#define USBHSH_USBSTS_ISO_IRQ_MASK (0x20000U)
36791#define USBHSH_USBSTS_ISO_IRQ_SHIFT (17U)
36792/*! ISO_IRQ - ISO IRQ: Indicates that an ISO PTD (with I-bit set) was completed.
36793 */
36794#define USBHSH_USBSTS_ISO_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_ISO_IRQ_SHIFT)) & USBHSH_USBSTS_ISO_IRQ_MASK)
36795#define USBHSH_USBSTS_INT_IRQ_MASK (0x40000U)
36796#define USBHSH_USBSTS_INT_IRQ_SHIFT (18U)
36797/*! INT_IRQ - INT IRQ: Indicates that an INT PTD (with I-bit set) was completed.
36798 */
36799#define USBHSH_USBSTS_INT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_INT_IRQ_SHIFT)) & USBHSH_USBSTS_INT_IRQ_MASK)
36800#define USBHSH_USBSTS_SOF_IRQ_MASK (0x80000U)
36801#define USBHSH_USBSTS_SOF_IRQ_SHIFT (19U)
36802/*! SOF_IRQ - SOF interrupt: Every time when the host sends a Start of Frame token on the USB bus, this bit is set.
36803 */
36804#define USBHSH_USBSTS_SOF_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBSTS_SOF_IRQ_SHIFT)) & USBHSH_USBSTS_SOF_IRQ_MASK)
36805/*! @} */
36806
36807/*! @name USBINTR - USB Interrupt Enable register */
36808/*! @{ */
36809#define USBHSH_USBINTR_PCDE_MASK (0x4U)
36810#define USBHSH_USBINTR_PCDE_SHIFT (2U)
36811/*! PCDE - Port Change Detect Interrupt Enable: 1: enable 0: disable.
36812 */
36813#define USBHSH_USBINTR_PCDE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_PCDE_SHIFT)) & USBHSH_USBINTR_PCDE_MASK)
36814#define USBHSH_USBINTR_FLRE_MASK (0x8U)
36815#define USBHSH_USBINTR_FLRE_SHIFT (3U)
36816/*! FLRE - Frame List Rollover Interrupt Enable: 1: enable 0: disable.
36817 */
36818#define USBHSH_USBINTR_FLRE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_FLRE_SHIFT)) & USBHSH_USBINTR_FLRE_MASK)
36819#define USBHSH_USBINTR_ATL_IRQ_E_MASK (0x10000U)
36820#define USBHSH_USBINTR_ATL_IRQ_E_SHIFT (16U)
36821/*! ATL_IRQ_E - ATL IRQ Enable bit: 1: enable 0: disable.
36822 */
36823#define USBHSH_USBINTR_ATL_IRQ_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_ATL_IRQ_E_SHIFT)) & USBHSH_USBINTR_ATL_IRQ_E_MASK)
36824#define USBHSH_USBINTR_ISO_IRQ_E_MASK (0x20000U)
36825#define USBHSH_USBINTR_ISO_IRQ_E_SHIFT (17U)
36826/*! ISO_IRQ_E - ISO IRQ Enable bit: 1: enable 0: disable.
36827 */
36828#define USBHSH_USBINTR_ISO_IRQ_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_ISO_IRQ_E_SHIFT)) & USBHSH_USBINTR_ISO_IRQ_E_MASK)
36829#define USBHSH_USBINTR_INT_IRQ_E_MASK (0x40000U)
36830#define USBHSH_USBINTR_INT_IRQ_E_SHIFT (18U)
36831/*! INT_IRQ_E - INT IRQ Enable bit: 1: enable 0: disable.
36832 */
36833#define USBHSH_USBINTR_INT_IRQ_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_INT_IRQ_E_SHIFT)) & USBHSH_USBINTR_INT_IRQ_E_MASK)
36834#define USBHSH_USBINTR_SOF_E_MASK (0x80000U)
36835#define USBHSH_USBINTR_SOF_E_SHIFT (19U)
36836/*! SOF_E - SOF Interrupt Enable bit: 1: enable 0: disable.
36837 */
36838#define USBHSH_USBINTR_SOF_E(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_USBINTR_SOF_E_SHIFT)) & USBHSH_USBINTR_SOF_E_MASK)
36839/*! @} */
36840
36841/*! @name PORTSC1 - Port Status and Control register */
36842/*! @{ */
36843#define USBHSH_PORTSC1_CCS_MASK (0x1U)
36844#define USBHSH_PORTSC1_CCS_SHIFT (0U)
36845/*! CCS - Current Connect Status: Logic 1 indicates a device is present on the port.
36846 */
36847#define USBHSH_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_CCS_SHIFT)) & USBHSH_PORTSC1_CCS_MASK)
36848#define USBHSH_PORTSC1_CSC_MASK (0x2U)
36849#define USBHSH_PORTSC1_CSC_SHIFT (1U)
36850/*! CSC - Connect Status Change: Logic 1 means that the value of CCS has changed.
36851 */
36852#define USBHSH_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_CSC_SHIFT)) & USBHSH_PORTSC1_CSC_MASK)
36853#define USBHSH_PORTSC1_PED_MASK (0x4U)
36854#define USBHSH_PORTSC1_PED_SHIFT (2U)
36855/*! PED - Port Enabled/Disabled.
36856 */
36857#define USBHSH_PORTSC1_PED(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PED_SHIFT)) & USBHSH_PORTSC1_PED_MASK)
36858#define USBHSH_PORTSC1_PEDC_MASK (0x8U)
36859#define USBHSH_PORTSC1_PEDC_SHIFT (3U)
36860/*! PEDC - Port Enabled/Disabled Change: Logic 1 means that the value of PED has changed.
36861 */
36862#define USBHSH_PORTSC1_PEDC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PEDC_SHIFT)) & USBHSH_PORTSC1_PEDC_MASK)
36863#define USBHSH_PORTSC1_OCA_MASK (0x10U)
36864#define USBHSH_PORTSC1_OCA_SHIFT (4U)
36865/*! OCA - Over-current active: Logic 1 means that this port has an over-current condition.
36866 */
36867#define USBHSH_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_OCA_SHIFT)) & USBHSH_PORTSC1_OCA_MASK)
36868#define USBHSH_PORTSC1_OCC_MASK (0x20U)
36869#define USBHSH_PORTSC1_OCC_SHIFT (5U)
36870/*! OCC - Over-current change: Logic 1 means that the value of OCA has changed.
36871 */
36872#define USBHSH_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_OCC_SHIFT)) & USBHSH_PORTSC1_OCC_MASK)
36873#define USBHSH_PORTSC1_FPR_MASK (0x40U)
36874#define USBHSH_PORTSC1_FPR_SHIFT (6U)
36875/*! FPR - Force Port Resume: Logic 1 means resume (K-state) detected or driven on the port.
36876 */
36877#define USBHSH_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_FPR_SHIFT)) & USBHSH_PORTSC1_FPR_MASK)
36878#define USBHSH_PORTSC1_SUSP_MASK (0x80U)
36879#define USBHSH_PORTSC1_SUSP_SHIFT (7U)
36880/*! SUSP - Suspend: Logic 1 means port is in the suspend state.Logic 0 means the port is not suspended.
36881 */
36882#define USBHSH_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_SUSP_SHIFT)) & USBHSH_PORTSC1_SUSP_MASK)
36883#define USBHSH_PORTSC1_PR_MASK (0x100U)
36884#define USBHSH_PORTSC1_PR_SHIFT (8U)
36885/*! PR - Port Reset: Logic 1 means the port is in the reset state.
36886 */
36887#define USBHSH_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PR_SHIFT)) & USBHSH_PORTSC1_PR_MASK)
36888#define USBHSH_PORTSC1_SUS_L1_MASK (0x200U)
36889#define USBHSH_PORTSC1_SUS_L1_SHIFT (9U)
36890/*! SUS_L1 - Suspend using L1 0b = Suspend using L2 1b = Suspend using L1 When this bit is set to a
36891 * 1 and a non-zero value is specified in the Device Address field, the host controller will
36892 * generate an LPM Token to enter the L1 state whenever software writes a one to the Suspend bit, as
36893 * well as L1 exit timing during any device or host-initiated resume.
36894 */
36895#define USBHSH_PORTSC1_SUS_L1(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_SUS_L1_SHIFT)) & USBHSH_PORTSC1_SUS_L1_MASK)
36896#define USBHSH_PORTSC1_LS_MASK (0xC00U)
36897#define USBHSH_PORTSC1_LS_SHIFT (10U)
36898/*! LS - Line Status: This field reflects the current logical levels of the DP (bit 11) and DM (bit 10) signal lines.
36899 */
36900#define USBHSH_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_LS_SHIFT)) & USBHSH_PORTSC1_LS_MASK)
36901#define USBHSH_PORTSC1_PP_MASK (0x1000U)
36902#define USBHSH_PORTSC1_PP_SHIFT (12U)
36903/*! PP - Port Power: The function of this bit depends on the value of the Port Power Control (PPC) bit in the HCSPARAMS register.
36904 */
36905#define USBHSH_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PP_SHIFT)) & USBHSH_PORTSC1_PP_MASK)
36906#define USBHSH_PORTSC1_PIC_MASK (0xC000U)
36907#define USBHSH_PORTSC1_PIC_SHIFT (14U)
36908/*! PIC - Port Indicator Control : Writing to this field has no effect if the P_INDICATOR bit in the
36909 * HCSPARAMS register is logic 0.
36910 */
36911#define USBHSH_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PIC_SHIFT)) & USBHSH_PORTSC1_PIC_MASK)
36912#define USBHSH_PORTSC1_PTC_MASK (0xF0000U)
36913#define USBHSH_PORTSC1_PTC_SHIFT (16U)
36914/*! PTC - Port Test Control: A non-zero value indicates that the port is operating in the test mode as indicated by the value.
36915 */
36916#define USBHSH_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PTC_SHIFT)) & USBHSH_PORTSC1_PTC_MASK)
36917#define USBHSH_PORTSC1_PSPD_MASK (0x300000U)
36918#define USBHSH_PORTSC1_PSPD_SHIFT (20U)
36919/*! PSPD - Port Speed: 00b: Low-speed 01b: Full-speed 10b: High-speed 11b: Reserved.
36920 */
36921#define USBHSH_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_PSPD_SHIFT)) & USBHSH_PORTSC1_PSPD_MASK)
36922#define USBHSH_PORTSC1_WOO_MASK (0x400000U)
36923#define USBHSH_PORTSC1_WOO_SHIFT (22U)
36924/*! WOO - Wake on overcurrent enable: Writing this bit to a one enables the port to be sensitive to
36925 * overcurrent conditions as wake-up events.
36926 */
36927#define USBHSH_PORTSC1_WOO(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_WOO_SHIFT)) & USBHSH_PORTSC1_WOO_MASK)
36928#define USBHSH_PORTSC1_SUS_STAT_MASK (0x1800000U)
36929#define USBHSH_PORTSC1_SUS_STAT_SHIFT (23U)
36930/*! SUS_STAT - These two bits are used by software to determine whether the most recent L1 suspend
36931 * request was successful: 00b: Success-state transition was successful (ACK) 01b: Not Yet -
36932 * Device was unable to enter the L1 state at this time (NYET) 10b: Not supported - Device does not
36933 * support the L1 state (STALL) 11b: Timeout/Error - Device failed to respond or an error occurred.
36934 */
36935#define USBHSH_PORTSC1_SUS_STAT(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_SUS_STAT_SHIFT)) & USBHSH_PORTSC1_SUS_STAT_MASK)
36936#define USBHSH_PORTSC1_DEV_ADD_MASK (0xFE000000U)
36937#define USBHSH_PORTSC1_DEV_ADD_SHIFT (25U)
36938/*! DEV_ADD - Device Address for LPM tokens.
36939 */
36940#define USBHSH_PORTSC1_DEV_ADD(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTSC1_DEV_ADD_SHIFT)) & USBHSH_PORTSC1_DEV_ADD_MASK)
36941/*! @} */
36942
36943/*! @name ATLPTDD - Done map for each ATL PTD */
36944/*! @{ */
36945#define USBHSH_ATLPTDD_ATL_DONE_MASK (0xFFFFFFFFU)
36946#define USBHSH_ATLPTDD_ATL_DONE_SHIFT (0U)
36947/*! ATL_DONE - The bit corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is completed.
36948 */
36949#define USBHSH_ATLPTDD_ATL_DONE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATLPTDD_ATL_DONE_SHIFT)) & USBHSH_ATLPTDD_ATL_DONE_MASK)
36950/*! @} */
36951
36952/*! @name ATLPTDS - Skip map for each ATL PTD */
36953/*! @{ */
36954#define USBHSH_ATLPTDS_ATL_SKIP_MASK (0xFFFFFFFFU)
36955#define USBHSH_ATLPTDS_ATL_SKIP_SHIFT (0U)
36956/*! ATL_SKIP - When a bit in the PTD Skip Map is set to logic 1, the corresponding PTD will be
36957 * skipped, independent of the V bit setting.
36958 */
36959#define USBHSH_ATLPTDS_ATL_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ATLPTDS_ATL_SKIP_SHIFT)) & USBHSH_ATLPTDS_ATL_SKIP_MASK)
36960/*! @} */
36961
36962/*! @name ISOPTDD - Done map for each ISO PTD */
36963/*! @{ */
36964#define USBHSH_ISOPTDD_ISO_DONE_MASK (0xFFFFFFFFU)
36965#define USBHSH_ISOPTDD_ISO_DONE_SHIFT (0U)
36966/*! ISO_DONE - The bit corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is completed.
36967 */
36968#define USBHSH_ISOPTDD_ISO_DONE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISOPTDD_ISO_DONE_SHIFT)) & USBHSH_ISOPTDD_ISO_DONE_MASK)
36969/*! @} */
36970
36971/*! @name ISOPTDS - Skip map for each ISO PTD */
36972/*! @{ */
36973#define USBHSH_ISOPTDS_ISO_SKIP_MASK (0xFFFFFFFFU)
36974#define USBHSH_ISOPTDS_ISO_SKIP_SHIFT (0U)
36975/*! ISO_SKIP - The bit corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is completed.
36976 */
36977#define USBHSH_ISOPTDS_ISO_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_ISOPTDS_ISO_SKIP_SHIFT)) & USBHSH_ISOPTDS_ISO_SKIP_MASK)
36978/*! @} */
36979
36980/*! @name INTPTDD - Done map for each INT PTD */
36981/*! @{ */
36982#define USBHSH_INTPTDD_INT_DONE_MASK (0xFFFFFFFFU)
36983#define USBHSH_INTPTDD_INT_DONE_SHIFT (0U)
36984/*! INT_DONE - The bit corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is completed.
36985 */
36986#define USBHSH_INTPTDD_INT_DONE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INTPTDD_INT_DONE_SHIFT)) & USBHSH_INTPTDD_INT_DONE_MASK)
36987/*! @} */
36988
36989/*! @name INTPTDS - Skip map for each INT PTD */
36990/*! @{ */
36991#define USBHSH_INTPTDS_INT_SKIP_MASK (0xFFFFFFFFU)
36992#define USBHSH_INTPTDS_INT_SKIP_SHIFT (0U)
36993/*! INT_SKIP - When a bit in the PTD Skip Map is set to logic 1, the corresponding PTD will be
36994 * skipped, independent of the V bit setting.
36995 */
36996#define USBHSH_INTPTDS_INT_SKIP(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_INTPTDS_INT_SKIP_SHIFT)) & USBHSH_INTPTDS_INT_SKIP_MASK)
36997/*! @} */
36998
36999/*! @name LASTPTD - Marks the last PTD in the list for ISO, INT and ATL */
37000/*! @{ */
37001#define USBHSH_LASTPTD_ATL_LAST_MASK (0x1FU)
37002#define USBHSH_LASTPTD_ATL_LAST_SHIFT (0U)
37003/*! ATL_LAST - If hardware has reached this PTD and the J bit is not set, it will go to PTD0 as the next PTD to be processed.
37004 */
37005#define USBHSH_LASTPTD_ATL_LAST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_LASTPTD_ATL_LAST_SHIFT)) & USBHSH_LASTPTD_ATL_LAST_MASK)
37006#define USBHSH_LASTPTD_ISO_LAST_MASK (0x1F00U)
37007#define USBHSH_LASTPTD_ISO_LAST_SHIFT (8U)
37008/*! ISO_LAST - This indicates the last PTD in the ISO list.
37009 */
37010#define USBHSH_LASTPTD_ISO_LAST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_LASTPTD_ISO_LAST_SHIFT)) & USBHSH_LASTPTD_ISO_LAST_MASK)
37011#define USBHSH_LASTPTD_INT_LAST_MASK (0x1F0000U)
37012#define USBHSH_LASTPTD_INT_LAST_SHIFT (16U)
37013/*! INT_LAST - This indicates the last PTD in the INT list.
37014 */
37015#define USBHSH_LASTPTD_INT_LAST(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_LASTPTD_INT_LAST_SHIFT)) & USBHSH_LASTPTD_INT_LAST_MASK)
37016/*! @} */
37017
37018/*! @name PORTMODE - Controls the port if it is attached to the host block or the device block */
37019/*! @{ */
37020#define USBHSH_PORTMODE_DEV_ENABLE_MASK (0x10000U)
37021#define USBHSH_PORTMODE_DEV_ENABLE_SHIFT (16U)
37022/*! DEV_ENABLE - If this bit is set to one, the port will behave as a USB device. If this bit is set
37023 * to zero, the port will be controlled by the USB host block.
37024 */
37025#define USBHSH_PORTMODE_DEV_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBHSH_PORTMODE_DEV_ENABLE_SHIFT)) & USBHSH_PORTMODE_DEV_ENABLE_MASK)
37026/*! @} */
37027
37028
37029/*!
37030 * @}
37031 */ /* end of group USBHSH_Register_Masks */
37032
37033
37034/* USBHSH - Peripheral instance base addresses */
37035#if (__ARM_FEATURE_CMSE & 0x2)
37036 /** Peripheral USBHSH base address */
37037 #define USBHSH_BASE (0x50145000u)
37038 /** Peripheral USBHSH base address */
37039 #define USBHSH_BASE_NS (0x40145000u)
37040 /** Peripheral USBHSH base pointer */
37041 #define USBHSH ((USBHSH_Type *)USBHSH_BASE)
37042 /** Peripheral USBHSH base pointer */
37043 #define USBHSH_NS ((USBHSH_Type *)USBHSH_BASE_NS)
37044 /** Array initializer of USBHSH peripheral base addresses */
37045 #define USBHSH_BASE_ADDRS { USBHSH_BASE }
37046 /** Array initializer of USBHSH peripheral base pointers */
37047 #define USBHSH_BASE_PTRS { USBHSH }
37048 /** Array initializer of USBHSH peripheral base addresses */
37049 #define USBHSH_BASE_ADDRS_NS { USBHSH_BASE_NS }
37050 /** Array initializer of USBHSH peripheral base pointers */
37051 #define USBHSH_BASE_PTRS_NS { USBHSH_NS }
37052#else
37053 /** Peripheral USBHSH base address */
37054 #define USBHSH_BASE (0x40145000u)
37055 /** Peripheral USBHSH base pointer */
37056 #define USBHSH ((USBHSH_Type *)USBHSH_BASE)
37057 /** Array initializer of USBHSH peripheral base addresses */
37058 #define USBHSH_BASE_ADDRS { USBHSH_BASE }
37059 /** Array initializer of USBHSH peripheral base pointers */
37060 #define USBHSH_BASE_PTRS { USBHSH }
37061#endif
37062/** Interrupt vectors for the USBHSH peripheral type */
37063#define USBHSH_IRQS { USB_IRQn }
37064#define USBHSH_NEEDCLK_IRQS { USB_WAKEUP_IRQn }
37065
37066/*!
37067 * @}
37068 */ /* end of group USBHSH_Peripheral_Access_Layer */
37069
37070
37071/* ----------------------------------------------------------------------------
37072 -- USBPHY Peripheral Access Layer
37073 ---------------------------------------------------------------------------- */
37074
37075/*!
37076 * @addtogroup USBPHY_Peripheral_Access_Layer USBPHY Peripheral Access Layer
37077 * @{
37078 */
37079
37080/** USBPHY - Register Layout Typedef */
37081typedef struct {
37082 __IO uint32_t PWD; /**< USB PHY Power-Down Register, offset: 0x0 */
37083 __IO uint32_t PWD_SET; /**< USB PHY Power-Down Register, offset: 0x4 */
37084 __IO uint32_t PWD_CLR; /**< USB PHY Power-Down Register, offset: 0x8 */
37085 __IO uint32_t PWD_TOG; /**< USB PHY Power-Down Register, offset: 0xC */
37086 __IO uint32_t TX; /**< USB PHY Transmitter Control Register, offset: 0x10 */
37087 __IO uint32_t TX_SET; /**< USB PHY Transmitter Control Register, offset: 0x14 */
37088 __IO uint32_t TX_CLR; /**< USB PHY Transmitter Control Register, offset: 0x18 */
37089 __IO uint32_t TX_TOG; /**< USB PHY Transmitter Control Register, offset: 0x1C */
37090 __IO uint32_t RX; /**< USB PHY Receiver Control Register, offset: 0x20 */
37091 __IO uint32_t RX_SET; /**< USB PHY Receiver Control Register, offset: 0x24 */
37092 __IO uint32_t RX_CLR; /**< USB PHY Receiver Control Register, offset: 0x28 */
37093 __IO uint32_t RX_TOG; /**< USB PHY Receiver Control Register, offset: 0x2C */
37094 __IO uint32_t CTRL; /**< USB PHY General Control Register, offset: 0x30 */
37095 __IO uint32_t CTRL_SET; /**< USB PHY General Control Register, offset: 0x34 */
37096 __IO uint32_t CTRL_CLR; /**< USB PHY General Control Register, offset: 0x38 */
37097 __IO uint32_t CTRL_TOG; /**< USB PHY General Control Register, offset: 0x3C */
37098 __IO uint32_t STATUS; /**< USB PHY Status Register, offset: 0x40 */
37099 uint8_t RESERVED_0[12];
37100 __IO uint32_t DEBUG0; /**< USB PHY Debug Register 0, offset: 0x50 */
37101 __IO uint32_t DEBUG0_SET; /**< USB PHY Debug Register 0, offset: 0x54 */
37102 __IO uint32_t DEBUG0_CLR; /**< USB PHY Debug Register 0, offset: 0x58 */
37103 __IO uint32_t DEBUG0_TOG; /**< USB PHY Debug Register 0, offset: 0x5C */
37104 uint8_t RESERVED_1[16];
37105 __IO uint32_t DEBUG1; /**< UTMI Debug Status Register 1, offset: 0x70 */
37106 __IO uint32_t DEBUG1_SET; /**< UTMI Debug Status Register 1, offset: 0x74 */
37107 __IO uint32_t DEBUG1_CLR; /**< UTMI Debug Status Register 1, offset: 0x78 */
37108 __IO uint32_t DEBUG1_TOG; /**< UTMI Debug Status Register 1, offset: 0x7C */
37109 __I uint32_t VERSION; /**< UTMI RTL Version, offset: 0x80 */
37110 uint8_t RESERVED_2[28];
37111 __IO uint32_t PLL_SIC; /**< USB PHY PLL Control/Status Register, offset: 0xA0 */
37112 __IO uint32_t PLL_SIC_SET; /**< USB PHY PLL Control/Status Register, offset: 0xA4 */
37113 __IO uint32_t PLL_SIC_CLR; /**< USB PHY PLL Control/Status Register, offset: 0xA8 */
37114 __IO uint32_t PLL_SIC_TOG; /**< USB PHY PLL Control/Status Register, offset: 0xAC */
37115 uint8_t RESERVED_3[16];
37116 __IO uint32_t USB1_VBUS_DETECT; /**< USB PHY VBUS Detect Control Register, offset: 0xC0 */
37117 __IO uint32_t USB1_VBUS_DETECT_SET; /**< USB PHY VBUS Detect Control Register, offset: 0xC4 */
37118 __IO uint32_t USB1_VBUS_DETECT_CLR; /**< USB PHY VBUS Detect Control Register, offset: 0xC8 */
37119 __IO uint32_t USB1_VBUS_DETECT_TOG; /**< USB PHY VBUS Detect Control Register, offset: 0xCC */
37120 __I uint32_t USB1_VBUS_DET_STAT; /**< USB PHY VBUS Detector Status Register, offset: 0xD0 */
37121 uint8_t RESERVED_4[12];
37122 __IO uint32_t USB1_CHRG_DETECT; /**< USB PHY Charger Detect Control Register, offset: 0xE0 */
37123 __IO uint32_t USB1_CHRG_DETECT_SET; /**< USB PHY Charger Detect Control Register, offset: 0xE4 */
37124 __IO uint32_t USB1_CHRG_DETECT_CLR; /**< USB PHY Charger Detect Control Register, offset: 0xE8 */
37125 __IO uint32_t USB1_CHRG_DETECT_TOG; /**< USB PHY Charger Detect Control Register, offset: 0xEC */
37126 __I uint32_t USB1_CHRG_DET_STAT; /**< USB PHY Charger Detect Status Register, offset: 0xF0 */
37127 uint8_t RESERVED_5[12];
37128 __IO uint32_t ANACTRL; /**< USB PHY Analog Control Register, offset: 0x100 */
37129 __IO uint32_t ANACTRL_SET; /**< USB PHY Analog Control Register, offset: 0x104 */
37130 __IO uint32_t ANACTRL_CLR; /**< USB PHY Analog Control Register, offset: 0x108 */
37131 __IO uint32_t ANACTRL_TOG; /**< USB PHY Analog Control Register, offset: 0x10C */
37132 __IO uint32_t USB1_LOOPBACK; /**< USB PHY Loopback Control/Status Register, offset: 0x110 */
37133 __IO uint32_t USB1_LOOPBACK_SET; /**< USB PHY Loopback Control/Status Register, offset: 0x114 */
37134 __IO uint32_t USB1_LOOPBACK_CLR; /**< USB PHY Loopback Control/Status Register, offset: 0x118 */
37135 __IO uint32_t USB1_LOOPBACK_TOG; /**< USB PHY Loopback Control/Status Register, offset: 0x11C */
37136 __IO uint32_t USB1_LOOPBACK_HSFSCNT; /**< USB PHY Loopback Packet Number Select Register, offset: 0x120 */
37137 __IO uint32_t USB1_LOOPBACK_HSFSCNT_SET; /**< USB PHY Loopback Packet Number Select Register, offset: 0x124 */
37138 __IO uint32_t USB1_LOOPBACK_HSFSCNT_CLR; /**< USB PHY Loopback Packet Number Select Register, offset: 0x128 */
37139 __IO uint32_t USB1_LOOPBACK_HSFSCNT_TOG; /**< USB PHY Loopback Packet Number Select Register, offset: 0x12C */
37140 __IO uint32_t TRIM_OVERRIDE_EN; /**< USB PHY Trim Override Enable Register, offset: 0x130 */
37141 __IO uint32_t TRIM_OVERRIDE_EN_SET; /**< USB PHY Trim Override Enable Register, offset: 0x134 */
37142 __IO uint32_t TRIM_OVERRIDE_EN_CLR; /**< USB PHY Trim Override Enable Register, offset: 0x138 */
37143 __IO uint32_t TRIM_OVERRIDE_EN_TOG; /**< USB PHY Trim Override Enable Register, offset: 0x13C */
37144} USBPHY_Type;
37145
37146/* ----------------------------------------------------------------------------
37147 -- USBPHY Register Masks
37148 ---------------------------------------------------------------------------- */
37149
37150/*!
37151 * @addtogroup USBPHY_Register_Masks USBPHY Register Masks
37152 * @{
37153 */
37154
37155/*! @name PWD - USB PHY Power-Down Register */
37156/*! @{ */
37157#define USBPHY_PWD_TXPWDFS_MASK (0x400U)
37158#define USBPHY_PWD_TXPWDFS_SHIFT (10U)
37159/*! TXPWDFS
37160 * 0b0..Normal operation.
37161 * 0b1..Power-down the USB full-speed drivers. This turns off the current starvation sources and puts the
37162 */
37163#define USBPHY_PWD_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDFS_SHIFT)) & USBPHY_PWD_TXPWDFS_MASK)
37164#define USBPHY_PWD_TXPWDIBIAS_MASK (0x800U)
37165#define USBPHY_PWD_TXPWDIBIAS_SHIFT (11U)
37166/*! TXPWDIBIAS
37167 * 0b0..Normal operation.
37168 * 0b1..Power-down the USB PHY current bias block for the transmitter. This bit should be set only when the
37169 */
37170#define USBPHY_PWD_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TXPWDIBIAS_MASK)
37171#define USBPHY_PWD_TXPWDV2I_MASK (0x1000U)
37172#define USBPHY_PWD_TXPWDV2I_SHIFT (12U)
37173/*! TXPWDV2I
37174 * 0b0..Normal operation.
37175 * 0b1..Power-down the USB PHY transmit V-to-I converter and the current mirror
37176 */
37177#define USBPHY_PWD_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDV2I_SHIFT)) & USBPHY_PWD_TXPWDV2I_MASK)
37178#define USBPHY_PWD_RXPWDENV_MASK (0x20000U)
37179#define USBPHY_PWD_RXPWDENV_SHIFT (17U)
37180/*! RXPWDENV
37181 * 0b0..Normal operation.
37182 * 0b1..Power-down the USB high-speed receiver envelope detector (squelch signal)
37183 */
37184#define USBPHY_PWD_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDENV_SHIFT)) & USBPHY_PWD_RXPWDENV_MASK)
37185#define USBPHY_PWD_RXPWD1PT1_MASK (0x40000U)
37186#define USBPHY_PWD_RXPWD1PT1_SHIFT (18U)
37187/*! RXPWD1PT1
37188 * 0b0..Normal operation.
37189 * 0b1..Power-down the USB full-speed differential receiver.
37190 */
37191#define USBPHY_PWD_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWD1PT1_SHIFT)) & USBPHY_PWD_RXPWD1PT1_MASK)
37192#define USBPHY_PWD_RXPWDDIFF_MASK (0x80000U)
37193#define USBPHY_PWD_RXPWDDIFF_SHIFT (19U)
37194/*! RXPWDDIFF
37195 * 0b0..Normal operation.
37196 * 0b1..Power-down the USB high-speed differential receive
37197 */
37198#define USBPHY_PWD_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDDIFF_SHIFT)) & USBPHY_PWD_RXPWDDIFF_MASK)
37199#define USBPHY_PWD_RXPWDRX_MASK (0x100000U)
37200#define USBPHY_PWD_RXPWDRX_SHIFT (20U)
37201/*! RXPWDRX
37202 * 0b0..Normal operation.
37203 * 0b1..Power-down the entire USB PHY receiver block except for the full-speed differential receiver
37204 */
37205#define USBPHY_PWD_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDRX_SHIFT)) & USBPHY_PWD_RXPWDRX_MASK)
37206/*! @} */
37207
37208/*! @name PWD_SET - USB PHY Power-Down Register */
37209/*! @{ */
37210#define USBPHY_PWD_SET_TXPWDFS_MASK (0x400U)
37211#define USBPHY_PWD_SET_TXPWDFS_SHIFT (10U)
37212/*! TXPWDFS
37213 * 0b0..Normal operation.
37214 * 0b1..Power-down the USB full-speed drivers. This turns off the current starvation sources and puts the
37215 */
37216#define USBPHY_PWD_SET_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDFS_SHIFT)) & USBPHY_PWD_SET_TXPWDFS_MASK)
37217#define USBPHY_PWD_SET_TXPWDIBIAS_MASK (0x800U)
37218#define USBPHY_PWD_SET_TXPWDIBIAS_SHIFT (11U)
37219/*! TXPWDIBIAS
37220 * 0b0..Normal operation.
37221 * 0b1..Power-down the USB PHY current bias block for the transmitter. This bit should be set only when the
37222 */
37223#define USBPHY_PWD_SET_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_SET_TXPWDIBIAS_MASK)
37224#define USBPHY_PWD_SET_TXPWDV2I_MASK (0x1000U)
37225#define USBPHY_PWD_SET_TXPWDV2I_SHIFT (12U)
37226/*! TXPWDV2I
37227 * 0b0..Normal operation.
37228 * 0b1..Power-down the USB PHY transmit V-to-I converter and the current mirror
37229 */
37230#define USBPHY_PWD_SET_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDV2I_SHIFT)) & USBPHY_PWD_SET_TXPWDV2I_MASK)
37231#define USBPHY_PWD_SET_RXPWDENV_MASK (0x20000U)
37232#define USBPHY_PWD_SET_RXPWDENV_SHIFT (17U)
37233/*! RXPWDENV
37234 * 0b0..Normal operation.
37235 * 0b1..Power-down the USB high-speed receiver envelope detector (squelch signal)
37236 */
37237#define USBPHY_PWD_SET_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDENV_SHIFT)) & USBPHY_PWD_SET_RXPWDENV_MASK)
37238#define USBPHY_PWD_SET_RXPWD1PT1_MASK (0x40000U)
37239#define USBPHY_PWD_SET_RXPWD1PT1_SHIFT (18U)
37240/*! RXPWD1PT1
37241 * 0b0..Normal operation.
37242 * 0b1..Power-down the USB full-speed differential receiver.
37243 */
37244#define USBPHY_PWD_SET_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWD1PT1_SHIFT)) & USBPHY_PWD_SET_RXPWD1PT1_MASK)
37245#define USBPHY_PWD_SET_RXPWDDIFF_MASK (0x80000U)
37246#define USBPHY_PWD_SET_RXPWDDIFF_SHIFT (19U)
37247/*! RXPWDDIFF
37248 * 0b0..Normal operation.
37249 * 0b1..Power-down the USB high-speed differential receive
37250 */
37251#define USBPHY_PWD_SET_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDDIFF_SHIFT)) & USBPHY_PWD_SET_RXPWDDIFF_MASK)
37252#define USBPHY_PWD_SET_RXPWDRX_MASK (0x100000U)
37253#define USBPHY_PWD_SET_RXPWDRX_SHIFT (20U)
37254/*! RXPWDRX
37255 * 0b0..Normal operation.
37256 * 0b1..Power-down the entire USB PHY receiver block except for the full-speed differential receiver
37257 */
37258#define USBPHY_PWD_SET_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDRX_SHIFT)) & USBPHY_PWD_SET_RXPWDRX_MASK)
37259/*! @} */
37260
37261/*! @name PWD_CLR - USB PHY Power-Down Register */
37262/*! @{ */
37263#define USBPHY_PWD_CLR_TXPWDFS_MASK (0x400U)
37264#define USBPHY_PWD_CLR_TXPWDFS_SHIFT (10U)
37265/*! TXPWDFS
37266 * 0b0..Normal operation.
37267 * 0b1..Power-down the USB full-speed drivers. This turns off the current starvation sources and puts the
37268 */
37269#define USBPHY_PWD_CLR_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDFS_SHIFT)) & USBPHY_PWD_CLR_TXPWDFS_MASK)
37270#define USBPHY_PWD_CLR_TXPWDIBIAS_MASK (0x800U)
37271#define USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT (11U)
37272/*! TXPWDIBIAS
37273 * 0b0..Normal operation.
37274 * 0b1..Power-down the USB PHY current bias block for the transmitter. This bit should be set only when the
37275 */
37276#define USBPHY_PWD_CLR_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_CLR_TXPWDIBIAS_MASK)
37277#define USBPHY_PWD_CLR_TXPWDV2I_MASK (0x1000U)
37278#define USBPHY_PWD_CLR_TXPWDV2I_SHIFT (12U)
37279/*! TXPWDV2I
37280 * 0b0..Normal operation.
37281 * 0b1..Power-down the USB PHY transmit V-to-I converter and the current mirror
37282 */
37283#define USBPHY_PWD_CLR_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDV2I_SHIFT)) & USBPHY_PWD_CLR_TXPWDV2I_MASK)
37284#define USBPHY_PWD_CLR_RXPWDENV_MASK (0x20000U)
37285#define USBPHY_PWD_CLR_RXPWDENV_SHIFT (17U)
37286/*! RXPWDENV
37287 * 0b0..Normal operation.
37288 * 0b1..Power-down the USB high-speed receiver envelope detector (squelch signal)
37289 */
37290#define USBPHY_PWD_CLR_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDENV_SHIFT)) & USBPHY_PWD_CLR_RXPWDENV_MASK)
37291#define USBPHY_PWD_CLR_RXPWD1PT1_MASK (0x40000U)
37292#define USBPHY_PWD_CLR_RXPWD1PT1_SHIFT (18U)
37293/*! RXPWD1PT1
37294 * 0b0..Normal operation.
37295 * 0b1..Power-down the USB full-speed differential receiver.
37296 */
37297#define USBPHY_PWD_CLR_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWD1PT1_SHIFT)) & USBPHY_PWD_CLR_RXPWD1PT1_MASK)
37298#define USBPHY_PWD_CLR_RXPWDDIFF_MASK (0x80000U)
37299#define USBPHY_PWD_CLR_RXPWDDIFF_SHIFT (19U)
37300/*! RXPWDDIFF
37301 * 0b0..Normal operation.
37302 * 0b1..Power-down the USB high-speed differential receive
37303 */
37304#define USBPHY_PWD_CLR_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDDIFF_SHIFT)) & USBPHY_PWD_CLR_RXPWDDIFF_MASK)
37305#define USBPHY_PWD_CLR_RXPWDRX_MASK (0x100000U)
37306#define USBPHY_PWD_CLR_RXPWDRX_SHIFT (20U)
37307/*! RXPWDRX
37308 * 0b0..Normal operation.
37309 * 0b1..Power-down the entire USB PHY receiver block except for the full-speed differential receiver
37310 */
37311#define USBPHY_PWD_CLR_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDRX_SHIFT)) & USBPHY_PWD_CLR_RXPWDRX_MASK)
37312/*! @} */
37313
37314/*! @name PWD_TOG - USB PHY Power-Down Register */
37315/*! @{ */
37316#define USBPHY_PWD_TOG_TXPWDFS_MASK (0x400U)
37317#define USBPHY_PWD_TOG_TXPWDFS_SHIFT (10U)
37318/*! TXPWDFS
37319 * 0b0..Normal operation.
37320 * 0b1..Power-down the USB full-speed drivers. This turns off the current starvation sources and puts the
37321 */
37322#define USBPHY_PWD_TOG_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDFS_SHIFT)) & USBPHY_PWD_TOG_TXPWDFS_MASK)
37323#define USBPHY_PWD_TOG_TXPWDIBIAS_MASK (0x800U)
37324#define USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT (11U)
37325/*! TXPWDIBIAS
37326 * 0b0..Normal operation.
37327 * 0b1..Power-down the USB PHY current bias block for the transmitter. This bit should be set only when the
37328 */
37329#define USBPHY_PWD_TOG_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TOG_TXPWDIBIAS_MASK)
37330#define USBPHY_PWD_TOG_TXPWDV2I_MASK (0x1000U)
37331#define USBPHY_PWD_TOG_TXPWDV2I_SHIFT (12U)
37332/*! TXPWDV2I
37333 * 0b0..Normal operation.
37334 * 0b1..Power-down the USB PHY transmit V-to-I converter and the current mirror
37335 */
37336#define USBPHY_PWD_TOG_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDV2I_SHIFT)) & USBPHY_PWD_TOG_TXPWDV2I_MASK)
37337#define USBPHY_PWD_TOG_RXPWDENV_MASK (0x20000U)
37338#define USBPHY_PWD_TOG_RXPWDENV_SHIFT (17U)
37339/*! RXPWDENV
37340 * 0b0..Normal operation.
37341 * 0b1..Power-down the USB high-speed receiver envelope detector (squelch signal)
37342 */
37343#define USBPHY_PWD_TOG_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDENV_SHIFT)) & USBPHY_PWD_TOG_RXPWDENV_MASK)
37344#define USBPHY_PWD_TOG_RXPWD1PT1_MASK (0x40000U)
37345#define USBPHY_PWD_TOG_RXPWD1PT1_SHIFT (18U)
37346/*! RXPWD1PT1
37347 * 0b0..Normal operation.
37348 * 0b1..Power-down the USB full-speed differential receiver.
37349 */
37350#define USBPHY_PWD_TOG_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWD1PT1_SHIFT)) & USBPHY_PWD_TOG_RXPWD1PT1_MASK)
37351#define USBPHY_PWD_TOG_RXPWDDIFF_MASK (0x80000U)
37352#define USBPHY_PWD_TOG_RXPWDDIFF_SHIFT (19U)
37353/*! RXPWDDIFF
37354 * 0b0..Normal operation.
37355 * 0b1..Power-down the USB high-speed differential receive
37356 */
37357#define USBPHY_PWD_TOG_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDDIFF_SHIFT)) & USBPHY_PWD_TOG_RXPWDDIFF_MASK)
37358#define USBPHY_PWD_TOG_RXPWDRX_MASK (0x100000U)
37359#define USBPHY_PWD_TOG_RXPWDRX_SHIFT (20U)
37360/*! RXPWDRX
37361 * 0b0..Normal operation.
37362 * 0b1..Power-down the entire USB PHY receiver block except for the full-speed differential receiver
37363 */
37364#define USBPHY_PWD_TOG_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDRX_SHIFT)) & USBPHY_PWD_TOG_RXPWDRX_MASK)
37365/*! @} */
37366
37367/*! @name TX - USB PHY Transmitter Control Register */
37368/*! @{ */
37369#define USBPHY_TX_D_CAL_MASK (0xFU)
37370#define USBPHY_TX_D_CAL_SHIFT (0U)
37371/*! D_CAL
37372 * 0b0000..Maximum current, approximately 19% above nominal.
37373 * 0b0111..Nominal
37374 * 0b1111..Minimum current, approximately 19% below nominal.
37375 */
37376#define USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TX_D_CAL_MASK)
37377#define USBPHY_TX_TXCAL45DM_MASK (0xF00U)
37378#define USBPHY_TX_TXCAL45DM_SHIFT (8U)
37379#define USBPHY_TX_TXCAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DM_SHIFT)) & USBPHY_TX_TXCAL45DM_MASK)
37380#define USBPHY_TX_TXENCAL45DN_MASK (0x2000U)
37381#define USBPHY_TX_TXENCAL45DN_SHIFT (13U)
37382#define USBPHY_TX_TXENCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXENCAL45DN_SHIFT)) & USBPHY_TX_TXENCAL45DN_MASK)
37383#define USBPHY_TX_TXCAL45DP_MASK (0xF0000U)
37384#define USBPHY_TX_TXCAL45DP_SHIFT (16U)
37385#define USBPHY_TX_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DP_SHIFT)) & USBPHY_TX_TXCAL45DP_MASK)
37386#define USBPHY_TX_TXENCAL45DP_MASK (0x200000U)
37387#define USBPHY_TX_TXENCAL45DP_SHIFT (21U)
37388#define USBPHY_TX_TXENCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXENCAL45DP_SHIFT)) & USBPHY_TX_TXENCAL45DP_MASK)
37389/*! @} */
37390
37391/*! @name TX_SET - USB PHY Transmitter Control Register */
37392/*! @{ */
37393#define USBPHY_TX_SET_D_CAL_MASK (0xFU)
37394#define USBPHY_TX_SET_D_CAL_SHIFT (0U)
37395/*! D_CAL
37396 * 0b0000..Maximum current, approximately 19% above nominal.
37397 * 0b0111..Nominal
37398 * 0b1111..Minimum current, approximately 19% below nominal.
37399 */
37400#define USBPHY_TX_SET_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_D_CAL_SHIFT)) & USBPHY_TX_SET_D_CAL_MASK)
37401#define USBPHY_TX_SET_TXCAL45DM_MASK (0xF00U)
37402#define USBPHY_TX_SET_TXCAL45DM_SHIFT (8U)
37403#define USBPHY_TX_SET_TXCAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DM_SHIFT)) & USBPHY_TX_SET_TXCAL45DM_MASK)
37404#define USBPHY_TX_SET_TXENCAL45DN_MASK (0x2000U)
37405#define USBPHY_TX_SET_TXENCAL45DN_SHIFT (13U)
37406#define USBPHY_TX_SET_TXENCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXENCAL45DN_SHIFT)) & USBPHY_TX_SET_TXENCAL45DN_MASK)
37407#define USBPHY_TX_SET_TXCAL45DP_MASK (0xF0000U)
37408#define USBPHY_TX_SET_TXCAL45DP_SHIFT (16U)
37409#define USBPHY_TX_SET_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DP_SHIFT)) & USBPHY_TX_SET_TXCAL45DP_MASK)
37410#define USBPHY_TX_SET_TXENCAL45DP_MASK (0x200000U)
37411#define USBPHY_TX_SET_TXENCAL45DP_SHIFT (21U)
37412#define USBPHY_TX_SET_TXENCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXENCAL45DP_SHIFT)) & USBPHY_TX_SET_TXENCAL45DP_MASK)
37413/*! @} */
37414
37415/*! @name TX_CLR - USB PHY Transmitter Control Register */
37416/*! @{ */
37417#define USBPHY_TX_CLR_D_CAL_MASK (0xFU)
37418#define USBPHY_TX_CLR_D_CAL_SHIFT (0U)
37419/*! D_CAL
37420 * 0b0000..Maximum current, approximately 19% above nominal.
37421 * 0b0111..Nominal
37422 * 0b1111..Minimum current, approximately 19% below nominal.
37423 */
37424#define USBPHY_TX_CLR_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_D_CAL_SHIFT)) & USBPHY_TX_CLR_D_CAL_MASK)
37425#define USBPHY_TX_CLR_TXCAL45DM_MASK (0xF00U)
37426#define USBPHY_TX_CLR_TXCAL45DM_SHIFT (8U)
37427#define USBPHY_TX_CLR_TXCAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DM_SHIFT)) & USBPHY_TX_CLR_TXCAL45DM_MASK)
37428#define USBPHY_TX_CLR_TXENCAL45DN_MASK (0x2000U)
37429#define USBPHY_TX_CLR_TXENCAL45DN_SHIFT (13U)
37430#define USBPHY_TX_CLR_TXENCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXENCAL45DN_SHIFT)) & USBPHY_TX_CLR_TXENCAL45DN_MASK)
37431#define USBPHY_TX_CLR_TXCAL45DP_MASK (0xF0000U)
37432#define USBPHY_TX_CLR_TXCAL45DP_SHIFT (16U)
37433#define USBPHY_TX_CLR_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DP_SHIFT)) & USBPHY_TX_CLR_TXCAL45DP_MASK)
37434#define USBPHY_TX_CLR_TXENCAL45DP_MASK (0x200000U)
37435#define USBPHY_TX_CLR_TXENCAL45DP_SHIFT (21U)
37436#define USBPHY_TX_CLR_TXENCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXENCAL45DP_SHIFT)) & USBPHY_TX_CLR_TXENCAL45DP_MASK)
37437/*! @} */
37438
37439/*! @name TX_TOG - USB PHY Transmitter Control Register */
37440/*! @{ */
37441#define USBPHY_TX_TOG_D_CAL_MASK (0xFU)
37442#define USBPHY_TX_TOG_D_CAL_SHIFT (0U)
37443/*! D_CAL
37444 * 0b0000..Maximum current, approximately 19% above nominal.
37445 * 0b0111..Nominal
37446 * 0b1111..Minimum current, approximately 19% below nominal.
37447 */
37448#define USBPHY_TX_TOG_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_D_CAL_SHIFT)) & USBPHY_TX_TOG_D_CAL_MASK)
37449#define USBPHY_TX_TOG_TXCAL45DM_MASK (0xF00U)
37450#define USBPHY_TX_TOG_TXCAL45DM_SHIFT (8U)
37451#define USBPHY_TX_TOG_TXCAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DM_SHIFT)) & USBPHY_TX_TOG_TXCAL45DM_MASK)
37452#define USBPHY_TX_TOG_TXENCAL45DN_MASK (0x2000U)
37453#define USBPHY_TX_TOG_TXENCAL45DN_SHIFT (13U)
37454#define USBPHY_TX_TOG_TXENCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXENCAL45DN_SHIFT)) & USBPHY_TX_TOG_TXENCAL45DN_MASK)
37455#define USBPHY_TX_TOG_TXCAL45DP_MASK (0xF0000U)
37456#define USBPHY_TX_TOG_TXCAL45DP_SHIFT (16U)
37457#define USBPHY_TX_TOG_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DP_SHIFT)) & USBPHY_TX_TOG_TXCAL45DP_MASK)
37458#define USBPHY_TX_TOG_TXENCAL45DP_MASK (0x200000U)
37459#define USBPHY_TX_TOG_TXENCAL45DP_SHIFT (21U)
37460#define USBPHY_TX_TOG_TXENCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXENCAL45DP_SHIFT)) & USBPHY_TX_TOG_TXENCAL45DP_MASK)
37461/*! @} */
37462
37463/*! @name RX - USB PHY Receiver Control Register */
37464/*! @{ */
37465#define USBPHY_RX_ENVADJ_MASK (0x7U)
37466#define USBPHY_RX_ENVADJ_SHIFT (0U)
37467/*! ENVADJ
37468 * 0b000..Trip-Level Voltage is 0.1000 V
37469 * 0b001..Trip-Level Voltage is 0.1125 V
37470 * 0b010..Trip-Level Voltage is 0.1250 V
37471 * 0b011..Trip-Level Voltage is 0.0875 V
37472 * 0b100..reserved
37473 * 0b101..reserved
37474 * 0b110..reserved
37475 * 0b111..reserved
37476 */
37477#define USBPHY_RX_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_ENVADJ_SHIFT)) & USBPHY_RX_ENVADJ_MASK)
37478#define USBPHY_RX_DISCONADJ_MASK (0x70U)
37479#define USBPHY_RX_DISCONADJ_SHIFT (4U)
37480/*! DISCONADJ
37481 * 0b000..Trip-Level Voltage is 0.56875 V
37482 * 0b001..Trip-Level Voltage is 0.55000 V
37483 * 0b010..Trip-Level Voltage is 0.58125 V
37484 * 0b011..Trip-Level Voltage is 0.60000 V
37485 * 0b100..reserved
37486 * 0b101..reserved
37487 * 0b110..reserved
37488 * 0b111..reserved
37489 */
37490#define USBPHY_RX_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_DISCONADJ_SHIFT)) & USBPHY_RX_DISCONADJ_MASK)
37491#define USBPHY_RX_RXDBYPASS_MASK (0x400000U)
37492#define USBPHY_RX_RXDBYPASS_SHIFT (22U)
37493/*! RXDBYPASS
37494 * 0b0..Normal operation.
37495 * 0b1..Use the output of the USB_DP single-ended receiver in place of the full-speed differential receiver
37496 */
37497#define USBPHY_RX_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RXDBYPASS_SHIFT)) & USBPHY_RX_RXDBYPASS_MASK)
37498/*! @} */
37499
37500/*! @name RX_SET - USB PHY Receiver Control Register */
37501/*! @{ */
37502#define USBPHY_RX_SET_ENVADJ_MASK (0x7U)
37503#define USBPHY_RX_SET_ENVADJ_SHIFT (0U)
37504/*! ENVADJ
37505 * 0b000..Trip-Level Voltage is 0.1000 V
37506 * 0b001..Trip-Level Voltage is 0.1125 V
37507 * 0b010..Trip-Level Voltage is 0.1250 V
37508 * 0b011..Trip-Level Voltage is 0.0875 V
37509 * 0b100..reserved
37510 * 0b101..reserved
37511 * 0b110..reserved
37512 * 0b111..reserved
37513 */
37514#define USBPHY_RX_SET_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_ENVADJ_SHIFT)) & USBPHY_RX_SET_ENVADJ_MASK)
37515#define USBPHY_RX_SET_DISCONADJ_MASK (0x70U)
37516#define USBPHY_RX_SET_DISCONADJ_SHIFT (4U)
37517/*! DISCONADJ
37518 * 0b000..Trip-Level Voltage is 0.56875 V
37519 * 0b001..Trip-Level Voltage is 0.55000 V
37520 * 0b010..Trip-Level Voltage is 0.58125 V
37521 * 0b011..Trip-Level Voltage is 0.60000 V
37522 * 0b100..reserved
37523 * 0b101..reserved
37524 * 0b110..reserved
37525 * 0b111..reserved
37526 */
37527#define USBPHY_RX_SET_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_DISCONADJ_SHIFT)) & USBPHY_RX_SET_DISCONADJ_MASK)
37528#define USBPHY_RX_SET_RXDBYPASS_MASK (0x400000U)
37529#define USBPHY_RX_SET_RXDBYPASS_SHIFT (22U)
37530/*! RXDBYPASS
37531 * 0b0..Normal operation.
37532 * 0b1..Use the output of the USB_DP single-ended receiver in place of the full-speed differential receiver
37533 */
37534#define USBPHY_RX_SET_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RXDBYPASS_SHIFT)) & USBPHY_RX_SET_RXDBYPASS_MASK)
37535/*! @} */
37536
37537/*! @name RX_CLR - USB PHY Receiver Control Register */
37538/*! @{ */
37539#define USBPHY_RX_CLR_ENVADJ_MASK (0x7U)
37540#define USBPHY_RX_CLR_ENVADJ_SHIFT (0U)
37541/*! ENVADJ
37542 * 0b000..Trip-Level Voltage is 0.1000 V
37543 * 0b001..Trip-Level Voltage is 0.1125 V
37544 * 0b010..Trip-Level Voltage is 0.1250 V
37545 * 0b011..Trip-Level Voltage is 0.0875 V
37546 * 0b100..reserved
37547 * 0b101..reserved
37548 * 0b110..reserved
37549 * 0b111..reserved
37550 */
37551#define USBPHY_RX_CLR_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_ENVADJ_SHIFT)) & USBPHY_RX_CLR_ENVADJ_MASK)
37552#define USBPHY_RX_CLR_DISCONADJ_MASK (0x70U)
37553#define USBPHY_RX_CLR_DISCONADJ_SHIFT (4U)
37554/*! DISCONADJ
37555 * 0b000..Trip-Level Voltage is 0.56875 V
37556 * 0b001..Trip-Level Voltage is 0.55000 V
37557 * 0b010..Trip-Level Voltage is 0.58125 V
37558 * 0b011..Trip-Level Voltage is 0.60000 V
37559 * 0b100..reserved
37560 * 0b101..reserved
37561 * 0b110..reserved
37562 * 0b111..reserved
37563 */
37564#define USBPHY_RX_CLR_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_DISCONADJ_SHIFT)) & USBPHY_RX_CLR_DISCONADJ_MASK)
37565#define USBPHY_RX_CLR_RXDBYPASS_MASK (0x400000U)
37566#define USBPHY_RX_CLR_RXDBYPASS_SHIFT (22U)
37567/*! RXDBYPASS
37568 * 0b0..Normal operation.
37569 * 0b1..Use the output of the USB_DP single-ended receiver in place of the full-speed differential receiver
37570 */
37571#define USBPHY_RX_CLR_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RXDBYPASS_SHIFT)) & USBPHY_RX_CLR_RXDBYPASS_MASK)
37572/*! @} */
37573
37574/*! @name RX_TOG - USB PHY Receiver Control Register */
37575/*! @{ */
37576#define USBPHY_RX_TOG_ENVADJ_MASK (0x7U)
37577#define USBPHY_RX_TOG_ENVADJ_SHIFT (0U)
37578/*! ENVADJ
37579 * 0b000..Trip-Level Voltage is 0.1000 V
37580 * 0b001..Trip-Level Voltage is 0.1125 V
37581 * 0b010..Trip-Level Voltage is 0.1250 V
37582 * 0b011..Trip-Level Voltage is 0.0875 V
37583 * 0b100..reserved
37584 * 0b101..reserved
37585 * 0b110..reserved
37586 * 0b111..reserved
37587 */
37588#define USBPHY_RX_TOG_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_ENVADJ_SHIFT)) & USBPHY_RX_TOG_ENVADJ_MASK)
37589#define USBPHY_RX_TOG_DISCONADJ_MASK (0x70U)
37590#define USBPHY_RX_TOG_DISCONADJ_SHIFT (4U)
37591/*! DISCONADJ
37592 * 0b000..Trip-Level Voltage is 0.56875 V
37593 * 0b001..Trip-Level Voltage is 0.55000 V
37594 * 0b010..Trip-Level Voltage is 0.58125 V
37595 * 0b011..Trip-Level Voltage is 0.60000 V
37596 * 0b100..reserved
37597 * 0b101..reserved
37598 * 0b110..reserved
37599 * 0b111..reserved
37600 */
37601#define USBPHY_RX_TOG_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_DISCONADJ_SHIFT)) & USBPHY_RX_TOG_DISCONADJ_MASK)
37602#define USBPHY_RX_TOG_RXDBYPASS_MASK (0x400000U)
37603#define USBPHY_RX_TOG_RXDBYPASS_SHIFT (22U)
37604/*! RXDBYPASS
37605 * 0b0..Normal operation.
37606 * 0b1..Use the output of the USB_DP single-ended receiver in place of the full-speed differential receiver
37607 */
37608#define USBPHY_RX_TOG_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RXDBYPASS_SHIFT)) & USBPHY_RX_TOG_RXDBYPASS_MASK)
37609/*! @} */
37610
37611/*! @name CTRL - USB PHY General Control Register */
37612/*! @{ */
37613#define USBPHY_CTRL_ENHOSTDISCONDETECT_MASK (0x2U)
37614#define USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT (1U)
37615#define USBPHY_CTRL_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_ENHOSTDISCONDETECT_MASK)
37616#define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK (0x8U)
37617#define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT (3U)
37618#define USBPHY_CTRL_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK)
37619#define USBPHY_CTRL_ENDEVPLUGINDET_MASK (0x10U)
37620#define USBPHY_CTRL_ENDEVPLUGINDET_SHIFT (4U)
37621/*! ENDEVPLUGINDET
37622 * 0b0..Disables 200kohm pullup resistors on USB_DP and USB_DM pins (Default)
37623 * 0b1..Enables 200kohm pullup resistors on USB_DP and USB_DM pins
37624 */
37625#define USBPHY_CTRL_ENDEVPLUGINDET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDEVPLUGINDET_SHIFT)) & USBPHY_CTRL_ENDEVPLUGINDET_MASK)
37626#define USBPHY_CTRL_DEVPLUGIN_IRQ_MASK (0x1000U)
37627#define USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT (12U)
37628#define USBPHY_CTRL_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_IRQ_MASK)
37629#define USBPHY_CTRL_ENUTMILEVEL2_MASK (0x4000U)
37630#define USBPHY_CTRL_ENUTMILEVEL2_SHIFT (14U)
37631#define USBPHY_CTRL_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL2_MASK)
37632#define USBPHY_CTRL_ENUTMILEVEL3_MASK (0x8000U)
37633#define USBPHY_CTRL_ENUTMILEVEL3_SHIFT (15U)
37634#define USBPHY_CTRL_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL3_MASK)
37635#define USBPHY_CTRL_AUTORESUME_EN_MASK (0x40000U)
37636#define USBPHY_CTRL_AUTORESUME_EN_SHIFT (18U)
37637#define USBPHY_CTRL_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_AUTORESUME_EN_MASK)
37638#define USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK (0x80000U)
37639#define USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT (19U)
37640#define USBPHY_CTRL_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK)
37641#define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
37642#define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT (20U)
37643#define USBPHY_CTRL_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK)
37644#define USBPHY_CTRL_FSDLL_RST_EN_MASK (0x1000000U)
37645#define USBPHY_CTRL_FSDLL_RST_EN_SHIFT (24U)
37646#define USBPHY_CTRL_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_FSDLL_RST_EN_MASK)
37647#define USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK (0x10000000U)
37648#define USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT (28U)
37649#define USBPHY_CTRL_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK)
37650#define USBPHY_CTRL_UTMI_SUSPENDM_MASK (0x20000000U)
37651#define USBPHY_CTRL_UTMI_SUSPENDM_SHIFT (29U)
37652#define USBPHY_CTRL_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_UTMI_SUSPENDM_MASK)
37653#define USBPHY_CTRL_CLKGATE_MASK (0x40000000U)
37654#define USBPHY_CTRL_CLKGATE_SHIFT (30U)
37655#define USBPHY_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLKGATE_SHIFT)) & USBPHY_CTRL_CLKGATE_MASK)
37656#define USBPHY_CTRL_SFTRST_MASK (0x80000000U)
37657#define USBPHY_CTRL_SFTRST_SHIFT (31U)
37658#define USBPHY_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SFTRST_SHIFT)) & USBPHY_CTRL_SFTRST_MASK)
37659/*! @} */
37660
37661/*! @name CTRL_SET - USB PHY General Control Register */
37662/*! @{ */
37663#define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK (0x2U)
37664#define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT (1U)
37665#define USBPHY_CTRL_SET_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK)
37666#define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK (0x8U)
37667#define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT (3U)
37668#define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK)
37669#define USBPHY_CTRL_SET_ENDEVPLUGINDET_MASK (0x10U)
37670#define USBPHY_CTRL_SET_ENDEVPLUGINDET_SHIFT (4U)
37671/*! ENDEVPLUGINDET
37672 * 0b0..Disables 200kohm pullup resistors on USB_DP and USB_DM pins (Default)
37673 * 0b1..Enables 200kohm pullup resistors on USB_DP and USB_DM pins
37674 */
37675#define USBPHY_CTRL_SET_ENDEVPLUGINDET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDEVPLUGINDET_SHIFT)) & USBPHY_CTRL_SET_ENDEVPLUGINDET_MASK)
37676#define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK (0x1000U)
37677#define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT (12U)
37678#define USBPHY_CTRL_SET_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK)
37679#define USBPHY_CTRL_SET_ENUTMILEVEL2_MASK (0x4000U)
37680#define USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT (14U)
37681#define USBPHY_CTRL_SET_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL2_MASK)
37682#define USBPHY_CTRL_SET_ENUTMILEVEL3_MASK (0x8000U)
37683#define USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT (15U)
37684#define USBPHY_CTRL_SET_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL3_MASK)
37685#define USBPHY_CTRL_SET_AUTORESUME_EN_MASK (0x40000U)
37686#define USBPHY_CTRL_SET_AUTORESUME_EN_SHIFT (18U)
37687#define USBPHY_CTRL_SET_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_SET_AUTORESUME_EN_MASK)
37688#define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK (0x80000U)
37689#define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT (19U)
37690#define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK)
37691#define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
37692#define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT (20U)
37693#define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK)
37694#define USBPHY_CTRL_SET_FSDLL_RST_EN_MASK (0x1000000U)
37695#define USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT (24U)
37696#define USBPHY_CTRL_SET_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_SET_FSDLL_RST_EN_MASK)
37697#define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK (0x10000000U)
37698#define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT (28U)
37699#define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK)
37700#define USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK (0x20000000U)
37701#define USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT (29U)
37702#define USBPHY_CTRL_SET_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK)
37703#define USBPHY_CTRL_SET_CLKGATE_MASK (0x40000000U)
37704#define USBPHY_CTRL_SET_CLKGATE_SHIFT (30U)
37705#define USBPHY_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_CLKGATE_MASK)
37706#define USBPHY_CTRL_SET_SFTRST_MASK (0x80000000U)
37707#define USBPHY_CTRL_SET_SFTRST_SHIFT (31U)
37708#define USBPHY_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_SFTRST_SHIFT)) & USBPHY_CTRL_SET_SFTRST_MASK)
37709/*! @} */
37710
37711/*! @name CTRL_CLR - USB PHY General Control Register */
37712/*! @{ */
37713#define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK (0x2U)
37714#define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT (1U)
37715#define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK)
37716#define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK (0x8U)
37717#define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT (3U)
37718#define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK)
37719#define USBPHY_CTRL_CLR_ENDEVPLUGINDET_MASK (0x10U)
37720#define USBPHY_CTRL_CLR_ENDEVPLUGINDET_SHIFT (4U)
37721/*! ENDEVPLUGINDET
37722 * 0b0..Disables 200kohm pullup resistors on USB_DP and USB_DM pins (Default)
37723 * 0b1..Enables 200kohm pullup resistors on USB_DP and USB_DM pins
37724 */
37725#define USBPHY_CTRL_CLR_ENDEVPLUGINDET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDEVPLUGINDET_SHIFT)) & USBPHY_CTRL_CLR_ENDEVPLUGINDET_MASK)
37726#define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK (0x1000U)
37727#define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT (12U)
37728#define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK)
37729#define USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK (0x4000U)
37730#define USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT (14U)
37731#define USBPHY_CTRL_CLR_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK)
37732#define USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK (0x8000U)
37733#define USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT (15U)
37734#define USBPHY_CTRL_CLR_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK)
37735#define USBPHY_CTRL_CLR_AUTORESUME_EN_MASK (0x40000U)
37736#define USBPHY_CTRL_CLR_AUTORESUME_EN_SHIFT (18U)
37737#define USBPHY_CTRL_CLR_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_CLR_AUTORESUME_EN_MASK)
37738#define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK (0x80000U)
37739#define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT (19U)
37740#define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK)
37741#define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
37742#define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT (20U)
37743#define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK)
37744#define USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK (0x1000000U)
37745#define USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT (24U)
37746#define USBPHY_CTRL_CLR_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK)
37747#define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK (0x10000000U)
37748#define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT (28U)
37749#define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK)
37750#define USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK (0x20000000U)
37751#define USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT (29U)
37752#define USBPHY_CTRL_CLR_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK)
37753#define USBPHY_CTRL_CLR_CLKGATE_MASK (0x40000000U)
37754#define USBPHY_CTRL_CLR_CLKGATE_SHIFT (30U)
37755#define USBPHY_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_CLKGATE_MASK)
37756#define USBPHY_CTRL_CLR_SFTRST_MASK (0x80000000U)
37757#define USBPHY_CTRL_CLR_SFTRST_SHIFT (31U)
37758#define USBPHY_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_SFTRST_SHIFT)) & USBPHY_CTRL_CLR_SFTRST_MASK)
37759/*! @} */
37760
37761/*! @name CTRL_TOG - USB PHY General Control Register */
37762/*! @{ */
37763#define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK (0x2U)
37764#define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT (1U)
37765#define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK)
37766#define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK (0x8U)
37767#define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT (3U)
37768#define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK)
37769#define USBPHY_CTRL_TOG_ENDEVPLUGINDET_MASK (0x10U)
37770#define USBPHY_CTRL_TOG_ENDEVPLUGINDET_SHIFT (4U)
37771/*! ENDEVPLUGINDET
37772 * 0b0..Disables 200kohm pullup resistors on USB_DP and USB_DM pins (Default)
37773 * 0b1..Enables 200kohm pullup resistors on USB_DP and USB_DM pins
37774 */
37775#define USBPHY_CTRL_TOG_ENDEVPLUGINDET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDEVPLUGINDET_SHIFT)) & USBPHY_CTRL_TOG_ENDEVPLUGINDET_MASK)
37776#define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK (0x1000U)
37777#define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT (12U)
37778#define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK)
37779#define USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK (0x4000U)
37780#define USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT (14U)
37781#define USBPHY_CTRL_TOG_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK)
37782#define USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK (0x8000U)
37783#define USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT (15U)
37784#define USBPHY_CTRL_TOG_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK)
37785#define USBPHY_CTRL_TOG_AUTORESUME_EN_MASK (0x40000U)
37786#define USBPHY_CTRL_TOG_AUTORESUME_EN_SHIFT (18U)
37787#define USBPHY_CTRL_TOG_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_TOG_AUTORESUME_EN_MASK)
37788#define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK (0x80000U)
37789#define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT (19U)
37790#define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK)
37791#define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
37792#define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT (20U)
37793#define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK)
37794#define USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK (0x1000000U)
37795#define USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT (24U)
37796#define USBPHY_CTRL_TOG_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK)
37797#define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK (0x10000000U)
37798#define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT (28U)
37799#define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK)
37800#define USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK (0x20000000U)
37801#define USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT (29U)
37802#define USBPHY_CTRL_TOG_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK)
37803#define USBPHY_CTRL_TOG_CLKGATE_MASK (0x40000000U)
37804#define USBPHY_CTRL_TOG_CLKGATE_SHIFT (30U)
37805#define USBPHY_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_CLKGATE_MASK)
37806#define USBPHY_CTRL_TOG_SFTRST_MASK (0x80000000U)
37807#define USBPHY_CTRL_TOG_SFTRST_SHIFT (31U)
37808#define USBPHY_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_SFTRST_SHIFT)) & USBPHY_CTRL_TOG_SFTRST_MASK)
37809/*! @} */
37810
37811/*! @name STATUS - USB PHY Status Register */
37812/*! @{ */
37813#define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK (0x8U)
37814#define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT (3U)
37815/*! HOSTDISCONDETECT_STATUS
37816 * 0b0..USB cable disconnect has not been detected at the local host
37817 * 0b1..USB cable disconnect has been detected at the local host
37818 */
37819#define USBPHY_STATUS_HOSTDISCONDETECT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT)) & USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK)
37820#define USBPHY_STATUS_DEVPLUGIN_STATUS_MASK (0x40U)
37821#define USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT (6U)
37822/*! DEVPLUGIN_STATUS
37823 * 0b0..No attachment to a USB host is detected
37824 * 0b1..Cable attachment to a USB host is detected
37825 */
37826#define USBPHY_STATUS_DEVPLUGIN_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT)) & USBPHY_STATUS_DEVPLUGIN_STATUS_MASK)
37827#define USBPHY_STATUS_RESUME_STATUS_MASK (0x400U)
37828#define USBPHY_STATUS_RESUME_STATUS_SHIFT (10U)
37829#define USBPHY_STATUS_RESUME_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RESUME_STATUS_SHIFT)) & USBPHY_STATUS_RESUME_STATUS_MASK)
37830/*! @} */
37831
37832/*! @name DEBUG0 - USB PHY Debug Register 0 */
37833/*! @{ */
37834#define USBPHY_DEBUG0_DEBUG_INTERFACE_HOLD_MASK (0x2U)
37835#define USBPHY_DEBUG0_DEBUG_INTERFACE_HOLD_SHIFT (1U)
37836#define USBPHY_DEBUG0_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG0_DEBUG_INTERFACE_HOLD_MASK)
37837#define USBPHY_DEBUG0_HSTPULLDOWN_MASK (0xCU)
37838#define USBPHY_DEBUG0_HSTPULLDOWN_SHIFT (2U)
37839#define USBPHY_DEBUG0_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_HSTPULLDOWN_MASK)
37840#define USBPHY_DEBUG0_ENHSTPULLDOWN_MASK (0x30U)
37841#define USBPHY_DEBUG0_ENHSTPULLDOWN_SHIFT (4U)
37842#define USBPHY_DEBUG0_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_ENHSTPULLDOWN_MASK)
37843#define USBPHY_DEBUG0_TX2RXCOUNT_MASK (0xF00U)
37844#define USBPHY_DEBUG0_TX2RXCOUNT_SHIFT (8U)
37845#define USBPHY_DEBUG0_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_TX2RXCOUNT_MASK)
37846#define USBPHY_DEBUG0_ENTX2RXCOUNT_MASK (0x1000U)
37847#define USBPHY_DEBUG0_ENTX2RXCOUNT_SHIFT (12U)
37848#define USBPHY_DEBUG0_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_ENTX2RXCOUNT_MASK)
37849#define USBPHY_DEBUG0_SQUELCHRESETCOUNT_MASK (0x1F0000U)
37850#define USBPHY_DEBUG0_SQUELCHRESETCOUNT_SHIFT (16U)
37851#define USBPHY_DEBUG0_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG0_SQUELCHRESETCOUNT_MASK)
37852#define USBPHY_DEBUG0_ENSQUELCHRESET_MASK (0x1000000U)
37853#define USBPHY_DEBUG0_ENSQUELCHRESET_SHIFT (24U)
37854#define USBPHY_DEBUG0_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG0_ENSQUELCHRESET_MASK)
37855#define USBPHY_DEBUG0_SQUELCHRESETLENGTH_MASK (0x1E000000U)
37856#define USBPHY_DEBUG0_SQUELCHRESETLENGTH_SHIFT (25U)
37857#define USBPHY_DEBUG0_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG0_SQUELCHRESETLENGTH_MASK)
37858#define USBPHY_DEBUG0_HOST_RESUME_DEBUG_MASK (0x20000000U)
37859#define USBPHY_DEBUG0_HOST_RESUME_DEBUG_SHIFT (29U)
37860#define USBPHY_DEBUG0_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG0_HOST_RESUME_DEBUG_MASK)
37861#define USBPHY_DEBUG0_CLKGATE_MASK (0x40000000U)
37862#define USBPHY_DEBUG0_CLKGATE_SHIFT (30U)
37863#define USBPHY_DEBUG0_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLKGATE_SHIFT)) & USBPHY_DEBUG0_CLKGATE_MASK)
37864/*! @} */
37865
37866/*! @name DEBUG0_SET - USB PHY Debug Register 0 */
37867/*! @{ */
37868#define USBPHY_DEBUG0_SET_DEBUG_INTERFACE_HOLD_MASK (0x2U)
37869#define USBPHY_DEBUG0_SET_DEBUG_INTERFACE_HOLD_SHIFT (1U)
37870#define USBPHY_DEBUG0_SET_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG0_SET_DEBUG_INTERFACE_HOLD_MASK)
37871#define USBPHY_DEBUG0_SET_HSTPULLDOWN_MASK (0xCU)
37872#define USBPHY_DEBUG0_SET_HSTPULLDOWN_SHIFT (2U)
37873#define USBPHY_DEBUG0_SET_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_SET_HSTPULLDOWN_MASK)
37874#define USBPHY_DEBUG0_SET_ENHSTPULLDOWN_MASK (0x30U)
37875#define USBPHY_DEBUG0_SET_ENHSTPULLDOWN_SHIFT (4U)
37876#define USBPHY_DEBUG0_SET_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_SET_ENHSTPULLDOWN_MASK)
37877#define USBPHY_DEBUG0_SET_TX2RXCOUNT_MASK (0xF00U)
37878#define USBPHY_DEBUG0_SET_TX2RXCOUNT_SHIFT (8U)
37879#define USBPHY_DEBUG0_SET_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_SET_TX2RXCOUNT_MASK)
37880#define USBPHY_DEBUG0_SET_ENTX2RXCOUNT_MASK (0x1000U)
37881#define USBPHY_DEBUG0_SET_ENTX2RXCOUNT_SHIFT (12U)
37882#define USBPHY_DEBUG0_SET_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_SET_ENTX2RXCOUNT_MASK)
37883#define USBPHY_DEBUG0_SET_SQUELCHRESETCOUNT_MASK (0x1F0000U)
37884#define USBPHY_DEBUG0_SET_SQUELCHRESETCOUNT_SHIFT (16U)
37885#define USBPHY_DEBUG0_SET_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG0_SET_SQUELCHRESETCOUNT_MASK)
37886#define USBPHY_DEBUG0_SET_ENSQUELCHRESET_MASK (0x1000000U)
37887#define USBPHY_DEBUG0_SET_ENSQUELCHRESET_SHIFT (24U)
37888#define USBPHY_DEBUG0_SET_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG0_SET_ENSQUELCHRESET_MASK)
37889#define USBPHY_DEBUG0_SET_SQUELCHRESETLENGTH_MASK (0x1E000000U)
37890#define USBPHY_DEBUG0_SET_SQUELCHRESETLENGTH_SHIFT (25U)
37891#define USBPHY_DEBUG0_SET_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG0_SET_SQUELCHRESETLENGTH_MASK)
37892#define USBPHY_DEBUG0_SET_HOST_RESUME_DEBUG_MASK (0x20000000U)
37893#define USBPHY_DEBUG0_SET_HOST_RESUME_DEBUG_SHIFT (29U)
37894#define USBPHY_DEBUG0_SET_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG0_SET_HOST_RESUME_DEBUG_MASK)
37895#define USBPHY_DEBUG0_SET_CLKGATE_MASK (0x40000000U)
37896#define USBPHY_DEBUG0_SET_CLKGATE_SHIFT (30U)
37897#define USBPHY_DEBUG0_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_SET_CLKGATE_SHIFT)) & USBPHY_DEBUG0_SET_CLKGATE_MASK)
37898/*! @} */
37899
37900/*! @name DEBUG0_CLR - USB PHY Debug Register 0 */
37901/*! @{ */
37902#define USBPHY_DEBUG0_CLR_DEBUG_INTERFACE_HOLD_MASK (0x2U)
37903#define USBPHY_DEBUG0_CLR_DEBUG_INTERFACE_HOLD_SHIFT (1U)
37904#define USBPHY_DEBUG0_CLR_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG0_CLR_DEBUG_INTERFACE_HOLD_MASK)
37905#define USBPHY_DEBUG0_CLR_HSTPULLDOWN_MASK (0xCU)
37906#define USBPHY_DEBUG0_CLR_HSTPULLDOWN_SHIFT (2U)
37907#define USBPHY_DEBUG0_CLR_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_CLR_HSTPULLDOWN_MASK)
37908#define USBPHY_DEBUG0_CLR_ENHSTPULLDOWN_MASK (0x30U)
37909#define USBPHY_DEBUG0_CLR_ENHSTPULLDOWN_SHIFT (4U)
37910#define USBPHY_DEBUG0_CLR_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_CLR_ENHSTPULLDOWN_MASK)
37911#define USBPHY_DEBUG0_CLR_TX2RXCOUNT_MASK (0xF00U)
37912#define USBPHY_DEBUG0_CLR_TX2RXCOUNT_SHIFT (8U)
37913#define USBPHY_DEBUG0_CLR_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_CLR_TX2RXCOUNT_MASK)
37914#define USBPHY_DEBUG0_CLR_ENTX2RXCOUNT_MASK (0x1000U)
37915#define USBPHY_DEBUG0_CLR_ENTX2RXCOUNT_SHIFT (12U)
37916#define USBPHY_DEBUG0_CLR_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_CLR_ENTX2RXCOUNT_MASK)
37917#define USBPHY_DEBUG0_CLR_SQUELCHRESETCOUNT_MASK (0x1F0000U)
37918#define USBPHY_DEBUG0_CLR_SQUELCHRESETCOUNT_SHIFT (16U)
37919#define USBPHY_DEBUG0_CLR_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG0_CLR_SQUELCHRESETCOUNT_MASK)
37920#define USBPHY_DEBUG0_CLR_ENSQUELCHRESET_MASK (0x1000000U)
37921#define USBPHY_DEBUG0_CLR_ENSQUELCHRESET_SHIFT (24U)
37922#define USBPHY_DEBUG0_CLR_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG0_CLR_ENSQUELCHRESET_MASK)
37923#define USBPHY_DEBUG0_CLR_SQUELCHRESETLENGTH_MASK (0x1E000000U)
37924#define USBPHY_DEBUG0_CLR_SQUELCHRESETLENGTH_SHIFT (25U)
37925#define USBPHY_DEBUG0_CLR_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG0_CLR_SQUELCHRESETLENGTH_MASK)
37926#define USBPHY_DEBUG0_CLR_HOST_RESUME_DEBUG_MASK (0x20000000U)
37927#define USBPHY_DEBUG0_CLR_HOST_RESUME_DEBUG_SHIFT (29U)
37928#define USBPHY_DEBUG0_CLR_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG0_CLR_HOST_RESUME_DEBUG_MASK)
37929#define USBPHY_DEBUG0_CLR_CLKGATE_MASK (0x40000000U)
37930#define USBPHY_DEBUG0_CLR_CLKGATE_SHIFT (30U)
37931#define USBPHY_DEBUG0_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_CLR_CLKGATE_SHIFT)) & USBPHY_DEBUG0_CLR_CLKGATE_MASK)
37932/*! @} */
37933
37934/*! @name DEBUG0_TOG - USB PHY Debug Register 0 */
37935/*! @{ */
37936#define USBPHY_DEBUG0_TOG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
37937#define USBPHY_DEBUG0_TOG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
37938#define USBPHY_DEBUG0_TOG_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG0_TOG_DEBUG_INTERFACE_HOLD_MASK)
37939#define USBPHY_DEBUG0_TOG_HSTPULLDOWN_MASK (0xCU)
37940#define USBPHY_DEBUG0_TOG_HSTPULLDOWN_SHIFT (2U)
37941#define USBPHY_DEBUG0_TOG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_TOG_HSTPULLDOWN_MASK)
37942#define USBPHY_DEBUG0_TOG_ENHSTPULLDOWN_MASK (0x30U)
37943#define USBPHY_DEBUG0_TOG_ENHSTPULLDOWN_SHIFT (4U)
37944#define USBPHY_DEBUG0_TOG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG0_TOG_ENHSTPULLDOWN_MASK)
37945#define USBPHY_DEBUG0_TOG_TX2RXCOUNT_MASK (0xF00U)
37946#define USBPHY_DEBUG0_TOG_TX2RXCOUNT_SHIFT (8U)
37947#define USBPHY_DEBUG0_TOG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_TOG_TX2RXCOUNT_MASK)
37948#define USBPHY_DEBUG0_TOG_ENTX2RXCOUNT_MASK (0x1000U)
37949#define USBPHY_DEBUG0_TOG_ENTX2RXCOUNT_SHIFT (12U)
37950#define USBPHY_DEBUG0_TOG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG0_TOG_ENTX2RXCOUNT_MASK)
37951#define USBPHY_DEBUG0_TOG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
37952#define USBPHY_DEBUG0_TOG_SQUELCHRESETCOUNT_SHIFT (16U)
37953#define USBPHY_DEBUG0_TOG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG0_TOG_SQUELCHRESETCOUNT_MASK)
37954#define USBPHY_DEBUG0_TOG_ENSQUELCHRESET_MASK (0x1000000U)
37955#define USBPHY_DEBUG0_TOG_ENSQUELCHRESET_SHIFT (24U)
37956#define USBPHY_DEBUG0_TOG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG0_TOG_ENSQUELCHRESET_MASK)
37957#define USBPHY_DEBUG0_TOG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
37958#define USBPHY_DEBUG0_TOG_SQUELCHRESETLENGTH_SHIFT (25U)
37959#define USBPHY_DEBUG0_TOG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG0_TOG_SQUELCHRESETLENGTH_MASK)
37960#define USBPHY_DEBUG0_TOG_HOST_RESUME_DEBUG_MASK (0x20000000U)
37961#define USBPHY_DEBUG0_TOG_HOST_RESUME_DEBUG_SHIFT (29U)
37962#define USBPHY_DEBUG0_TOG_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG0_TOG_HOST_RESUME_DEBUG_MASK)
37963#define USBPHY_DEBUG0_TOG_CLKGATE_MASK (0x40000000U)
37964#define USBPHY_DEBUG0_TOG_CLKGATE_SHIFT (30U)
37965#define USBPHY_DEBUG0_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_TOG_CLKGATE_SHIFT)) & USBPHY_DEBUG0_TOG_CLKGATE_MASK)
37966/*! @} */
37967
37968/*! @name DEBUG1 - UTMI Debug Status Register 1 */
37969/*! @{ */
37970#define USBPHY_DEBUG1_ENTAILADJVD_MASK (0x6000U)
37971#define USBPHY_DEBUG1_ENTAILADJVD_SHIFT (13U)
37972/*! ENTAILADJVD
37973 * 0b00..Delay is nominal
37974 * 0b01..Delay is +20%
37975 * 0b10..Delay is -20%
37976 * 0b11..Delay is -40%
37977 */
37978#define USBPHY_DEBUG1_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_ENTAILADJVD_MASK)
37979#define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
37980#define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_SHIFT (18U)
37981#define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_MASK)
37982#define USBPHY_DEBUG1_USB2_REFBIAS_TST_MASK (0x600000U)
37983#define USBPHY_DEBUG1_USB2_REFBIAS_TST_SHIFT (21U)
37984#define USBPHY_DEBUG1_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_TST_MASK)
37985/*! @} */
37986
37987/*! @name DEBUG1_SET - UTMI Debug Status Register 1 */
37988/*! @{ */
37989#define USBPHY_DEBUG1_SET_ENTAILADJVD_MASK (0x6000U)
37990#define USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT (13U)
37991/*! ENTAILADJVD
37992 * 0b00..Delay is nominal
37993 * 0b01..Delay is +20%
37994 * 0b10..Delay is -20%
37995 * 0b11..Delay is -40%
37996 */
37997#define USBPHY_DEBUG1_SET_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_SET_ENTAILADJVD_MASK)
37998#define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
37999#define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_SHIFT (18U)
38000#define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_MASK)
38001#define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_MASK (0x600000U)
38002#define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_SHIFT (21U)
38003#define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_MASK)
38004/*! @} */
38005
38006/*! @name DEBUG1_CLR - UTMI Debug Status Register 1 */
38007/*! @{ */
38008#define USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK (0x6000U)
38009#define USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT (13U)
38010/*! ENTAILADJVD
38011 * 0b00..Delay is nominal
38012 * 0b01..Delay is +20%
38013 * 0b10..Delay is -20%
38014 * 0b11..Delay is -40%
38015 */
38016#define USBPHY_DEBUG1_CLR_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK)
38017#define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
38018#define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_SHIFT (18U)
38019#define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_MASK)
38020#define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_MASK (0x600000U)
38021#define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_SHIFT (21U)
38022#define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_MASK)
38023/*! @} */
38024
38025/*! @name DEBUG1_TOG - UTMI Debug Status Register 1 */
38026/*! @{ */
38027#define USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK (0x6000U)
38028#define USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT (13U)
38029/*! ENTAILADJVD
38030 * 0b00..Delay is nominal
38031 * 0b01..Delay is +20%
38032 * 0b10..Delay is -20%
38033 * 0b11..Delay is -40%
38034 */
38035#define USBPHY_DEBUG1_TOG_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK)
38036#define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
38037#define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_SHIFT (18U)
38038#define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_MASK)
38039#define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_MASK (0x600000U)
38040#define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_SHIFT (21U)
38041#define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_MASK)
38042/*! @} */
38043
38044/*! @name VERSION - UTMI RTL Version */
38045/*! @{ */
38046#define USBPHY_VERSION_STEP_MASK (0xFFFFU)
38047#define USBPHY_VERSION_STEP_SHIFT (0U)
38048#define USBPHY_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_STEP_SHIFT)) & USBPHY_VERSION_STEP_MASK)
38049#define USBPHY_VERSION_MINOR_MASK (0xFF0000U)
38050#define USBPHY_VERSION_MINOR_SHIFT (16U)
38051#define USBPHY_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MINOR_SHIFT)) & USBPHY_VERSION_MINOR_MASK)
38052#define USBPHY_VERSION_MAJOR_MASK (0xFF000000U)
38053#define USBPHY_VERSION_MAJOR_SHIFT (24U)
38054#define USBPHY_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MAJOR_SHIFT)) & USBPHY_VERSION_MAJOR_MASK)
38055/*! @} */
38056
38057/*! @name PLL_SIC - USB PHY PLL Control/Status Register */
38058/*! @{ */
38059#define USBPHY_PLL_SIC_PLL_EN_USB_CLKS_MASK (0x40U)
38060#define USBPHY_PLL_SIC_PLL_EN_USB_CLKS_SHIFT (6U)
38061#define USBPHY_PLL_SIC_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_PLL_EN_USB_CLKS_MASK)
38062#define USBPHY_PLL_SIC_PLL_POWER_MASK (0x1000U)
38063#define USBPHY_PLL_SIC_PLL_POWER_SHIFT (12U)
38064#define USBPHY_PLL_SIC_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_PLL_POWER_MASK)
38065#define USBPHY_PLL_SIC_PLL_ENABLE_MASK (0x2000U)
38066#define USBPHY_PLL_SIC_PLL_ENABLE_SHIFT (13U)
38067#define USBPHY_PLL_SIC_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_PLL_ENABLE_MASK)
38068#define USBPHY_PLL_SIC_PLL_BYPASS_MASK (0x10000U)
38069#define USBPHY_PLL_SIC_PLL_BYPASS_SHIFT (16U)
38070#define USBPHY_PLL_SIC_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_PLL_BYPASS_MASK)
38071#define USBPHY_PLL_SIC_REFBIAS_PWD_SEL_MASK (0x80000U)
38072#define USBPHY_PLL_SIC_REFBIAS_PWD_SEL_SHIFT (19U)
38073/*! REFBIAS_PWD_SEL
38074 * 0b0..Selects PLL_POWER to control the reference bias
38075 * 0b1..Selects REFBIAS_PWD to control the reference bias
38076 */
38077#define USBPHY_PLL_SIC_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_REFBIAS_PWD_SEL_MASK)
38078#define USBPHY_PLL_SIC_REFBIAS_PWD_MASK (0x100000U)
38079#define USBPHY_PLL_SIC_REFBIAS_PWD_SHIFT (20U)
38080#define USBPHY_PLL_SIC_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_REFBIAS_PWD_MASK)
38081#define USBPHY_PLL_SIC_PLL_REG_ENABLE_MASK (0x200000U)
38082#define USBPHY_PLL_SIC_PLL_REG_ENABLE_SHIFT (21U)
38083#define USBPHY_PLL_SIC_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_PLL_REG_ENABLE_MASK)
38084#define USBPHY_PLL_SIC_PLL_DIV_SEL_MASK (0x1C00000U)
38085#define USBPHY_PLL_SIC_PLL_DIV_SEL_SHIFT (22U)
38086/*! PLL_DIV_SEL
38087 * 0b000..Divide by 13
38088 * 0b001..Divide by 15
38089 * 0b010..Divide by 16
38090 * 0b011..Divide by 20
38091 * 0b100..Divide by 22
38092 * 0b101..Divide by 25
38093 * 0b110..Divide by 30
38094 * 0b111..Divide by 240
38095 */
38096#define USBPHY_PLL_SIC_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_PLL_DIV_SEL_MASK)
38097#define USBPHY_PLL_SIC_PLL_LOCK_MASK (0x80000000U)
38098#define USBPHY_PLL_SIC_PLL_LOCK_SHIFT (31U)
38099/*! PLL_LOCK
38100 * 0b0..PLL is not currently locked
38101 * 0b1..PLL is currently locked
38102 */
38103#define USBPHY_PLL_SIC_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_PLL_LOCK_MASK)
38104/*! @} */
38105
38106/*! @name PLL_SIC_SET - USB PHY PLL Control/Status Register */
38107/*! @{ */
38108#define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_MASK (0x40U)
38109#define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_SHIFT (6U)
38110#define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_MASK)
38111#define USBPHY_PLL_SIC_SET_PLL_POWER_MASK (0x1000U)
38112#define USBPHY_PLL_SIC_SET_PLL_POWER_SHIFT (12U)
38113#define USBPHY_PLL_SIC_SET_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_POWER_MASK)
38114#define USBPHY_PLL_SIC_SET_PLL_ENABLE_MASK (0x2000U)
38115#define USBPHY_PLL_SIC_SET_PLL_ENABLE_SHIFT (13U)
38116#define USBPHY_PLL_SIC_SET_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_ENABLE_MASK)
38117#define USBPHY_PLL_SIC_SET_PLL_BYPASS_MASK (0x10000U)
38118#define USBPHY_PLL_SIC_SET_PLL_BYPASS_SHIFT (16U)
38119#define USBPHY_PLL_SIC_SET_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_BYPASS_MASK)
38120#define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_MASK (0x80000U)
38121#define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_SHIFT (19U)
38122/*! REFBIAS_PWD_SEL
38123 * 0b0..Selects PLL_POWER to control the reference bias
38124 * 0b1..Selects REFBIAS_PWD to control the reference bias
38125 */
38126#define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_MASK)
38127#define USBPHY_PLL_SIC_SET_REFBIAS_PWD_MASK (0x100000U)
38128#define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SHIFT (20U)
38129#define USBPHY_PLL_SIC_SET_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_SET_REFBIAS_PWD_MASK)
38130#define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_MASK (0x200000U)
38131#define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_SHIFT (21U)
38132#define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_MASK)
38133#define USBPHY_PLL_SIC_SET_PLL_DIV_SEL_MASK (0x1C00000U)
38134#define USBPHY_PLL_SIC_SET_PLL_DIV_SEL_SHIFT (22U)
38135/*! PLL_DIV_SEL
38136 * 0b000..Divide by 13
38137 * 0b001..Divide by 15
38138 * 0b010..Divide by 16
38139 * 0b011..Divide by 20
38140 * 0b100..Divide by 22
38141 * 0b101..Divide by 25
38142 * 0b110..Divide by 30
38143 * 0b111..Divide by 240
38144 */
38145#define USBPHY_PLL_SIC_SET_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_DIV_SEL_MASK)
38146#define USBPHY_PLL_SIC_SET_PLL_LOCK_MASK (0x80000000U)
38147#define USBPHY_PLL_SIC_SET_PLL_LOCK_SHIFT (31U)
38148/*! PLL_LOCK
38149 * 0b0..PLL is not currently locked
38150 * 0b1..PLL is currently locked
38151 */
38152#define USBPHY_PLL_SIC_SET_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_LOCK_MASK)
38153/*! @} */
38154
38155/*! @name PLL_SIC_CLR - USB PHY PLL Control/Status Register */
38156/*! @{ */
38157#define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_MASK (0x40U)
38158#define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_SHIFT (6U)
38159#define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_MASK)
38160#define USBPHY_PLL_SIC_CLR_PLL_POWER_MASK (0x1000U)
38161#define USBPHY_PLL_SIC_CLR_PLL_POWER_SHIFT (12U)
38162#define USBPHY_PLL_SIC_CLR_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_POWER_MASK)
38163#define USBPHY_PLL_SIC_CLR_PLL_ENABLE_MASK (0x2000U)
38164#define USBPHY_PLL_SIC_CLR_PLL_ENABLE_SHIFT (13U)
38165#define USBPHY_PLL_SIC_CLR_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_ENABLE_MASK)
38166#define USBPHY_PLL_SIC_CLR_PLL_BYPASS_MASK (0x10000U)
38167#define USBPHY_PLL_SIC_CLR_PLL_BYPASS_SHIFT (16U)
38168#define USBPHY_PLL_SIC_CLR_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_BYPASS_MASK)
38169#define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_MASK (0x80000U)
38170#define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_SHIFT (19U)
38171/*! REFBIAS_PWD_SEL
38172 * 0b0..Selects PLL_POWER to control the reference bias
38173 * 0b1..Selects REFBIAS_PWD to control the reference bias
38174 */
38175#define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_MASK)
38176#define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_MASK (0x100000U)
38177#define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SHIFT (20U)
38178#define USBPHY_PLL_SIC_CLR_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_CLR_REFBIAS_PWD_MASK)
38179#define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_MASK (0x200000U)
38180#define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_SHIFT (21U)
38181#define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_MASK)
38182#define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_MASK (0x1C00000U)
38183#define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_SHIFT (22U)
38184/*! PLL_DIV_SEL
38185 * 0b000..Divide by 13
38186 * 0b001..Divide by 15
38187 * 0b010..Divide by 16
38188 * 0b011..Divide by 20
38189 * 0b100..Divide by 22
38190 * 0b101..Divide by 25
38191 * 0b110..Divide by 30
38192 * 0b111..Divide by 240
38193 */
38194#define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_MASK)
38195#define USBPHY_PLL_SIC_CLR_PLL_LOCK_MASK (0x80000000U)
38196#define USBPHY_PLL_SIC_CLR_PLL_LOCK_SHIFT (31U)
38197/*! PLL_LOCK
38198 * 0b0..PLL is not currently locked
38199 * 0b1..PLL is currently locked
38200 */
38201#define USBPHY_PLL_SIC_CLR_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_LOCK_MASK)
38202/*! @} */
38203
38204/*! @name PLL_SIC_TOG - USB PHY PLL Control/Status Register */
38205/*! @{ */
38206#define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_MASK (0x40U)
38207#define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_SHIFT (6U)
38208#define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_MASK)
38209#define USBPHY_PLL_SIC_TOG_PLL_POWER_MASK (0x1000U)
38210#define USBPHY_PLL_SIC_TOG_PLL_POWER_SHIFT (12U)
38211#define USBPHY_PLL_SIC_TOG_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_POWER_MASK)
38212#define USBPHY_PLL_SIC_TOG_PLL_ENABLE_MASK (0x2000U)
38213#define USBPHY_PLL_SIC_TOG_PLL_ENABLE_SHIFT (13U)
38214#define USBPHY_PLL_SIC_TOG_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_ENABLE_MASK)
38215#define USBPHY_PLL_SIC_TOG_PLL_BYPASS_MASK (0x10000U)
38216#define USBPHY_PLL_SIC_TOG_PLL_BYPASS_SHIFT (16U)
38217#define USBPHY_PLL_SIC_TOG_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_BYPASS_MASK)
38218#define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_MASK (0x80000U)
38219#define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_SHIFT (19U)
38220/*! REFBIAS_PWD_SEL
38221 * 0b0..Selects PLL_POWER to control the reference bias
38222 * 0b1..Selects REFBIAS_PWD to control the reference bias
38223 */
38224#define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_MASK)
38225#define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_MASK (0x100000U)
38226#define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SHIFT (20U)
38227#define USBPHY_PLL_SIC_TOG_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_TOG_REFBIAS_PWD_MASK)
38228#define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_MASK (0x200000U)
38229#define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_SHIFT (21U)
38230#define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_MASK)
38231#define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_MASK (0x1C00000U)
38232#define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_SHIFT (22U)
38233/*! PLL_DIV_SEL
38234 * 0b000..Divide by 13
38235 * 0b001..Divide by 15
38236 * 0b010..Divide by 16
38237 * 0b011..Divide by 20
38238 * 0b100..Divide by 22
38239 * 0b101..Divide by 25
38240 * 0b110..Divide by 30
38241 * 0b111..Divide by 240
38242 */
38243#define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_MASK)
38244#define USBPHY_PLL_SIC_TOG_PLL_LOCK_MASK (0x80000000U)
38245#define USBPHY_PLL_SIC_TOG_PLL_LOCK_SHIFT (31U)
38246/*! PLL_LOCK
38247 * 0b0..PLL is not currently locked
38248 * 0b1..PLL is currently locked
38249 */
38250#define USBPHY_PLL_SIC_TOG_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_LOCK_MASK)
38251/*! @} */
38252
38253/*! @name USB1_VBUS_DETECT - USB PHY VBUS Detect Control Register */
38254/*! @{ */
38255#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_MASK (0x7U)
38256#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_SHIFT (0U)
38257/*! VBUSVALID_THRESH
38258 * 0b000..4.0V
38259 * 0b001..4.1V
38260 * 0b010..4.2V
38261 * 0b011..4.3V
38262 * 0b100..4.4V(Default)
38263 * 0b101..4.5V
38264 * 0b110..4.6V
38265 * 0b111..4.7V
38266 */
38267#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_MASK)
38268#define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_MASK (0x8U)
38269#define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_SHIFT (3U)
38270/*! VBUS_OVERRIDE_EN
38271 * 0b0..Use the results of the internal VBUS_VALID and Session Valid comparators for VBUS_VALID, AVALID, BVALID, and SESSEND (Default)
38272 * 0b1..Use the override values for VBUS_VALID, AVALID, BVALID, and SESSEND
38273 */
38274#define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_MASK)
38275#define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_MASK (0x10U)
38276#define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_SHIFT (4U)
38277#define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_MASK)
38278#define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_MASK (0x20U)
38279#define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_SHIFT (5U)
38280#define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_MASK)
38281#define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_MASK (0x40U)
38282#define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_SHIFT (6U)
38283#define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_MASK)
38284#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_MASK (0x80U)
38285#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_SHIFT (7U)
38286#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_MASK)
38287#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_MASK (0x100U)
38288#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_SHIFT (8U)
38289/*! VBUSVALID_SEL
38290 * 0b0..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38291 * 0b1..Use the VBUS_VALID_3V detector results for signal reported to the USB controller
38292 */
38293#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_MASK)
38294#define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_MASK (0x600U)
38295#define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_SHIFT (9U)
38296/*! VBUS_SOURCE_SEL
38297 * 0b00..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38298 * 0b01..Use the Session Valid comparator results for signal reported to the USB controller
38299 * 0b10..Use the Session Valid comparator results for signal reported to the USB controller
38300 * 0b11..Reserved, do not use
38301 */
38302#define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_MASK)
38303#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
38304#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_SHIFT (18U)
38305/*! VBUSVALID_TO_SESSVALID
38306 * 0b0..Use the VBUS_VALID comparator for VBUS_VALID results
38307 * 0b1..Use the Session End comparator for VBUS_VALID results. The Session End threshold is >0.8V and <4.0V.
38308 */
38309#define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_MASK)
38310#define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_MASK (0x100000U)
38311#define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_SHIFT (20U)
38312/*! PWRUP_CMPS
38313 * 0b0..Powers down the VBUS_VALID comparator
38314 * 0b1..Enables the VBUS_VALID comparator (default)
38315 */
38316#define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_MASK)
38317#define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_MASK (0x4000000U)
38318#define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_SHIFT (26U)
38319/*! DISCHARGE_VBUS
38320 * 0b0..VBUS discharge resistor is disabled (Default)
38321 * 0b1..VBUS discharge resistor is enabled
38322 */
38323#define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_MASK)
38324#define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_MASK (0x80000000U)
38325#define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_SHIFT (31U)
38326/*! EN_CHARGER_RESISTOR
38327 * 0b0..Disable resistive charger detection resistors on USB_DP and USB_DP
38328 * 0b1..Enable resistive charger detection resistors on USB_DP and USB_DP
38329 */
38330#define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_MASK)
38331/*! @} */
38332
38333/*! @name USB1_VBUS_DETECT_SET - USB PHY VBUS Detect Control Register */
38334/*! @{ */
38335#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK (0x7U)
38336#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT (0U)
38337/*! VBUSVALID_THRESH
38338 * 0b000..4.0V
38339 * 0b001..4.1V
38340 * 0b010..4.2V
38341 * 0b011..4.3V
38342 * 0b100..4.4V(Default)
38343 * 0b101..4.5V
38344 * 0b110..4.6V
38345 * 0b111..4.7V
38346 */
38347#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK)
38348#define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_MASK (0x8U)
38349#define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_SHIFT (3U)
38350/*! VBUS_OVERRIDE_EN
38351 * 0b0..Use the results of the internal VBUS_VALID and Session Valid comparators for VBUS_VALID, AVALID, BVALID, and SESSEND (Default)
38352 * 0b1..Use the override values for VBUS_VALID, AVALID, BVALID, and SESSEND
38353 */
38354#define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_MASK)
38355#define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_MASK (0x10U)
38356#define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_SHIFT (4U)
38357#define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_MASK)
38358#define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_MASK (0x20U)
38359#define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_SHIFT (5U)
38360#define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_MASK)
38361#define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_MASK (0x40U)
38362#define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_SHIFT (6U)
38363#define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_MASK)
38364#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_MASK (0x80U)
38365#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_SHIFT (7U)
38366#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_MASK)
38367#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_MASK (0x100U)
38368#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_SHIFT (8U)
38369/*! VBUSVALID_SEL
38370 * 0b0..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38371 * 0b1..Use the VBUS_VALID_3V detector results for signal reported to the USB controller
38372 */
38373#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_MASK)
38374#define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_MASK (0x600U)
38375#define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_SHIFT (9U)
38376/*! VBUS_SOURCE_SEL
38377 * 0b00..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38378 * 0b01..Use the Session Valid comparator results for signal reported to the USB controller
38379 * 0b10..Use the Session Valid comparator results for signal reported to the USB controller
38380 * 0b11..Reserved, do not use
38381 */
38382#define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_MASK)
38383#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
38384#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_SHIFT (18U)
38385/*! VBUSVALID_TO_SESSVALID
38386 * 0b0..Use the VBUS_VALID comparator for VBUS_VALID results
38387 * 0b1..Use the Session End comparator for VBUS_VALID results. The Session End threshold is >0.8V and <4.0V.
38388 */
38389#define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_MASK)
38390#define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_MASK (0x100000U)
38391#define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_SHIFT (20U)
38392/*! PWRUP_CMPS
38393 * 0b0..Powers down the VBUS_VALID comparator
38394 * 0b1..Enables the VBUS_VALID comparator (default)
38395 */
38396#define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_MASK)
38397#define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK (0x4000000U)
38398#define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT (26U)
38399/*! DISCHARGE_VBUS
38400 * 0b0..VBUS discharge resistor is disabled (Default)
38401 * 0b1..VBUS discharge resistor is enabled
38402 */
38403#define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK)
38404#define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_MASK (0x80000000U)
38405#define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_SHIFT (31U)
38406/*! EN_CHARGER_RESISTOR
38407 * 0b0..Disable resistive charger detection resistors on USB_DP and USB_DP
38408 * 0b1..Enable resistive charger detection resistors on USB_DP and USB_DP
38409 */
38410#define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_MASK)
38411/*! @} */
38412
38413/*! @name USB1_VBUS_DETECT_CLR - USB PHY VBUS Detect Control Register */
38414/*! @{ */
38415#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK (0x7U)
38416#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT (0U)
38417/*! VBUSVALID_THRESH
38418 * 0b000..4.0V
38419 * 0b001..4.1V
38420 * 0b010..4.2V
38421 * 0b011..4.3V
38422 * 0b100..4.4V(Default)
38423 * 0b101..4.5V
38424 * 0b110..4.6V
38425 * 0b111..4.7V
38426 */
38427#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK)
38428#define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_MASK (0x8U)
38429#define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_SHIFT (3U)
38430/*! VBUS_OVERRIDE_EN
38431 * 0b0..Use the results of the internal VBUS_VALID and Session Valid comparators for VBUS_VALID, AVALID, BVALID, and SESSEND (Default)
38432 * 0b1..Use the override values for VBUS_VALID, AVALID, BVALID, and SESSEND
38433 */
38434#define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_MASK)
38435#define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_MASK (0x10U)
38436#define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_SHIFT (4U)
38437#define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_MASK)
38438#define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_MASK (0x20U)
38439#define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_SHIFT (5U)
38440#define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_MASK)
38441#define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_MASK (0x40U)
38442#define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_SHIFT (6U)
38443#define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_MASK)
38444#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_MASK (0x80U)
38445#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_SHIFT (7U)
38446#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_MASK)
38447#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_MASK (0x100U)
38448#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_SHIFT (8U)
38449/*! VBUSVALID_SEL
38450 * 0b0..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38451 * 0b1..Use the VBUS_VALID_3V detector results for signal reported to the USB controller
38452 */
38453#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_MASK)
38454#define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_MASK (0x600U)
38455#define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_SHIFT (9U)
38456/*! VBUS_SOURCE_SEL
38457 * 0b00..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38458 * 0b01..Use the Session Valid comparator results for signal reported to the USB controller
38459 * 0b10..Use the Session Valid comparator results for signal reported to the USB controller
38460 * 0b11..Reserved, do not use
38461 */
38462#define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_MASK)
38463#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
38464#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_SHIFT (18U)
38465/*! VBUSVALID_TO_SESSVALID
38466 * 0b0..Use the VBUS_VALID comparator for VBUS_VALID results
38467 * 0b1..Use the Session End comparator for VBUS_VALID results. The Session End threshold is >0.8V and <4.0V.
38468 */
38469#define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_MASK)
38470#define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_MASK (0x100000U)
38471#define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_SHIFT (20U)
38472/*! PWRUP_CMPS
38473 * 0b0..Powers down the VBUS_VALID comparator
38474 * 0b1..Enables the VBUS_VALID comparator (default)
38475 */
38476#define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_MASK)
38477#define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK (0x4000000U)
38478#define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT (26U)
38479/*! DISCHARGE_VBUS
38480 * 0b0..VBUS discharge resistor is disabled (Default)
38481 * 0b1..VBUS discharge resistor is enabled
38482 */
38483#define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK)
38484#define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_MASK (0x80000000U)
38485#define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_SHIFT (31U)
38486/*! EN_CHARGER_RESISTOR
38487 * 0b0..Disable resistive charger detection resistors on USB_DP and USB_DP
38488 * 0b1..Enable resistive charger detection resistors on USB_DP and USB_DP
38489 */
38490#define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_MASK)
38491/*! @} */
38492
38493/*! @name USB1_VBUS_DETECT_TOG - USB PHY VBUS Detect Control Register */
38494/*! @{ */
38495#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK (0x7U)
38496#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT (0U)
38497/*! VBUSVALID_THRESH
38498 * 0b000..4.0V
38499 * 0b001..4.1V
38500 * 0b010..4.2V
38501 * 0b011..4.3V
38502 * 0b100..4.4V(Default)
38503 * 0b101..4.5V
38504 * 0b110..4.6V
38505 * 0b111..4.7V
38506 */
38507#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK)
38508#define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_MASK (0x8U)
38509#define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_SHIFT (3U)
38510/*! VBUS_OVERRIDE_EN
38511 * 0b0..Use the results of the internal VBUS_VALID and Session Valid comparators for VBUS_VALID, AVALID, BVALID, and SESSEND (Default)
38512 * 0b1..Use the override values for VBUS_VALID, AVALID, BVALID, and SESSEND
38513 */
38514#define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_MASK)
38515#define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_MASK (0x10U)
38516#define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_SHIFT (4U)
38517#define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_MASK)
38518#define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_MASK (0x20U)
38519#define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_SHIFT (5U)
38520#define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_MASK)
38521#define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_MASK (0x40U)
38522#define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_SHIFT (6U)
38523#define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_MASK)
38524#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_MASK (0x80U)
38525#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_SHIFT (7U)
38526#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_MASK)
38527#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_MASK (0x100U)
38528#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_SHIFT (8U)
38529/*! VBUSVALID_SEL
38530 * 0b0..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38531 * 0b1..Use the VBUS_VALID_3V detector results for signal reported to the USB controller
38532 */
38533#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_MASK)
38534#define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_MASK (0x600U)
38535#define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_SHIFT (9U)
38536/*! VBUS_SOURCE_SEL
38537 * 0b00..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
38538 * 0b01..Use the Session Valid comparator results for signal reported to the USB controller
38539 * 0b10..Use the Session Valid comparator results for signal reported to the USB controller
38540 * 0b11..Reserved, do not use
38541 */
38542#define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_MASK)
38543#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
38544#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_SHIFT (18U)
38545/*! VBUSVALID_TO_SESSVALID
38546 * 0b0..Use the VBUS_VALID comparator for VBUS_VALID results
38547 * 0b1..Use the Session End comparator for VBUS_VALID results. The Session End threshold is >0.8V and <4.0V.
38548 */
38549#define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_MASK)
38550#define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_MASK (0x100000U)
38551#define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_SHIFT (20U)
38552/*! PWRUP_CMPS
38553 * 0b0..Powers down the VBUS_VALID comparator
38554 * 0b1..Enables the VBUS_VALID comparator (default)
38555 */
38556#define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_MASK)
38557#define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK (0x4000000U)
38558#define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT (26U)
38559/*! DISCHARGE_VBUS
38560 * 0b0..VBUS discharge resistor is disabled (Default)
38561 * 0b1..VBUS discharge resistor is enabled
38562 */
38563#define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK)
38564#define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_MASK (0x80000000U)
38565#define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_SHIFT (31U)
38566/*! EN_CHARGER_RESISTOR
38567 * 0b0..Disable resistive charger detection resistors on USB_DP and USB_DP
38568 * 0b1..Enable resistive charger detection resistors on USB_DP and USB_DP
38569 */
38570#define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_MASK)
38571/*! @} */
38572
38573/*! @name USB1_VBUS_DET_STAT - USB PHY VBUS Detector Status Register */
38574/*! @{ */
38575#define USBPHY_USB1_VBUS_DET_STAT_SESSEND_MASK (0x1U)
38576#define USBPHY_USB1_VBUS_DET_STAT_SESSEND_SHIFT (0U)
38577/*! SESSEND
38578 * 0b0..The VBUS voltage is above the Session Valid threshold
38579 * 0b1..The VBUS voltage is below the Session Valid threshold
38580 */
38581#define USBPHY_USB1_VBUS_DET_STAT_SESSEND(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_SESSEND_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_SESSEND_MASK)
38582#define USBPHY_USB1_VBUS_DET_STAT_BVALID_MASK (0x2U)
38583#define USBPHY_USB1_VBUS_DET_STAT_BVALID_SHIFT (1U)
38584/*! BVALID
38585 * 0b0..The VBUS voltage is below the Session Valid threshold
38586 * 0b1..The VBUS voltage is above the Session Valid threshold
38587 */
38588#define USBPHY_USB1_VBUS_DET_STAT_BVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_BVALID_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_BVALID_MASK)
38589#define USBPHY_USB1_VBUS_DET_STAT_AVALID_MASK (0x4U)
38590#define USBPHY_USB1_VBUS_DET_STAT_AVALID_SHIFT (2U)
38591/*! AVALID
38592 * 0b0..The VBUS voltage is below the Session Valid threshold
38593 * 0b1..The VBUS voltage is above the Session Valid threshold
38594 */
38595#define USBPHY_USB1_VBUS_DET_STAT_AVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_AVALID_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_AVALID_MASK)
38596#define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_MASK (0x8U)
38597#define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_SHIFT (3U)
38598/*! VBUS_VALID
38599 * 0b0..VBUS is below the comparator threshold
38600 * 0b1..VBUS is above the comparator threshold
38601 */
38602#define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_MASK)
38603#define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_MASK (0x10U)
38604#define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_SHIFT (4U)
38605/*! VBUS_VALID_3V
38606 * 0b0..VBUS voltage is below VBUS_VALID_3V threshold
38607 * 0b1..VBUS voltage is above VBUS_VALID_3V threshold
38608 */
38609#define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_MASK)
38610/*! @} */
38611
38612/*! @name USB1_CHRG_DETECT - USB PHY Charger Detect Control Register */
38613/*! @{ */
38614#define USBPHY_USB1_CHRG_DETECT_PULLUP_DP_MASK (0x4U)
38615#define USBPHY_USB1_CHRG_DETECT_PULLUP_DP_SHIFT (2U)
38616#define USBPHY_USB1_CHRG_DETECT_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_PULLUP_DP_MASK)
38617#define USBPHY_USB1_CHRG_DETECT_BGR_IBIAS_MASK (0x800000U)
38618#define USBPHY_USB1_CHRG_DETECT_BGR_IBIAS_SHIFT (23U)
38619/*! BGR_IBIAS
38620 * 0b0..Bias current is derived from the USB PHY internal current generator.
38621 * 0b1..Bias current is derived from the reference generator of the bandgap.
38622 */
38623#define USBPHY_USB1_CHRG_DETECT_BGR_IBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_BGR_IBIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_BGR_IBIAS_MASK)
38624/*! @} */
38625
38626/*! @name USB1_CHRG_DETECT_SET - USB PHY Charger Detect Control Register */
38627/*! @{ */
38628#define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_MASK (0x4U)
38629#define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_SHIFT (2U)
38630#define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_MASK)
38631#define USBPHY_USB1_CHRG_DETECT_SET_BGR_IBIAS_MASK (0x800000U)
38632#define USBPHY_USB1_CHRG_DETECT_SET_BGR_IBIAS_SHIFT (23U)
38633/*! BGR_IBIAS
38634 * 0b0..Bias current is derived from the USB PHY internal current generator.
38635 * 0b1..Bias current is derived from the reference generator of the bandgap.
38636 */
38637#define USBPHY_USB1_CHRG_DETECT_SET_BGR_IBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_SET_BGR_IBIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_SET_BGR_IBIAS_MASK)
38638/*! @} */
38639
38640/*! @name USB1_CHRG_DETECT_CLR - USB PHY Charger Detect Control Register */
38641/*! @{ */
38642#define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_MASK (0x4U)
38643#define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_SHIFT (2U)
38644#define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_MASK)
38645#define USBPHY_USB1_CHRG_DETECT_CLR_BGR_IBIAS_MASK (0x800000U)
38646#define USBPHY_USB1_CHRG_DETECT_CLR_BGR_IBIAS_SHIFT (23U)
38647/*! BGR_IBIAS
38648 * 0b0..Bias current is derived from the USB PHY internal current generator.
38649 * 0b1..Bias current is derived from the reference generator of the bandgap.
38650 */
38651#define USBPHY_USB1_CHRG_DETECT_CLR_BGR_IBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_CLR_BGR_IBIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_CLR_BGR_IBIAS_MASK)
38652/*! @} */
38653
38654/*! @name USB1_CHRG_DETECT_TOG - USB PHY Charger Detect Control Register */
38655/*! @{ */
38656#define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_MASK (0x4U)
38657#define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_SHIFT (2U)
38658#define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_MASK)
38659#define USBPHY_USB1_CHRG_DETECT_TOG_BGR_IBIAS_MASK (0x800000U)
38660#define USBPHY_USB1_CHRG_DETECT_TOG_BGR_IBIAS_SHIFT (23U)
38661/*! BGR_IBIAS
38662 * 0b0..Bias current is derived from the USB PHY internal current generator.
38663 * 0b1..Bias current is derived from the reference generator of the bandgap.
38664 */
38665#define USBPHY_USB1_CHRG_DETECT_TOG_BGR_IBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_TOG_BGR_IBIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_TOG_BGR_IBIAS_MASK)
38666/*! @} */
38667
38668/*! @name USB1_CHRG_DET_STAT - USB PHY Charger Detect Status Register */
38669/*! @{ */
38670#define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_MASK (0x1U)
38671#define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_SHIFT (0U)
38672/*! PLUG_CONTACT
38673 * 0b0..No USB cable attachment has been detected
38674 * 0b1..A USB cable attachment between the device and host has been detected
38675 */
38676#define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_MASK)
38677#define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_MASK (0x2U)
38678#define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_SHIFT (1U)
38679/*! CHRG_DETECTED
38680 * 0b0..Standard Downstream Port (SDP) has been detected
38681 * 0b1..Charging Port has been detected
38682 */
38683#define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_MASK)
38684#define USBPHY_USB1_CHRG_DET_STAT_DM_STATE_MASK (0x4U)
38685#define USBPHY_USB1_CHRG_DET_STAT_DM_STATE_SHIFT (2U)
38686/*! DM_STATE
38687 * 0b0..USB_DM pin voltage is < 0.8V
38688 * 0b1..USB_DM pin voltage is > 2.0V
38689 */
38690#define USBPHY_USB1_CHRG_DET_STAT_DM_STATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_DM_STATE_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_DM_STATE_MASK)
38691#define USBPHY_USB1_CHRG_DET_STAT_DP_STATE_MASK (0x8U)
38692#define USBPHY_USB1_CHRG_DET_STAT_DP_STATE_SHIFT (3U)
38693/*! DP_STATE
38694 * 0b0..USB_DP pin voltage is < 0.8V
38695 * 0b1..USB_DP pin voltage is > 2.0V
38696 */
38697#define USBPHY_USB1_CHRG_DET_STAT_DP_STATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_DP_STATE_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_DP_STATE_MASK)
38698#define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_MASK (0x10U)
38699#define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_SHIFT (4U)
38700/*! SECDET_DCP
38701 * 0b0..Charging Downstream Port (CDP) has been detected
38702 * 0b1..Downstream Charging Port (DCP) has been detected
38703 */
38704#define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_MASK)
38705/*! @} */
38706
38707/*! @name ANACTRL - USB PHY Analog Control Register */
38708/*! @{ */
38709#define USBPHY_ANACTRL_DEV_PULLDOWN_MASK (0x400U)
38710#define USBPHY_ANACTRL_DEV_PULLDOWN_SHIFT (10U)
38711/*! DEV_PULLDOWN
38712 * 0b0..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare disabled in device mode.
38713 * 0b1..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare enabled in device mode.
38714 */
38715#define USBPHY_ANACTRL_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_DEV_PULLDOWN_MASK)
38716/*! @} */
38717
38718/*! @name ANACTRL_SET - USB PHY Analog Control Register */
38719/*! @{ */
38720#define USBPHY_ANACTRL_SET_DEV_PULLDOWN_MASK (0x400U)
38721#define USBPHY_ANACTRL_SET_DEV_PULLDOWN_SHIFT (10U)
38722/*! DEV_PULLDOWN
38723 * 0b0..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare disabled in device mode.
38724 * 0b1..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare enabled in device mode.
38725 */
38726#define USBPHY_ANACTRL_SET_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_SET_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_SET_DEV_PULLDOWN_MASK)
38727/*! @} */
38728
38729/*! @name ANACTRL_CLR - USB PHY Analog Control Register */
38730/*! @{ */
38731#define USBPHY_ANACTRL_CLR_DEV_PULLDOWN_MASK (0x400U)
38732#define USBPHY_ANACTRL_CLR_DEV_PULLDOWN_SHIFT (10U)
38733/*! DEV_PULLDOWN
38734 * 0b0..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare disabled in device mode.
38735 * 0b1..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare enabled in device mode.
38736 */
38737#define USBPHY_ANACTRL_CLR_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_CLR_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_CLR_DEV_PULLDOWN_MASK)
38738/*! @} */
38739
38740/*! @name ANACTRL_TOG - USB PHY Analog Control Register */
38741/*! @{ */
38742#define USBPHY_ANACTRL_TOG_DEV_PULLDOWN_MASK (0x400U)
38743#define USBPHY_ANACTRL_TOG_DEV_PULLDOWN_SHIFT (10U)
38744/*! DEV_PULLDOWN
38745 * 0b0..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare disabled in device mode.
38746 * 0b1..The 15kohm nominal pulldowns on the USB_DP and USB_DM pinsare enabled in device mode.
38747 */
38748#define USBPHY_ANACTRL_TOG_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_TOG_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_TOG_DEV_PULLDOWN_MASK)
38749/*! @} */
38750
38751/*! @name USB1_LOOPBACK - USB PHY Loopback Control/Status Register */
38752/*! @{ */
38753#define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_MASK (0x1U)
38754#define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_SHIFT (0U)
38755#define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_MASK)
38756#define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_MASK (0x2U)
38757#define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_SHIFT (1U)
38758#define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_MASK)
38759#define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_MASK (0x4U)
38760#define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_SHIFT (2U)
38761#define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_MASK)
38762#define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_MASK (0x8U)
38763#define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_SHIFT (3U)
38764#define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_MASK)
38765#define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_MASK (0x10U)
38766#define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_SHIFT (4U)
38767#define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_MASK)
38768#define USBPHY_USB1_LOOPBACK_TSTI_TX_EN_MASK (0x20U)
38769#define USBPHY_USB1_LOOPBACK_TSTI_TX_EN_SHIFT (5U)
38770#define USBPHY_USB1_LOOPBACK_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_EN_MASK)
38771#define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_MASK (0x40U)
38772#define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_SHIFT (6U)
38773#define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_MASK)
38774#define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_MASK (0x80U)
38775#define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_SHIFT (7U)
38776#define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_MASK)
38777#define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_MASK (0x100U)
38778#define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_SHIFT (8U)
38779#define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_MASK)
38780#define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_MASK (0x8000U)
38781#define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_SHIFT (15U)
38782#define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_MASK)
38783#define USBPHY_USB1_LOOPBACK_TSTPKT_MASK (0xFF0000U)
38784#define USBPHY_USB1_LOOPBACK_TSTPKT_SHIFT (16U)
38785#define USBPHY_USB1_LOOPBACK_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTPKT_MASK)
38786/*! @} */
38787
38788/*! @name USB1_LOOPBACK_SET - USB PHY Loopback Control/Status Register */
38789/*! @{ */
38790#define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_MASK (0x1U)
38791#define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_SHIFT (0U)
38792#define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_MASK)
38793#define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_MASK (0x2U)
38794#define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_SHIFT (1U)
38795#define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_MASK)
38796#define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_MASK (0x4U)
38797#define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_SHIFT (2U)
38798#define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_MASK)
38799#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_MASK (0x8U)
38800#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_SHIFT (3U)
38801#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_MASK)
38802#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_MASK (0x10U)
38803#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_SHIFT (4U)
38804#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_MASK)
38805#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_MASK (0x20U)
38806#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_SHIFT (5U)
38807#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_MASK)
38808#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_MASK (0x40U)
38809#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_SHIFT (6U)
38810#define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_MASK)
38811#define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_MASK (0x80U)
38812#define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_SHIFT (7U)
38813#define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_MASK)
38814#define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_MASK (0x100U)
38815#define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_SHIFT (8U)
38816#define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_MASK)
38817#define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_MASK (0x8000U)
38818#define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_SHIFT (15U)
38819#define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_MASK)
38820#define USBPHY_USB1_LOOPBACK_SET_TSTPKT_MASK (0xFF0000U)
38821#define USBPHY_USB1_LOOPBACK_SET_TSTPKT_SHIFT (16U)
38822#define USBPHY_USB1_LOOPBACK_SET_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTPKT_MASK)
38823/*! @} */
38824
38825/*! @name USB1_LOOPBACK_CLR - USB PHY Loopback Control/Status Register */
38826/*! @{ */
38827#define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_MASK (0x1U)
38828#define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT (0U)
38829#define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_MASK)
38830#define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_MASK (0x2U)
38831#define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_SHIFT (1U)
38832#define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_MASK)
38833#define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_MASK (0x4U)
38834#define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_SHIFT (2U)
38835#define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_MASK)
38836#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_MASK (0x8U)
38837#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_SHIFT (3U)
38838#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_MASK)
38839#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_MASK (0x10U)
38840#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_SHIFT (4U)
38841#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_MASK)
38842#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_MASK (0x20U)
38843#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_SHIFT (5U)
38844#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_MASK)
38845#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_MASK (0x40U)
38846#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_SHIFT (6U)
38847#define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_MASK)
38848#define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_MASK (0x80U)
38849#define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_SHIFT (7U)
38850#define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_MASK)
38851#define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_MASK (0x100U)
38852#define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_SHIFT (8U)
38853#define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_MASK)
38854#define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_MASK (0x8000U)
38855#define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_SHIFT (15U)
38856#define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_MASK)
38857#define USBPHY_USB1_LOOPBACK_CLR_TSTPKT_MASK (0xFF0000U)
38858#define USBPHY_USB1_LOOPBACK_CLR_TSTPKT_SHIFT (16U)
38859#define USBPHY_USB1_LOOPBACK_CLR_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTPKT_MASK)
38860/*! @} */
38861
38862/*! @name USB1_LOOPBACK_TOG - USB PHY Loopback Control/Status Register */
38863/*! @{ */
38864#define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_MASK (0x1U)
38865#define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT (0U)
38866#define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_MASK)
38867#define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_MASK (0x2U)
38868#define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_SHIFT (1U)
38869#define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_MASK)
38870#define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_MASK (0x4U)
38871#define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_SHIFT (2U)
38872#define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_MASK)
38873#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_MASK (0x8U)
38874#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_SHIFT (3U)
38875#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_MASK)
38876#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_MASK (0x10U)
38877#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_SHIFT (4U)
38878#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_MASK)
38879#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_MASK (0x20U)
38880#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_SHIFT (5U)
38881#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_MASK)
38882#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_MASK (0x40U)
38883#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_SHIFT (6U)
38884#define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_MASK)
38885#define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_MASK (0x80U)
38886#define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_SHIFT (7U)
38887#define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_MASK)
38888#define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_MASK (0x100U)
38889#define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_SHIFT (8U)
38890#define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_MASK)
38891#define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_MASK (0x8000U)
38892#define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_SHIFT (15U)
38893#define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_MASK)
38894#define USBPHY_USB1_LOOPBACK_TOG_TSTPKT_MASK (0xFF0000U)
38895#define USBPHY_USB1_LOOPBACK_TOG_TSTPKT_SHIFT (16U)
38896#define USBPHY_USB1_LOOPBACK_TOG_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTPKT_MASK)
38897/*! @} */
38898
38899/*! @name USB1_LOOPBACK_HSFSCNT - USB PHY Loopback Packet Number Select Register */
38900/*! @{ */
38901#define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_MASK (0xFFFFU)
38902#define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_SHIFT (0U)
38903#define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_MASK)
38904#define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
38905#define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_SHIFT (16U)
38906#define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_MASK)
38907/*! @} */
38908
38909/*! @name USB1_LOOPBACK_HSFSCNT_SET - USB PHY Loopback Packet Number Select Register */
38910/*! @{ */
38911#define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_MASK (0xFFFFU)
38912#define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_SHIFT (0U)
38913#define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_MASK)
38914#define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
38915#define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_SHIFT (16U)
38916#define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_MASK)
38917/*! @} */
38918
38919/*! @name USB1_LOOPBACK_HSFSCNT_CLR - USB PHY Loopback Packet Number Select Register */
38920/*! @{ */
38921#define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_MASK (0xFFFFU)
38922#define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_SHIFT (0U)
38923#define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_MASK)
38924#define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
38925#define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_SHIFT (16U)
38926#define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_MASK)
38927/*! @} */
38928
38929/*! @name USB1_LOOPBACK_HSFSCNT_TOG - USB PHY Loopback Packet Number Select Register */
38930/*! @{ */
38931#define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_MASK (0xFFFFU)
38932#define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_SHIFT (0U)
38933#define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_MASK)
38934#define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
38935#define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_SHIFT (16U)
38936#define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_MASK)
38937/*! @} */
38938
38939/*! @name TRIM_OVERRIDE_EN - USB PHY Trim Override Enable Register */
38940/*! @{ */
38941#define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
38942#define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
38943#define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_MASK)
38944#define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
38945#define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
38946#define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
38947#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
38948#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
38949#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_MASK)
38950#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
38951#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
38952#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_MASK)
38953#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DM_OVERRIDE_MASK (0x10U)
38954#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DM_OVERRIDE_SHIFT (4U)
38955#define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DM_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DM_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DM_OVERRIDE_MASK)
38956#define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
38957#define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
38958#define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
38959#define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
38960#define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
38961#define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_MASK)
38962#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
38963#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
38964#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_MASK)
38965#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
38966#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
38967#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_MASK)
38968#define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
38969#define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
38970#define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_MASK)
38971#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
38972#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
38973#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
38974#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
38975#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
38976#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_MASK)
38977#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
38978#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
38979#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_MASK)
38980#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DM_MASK (0xF0000000U)
38981#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DM_SHIFT (28U)
38982#define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DM_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DM_MASK)
38983/*! @} */
38984
38985/*! @name TRIM_OVERRIDE_EN_SET - USB PHY Trim Override Enable Register */
38986/*! @{ */
38987#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
38988#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
38989#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_MASK)
38990#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
38991#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
38992#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
38993#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
38994#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
38995#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_MASK)
38996#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
38997#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
38998#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_MASK)
38999#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DM_OVERRIDE_MASK (0x10U)
39000#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DM_OVERRIDE_SHIFT (4U)
39001#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DM_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DM_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DM_OVERRIDE_MASK)
39002#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
39003#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
39004#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
39005#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
39006#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
39007#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_MASK)
39008#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
39009#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
39010#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_MASK)
39011#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
39012#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
39013#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_MASK)
39014#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
39015#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
39016#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_MASK)
39017#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
39018#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
39019#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
39020#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
39021#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
39022#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_MASK)
39023#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
39024#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
39025#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_MASK)
39026#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DM_MASK (0xF0000000U)
39027#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DM_SHIFT (28U)
39028#define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DM_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DM_MASK)
39029/*! @} */
39030
39031/*! @name TRIM_OVERRIDE_EN_CLR - USB PHY Trim Override Enable Register */
39032/*! @{ */
39033#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
39034#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
39035#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_MASK)
39036#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
39037#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
39038#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
39039#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
39040#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
39041#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_MASK)
39042#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
39043#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
39044#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_MASK)
39045#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DM_OVERRIDE_MASK (0x10U)
39046#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DM_OVERRIDE_SHIFT (4U)
39047#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DM_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DM_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DM_OVERRIDE_MASK)
39048#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
39049#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
39050#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
39051#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
39052#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
39053#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_MASK)
39054#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
39055#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
39056#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_MASK)
39057#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
39058#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
39059#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_MASK)
39060#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
39061#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
39062#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_MASK)
39063#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
39064#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
39065#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
39066#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
39067#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
39068#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_MASK)
39069#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
39070#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
39071#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_MASK)
39072#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DM_MASK (0xF0000000U)
39073#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DM_SHIFT (28U)
39074#define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DM_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DM_MASK)
39075/*! @} */
39076
39077/*! @name TRIM_OVERRIDE_EN_TOG - USB PHY Trim Override Enable Register */
39078/*! @{ */
39079#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
39080#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
39081#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_MASK)
39082#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
39083#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
39084#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
39085#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
39086#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
39087#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_MASK)
39088#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
39089#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
39090#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_MASK)
39091#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DM_OVERRIDE_MASK (0x10U)
39092#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DM_OVERRIDE_SHIFT (4U)
39093#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DM_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DM_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DM_OVERRIDE_MASK)
39094#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
39095#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
39096#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
39097#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
39098#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
39099#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_MASK)
39100#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
39101#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
39102#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_MASK)
39103#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
39104#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
39105#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_MASK)
39106#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
39107#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
39108#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_MASK)
39109#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
39110#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
39111#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
39112#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
39113#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
39114#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_MASK)
39115#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
39116#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
39117#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_MASK)
39118#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DM_MASK (0xF0000000U)
39119#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DM_SHIFT (28U)
39120#define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DM_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DM_MASK)
39121/*! @} */
39122
39123
39124/*!
39125 * @}
39126 */ /* end of group USBPHY_Register_Masks */
39127
39128
39129/* USBPHY - Peripheral instance base addresses */
39130#if (__ARM_FEATURE_CMSE & 0x2)
39131 /** Peripheral USBPHY base address */
39132 #define USBPHY_BASE (0x5013B000u)
39133 /** Peripheral USBPHY base address */
39134 #define USBPHY_BASE_NS (0x4013B000u)
39135 /** Peripheral USBPHY base pointer */
39136 #define USBPHY ((USBPHY_Type *)USBPHY_BASE)
39137 /** Peripheral USBPHY base pointer */
39138 #define USBPHY_NS ((USBPHY_Type *)USBPHY_BASE_NS)
39139 /** Array initializer of USBPHY peripheral base addresses */
39140 #define USBPHY_BASE_ADDRS { USBPHY_BASE }
39141 /** Array initializer of USBPHY peripheral base pointers */
39142 #define USBPHY_BASE_PTRS { USBPHY }
39143 /** Array initializer of USBPHY peripheral base addresses */
39144 #define USBPHY_BASE_ADDRS_NS { USBPHY_BASE_NS }
39145 /** Array initializer of USBPHY peripheral base pointers */
39146 #define USBPHY_BASE_PTRS_NS { USBPHY_NS }
39147#else
39148 /** Peripheral USBPHY base address */
39149 #define USBPHY_BASE (0x4013B000u)
39150 /** Peripheral USBPHY base pointer */
39151 #define USBPHY ((USBPHY_Type *)USBPHY_BASE)
39152 /** Array initializer of USBPHY peripheral base addresses */
39153 #define USBPHY_BASE_ADDRS { USBPHY_BASE }
39154 /** Array initializer of USBPHY peripheral base pointers */
39155 #define USBPHY_BASE_PTRS { USBPHY }
39156#endif
39157
39158/*!
39159 * @}
39160 */ /* end of group USBPHY_Peripheral_Access_Layer */
39161
39162
39163/* ----------------------------------------------------------------------------
39164 -- USDHC Peripheral Access Layer
39165 ---------------------------------------------------------------------------- */
39166
39167/*!
39168 * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer
39169 * @{
39170 */
39171
39172/** USDHC - Register Layout Typedef */
39173typedef struct {
39174 __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */
39175 __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */
39176 __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */
39177 __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */
39178 __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */
39179 __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */
39180 __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */
39181 __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */
39182 __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */
39183 __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */
39184 __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */
39185 __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */
39186 __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */
39187 __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */
39188 __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */
39189 __IO uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */
39190 __IO uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */
39191 __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */
39192 __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */
39193 uint8_t RESERVED_0[4];
39194 __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */
39195 __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status Register, offset: 0x54 */
39196 __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */
39197 uint8_t RESERVED_1[4];
39198 __IO uint32_t DLL_CTRL; /**< DLL (Delay Line) Control, offset: 0x60 */
39199 __I uint32_t DLL_STATUS; /**< DLL Status, offset: 0x64 */
39200 __IO uint32_t CLK_TUNE_CTRL_STATUS; /**< CLK Tuning Control and Status, offset: 0x68 */
39201 uint8_t RESERVED_2[4];
39202 __IO uint32_t STROBE_DLL_CTRL; /**< Strobe DLL Control, offset: 0x70 */
39203 __I uint32_t STROBE_DLL_STATUS; /**< Strobe DLL Status, offset: 0x74 */
39204 uint8_t RESERVED_3[72];
39205 __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */
39206 __IO uint32_t MMC_BOOT; /**< MMC Boot Register, offset: 0xC4 */
39207 __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */
39208 __IO uint32_t TUNING_CTRL; /**< Tuning Control Register, offset: 0xCC */
39209} USDHC_Type;
39210
39211/* ----------------------------------------------------------------------------
39212 -- USDHC Register Masks
39213 ---------------------------------------------------------------------------- */
39214
39215/*!
39216 * @addtogroup USDHC_Register_Masks USDHC Register Masks
39217 * @{
39218 */
39219
39220/*! @name DS_ADDR - DMA System Address */
39221/*! @{ */
39222#define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU)
39223#define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U)
39224/*! DS_ADDR - DS_ADDR
39225 */
39226#define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK)
39227/*! @} */
39228
39229/*! @name BLK_ATT - Block Attributes */
39230/*! @{ */
39231#define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU)
39232#define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U)
39233/*! BLKSIZE - Block Size
39234 * 0b1000000000000..4096 Bytes
39235 * 0b0100000000000..2048 Bytes
39236 * 0b0001000000000..512 Bytes
39237 * 0b0000111111111..511 Bytes
39238 * 0b0000000000100..4 Bytes
39239 * 0b0000000000011..3 Bytes
39240 * 0b0000000000010..2 Bytes
39241 * 0b0000000000001..1 Byte
39242 * 0b0000000000000..No data transfer
39243 */
39244#define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK)
39245#define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U)
39246#define USDHC_BLK_ATT_BLKCNT_SHIFT (16U)
39247/*! BLKCNT - Block Count
39248 * 0b1111111111111111..65535 blocks
39249 * 0b0000000000000010..2 blocks
39250 * 0b0000000000000001..1 block
39251 * 0b0000000000000000..Stop Count
39252 */
39253#define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK)
39254/*! @} */
39255
39256/*! @name CMD_ARG - Command Argument */
39257/*! @{ */
39258#define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU)
39259#define USDHC_CMD_ARG_CMDARG_SHIFT (0U)
39260/*! CMDARG - Command Argument
39261 */
39262#define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK)
39263/*! @} */
39264
39265/*! @name CMD_XFR_TYP - Command Transfer Type */
39266/*! @{ */
39267#define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U)
39268#define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U)
39269/*! RSPTYP - Response Type Select
39270 * 0b00..No Response
39271 * 0b01..Response Length 136
39272 * 0b10..Response Length 48
39273 * 0b11..Response Length 48, check Busy after response
39274 */
39275#define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK)
39276#define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U)
39277#define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U)
39278/*! CCCEN - Command CRC Check Enable
39279 * 0b1..Enable
39280 * 0b0..Disable
39281 */
39282#define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK)
39283#define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U)
39284#define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U)
39285/*! CICEN - Command Index Check Enable
39286 * 0b1..Enable
39287 * 0b0..Disable
39288 */
39289#define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK)
39290#define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U)
39291#define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U)
39292/*! DPSEL - Data Present Select
39293 * 0b1..Data Present
39294 * 0b0..No Data Present
39295 */
39296#define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK)
39297#define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U)
39298#define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U)
39299/*! CMDTYP - Command Type
39300 * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR
39301 * 0b10..Resume CMD52 for writing Function Select in CCCR
39302 * 0b01..Suspend CMD52 for writing Bus Suspend in CCCR
39303 * 0b00..Normal Other commands
39304 */
39305#define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK)
39306#define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U)
39307#define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U)
39308/*! CMDINX - Command Index
39309 */
39310#define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK)
39311/*! @} */
39312
39313/*! @name CMD_RSP0 - Command Response0 */
39314/*! @{ */
39315#define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU)
39316#define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U)
39317/*! CMDRSP0 - Command Response 0
39318 */
39319#define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK)
39320/*! @} */
39321
39322/*! @name CMD_RSP1 - Command Response1 */
39323/*! @{ */
39324#define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU)
39325#define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U)
39326/*! CMDRSP1 - Command Response 1
39327 */
39328#define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK)
39329/*! @} */
39330
39331/*! @name CMD_RSP2 - Command Response2 */
39332/*! @{ */
39333#define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU)
39334#define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U)
39335/*! CMDRSP2 - Command Response 2
39336 */
39337#define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK)
39338/*! @} */
39339
39340/*! @name CMD_RSP3 - Command Response3 */
39341/*! @{ */
39342#define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU)
39343#define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U)
39344/*! CMDRSP3 - Command Response 3
39345 */
39346#define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK)
39347/*! @} */
39348
39349/*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */
39350/*! @{ */
39351#define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU)
39352#define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U)
39353/*! DATCONT - Data Content
39354 */
39355#define USDHC_DATA_BUFF_ACC_PORT_DATCONT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT)) & USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK)
39356/*! @} */
39357
39358/*! @name PRES_STATE - Present State */
39359/*! @{ */
39360#define USDHC_PRES_STATE_CIHB_MASK (0x1U)
39361#define USDHC_PRES_STATE_CIHB_SHIFT (0U)
39362/*! CIHB - Command Inhibit (CMD)
39363 * 0b1..Cannot issue command
39364 * 0b0..Can issue command using only CMD line
39365 */
39366#define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK)
39367#define USDHC_PRES_STATE_CDIHB_MASK (0x2U)
39368#define USDHC_PRES_STATE_CDIHB_SHIFT (1U)
39369/*! CDIHB - Command Inhibit (DATA)
39370 * 0b1..Cannot issue command which uses the DATA line
39371 * 0b0..Can issue command which uses the DATA line
39372 */
39373#define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK)
39374#define USDHC_PRES_STATE_DLA_MASK (0x4U)
39375#define USDHC_PRES_STATE_DLA_SHIFT (2U)
39376/*! DLA - Data Line Active
39377 * 0b1..DATA Line Active
39378 * 0b0..DATA Line Inactive
39379 */
39380#define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK)
39381#define USDHC_PRES_STATE_SDSTB_MASK (0x8U)
39382#define USDHC_PRES_STATE_SDSTB_SHIFT (3U)
39383/*! SDSTB - SD Clock Stable
39384 * 0b1..Clock is stable.
39385 * 0b0..Clock is changing frequency and not stable.
39386 */
39387#define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK)
39388#define USDHC_PRES_STATE_IPGOFF_MASK (0x10U)
39389#define USDHC_PRES_STATE_IPGOFF_SHIFT (4U)
39390/*! IPGOFF - IPG_CLK Gated Off Internally
39391 * 0b1..IPG_CLK is gated off.
39392 * 0b0..IPG_CLK is active.
39393 */
39394#define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK)
39395#define USDHC_PRES_STATE_HCKOFF_MASK (0x20U)
39396#define USDHC_PRES_STATE_HCKOFF_SHIFT (5U)
39397/*! HCKOFF - HCLK Gated Off Internally
39398 * 0b1..HCLK is gated off.
39399 * 0b0..HCLK is active.
39400 */
39401#define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK)
39402#define USDHC_PRES_STATE_PEROFF_MASK (0x40U)
39403#define USDHC_PRES_STATE_PEROFF_SHIFT (6U)
39404/*! PEROFF - IPG_PERCLK Gated Off Internally
39405 * 0b1..IPG_PERCLK is gated off.
39406 * 0b0..IPG_PERCLK is active.
39407 */
39408#define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK)
39409#define USDHC_PRES_STATE_SDOFF_MASK (0x80U)
39410#define USDHC_PRES_STATE_SDOFF_SHIFT (7U)
39411/*! SDOFF - SD Clock Gated Off Internally
39412 * 0b1..SD Clock is gated off.
39413 * 0b0..SD Clock is active.
39414 */
39415#define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK)
39416#define USDHC_PRES_STATE_WTA_MASK (0x100U)
39417#define USDHC_PRES_STATE_WTA_SHIFT (8U)
39418/*! WTA - Write Transfer Active
39419 * 0b1..Transferring data
39420 * 0b0..No valid data
39421 */
39422#define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK)
39423#define USDHC_PRES_STATE_RTA_MASK (0x200U)
39424#define USDHC_PRES_STATE_RTA_SHIFT (9U)
39425/*! RTA - Read Transfer Active
39426 * 0b1..Transferring data
39427 * 0b0..No valid data
39428 */
39429#define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK)
39430#define USDHC_PRES_STATE_BWEN_MASK (0x400U)
39431#define USDHC_PRES_STATE_BWEN_SHIFT (10U)
39432/*! BWEN - Buffer Write Enable
39433 * 0b1..Write enable
39434 * 0b0..Write disable
39435 */
39436#define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK)
39437#define USDHC_PRES_STATE_BREN_MASK (0x800U)
39438#define USDHC_PRES_STATE_BREN_SHIFT (11U)
39439/*! BREN - Buffer Read Enable
39440 * 0b1..Read enable
39441 * 0b0..Read disable
39442 */
39443#define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK)
39444#define USDHC_PRES_STATE_RTR_MASK (0x1000U)
39445#define USDHC_PRES_STATE_RTR_SHIFT (12U)
39446/*! RTR - Re-Tuning Request (only for SD3.0 SDR104 mode and EMMC HS200 mode)
39447 * 0b1..Sampling clock needs re-tuning
39448 * 0b0..Fixed or well tuned sampling clock
39449 */
39450#define USDHC_PRES_STATE_RTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTR_SHIFT)) & USDHC_PRES_STATE_RTR_MASK)
39451#define USDHC_PRES_STATE_TSCD_MASK (0x8000U)
39452#define USDHC_PRES_STATE_TSCD_SHIFT (15U)
39453/*! TSCD - Tape Select Change Done
39454 * 0b1..Delay cell select change is finished.
39455 * 0b0..Delay cell select change is not finished.
39456 */
39457#define USDHC_PRES_STATE_TSCD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_TSCD_SHIFT)) & USDHC_PRES_STATE_TSCD_MASK)
39458#define USDHC_PRES_STATE_CINST_MASK (0x10000U)
39459#define USDHC_PRES_STATE_CINST_SHIFT (16U)
39460/*! CINST - Card Inserted
39461 * 0b1..Card Inserted
39462 * 0b0..Power on Reset or No Card
39463 */
39464#define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK)
39465#define USDHC_PRES_STATE_CDPL_MASK (0x40000U)
39466#define USDHC_PRES_STATE_CDPL_SHIFT (18U)
39467/*! CDPL - Card Detect Pin Level
39468 * 0b1..Card present (CD_B = 0)
39469 * 0b0..No card present (CD_B = 1)
39470 */
39471#define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK)
39472#define USDHC_PRES_STATE_WPSPL_MASK (0x80000U)
39473#define USDHC_PRES_STATE_WPSPL_SHIFT (19U)
39474/*! WPSPL - Write Protect Switch Pin Level
39475 * 0b1..Write enabled (WP = 0)
39476 * 0b0..Write protected (WP = 1)
39477 */
39478#define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK)
39479#define USDHC_PRES_STATE_CLSL_MASK (0x800000U)
39480#define USDHC_PRES_STATE_CLSL_SHIFT (23U)
39481/*! CLSL - CMD Line Signal Level
39482 */
39483#define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK)
39484#define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U)
39485#define USDHC_PRES_STATE_DLSL_SHIFT (24U)
39486/*! DLSL - DATA[7:0] Line Signal Level
39487 * 0b00000111..Data 7 line signal level
39488 * 0b00000110..Data 6 line signal level
39489 * 0b00000101..Data 5 line signal level
39490 * 0b00000100..Data 4 line signal level
39491 * 0b00000011..Data 3 line signal level
39492 * 0b00000010..Data 2 line signal level
39493 * 0b00000001..Data 1 line signal level
39494 * 0b00000000..Data 0 line signal level
39495 */
39496#define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK)
39497/*! @} */
39498
39499/*! @name PROT_CTRL - Protocol Control */
39500/*! @{ */
39501#define USDHC_PROT_CTRL_DTW_MASK (0x6U)
39502#define USDHC_PROT_CTRL_DTW_SHIFT (1U)
39503/*! DTW - Data Transfer Width
39504 * 0b10..8-bit mode
39505 * 0b01..4-bit mode
39506 * 0b00..1-bit mode
39507 * 0b11..Reserved
39508 */
39509#define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK)
39510#define USDHC_PROT_CTRL_D3CD_MASK (0x8U)
39511#define USDHC_PROT_CTRL_D3CD_SHIFT (3U)
39512/*! D3CD - DATA3 as Card Detection Pin
39513 * 0b1..DATA3 as Card Detection Pin
39514 * 0b0..DATA3 does not monitor Card Insertion
39515 */
39516#define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK)
39517#define USDHC_PROT_CTRL_EMODE_MASK (0x30U)
39518#define USDHC_PROT_CTRL_EMODE_SHIFT (4U)
39519/*! EMODE - Endian Mode
39520 * 0b00..Big Endian Mode
39521 * 0b01..Half Word Big Endian Mode
39522 * 0b10..Little Endian Mode
39523 * 0b11..Reserved
39524 */
39525#define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK)
39526#define USDHC_PROT_CTRL_CDTL_MASK (0x40U)
39527#define USDHC_PROT_CTRL_CDTL_SHIFT (6U)
39528/*! CDTL - Card Detect Test Level
39529 * 0b1..Card Detect Test Level is 1, card inserted
39530 * 0b0..Card Detect Test Level is 0, no card inserted
39531 */
39532#define USDHC_PROT_CTRL_CDTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDTL_SHIFT)) & USDHC_PROT_CTRL_CDTL_MASK)
39533#define USDHC_PROT_CTRL_CDSS_MASK (0x80U)
39534#define USDHC_PROT_CTRL_CDSS_SHIFT (7U)
39535/*! CDSS - Card Detect Signal Selection
39536 * 0b1..Card Detection Test Level is selected (for test purpose).
39537 * 0b0..Card Detection Level is selected (for normal purpose).
39538 */
39539#define USDHC_PROT_CTRL_CDSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDSS_SHIFT)) & USDHC_PROT_CTRL_CDSS_MASK)
39540#define USDHC_PROT_CTRL_DMASEL_MASK (0x300U)
39541#define USDHC_PROT_CTRL_DMASEL_SHIFT (8U)
39542/*! DMASEL - DMA Select
39543 * 0b00..No DMA or Simple DMA is selected
39544 * 0b01..ADMA1 is selected
39545 * 0b10..ADMA2 is selected
39546 * 0b11..reserved
39547 */
39548#define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK)
39549#define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U)
39550#define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U)
39551/*! SABGREQ - Stop At Block Gap Request
39552 * 0b1..Stop
39553 * 0b0..Transfer
39554 */
39555#define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK)
39556#define USDHC_PROT_CTRL_CREQ_MASK (0x20000U)
39557#define USDHC_PROT_CTRL_CREQ_SHIFT (17U)
39558/*! CREQ - Continue Request
39559 * 0b1..Restart
39560 * 0b0..No effect
39561 */
39562#define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK)
39563#define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U)
39564#define USDHC_PROT_CTRL_RWCTL_SHIFT (18U)
39565/*! RWCTL - Read Wait Control
39566 * 0b1..Enable Read Wait Control, and assert Read Wait without stopping SD Clock at block gap when SABGREQ bit is set
39567 * 0b0..Disable Read Wait Control, and stop SD Clock at block gap when SABGREQ bit is set
39568 */
39569#define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK)
39570#define USDHC_PROT_CTRL_IABG_MASK (0x80000U)
39571#define USDHC_PROT_CTRL_IABG_SHIFT (19U)
39572/*! IABG - Interrupt At Block Gap
39573 * 0b1..Enabled
39574 * 0b0..Disabled
39575 */
39576#define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK)
39577#define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U)
39578#define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U)
39579/*! RD_DONE_NO_8CLK - RD_DONE_NO_8CLK
39580 */
39581#define USDHC_PROT_CTRL_RD_DONE_NO_8CLK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT)) & USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK)
39582#define USDHC_PROT_CTRL_RD_WAIT_POINT_MASK (0xE00000U)
39583#define USDHC_PROT_CTRL_RD_WAIT_POINT_SHIFT (21U)
39584/*! RD_WAIT_POINT - Read wait point
39585 */
39586#define USDHC_PROT_CTRL_RD_WAIT_POINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RD_WAIT_POINT_SHIFT)) & USDHC_PROT_CTRL_RD_WAIT_POINT_MASK)
39587#define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U)
39588#define USDHC_PROT_CTRL_WECINT_SHIFT (24U)
39589/*! WECINT - Wakeup Event Enable On Card Interrupt
39590 * 0b1..Enable
39591 * 0b0..Disable
39592 */
39593#define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK)
39594#define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U)
39595#define USDHC_PROT_CTRL_WECINS_SHIFT (25U)
39596/*! WECINS - Wakeup Event Enable On SD Card Insertion
39597 * 0b1..Enable
39598 * 0b0..Disable
39599 */
39600#define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK)
39601#define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U)
39602#define USDHC_PROT_CTRL_WECRM_SHIFT (26U)
39603/*! WECRM - Wakeup Event Enable On SD Card Removal
39604 * 0b1..Enable
39605 * 0b0..Disable
39606 */
39607#define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK)
39608#define USDHC_PROT_CTRL_BURST_LEN_EN_MASK (0x38000000U)
39609#define USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT (27U)
39610/*! BURST_LEN_EN - BURST length enable for INCR, INCR4 / INCR8 / INCR16, INCR4-WRAP / INCR8-WRAP / INCR16-WRAP
39611 * 0bxx1..Burst length is enabled for INCR
39612 * 0bx1x..Burst length is enabled for INCR4 / INCR8 / INCR16
39613 * 0b1xx..Burst length is enabled for INCR4-WRAP / INCR8-WRAP / INCR16-WRAP
39614 */
39615#define USDHC_PROT_CTRL_BURST_LEN_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT)) & USDHC_PROT_CTRL_BURST_LEN_EN_MASK)
39616#define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U)
39617#define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U)
39618/*! NON_EXACT_BLK_RD - NON_EXACT_BLK_RD
39619 * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read.
39620 * 0b0..The block read is exact block read. Host driver doesn't need to issue abort command to terminate this multi-block read.
39621 */
39622#define USDHC_PROT_CTRL_NON_EXACT_BLK_RD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT)) & USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK)
39623#define USDHC_PROT_CTRL_RD_NO8CLK_EN_MASK (0x80000000U)
39624#define USDHC_PROT_CTRL_RD_NO8CLK_EN_SHIFT (31U)
39625/*! RD_NO8CLK_EN - RD_NO8CLK_EN
39626 * 0b1..S/W RD_DONE_NO_8CLK is enabled.
39627 * 0b0..Disable S/W RD_DONE_NO_8CLK, uSHDC determines if 8 clocks are needed automatically.
39628 */
39629#define USDHC_PROT_CTRL_RD_NO8CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RD_NO8CLK_EN_SHIFT)) & USDHC_PROT_CTRL_RD_NO8CLK_EN_MASK)
39630/*! @} */
39631
39632/*! @name SYS_CTRL - System Control */
39633/*! @{ */
39634#define USDHC_SYS_CTRL_DVS_MASK (0xF0U)
39635#define USDHC_SYS_CTRL_DVS_SHIFT (4U)
39636/*! DVS - Divisor
39637 * 0b0000..Divide-by-1
39638 * 0b0001..Divide-by-2
39639 * 0b1110..Divide-by-15
39640 * 0b1111..Divide-by-16
39641 */
39642#define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK)
39643#define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U)
39644#define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U)
39645/*! SDCLKFS - SDCLK Frequency Select
39646 */
39647#define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK)
39648#define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U)
39649#define USDHC_SYS_CTRL_DTOCV_SHIFT (16U)
39650/*! DTOCV - Data Timeout Counter Value
39651 * 0b1111..SDCLK x 2 29
39652 * 0b1110..SDCLK x 2 28
39653 * 0b1101..SDCLK x 2 27
39654 * 0b0001..SDCLK x 2 15
39655 * 0b0000..SDCLK x 2 14
39656 */
39657#define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK)
39658#define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U)
39659#define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U)
39660/*! IPP_RST_N - IPP_RST_N
39661 */
39662#define USDHC_SYS_CTRL_IPP_RST_N(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_IPP_RST_N_SHIFT)) & USDHC_SYS_CTRL_IPP_RST_N_MASK)
39663#define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U)
39664#define USDHC_SYS_CTRL_RSTA_SHIFT (24U)
39665/*! RSTA - Software Reset For ALL
39666 * 0b1..Reset
39667 * 0b0..No Reset
39668 */
39669#define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK)
39670#define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U)
39671#define USDHC_SYS_CTRL_RSTC_SHIFT (25U)
39672/*! RSTC - Software Reset For CMD Line
39673 * 0b1..Reset
39674 * 0b0..No Reset
39675 */
39676#define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK)
39677#define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U)
39678#define USDHC_SYS_CTRL_RSTD_SHIFT (26U)
39679/*! RSTD - Software Reset For DATA Line
39680 * 0b1..Reset
39681 * 0b0..No Reset
39682 */
39683#define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK)
39684#define USDHC_SYS_CTRL_INITA_MASK (0x8000000U)
39685#define USDHC_SYS_CTRL_INITA_SHIFT (27U)
39686/*! INITA - Initialization Active
39687 */
39688#define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK)
39689#define USDHC_SYS_CTRL_RSTT_MASK (0x10000000U)
39690#define USDHC_SYS_CTRL_RSTT_SHIFT (28U)
39691/*! RSTT - Reset Tuning
39692 */
39693#define USDHC_SYS_CTRL_RSTT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTT_SHIFT)) & USDHC_SYS_CTRL_RSTT_MASK)
39694/*! @} */
39695
39696/*! @name INT_STATUS - Interrupt Status */
39697/*! @{ */
39698#define USDHC_INT_STATUS_CC_MASK (0x1U)
39699#define USDHC_INT_STATUS_CC_SHIFT (0U)
39700/*! CC - Command Complete
39701 * 0b1..Command complete
39702 * 0b0..Command not complete
39703 */
39704#define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK)
39705#define USDHC_INT_STATUS_TC_MASK (0x2U)
39706#define USDHC_INT_STATUS_TC_SHIFT (1U)
39707/*! TC - Transfer Complete
39708 * 0b1..Transfer complete
39709 * 0b0..Transfer not complete
39710 */
39711#define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK)
39712#define USDHC_INT_STATUS_BGE_MASK (0x4U)
39713#define USDHC_INT_STATUS_BGE_SHIFT (2U)
39714/*! BGE - Block Gap Event
39715 * 0b1..Transaction stopped at block gap
39716 * 0b0..No block gap event
39717 */
39718#define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK)
39719#define USDHC_INT_STATUS_DINT_MASK (0x8U)
39720#define USDHC_INT_STATUS_DINT_SHIFT (3U)
39721/*! DINT - DMA Interrupt
39722 * 0b1..DMA Interrupt is generated
39723 * 0b0..No DMA Interrupt
39724 */
39725#define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK)
39726#define USDHC_INT_STATUS_BWR_MASK (0x10U)
39727#define USDHC_INT_STATUS_BWR_SHIFT (4U)
39728/*! BWR - Buffer Write Ready
39729 * 0b1..Ready to write buffer:
39730 * 0b0..Not ready to write buffer
39731 */
39732#define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK)
39733#define USDHC_INT_STATUS_BRR_MASK (0x20U)
39734#define USDHC_INT_STATUS_BRR_SHIFT (5U)
39735/*! BRR - Buffer Read Ready
39736 * 0b1..Ready to read buffer
39737 * 0b0..Not ready to read buffer
39738 */
39739#define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK)
39740#define USDHC_INT_STATUS_CINS_MASK (0x40U)
39741#define USDHC_INT_STATUS_CINS_SHIFT (6U)
39742/*! CINS - Card Insertion
39743 * 0b1..Card inserted
39744 * 0b0..Card state unstable or removed
39745 */
39746#define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK)
39747#define USDHC_INT_STATUS_CRM_MASK (0x80U)
39748#define USDHC_INT_STATUS_CRM_SHIFT (7U)
39749/*! CRM - Card Removal
39750 * 0b1..Card removed
39751 * 0b0..Card state unstable or inserted
39752 */
39753#define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK)
39754#define USDHC_INT_STATUS_CINT_MASK (0x100U)
39755#define USDHC_INT_STATUS_CINT_SHIFT (8U)
39756/*! CINT - Card Interrupt
39757 * 0b1..Generate Card Interrupt
39758 * 0b0..No Card Interrupt
39759 */
39760#define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK)
39761#define USDHC_INT_STATUS_RTE_MASK (0x1000U)
39762#define USDHC_INT_STATUS_RTE_SHIFT (12U)
39763/*! RTE - Re-Tuning Event: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
39764 * 0b1..Re-Tuning should be performed
39765 * 0b0..Re-Tuning is not required
39766 */
39767#define USDHC_INT_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_RTE_SHIFT)) & USDHC_INT_STATUS_RTE_MASK)
39768#define USDHC_INT_STATUS_TP_MASK (0x4000U)
39769#define USDHC_INT_STATUS_TP_SHIFT (14U)
39770/*! TP - Tuning Pass:(only for SD3.0 SDR104 mode and EMMC HS200 mode)
39771 */
39772#define USDHC_INT_STATUS_TP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TP_SHIFT)) & USDHC_INT_STATUS_TP_MASK)
39773#define USDHC_INT_STATUS_CTOE_MASK (0x10000U)
39774#define USDHC_INT_STATUS_CTOE_SHIFT (16U)
39775/*! CTOE - Command Timeout Error
39776 * 0b1..Time out
39777 * 0b0..No Error
39778 */
39779#define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK)
39780#define USDHC_INT_STATUS_CCE_MASK (0x20000U)
39781#define USDHC_INT_STATUS_CCE_SHIFT (17U)
39782/*! CCE - Command CRC Error
39783 * 0b1..CRC Error Generated.
39784 * 0b0..No Error
39785 */
39786#define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK)
39787#define USDHC_INT_STATUS_CEBE_MASK (0x40000U)
39788#define USDHC_INT_STATUS_CEBE_SHIFT (18U)
39789/*! CEBE - Command End Bit Error
39790 * 0b1..End Bit Error Generated
39791 * 0b0..No Error
39792 */
39793#define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK)
39794#define USDHC_INT_STATUS_CIE_MASK (0x80000U)
39795#define USDHC_INT_STATUS_CIE_SHIFT (19U)
39796/*! CIE - Command Index Error
39797 * 0b1..Error
39798 * 0b0..No Error
39799 */
39800#define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK)
39801#define USDHC_INT_STATUS_DTOE_MASK (0x100000U)
39802#define USDHC_INT_STATUS_DTOE_SHIFT (20U)
39803/*! DTOE - Data Timeout Error
39804 * 0b1..Time out
39805 * 0b0..No Error
39806 */
39807#define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK)
39808#define USDHC_INT_STATUS_DCE_MASK (0x200000U)
39809#define USDHC_INT_STATUS_DCE_SHIFT (21U)
39810/*! DCE - Data CRC Error
39811 * 0b1..Error
39812 * 0b0..No Error
39813 */
39814#define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK)
39815#define USDHC_INT_STATUS_DEBE_MASK (0x400000U)
39816#define USDHC_INT_STATUS_DEBE_SHIFT (22U)
39817/*! DEBE - Data End Bit Error
39818 * 0b1..Error
39819 * 0b0..No Error
39820 */
39821#define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK)
39822#define USDHC_INT_STATUS_AC12E_MASK (0x1000000U)
39823#define USDHC_INT_STATUS_AC12E_SHIFT (24U)
39824/*! AC12E - Auto CMD12 Error
39825 * 0b1..Error
39826 * 0b0..No Error
39827 */
39828#define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK)
39829#define USDHC_INT_STATUS_TNE_MASK (0x4000000U)
39830#define USDHC_INT_STATUS_TNE_SHIFT (26U)
39831/*! TNE - Tuning Error: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
39832 */
39833#define USDHC_INT_STATUS_TNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TNE_SHIFT)) & USDHC_INT_STATUS_TNE_MASK)
39834#define USDHC_INT_STATUS_DMAE_MASK (0x10000000U)
39835#define USDHC_INT_STATUS_DMAE_SHIFT (28U)
39836/*! DMAE - DMA Error
39837 * 0b1..Error
39838 * 0b0..No Error
39839 */
39840#define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK)
39841/*! @} */
39842
39843/*! @name INT_STATUS_EN - Interrupt Status Enable */
39844/*! @{ */
39845#define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U)
39846#define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U)
39847/*! CCSEN - Command Complete Status Enable
39848 * 0b1..Enabled
39849 * 0b0..Masked
39850 */
39851#define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK)
39852#define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U)
39853#define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U)
39854/*! TCSEN - Transfer Complete Status Enable
39855 * 0b1..Enabled
39856 * 0b0..Masked
39857 */
39858#define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK)
39859#define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U)
39860#define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U)
39861/*! BGESEN - Block Gap Event Status Enable
39862 * 0b1..Enabled
39863 * 0b0..Masked
39864 */
39865#define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK)
39866#define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U)
39867#define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U)
39868/*! DINTSEN - DMA Interrupt Status Enable
39869 * 0b1..Enabled
39870 * 0b0..Masked
39871 */
39872#define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK)
39873#define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U)
39874#define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U)
39875/*! BWRSEN - Buffer Write Ready Status Enable
39876 * 0b1..Enabled
39877 * 0b0..Masked
39878 */
39879#define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK)
39880#define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U)
39881#define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U)
39882/*! BRRSEN - Buffer Read Ready Status Enable
39883 * 0b1..Enabled
39884 * 0b0..Masked
39885 */
39886#define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK)
39887#define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U)
39888#define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U)
39889/*! CINSSEN - Card Insertion Status Enable
39890 * 0b1..Enabled
39891 * 0b0..Masked
39892 */
39893#define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK)
39894#define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U)
39895#define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U)
39896/*! CRMSEN - Card Removal Status Enable
39897 * 0b1..Enabled
39898 * 0b0..Masked
39899 */
39900#define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK)
39901#define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U)
39902#define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U)
39903/*! CINTSEN - Card Interrupt Status Enable
39904 * 0b1..Enabled
39905 * 0b0..Masked
39906 */
39907#define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK)
39908#define USDHC_INT_STATUS_EN_RTESEN_MASK (0x1000U)
39909#define USDHC_INT_STATUS_EN_RTESEN_SHIFT (12U)
39910/*! RTESEN - Re-Tuning Event Status Enable
39911 * 0b1..Enabled
39912 * 0b0..Masked
39913 */
39914#define USDHC_INT_STATUS_EN_RTESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_RTESEN_SHIFT)) & USDHC_INT_STATUS_EN_RTESEN_MASK)
39915#define USDHC_INT_STATUS_EN_TPSEN_MASK (0x4000U)
39916#define USDHC_INT_STATUS_EN_TPSEN_SHIFT (14U)
39917/*! TPSEN - Tuning Pass Status Enable
39918 * 0b1..Enabled
39919 * 0b0..Masked
39920 */
39921#define USDHC_INT_STATUS_EN_TPSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TPSEN_SHIFT)) & USDHC_INT_STATUS_EN_TPSEN_MASK)
39922#define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U)
39923#define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U)
39924/*! CTOESEN - Command Timeout Error Status Enable
39925 * 0b1..Enabled
39926 * 0b0..Masked
39927 */
39928#define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK)
39929#define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U)
39930#define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U)
39931/*! CCESEN - Command CRC Error Status Enable
39932 * 0b1..Enabled
39933 * 0b0..Masked
39934 */
39935#define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK)
39936#define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U)
39937#define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U)
39938/*! CEBESEN - Command End Bit Error Status Enable
39939 * 0b1..Enabled
39940 * 0b0..Masked
39941 */
39942#define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK)
39943#define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U)
39944#define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U)
39945/*! CIESEN - Command Index Error Status Enable
39946 * 0b1..Enabled
39947 * 0b0..Masked
39948 */
39949#define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK)
39950#define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U)
39951#define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U)
39952/*! DTOESEN - Data Timeout Error Status Enable
39953 * 0b1..Enabled
39954 * 0b0..Masked
39955 */
39956#define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK)
39957#define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U)
39958#define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U)
39959/*! DCESEN - Data CRC Error Status Enable
39960 * 0b1..Enabled
39961 * 0b0..Masked
39962 */
39963#define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK)
39964#define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U)
39965#define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U)
39966/*! DEBESEN - Data End Bit Error Status Enable
39967 * 0b1..Enabled
39968 * 0b0..Masked
39969 */
39970#define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK)
39971#define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U)
39972#define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U)
39973/*! AC12ESEN - Auto CMD12 Error Status Enable
39974 * 0b1..Enabled
39975 * 0b0..Masked
39976 */
39977#define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK)
39978#define USDHC_INT_STATUS_EN_TNESEN_MASK (0x4000000U)
39979#define USDHC_INT_STATUS_EN_TNESEN_SHIFT (26U)
39980/*! TNESEN - Tuning Error Status Enable
39981 * 0b1..Enabled
39982 * 0b0..Masked
39983 */
39984#define USDHC_INT_STATUS_EN_TNESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TNESEN_SHIFT)) & USDHC_INT_STATUS_EN_TNESEN_MASK)
39985#define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U)
39986#define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U)
39987/*! DMAESEN - DMA Error Status Enable
39988 * 0b1..Enabled
39989 * 0b0..Masked
39990 */
39991#define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK)
39992/*! @} */
39993
39994/*! @name INT_SIGNAL_EN - Interrupt Signal Enable */
39995/*! @{ */
39996#define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U)
39997#define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U)
39998/*! CCIEN - Command Complete Interrupt Enable
39999 * 0b1..Enabled
40000 * 0b0..Masked
40001 */
40002#define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK)
40003#define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U)
40004#define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U)
40005/*! TCIEN - Transfer Complete Interrupt Enable
40006 * 0b1..Enabled
40007 * 0b0..Masked
40008 */
40009#define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK)
40010#define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U)
40011#define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U)
40012/*! BGEIEN - Block Gap Event Interrupt Enable
40013 * 0b1..Enabled
40014 * 0b0..Masked
40015 */
40016#define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK)
40017#define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U)
40018#define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U)
40019/*! DINTIEN - DMA Interrupt Enable
40020 * 0b1..Enabled
40021 * 0b0..Masked
40022 */
40023#define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK)
40024#define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U)
40025#define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U)
40026/*! BWRIEN - Buffer Write Ready Interrupt Enable
40027 * 0b1..Enabled
40028 * 0b0..Masked
40029 */
40030#define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK)
40031#define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U)
40032#define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U)
40033/*! BRRIEN - Buffer Read Ready Interrupt Enable
40034 * 0b1..Enabled
40035 * 0b0..Masked
40036 */
40037#define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK)
40038#define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U)
40039#define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U)
40040/*! CINSIEN - Card Insertion Interrupt Enable
40041 * 0b1..Enabled
40042 * 0b0..Masked
40043 */
40044#define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK)
40045#define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U)
40046#define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U)
40047/*! CRMIEN - Card Removal Interrupt Enable
40048 * 0b1..Enabled
40049 * 0b0..Masked
40050 */
40051#define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK)
40052#define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U)
40053#define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U)
40054/*! CINTIEN - Card Interrupt Interrupt Enable
40055 * 0b1..Enabled
40056 * 0b0..Masked
40057 */
40058#define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK)
40059#define USDHC_INT_SIGNAL_EN_RTEIEN_MASK (0x1000U)
40060#define USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT (12U)
40061/*! RTEIEN - Re-Tuning Event Interrupt Enable
40062 * 0b1..Enabled
40063 * 0b0..Masked
40064 */
40065#define USDHC_INT_SIGNAL_EN_RTEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_RTEIEN_MASK)
40066#define USDHC_INT_SIGNAL_EN_TPIEN_MASK (0x4000U)
40067#define USDHC_INT_SIGNAL_EN_TPIEN_SHIFT (14U)
40068/*! TPIEN - Tuning Pass Interrupt Enable
40069 * 0b1..Enabled
40070 * 0b0..Masked
40071 */
40072#define USDHC_INT_SIGNAL_EN_TPIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TPIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TPIEN_MASK)
40073#define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U)
40074#define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U)
40075/*! CTOEIEN - Command Timeout Error Interrupt Enable
40076 * 0b1..Enabled
40077 * 0b0..Masked
40078 */
40079#define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK)
40080#define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U)
40081#define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U)
40082/*! CCEIEN - Command CRC Error Interrupt Enable
40083 * 0b1..Enabled
40084 * 0b0..Masked
40085 */
40086#define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK)
40087#define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U)
40088#define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U)
40089/*! CEBEIEN - Command End Bit Error Interrupt Enable
40090 * 0b1..Enabled
40091 * 0b0..Masked
40092 */
40093#define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK)
40094#define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U)
40095#define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U)
40096/*! CIEIEN - Command Index Error Interrupt Enable
40097 * 0b1..Enabled
40098 * 0b0..Masked
40099 */
40100#define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK)
40101#define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U)
40102#define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U)
40103/*! DTOEIEN - Data Timeout Error Interrupt Enable
40104 * 0b1..Enabled
40105 * 0b0..Masked
40106 */
40107#define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK)
40108#define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U)
40109#define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U)
40110/*! DCEIEN - Data CRC Error Interrupt Enable
40111 * 0b1..Enabled
40112 * 0b0..Masked
40113 */
40114#define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK)
40115#define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U)
40116#define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U)
40117/*! DEBEIEN - Data End Bit Error Interrupt Enable
40118 * 0b1..Enabled
40119 * 0b0..Masked
40120 */
40121#define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK)
40122#define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U)
40123#define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U)
40124/*! AC12EIEN - Auto CMD12 Error Interrupt Enable
40125 * 0b1..Enabled
40126 * 0b0..Masked
40127 */
40128#define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK)
40129#define USDHC_INT_SIGNAL_EN_TNEIEN_MASK (0x4000000U)
40130#define USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT (26U)
40131/*! TNEIEN - Tuning Error Interrupt Enable
40132 * 0b1..Enabled
40133 * 0b0..Masked
40134 */
40135#define USDHC_INT_SIGNAL_EN_TNEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TNEIEN_MASK)
40136#define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U)
40137#define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U)
40138/*! DMAEIEN - DMA Error Interrupt Enable
40139 * 0b1..Enable
40140 * 0b0..Masked
40141 */
40142#define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK)
40143/*! @} */
40144
40145/*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */
40146/*! @{ */
40147#define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U)
40148#define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U)
40149/*! AC12NE - Auto CMD12 Not Executed
40150 * 0b1..Not executed
40151 * 0b0..Executed
40152 */
40153#define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK)
40154#define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U)
40155#define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U)
40156/*! AC12TOE - Auto CMD12 / 23 Timeout Error
40157 * 0b1..Time out
40158 * 0b0..No error
40159 */
40160#define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK)
40161#define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U)
40162#define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U)
40163/*! AC12EBE - Auto CMD12 / 23 End Bit Error
40164 * 0b1..End Bit Error Generated
40165 * 0b0..No error
40166 */
40167#define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK)
40168#define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U)
40169#define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U)
40170/*! AC12CE - Auto CMD12 / 23 CRC Error
40171 * 0b1..CRC Error Met in Auto CMD12/23 Response
40172 * 0b0..No CRC error
40173 */
40174#define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK)
40175#define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U)
40176#define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U)
40177/*! AC12IE - Auto CMD12 / 23 Index Error
40178 * 0b1..Error, the CMD index in response is not CMD12/23
40179 * 0b0..No error
40180 */
40181#define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK)
40182#define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U)
40183#define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U)
40184/*! CNIBAC12E - Command Not Issued By Auto CMD12 Error
40185 * 0b1..Not Issued
40186 * 0b0..No error
40187 */
40188#define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK)
40189#define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK (0x400000U)
40190#define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT (22U)
40191/*! EXECUTE_TUNING - Execute Tuning
40192 */
40193#define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK)
40194#define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK (0x800000U)
40195#define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT (23U)
40196/*! SMP_CLK_SEL - Sample Clock Select
40197 * 0b1..Tuned clock is used to sample data
40198 * 0b0..Fixed clock is used to sample data
40199 */
40200#define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK)
40201/*! @} */
40202
40203/*! @name HOST_CTRL_CAP - Host Controller Capabilities */
40204/*! @{ */
40205#define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK (0x1U)
40206#define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT (0U)
40207/*! SDR50_SUPPORT - SDR50 support
40208 */
40209#define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK)
40210#define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK (0x2U)
40211#define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT (1U)
40212/*! SDR104_SUPPORT - SDR104 support
40213 */
40214#define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK)
40215#define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U)
40216#define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U)
40217/*! DDR50_SUPPORT - DDR50 support
40218 */
40219#define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK)
40220#define USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_MASK (0xF00U)
40221#define USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_SHIFT (8U)
40222/*! TIME_COUNT_RETUNING - Time Counter for Retuning
40223 */
40224#define USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_SHIFT)) & USDHC_HOST_CTRL_CAP_TIME_COUNT_RETUNING_MASK)
40225#define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK (0x2000U)
40226#define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT (13U)
40227/*! USE_TUNING_SDR50 - Use Tuning for SDR50
40228 * 0b1..SDR50 requires tuning
40229 * 0b0..SDR does not require tuning
40230 */
40231#define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT)) & USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK)
40232#define USDHC_HOST_CTRL_CAP_RETUNING_MODE_MASK (0xC000U)
40233#define USDHC_HOST_CTRL_CAP_RETUNING_MODE_SHIFT (14U)
40234/*! RETUNING_MODE - Retuning Mode
40235 * 0b00..Mode 1
40236 * 0b01..Mode 2
40237 * 0b10..Mode 3
40238 * 0b11..Reserved
40239 */
40240#define USDHC_HOST_CTRL_CAP_RETUNING_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_RETUNING_MODE_SHIFT)) & USDHC_HOST_CTRL_CAP_RETUNING_MODE_MASK)
40241#define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U)
40242#define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U)
40243/*! MBL - Max Block Length
40244 * 0b000..512 bytes
40245 * 0b001..1024 bytes
40246 * 0b010..2048 bytes
40247 * 0b011..4096 bytes
40248 */
40249#define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK)
40250#define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U)
40251#define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U)
40252/*! ADMAS - ADMA Support
40253 * 0b1..Advanced DMA Supported
40254 * 0b0..Advanced DMA Not supported
40255 */
40256#define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK)
40257#define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U)
40258#define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U)
40259/*! HSS - High Speed Support
40260 * 0b1..High Speed Supported
40261 * 0b0..High Speed Not Supported
40262 */
40263#define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK)
40264#define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U)
40265#define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U)
40266/*! DMAS - DMA Support
40267 * 0b1..DMA Supported
40268 * 0b0..DMA not supported
40269 */
40270#define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK)
40271#define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U)
40272#define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U)
40273/*! SRS - Suspend / Resume Support
40274 * 0b1..Supported
40275 * 0b0..Not supported
40276 */
40277#define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK)
40278#define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U)
40279#define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U)
40280/*! VS33 - Voltage Support 3.3V
40281 * 0b1..3.3V supported
40282 * 0b0..3.3V not supported
40283 */
40284#define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK)
40285#define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U)
40286#define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U)
40287/*! VS30 - Voltage Support 3.0 V
40288 * 0b1..3.0V supported
40289 * 0b0..3.0V not supported
40290 */
40291#define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK)
40292#define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U)
40293#define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U)
40294/*! VS18 - Voltage Support 1.8 V
40295 * 0b1..1.8V supported
40296 * 0b0..1.8V not supported
40297 */
40298#define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK)
40299/*! @} */
40300
40301/*! @name WTMK_LVL - Watermark Level */
40302/*! @{ */
40303#define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU)
40304#define USDHC_WTMK_LVL_RD_WML_SHIFT (0U)
40305/*! RD_WML - Read Watermark Level
40306 */
40307#define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK)
40308#define USDHC_WTMK_LVL_RD_BRST_LEN_MASK (0x1F00U)
40309#define USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT (8U)
40310/*! RD_BRST_LEN - Read Burst Length Due to system restriction, the actual burst length may not exceed 16.
40311 */
40312#define USDHC_WTMK_LVL_RD_BRST_LEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT)) & USDHC_WTMK_LVL_RD_BRST_LEN_MASK)
40313#define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U)
40314#define USDHC_WTMK_LVL_WR_WML_SHIFT (16U)
40315/*! WR_WML - Write Watermark Level
40316 */
40317#define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK)
40318#define USDHC_WTMK_LVL_WR_BRST_LEN_MASK (0x1F000000U)
40319#define USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT (24U)
40320/*! WR_BRST_LEN - Write Burst Length Due to system restriction, the actual burst length may not exceed 16.
40321 */
40322#define USDHC_WTMK_LVL_WR_BRST_LEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT)) & USDHC_WTMK_LVL_WR_BRST_LEN_MASK)
40323/*! @} */
40324
40325/*! @name MIX_CTRL - Mixer Control */
40326/*! @{ */
40327#define USDHC_MIX_CTRL_DMAEN_MASK (0x1U)
40328#define USDHC_MIX_CTRL_DMAEN_SHIFT (0U)
40329/*! DMAEN - DMA Enable
40330 * 0b1..Enable
40331 * 0b0..Disable
40332 */
40333#define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK)
40334#define USDHC_MIX_CTRL_BCEN_MASK (0x2U)
40335#define USDHC_MIX_CTRL_BCEN_SHIFT (1U)
40336/*! BCEN - Block Count Enable
40337 * 0b1..Enable
40338 * 0b0..Disable
40339 */
40340#define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK)
40341#define USDHC_MIX_CTRL_AC12EN_MASK (0x4U)
40342#define USDHC_MIX_CTRL_AC12EN_SHIFT (2U)
40343/*! AC12EN - Auto CMD12 Enable
40344 * 0b1..Enable
40345 * 0b0..Disable
40346 */
40347#define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK)
40348#define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U)
40349#define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U)
40350/*! DDR_EN - Dual Data Rate mode selection
40351 */
40352#define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK)
40353#define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U)
40354#define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U)
40355/*! DTDSEL - Data Transfer Direction Select
40356 * 0b1..Read (Card to Host)
40357 * 0b0..Write (Host to Card)
40358 */
40359#define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK)
40360#define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U)
40361#define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U)
40362/*! MSBSEL - Multi / Single Block Select
40363 * 0b1..Multiple Blocks
40364 * 0b0..Single Block
40365 */
40366#define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK)
40367#define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U)
40368#define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U)
40369/*! NIBBLE_POS - NIBBLE_POS
40370 */
40371#define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK)
40372#define USDHC_MIX_CTRL_AC23EN_MASK (0x80U)
40373#define USDHC_MIX_CTRL_AC23EN_SHIFT (7U)
40374/*! AC23EN - Auto CMD23 Enable
40375 */
40376#define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK)
40377#define USDHC_MIX_CTRL_EXE_TUNE_MASK (0x400000U)
40378#define USDHC_MIX_CTRL_EXE_TUNE_SHIFT (22U)
40379/*! EXE_TUNE - Execute Tuning: (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
40380 * 0b1..Execute Tuning
40381 * 0b0..Not Tuned or Tuning Completed
40382 */
40383#define USDHC_MIX_CTRL_EXE_TUNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EXE_TUNE_SHIFT)) & USDHC_MIX_CTRL_EXE_TUNE_MASK)
40384#define USDHC_MIX_CTRL_SMP_CLK_SEL_MASK (0x800000U)
40385#define USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT (23U)
40386/*! SMP_CLK_SEL - SMP_CLK_SEL
40387 * 0b1..Tuned clock is used to sample data / cmd
40388 * 0b0..Fixed clock is used to sample data / cmd
40389 */
40390#define USDHC_MIX_CTRL_SMP_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT)) & USDHC_MIX_CTRL_SMP_CLK_SEL_MASK)
40391#define USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK (0x1000000U)
40392#define USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT (24U)
40393/*! AUTO_TUNE_EN - Auto Tuning Enable (Only used for SD3.0, SDR104 mode and and EMMC HS200 mode)
40394 * 0b1..Enable auto tuning
40395 * 0b0..Disable auto tuning
40396 */
40397#define USDHC_MIX_CTRL_AUTO_TUNE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT)) & USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK)
40398#define USDHC_MIX_CTRL_FBCLK_SEL_MASK (0x2000000U)
40399#define USDHC_MIX_CTRL_FBCLK_SEL_SHIFT (25U)
40400/*! FBCLK_SEL - Feedback Clock Source Selection (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
40401 * 0b1..Feedback clock comes from the ipp_card_clk_out
40402 * 0b0..Feedback clock comes from the loopback CLK
40403 */
40404#define USDHC_MIX_CTRL_FBCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_FBCLK_SEL_SHIFT)) & USDHC_MIX_CTRL_FBCLK_SEL_MASK)
40405#define USDHC_MIX_CTRL_HS400_MODE_MASK (0x4000000U)
40406#define USDHC_MIX_CTRL_HS400_MODE_SHIFT (26U)
40407/*! HS400_MODE - Enable HS400 Mode
40408 */
40409#define USDHC_MIX_CTRL_HS400_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_HS400_MODE_SHIFT)) & USDHC_MIX_CTRL_HS400_MODE_MASK)
40410/*! @} */
40411
40412/*! @name FORCE_EVENT - Force Event */
40413/*! @{ */
40414#define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U)
40415#define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U)
40416/*! FEVTAC12NE - Force Event Auto Command 12 Not Executed
40417 */
40418#define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK)
40419#define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U)
40420#define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U)
40421/*! FEVTAC12TOE - Force Event Auto Command 12 Time Out Error
40422 */
40423#define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK)
40424#define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U)
40425#define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U)
40426/*! FEVTAC12CE - Force Event Auto Command 12 CRC Error
40427 */
40428#define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK)
40429#define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U)
40430#define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U)
40431/*! FEVTAC12EBE - Force Event Auto Command 12 End Bit Error
40432 */
40433#define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK)
40434#define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U)
40435#define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U)
40436/*! FEVTAC12IE - Force Event Auto Command 12 Index Error
40437 */
40438#define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK)
40439#define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U)
40440#define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U)
40441/*! FEVTCNIBAC12E - Force Event Command Not Executed By Auto Command 12 Error
40442 */
40443#define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK)
40444#define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U)
40445#define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U)
40446/*! FEVTCTOE - Force Event Command Time Out Error
40447 */
40448#define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK)
40449#define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U)
40450#define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U)
40451/*! FEVTCCE - Force Event Command CRC Error
40452 */
40453#define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK)
40454#define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U)
40455#define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U)
40456/*! FEVTCEBE - Force Event Command End Bit Error
40457 */
40458#define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK)
40459#define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U)
40460#define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U)
40461/*! FEVTCIE - Force Event Command Index Error
40462 */
40463#define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK)
40464#define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U)
40465#define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U)
40466/*! FEVTDTOE - Force Event Data Time Out Error
40467 */
40468#define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK)
40469#define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U)
40470#define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U)
40471/*! FEVTDCE - Force Event Data CRC Error
40472 */
40473#define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK)
40474#define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U)
40475#define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U)
40476/*! FEVTDEBE - Force Event Data End Bit Error
40477 */
40478#define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK)
40479#define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U)
40480#define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U)
40481/*! FEVTAC12E - Force Event Auto Command 12 Error
40482 */
40483#define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK)
40484#define USDHC_FORCE_EVENT_FEVTTNE_MASK (0x4000000U)
40485#define USDHC_FORCE_EVENT_FEVTTNE_SHIFT (26U)
40486/*! FEVTTNE - Force Tuning Error
40487 */
40488#define USDHC_FORCE_EVENT_FEVTTNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTTNE_SHIFT)) & USDHC_FORCE_EVENT_FEVTTNE_MASK)
40489#define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U)
40490#define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U)
40491/*! FEVTDMAE - Force Event DMA Error
40492 */
40493#define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK)
40494#define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U)
40495#define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U)
40496/*! FEVTCINT - Force Event Card Interrupt
40497 */
40498#define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK)
40499/*! @} */
40500
40501/*! @name ADMA_ERR_STATUS - ADMA Error Status Register */
40502/*! @{ */
40503#define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U)
40504#define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U)
40505/*! ADMAES - ADMA Error State (when ADMA Error is occurred)
40506 */
40507#define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK)
40508#define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U)
40509#define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U)
40510/*! ADMALME - ADMA Length Mismatch Error
40511 * 0b1..Error
40512 * 0b0..No Error
40513 */
40514#define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK)
40515#define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U)
40516#define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U)
40517/*! ADMADCE - ADMA Descriptor Error
40518 * 0b1..Error
40519 * 0b0..No Error
40520 */
40521#define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK)
40522/*! @} */
40523
40524/*! @name ADMA_SYS_ADDR - ADMA System Address */
40525/*! @{ */
40526#define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU)
40527#define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U)
40528/*! ADS_ADDR - ADMA System Address
40529 */
40530#define USDHC_ADMA_SYS_ADDR_ADS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT)) & USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK)
40531/*! @} */
40532
40533/*! @name DLL_CTRL - DLL (Delay Line) Control */
40534/*! @{ */
40535#define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK (0x1U)
40536#define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT (0U)
40537/*! DLL_CTRL_ENABLE - DLL_CTRL_ENABLE
40538 */
40539#define USDHC_DLL_CTRL_DLL_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK)
40540#define USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK (0x2U)
40541#define USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT (1U)
40542/*! DLL_CTRL_RESET - DLL_CTRL_RESET
40543 */
40544#define USDHC_DLL_CTRL_DLL_CTRL_RESET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK)
40545#define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
40546#define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
40547/*! DLL_CTRL_SLV_FORCE_UPD - DLL_CTRL_SLV_FORCE_UPD
40548 */
40549#define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK)
40550#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK (0x78U)
40551#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT (3U)
40552/*! DLL_CTRL_SLV_DLY_TARGET0 - DLL_CTRL_SLV_DLY_TARGET0
40553 */
40554#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK)
40555#define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
40556#define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
40557/*! DLL_CTRL_GATE_UPDATE - DLL_CTRL_GATE_UPDATE
40558 */
40559#define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK)
40560#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
40561#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
40562/*! DLL_CTRL_SLV_OVERRIDE - DLL_CTRL_SLV_OVERRIDE
40563 */
40564#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK)
40565#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
40566#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
40567/*! DLL_CTRL_SLV_OVERRIDE_VAL - DLL_CTRL_SLV_OVERRIDE_VAL
40568 */
40569#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK)
40570#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK (0x70000U)
40571#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT (16U)
40572/*! DLL_CTRL_SLV_DLY_TARGET1 - DLL_CTRL_SLV_DLY_TARGET1
40573 */
40574#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK)
40575#define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
40576#define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
40577/*! DLL_CTRL_SLV_UPDATE_INT - DLL_CTRL_SLV_UPDATE_INT
40578 */
40579#define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK)
40580#define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
40581#define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
40582/*! DLL_CTRL_REF_UPDATE_INT - DLL_CTRL_REF_UPDATE_INT
40583 */
40584#define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK)
40585/*! @} */
40586
40587/*! @name DLL_STATUS - DLL Status */
40588/*! @{ */
40589#define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK (0x1U)
40590#define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT (0U)
40591/*! DLL_STS_SLV_LOCK - DLL_STS_SLV_LOCK
40592 */
40593#define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK)
40594#define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK (0x2U)
40595#define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT (1U)
40596/*! DLL_STS_REF_LOCK - DLL_STS_REF_LOCK
40597 */
40598#define USDHC_DLL_STATUS_DLL_STS_REF_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK)
40599#define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK (0x1FCU)
40600#define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT (2U)
40601/*! DLL_STS_SLV_SEL - DLL_STS_SLV_SEL
40602 */
40603#define USDHC_DLL_STATUS_DLL_STS_SLV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK)
40604#define USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK (0xFE00U)
40605#define USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT (9U)
40606/*! DLL_STS_REF_SEL - DLL_STS_REF_SEL
40607 */
40608#define USDHC_DLL_STATUS_DLL_STS_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK)
40609/*! @} */
40610
40611/*! @name CLK_TUNE_CTRL_STATUS - CLK Tuning Control and Status */
40612/*! @{ */
40613#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK (0xFU)
40614#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT (0U)
40615/*! DLY_CELL_SET_POST - DLY_CELL_SET_POST
40616 */
40617#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK)
40618#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK (0xF0U)
40619#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT (4U)
40620/*! DLY_CELL_SET_OUT - DLY_CELL_SET_OUT
40621 */
40622#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK)
40623#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK (0x7F00U)
40624#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT (8U)
40625/*! DLY_CELL_SET_PRE - DLY_CELL_SET_PRE
40626 */
40627#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK)
40628#define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK (0x8000U)
40629#define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT (15U)
40630/*! NXT_ERR - NXT_ERR
40631 */
40632#define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK)
40633#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK (0xF0000U)
40634#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT (16U)
40635/*! TAP_SEL_POST - TAP_SEL_POST
40636 */
40637#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK)
40638#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK (0xF00000U)
40639#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT (20U)
40640/*! TAP_SEL_OUT - TAP_SEL_OUT
40641 */
40642#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK)
40643#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK (0x7F000000U)
40644#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT (24U)
40645/*! TAP_SEL_PRE - TAP_SEL_PRE
40646 */
40647#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK)
40648#define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK (0x80000000U)
40649#define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT (31U)
40650/*! PRE_ERR - PRE_ERR
40651 */
40652#define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK)
40653/*! @} */
40654
40655/*! @name STROBE_DLL_CTRL - Strobe DLL Control */
40656/*! @{ */
40657#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK (0x1U)
40658#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT (0U)
40659/*! STROBE_DLL_CTRL_ENABLE - Strobe DLL Control Enable
40660 */
40661#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK)
40662#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK (0x2U)
40663#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT (1U)
40664/*! STROBE_DLL_CTRL_RESET - Strobe DLL Control Reset
40665 */
40666#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK)
40667#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
40668#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
40669/*! STROBE_DLL_CTRL_SLV_FORCE_UPD - Strobe DLL Control Slave Force Updated
40670 */
40671#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK)
40672#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK (0x38U)
40673#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT (3U)
40674/*! STROBE_DLL_CTRL_SLV_DLY_TARGET - Strobe DLL Control Slave Delay Target
40675 */
40676#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK)
40677#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_0_MASK (0x40U)
40678#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_0_SHIFT (6U)
40679/*! STROBE_DLL_CTRL_GATE_UPDATE_0 - Strobe DLL Control Gate Update
40680 */
40681#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_0_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_0_MASK)
40682#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_1_MASK (0x80U)
40683#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_1_SHIFT (7U)
40684/*! STROBE_DLL_CTRL_GATE_UPDATE_1 - Strobe DLL Control Gate Update
40685 */
40686#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_1_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_1_MASK)
40687#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
40688#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
40689/*! STROBE_DLL_CTRL_SLV_OVERRIDE - Strobe DLL Control Slave Override
40690 */
40691#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK)
40692#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
40693#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
40694/*! STROBE_DLL_CTRL_SLV_OVERRIDE_VAL - Strobe DLL Control Slave Override Value
40695 */
40696#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK)
40697#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
40698#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
40699/*! STROBE_DLL_CTRL_SLV_UPDATE_INT - Strobe DLL Control Slave Update Interval
40700 */
40701#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK)
40702#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
40703#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
40704/*! STROBE_DLL_CTRL_REF_UPDATE_INT - Strobe DLL Control Reference Update Interval
40705 */
40706#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK)
40707/*! @} */
40708
40709/*! @name STROBE_DLL_STATUS - Strobe DLL Status */
40710/*! @{ */
40711#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK (0x1U)
40712#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT (0U)
40713/*! STROBE_DLL_STS_SLV_LOCK - Strobe DLL Status Slave Lock
40714 */
40715#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK)
40716#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK (0x2U)
40717#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT (1U)
40718/*! STROBE_DLL_STS_REF_LOCK - Strobe DLL Status Reference Lock
40719 */
40720#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK)
40721#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK (0x1FCU)
40722#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT (2U)
40723/*! STROBE_DLL_STS_SLV_SEL - Strobe DLL Status Slave Select
40724 */
40725#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK)
40726#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK (0xFE00U)
40727#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT (9U)
40728/*! STROBE_DLL_STS_REF_SEL - Strobe DLL Status Reference Select
40729 */
40730#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK)
40731/*! @} */
40732
40733/*! @name VEND_SPEC - Vendor Specific Register */
40734/*! @{ */
40735#define USDHC_VEND_SPEC_VSELECT_MASK (0x2U)
40736#define USDHC_VEND_SPEC_VSELECT_SHIFT (1U)
40737/*! VSELECT - Voltage selection
40738 * 0b1..Change the voltage to low voltage range, around 1.8 V
40739 * 0b0..Change the voltage to high voltage range, around 3.0 V
40740 */
40741#define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK)
40742#define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U)
40743#define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U)
40744/*! AC12_WR_CHKBUSY_EN - Check busy enable
40745 * 0b0..Do not check busy after auto CMD12 for write data packet
40746 * 0b1..Check busy after auto CMD12 for write data packet
40747 */
40748#define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT)) & USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK)
40749#define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U)
40750#define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U)
40751/*! FRC_SDCLK_ON - Force CLK
40752 * 0b0..CLK active or inactive is fully controlled by the hardware.
40753 * 0b1..Force CLK active.
40754 */
40755#define USDHC_VEND_SPEC_FRC_SDCLK_ON(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT)) & USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK)
40756#define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U)
40757#define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U)
40758/*! CRC_CHK_DIS - CRC Check Disable
40759 * 0b0..Check CRC16 for every read data packet and check CRC bits for every write data packet
40760 * 0b1..Ignore CRC16 check for every read data packet and ignore CRC bits check for every write data packet
40761 */
40762#define USDHC_VEND_SPEC_CRC_CHK_DIS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT)) & USDHC_VEND_SPEC_CRC_CHK_DIS_MASK)
40763#define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U)
40764#define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U)
40765/*! CMD_BYTE_EN - Byte access
40766 * 0b0..Disable
40767 * 0b1..Enable
40768 */
40769#define USDHC_VEND_SPEC_CMD_BYTE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT)) & USDHC_VEND_SPEC_CMD_BYTE_EN_MASK)
40770/*! @} */
40771
40772/*! @name MMC_BOOT - MMC Boot Register */
40773/*! @{ */
40774#define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU)
40775#define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U)
40776/*! DTOCV_ACK - DTOCV_ACK
40777 * 0b0000..SDCLK x 2^14
40778 * 0b0001..SDCLK x 2^15
40779 * 0b0010..SDCLK x 2^16
40780 * 0b0011..SDCLK x 2^17
40781 * 0b0100..SDCLK x 2^18
40782 * 0b0101..SDCLK x 2^19
40783 * 0b0110..SDCLK x 2^20
40784 * 0b0111..SDCLK x 2^21
40785 * 0b1110..SDCLK x 2^28
40786 * 0b1111..SDCLK x 2^29
40787 */
40788#define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK)
40789#define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U)
40790#define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U)
40791/*! BOOT_ACK - BOOT_ACK
40792 * 0b0..No ack
40793 * 0b1..Ack
40794 */
40795#define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK)
40796#define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U)
40797#define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U)
40798/*! BOOT_MODE - BOOT_MODE
40799 * 0b0..Normal boot
40800 * 0b1..Alternative boot
40801 */
40802#define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK)
40803#define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U)
40804#define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U)
40805/*! BOOT_EN - BOOT_EN
40806 * 0b0..Fast boot disable
40807 * 0b1..Fast boot enable
40808 */
40809#define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK)
40810#define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U)
40811#define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U)
40812/*! AUTO_SABG_EN - AUTO_SABG_EN
40813 */
40814#define USDHC_MMC_BOOT_AUTO_SABG_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT)) & USDHC_MMC_BOOT_AUTO_SABG_EN_MASK)
40815#define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U)
40816#define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U)
40817/*! DISABLE_TIME_OUT - Disable Time Out
40818 * 0b0..Enable time out
40819 * 0b1..Disable time out
40820 */
40821#define USDHC_MMC_BOOT_DISABLE_TIME_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT)) & USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK)
40822#define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U)
40823#define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U)
40824/*! BOOT_BLK_CNT - BOOT_BLK_CNT
40825 */
40826#define USDHC_MMC_BOOT_BOOT_BLK_CNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT)) & USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK)
40827/*! @} */
40828
40829/*! @name VEND_SPEC2 - Vendor Specific 2 Register */
40830/*! @{ */
40831#define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U)
40832#define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U)
40833/*! CARD_INT_D3_TEST - Card Interrupt Detection Test
40834 * 0b0..Check the card interrupt only when DATA3 is high.
40835 * 0b1..Check the card interrupt by ignoring the status of DATA3.
40836 */
40837#define USDHC_VEND_SPEC2_CARD_INT_D3_TEST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT)) & USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK)
40838#define USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK (0x10U)
40839#define USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT (4U)
40840/*! TUNING_8bit_EN - TUNING_8bit_EN
40841 */
40842#define USDHC_VEND_SPEC2_TUNING_8bit_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK)
40843#define USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK (0x20U)
40844#define USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT (5U)
40845/*! TUNING_1bit_EN - TUNING_1bit_EN
40846 */
40847#define USDHC_VEND_SPEC2_TUNING_1bit_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK)
40848#define USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK (0x40U)
40849#define USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT (6U)
40850/*! TUNING_CMD_EN - TUNING_CMD_EN
40851 * 0b0..Auto tuning circuit does not check the CMD line.
40852 * 0b1..Auto tuning circuit checks the CMD line.
40853 */
40854#define USDHC_VEND_SPEC2_TUNING_CMD_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK)
40855#define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK (0x400U)
40856#define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT (10U)
40857/*! HS400_WR_CLK_STOP_EN - HS400 Write Clock Stop Enable
40858 */
40859#define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT)) & USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK)
40860#define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK (0x800U)
40861#define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT (11U)
40862/*! HS400_RD_CLK_STOP_EN - HS400 Read Clock Stop Enable
40863 */
40864#define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT)) & USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK)
40865#define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U)
40866#define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U)
40867/*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23
40868 * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enable.
40869 * 0b0..Disable
40870 */
40871#define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT)) & USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK)
40872#define USDHC_VEND_SPEC2_AHB_RST_MASK (0x4000U)
40873#define USDHC_VEND_SPEC2_AHB_RST_SHIFT (14U)
40874/*! AHB_RST - AHB BUS reset
40875 */
40876#define USDHC_VEND_SPEC2_AHB_RST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_AHB_RST_SHIFT)) & USDHC_VEND_SPEC2_AHB_RST_MASK)
40877/*! @} */
40878
40879/*! @name TUNING_CTRL - Tuning Control Register */
40880/*! @{ */
40881#define USDHC_TUNING_CTRL_TUNING_START_TAP_MASK (0xFFU)
40882#define USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT (0U)
40883/*! TUNING_START_TAP - TUNING_START_TAP
40884 */
40885#define USDHC_TUNING_CTRL_TUNING_START_TAP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_START_TAP_MASK)
40886#define USDHC_TUNING_CTRL_TUNING_COUNTER_MASK (0xFF00U)
40887#define USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT (8U)
40888/*! TUNING_COUNTER - TUNING_COUNTER
40889 */
40890#define USDHC_TUNING_CTRL_TUNING_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT)) & USDHC_TUNING_CTRL_TUNING_COUNTER_MASK)
40891#define USDHC_TUNING_CTRL_TUNING_STEP_MASK (0x70000U)
40892#define USDHC_TUNING_CTRL_TUNING_STEP_SHIFT (16U)
40893/*! TUNING_STEP - TUNING_STEP
40894 */
40895#define USDHC_TUNING_CTRL_TUNING_STEP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_STEP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_STEP_MASK)
40896#define USDHC_TUNING_CTRL_TUNING_WINDOW_MASK (0x700000U)
40897#define USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT (20U)
40898/*! TUNING_WINDOW - TUNING_WINDOW
40899 */
40900#define USDHC_TUNING_CTRL_TUNING_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT)) & USDHC_TUNING_CTRL_TUNING_WINDOW_MASK)
40901#define USDHC_TUNING_CTRL_STD_TUNING_EN_MASK (0x1000000U)
40902#define USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT (24U)
40903/*! STD_TUNING_EN - STD_TUNING_EN
40904 */
40905#define USDHC_TUNING_CTRL_STD_TUNING_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT)) & USDHC_TUNING_CTRL_STD_TUNING_EN_MASK)
40906/*! @} */
40907
40908
40909/*!
40910 * @}
40911 */ /* end of group USDHC_Register_Masks */
40912
40913
40914/* USDHC - Peripheral instance base addresses */
40915#if (__ARM_FEATURE_CMSE & 0x2)
40916 /** Peripheral USDHC0 base address */
40917 #define USDHC0_BASE (0x50136000u)
40918 /** Peripheral USDHC0 base address */
40919 #define USDHC0_BASE_NS (0x40136000u)
40920 /** Peripheral USDHC0 base pointer */
40921 #define USDHC0 ((USDHC_Type *)USDHC0_BASE)
40922 /** Peripheral USDHC0 base pointer */
40923 #define USDHC0_NS ((USDHC_Type *)USDHC0_BASE_NS)
40924 /** Peripheral USDHC1 base address */
40925 #define USDHC1_BASE (0x50137000u)
40926 /** Peripheral USDHC1 base address */
40927 #define USDHC1_BASE_NS (0x40137000u)
40928 /** Peripheral USDHC1 base pointer */
40929 #define USDHC1 ((USDHC_Type *)USDHC1_BASE)
40930 /** Peripheral USDHC1 base pointer */
40931 #define USDHC1_NS ((USDHC_Type *)USDHC1_BASE_NS)
40932 /** Array initializer of USDHC peripheral base addresses */
40933 #define USDHC_BASE_ADDRS { USDHC0_BASE, USDHC1_BASE }
40934 /** Array initializer of USDHC peripheral base pointers */
40935 #define USDHC_BASE_PTRS { USDHC0, USDHC1 }
40936 /** Array initializer of USDHC peripheral base addresses */
40937 #define USDHC_BASE_ADDRS_NS { USDHC0_BASE_NS, USDHC1_BASE_NS }
40938 /** Array initializer of USDHC peripheral base pointers */
40939 #define USDHC_BASE_PTRS_NS { USDHC0_NS, USDHC1_NS }
40940#else
40941 /** Peripheral USDHC0 base address */
40942 #define USDHC0_BASE (0x40136000u)
40943 /** Peripheral USDHC0 base pointer */
40944 #define USDHC0 ((USDHC_Type *)USDHC0_BASE)
40945 /** Peripheral USDHC1 base address */
40946 #define USDHC1_BASE (0x40137000u)
40947 /** Peripheral USDHC1 base pointer */
40948 #define USDHC1 ((USDHC_Type *)USDHC1_BASE)
40949 /** Array initializer of USDHC peripheral base addresses */
40950 #define USDHC_BASE_ADDRS { USDHC0_BASE, USDHC1_BASE }
40951 /** Array initializer of USDHC peripheral base pointers */
40952 #define USDHC_BASE_PTRS { USDHC0, USDHC1 }
40953#endif
40954/** Interrupt vectors for the USDHC peripheral type */
40955#define USDHC_IRQS { USDHC0_IRQn, USDHC1_IRQn }
40956
40957/*!
40958 * @}
40959 */ /* end of group USDHC_Peripheral_Access_Layer */
40960
40961
40962/* ----------------------------------------------------------------------------
40963 -- UTICK Peripheral Access Layer
40964 ---------------------------------------------------------------------------- */
40965
40966/*!
40967 * @addtogroup UTICK_Peripheral_Access_Layer UTICK Peripheral Access Layer
40968 * @{
40969 */
40970
40971/** UTICK - Register Layout Typedef */
40972typedef struct {
40973 __IO uint32_t CTRL; /**< Control register., offset: 0x0 */
40974 __IO uint32_t STAT; /**< Status register., offset: 0x4 */
40975 __IO uint32_t CFG; /**< Capture configuration register., offset: 0x8 */
40976 __O uint32_t CAPCLR; /**< Capture clear register., offset: 0xC */
40977 __I uint32_t CAP[4]; /**< Capture register ., array offset: 0x10, array step: 0x4 */
40978} UTICK_Type;
40979
40980/* ----------------------------------------------------------------------------
40981 -- UTICK Register Masks
40982 ---------------------------------------------------------------------------- */
40983
40984/*!
40985 * @addtogroup UTICK_Register_Masks UTICK Register Masks
40986 * @{
40987 */
40988
40989/*! @name CTRL - Control register. */
40990/*! @{ */
40991#define UTICK_CTRL_DELAYVAL_MASK (0x7FFFFFFFU)
40992#define UTICK_CTRL_DELAYVAL_SHIFT (0U)
40993/*! DELAYVAL - Tick interval value. The delay will be equal to DELAYVAL + 1 periods of the timer
40994 * clock. The minimum usable value is 1, for a delay of 2 timer clocks. A value of 0 stops the timer.
40995 */
40996#define UTICK_CTRL_DELAYVAL(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CTRL_DELAYVAL_SHIFT)) & UTICK_CTRL_DELAYVAL_MASK)
40997#define UTICK_CTRL_REPEAT_MASK (0x80000000U)
40998#define UTICK_CTRL_REPEAT_SHIFT (31U)
40999/*! REPEAT - Repeat delay. 0 = One-time delay. 1 = Delay repeats continuously.
41000 */
41001#define UTICK_CTRL_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CTRL_REPEAT_SHIFT)) & UTICK_CTRL_REPEAT_MASK)
41002/*! @} */
41003
41004/*! @name STAT - Status register. */
41005/*! @{ */
41006#define UTICK_STAT_INTR_MASK (0x1U)
41007#define UTICK_STAT_INTR_SHIFT (0U)
41008/*! INTR - Interrupt flag. 0 = No interrupt is pending. 1 = An interrupt is pending. A write of any
41009 * value to this register clears this flag.
41010 */
41011#define UTICK_STAT_INTR(x) (((uint32_t)(((uint32_t)(x)) << UTICK_STAT_INTR_SHIFT)) & UTICK_STAT_INTR_MASK)
41012#define UTICK_STAT_ACTIVE_MASK (0x2U)
41013#define UTICK_STAT_ACTIVE_SHIFT (1U)
41014/*! ACTIVE - Active flag. 0 = The Micro-Tick Timer is stopped. 1 = The Micro-Tick Timer is currently active.
41015 */
41016#define UTICK_STAT_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << UTICK_STAT_ACTIVE_SHIFT)) & UTICK_STAT_ACTIVE_MASK)
41017/*! @} */
41018
41019/*! @name CFG - Capture configuration register. */
41020/*! @{ */
41021#define UTICK_CFG_CAPEN0_MASK (0x1U)
41022#define UTICK_CFG_CAPEN0_SHIFT (0U)
41023/*! CAPEN0 - Enable Capture 0. 1 = Enabled, 0 = Disabled.
41024 */
41025#define UTICK_CFG_CAPEN0(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN0_SHIFT)) & UTICK_CFG_CAPEN0_MASK)
41026#define UTICK_CFG_CAPEN1_MASK (0x2U)
41027#define UTICK_CFG_CAPEN1_SHIFT (1U)
41028/*! CAPEN1 - Enable Capture 1. 1 = Enabled, 0 = Disabled.
41029 */
41030#define UTICK_CFG_CAPEN1(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN1_SHIFT)) & UTICK_CFG_CAPEN1_MASK)
41031#define UTICK_CFG_CAPEN2_MASK (0x4U)
41032#define UTICK_CFG_CAPEN2_SHIFT (2U)
41033/*! CAPEN2 - Enable Capture 2. 1 = Enabled, 0 = Disabled.
41034 */
41035#define UTICK_CFG_CAPEN2(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN2_SHIFT)) & UTICK_CFG_CAPEN2_MASK)
41036#define UTICK_CFG_CAPEN3_MASK (0x8U)
41037#define UTICK_CFG_CAPEN3_SHIFT (3U)
41038/*! CAPEN3 - Enable Capture 3. 1 = Enabled, 0 = Disabled.
41039 */
41040#define UTICK_CFG_CAPEN3(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPEN3_SHIFT)) & UTICK_CFG_CAPEN3_MASK)
41041#define UTICK_CFG_CAPPOL0_MASK (0x100U)
41042#define UTICK_CFG_CAPPOL0_SHIFT (8U)
41043/*! CAPPOL0 - Capture Polarity 0. 0 = Positive edge capture, 1 = Negative edge capture.
41044 */
41045#define UTICK_CFG_CAPPOL0(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL0_SHIFT)) & UTICK_CFG_CAPPOL0_MASK)
41046#define UTICK_CFG_CAPPOL1_MASK (0x200U)
41047#define UTICK_CFG_CAPPOL1_SHIFT (9U)
41048/*! CAPPOL1 - Capture Polarity 1. 0 = Positive edge capture, 1 = Negative edge capture.
41049 */
41050#define UTICK_CFG_CAPPOL1(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL1_SHIFT)) & UTICK_CFG_CAPPOL1_MASK)
41051#define UTICK_CFG_CAPPOL2_MASK (0x400U)
41052#define UTICK_CFG_CAPPOL2_SHIFT (10U)
41053/*! CAPPOL2 - Capture Polarity 2. 0 = Positive edge capture, 1 = Negative edge capture.
41054 */
41055#define UTICK_CFG_CAPPOL2(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL2_SHIFT)) & UTICK_CFG_CAPPOL2_MASK)
41056#define UTICK_CFG_CAPPOL3_MASK (0x800U)
41057#define UTICK_CFG_CAPPOL3_SHIFT (11U)
41058/*! CAPPOL3 - Capture Polarity 3. 0 = Positive edge capture, 1 = Negative edge capture.
41059 */
41060#define UTICK_CFG_CAPPOL3(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CFG_CAPPOL3_SHIFT)) & UTICK_CFG_CAPPOL3_MASK)
41061/*! @} */
41062
41063/*! @name CAPCLR - Capture clear register. */
41064/*! @{ */
41065#define UTICK_CAPCLR_CAPCLR0_MASK (0x1U)
41066#define UTICK_CAPCLR_CAPCLR0_SHIFT (0U)
41067/*! CAPCLR0 - Clear capture 0. Writing 1 to this bit clears the CAP0 register value.
41068 */
41069#define UTICK_CAPCLR_CAPCLR0(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR0_SHIFT)) & UTICK_CAPCLR_CAPCLR0_MASK)
41070#define UTICK_CAPCLR_CAPCLR1_MASK (0x2U)
41071#define UTICK_CAPCLR_CAPCLR1_SHIFT (1U)
41072/*! CAPCLR1 - Clear capture 1. Writing 1 to this bit clears the CAP1 register value.
41073 */
41074#define UTICK_CAPCLR_CAPCLR1(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR1_SHIFT)) & UTICK_CAPCLR_CAPCLR1_MASK)
41075#define UTICK_CAPCLR_CAPCLR2_MASK (0x4U)
41076#define UTICK_CAPCLR_CAPCLR2_SHIFT (2U)
41077/*! CAPCLR2 - Clear capture 2. Writing 1 to this bit clears the CAP2 register value.
41078 */
41079#define UTICK_CAPCLR_CAPCLR2(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR2_SHIFT)) & UTICK_CAPCLR_CAPCLR2_MASK)
41080#define UTICK_CAPCLR_CAPCLR3_MASK (0x8U)
41081#define UTICK_CAPCLR_CAPCLR3_SHIFT (3U)
41082/*! CAPCLR3 - Clear capture 3. Writing 1 to this bit clears the CAP3 register value.
41083 */
41084#define UTICK_CAPCLR_CAPCLR3(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAPCLR_CAPCLR3_SHIFT)) & UTICK_CAPCLR_CAPCLR3_MASK)
41085/*! @} */
41086
41087/*! @name CAP - Capture register . */
41088/*! @{ */
41089#define UTICK_CAP_CAP_VALUE_MASK (0x7FFFFFFFU)
41090#define UTICK_CAP_CAP_VALUE_SHIFT (0U)
41091/*! CAP_VALUE - Capture value for the related capture event (UTICK_CAPn. Note: the value is 1 lower
41092 * than the actual value of the Micro-tick Timer at the moment of the capture event.
41093 */
41094#define UTICK_CAP_CAP_VALUE(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAP_CAP_VALUE_SHIFT)) & UTICK_CAP_CAP_VALUE_MASK)
41095#define UTICK_CAP_VALID_MASK (0x80000000U)
41096#define UTICK_CAP_VALID_SHIFT (31U)
41097/*! VALID - Capture Valid. When 1, a value has been captured based on a transition of the related
41098 * UTICK_CAPn pin. Cleared by writing to the related bit in the CAPCLR register.
41099 */
41100#define UTICK_CAP_VALID(x) (((uint32_t)(((uint32_t)(x)) << UTICK_CAP_VALID_SHIFT)) & UTICK_CAP_VALID_MASK)
41101/*! @} */
41102
41103/* The count of UTICK_CAP */
41104#define UTICK_CAP_COUNT (4U)
41105
41106
41107/*!
41108 * @}
41109 */ /* end of group UTICK_Register_Masks */
41110
41111
41112/* UTICK - Peripheral instance base addresses */
41113#if (__ARM_FEATURE_CMSE & 0x2)
41114 /** Peripheral UTICK0 base address */
41115 #define UTICK0_BASE (0x5000F000u)
41116 /** Peripheral UTICK0 base address */
41117 #define UTICK0_BASE_NS (0x4000F000u)
41118 /** Peripheral UTICK0 base pointer */
41119 #define UTICK0 ((UTICK_Type *)UTICK0_BASE)
41120 /** Peripheral UTICK0 base pointer */
41121 #define UTICK0_NS ((UTICK_Type *)UTICK0_BASE_NS)
41122 /** Array initializer of UTICK peripheral base addresses */
41123 #define UTICK_BASE_ADDRS { UTICK0_BASE }
41124 /** Array initializer of UTICK peripheral base pointers */
41125 #define UTICK_BASE_PTRS { UTICK0 }
41126 /** Array initializer of UTICK peripheral base addresses */
41127 #define UTICK_BASE_ADDRS_NS { UTICK0_BASE_NS }
41128 /** Array initializer of UTICK peripheral base pointers */
41129 #define UTICK_BASE_PTRS_NS { UTICK0_NS }
41130#else
41131 /** Peripheral UTICK0 base address */
41132 #define UTICK0_BASE (0x4000F000u)
41133 /** Peripheral UTICK0 base pointer */
41134 #define UTICK0 ((UTICK_Type *)UTICK0_BASE)
41135 /** Array initializer of UTICK peripheral base addresses */
41136 #define UTICK_BASE_ADDRS { UTICK0_BASE }
41137 /** Array initializer of UTICK peripheral base pointers */
41138 #define UTICK_BASE_PTRS { UTICK0 }
41139#endif
41140/** Interrupt vectors for the UTICK peripheral type */
41141#define UTICK_IRQS { UTICK0_IRQn }
41142
41143/*!
41144 * @}
41145 */ /* end of group UTICK_Peripheral_Access_Layer */
41146
41147
41148/* ----------------------------------------------------------------------------
41149 -- WWDT Peripheral Access Layer
41150 ---------------------------------------------------------------------------- */
41151
41152/*!
41153 * @addtogroup WWDT_Peripheral_Access_Layer WWDT Peripheral Access Layer
41154 * @{
41155 */
41156
41157/** WWDT - Register Layout Typedef */
41158typedef struct {
41159 __IO uint32_t MOD; /**< Watchdog mode register. This register contains the basic mode and status of the Watchdog Timer., offset: 0x0 */
41160 __IO uint32_t TC; /**< Watchdog timer constant register. This 24-bit register determines the time-out value., offset: 0x4 */
41161 __O uint32_t FEED; /**< Watchdog feed sequence register. Writing 0xAA followed by 0x55 to this register reloads the Watchdog timer with the value contained in TC., offset: 0x8 */
41162 __I uint32_t TV; /**< Watchdog timer value register. This 24-bit register reads out the current value of the Watchdog timer., offset: 0xC */
41163 uint8_t RESERVED_0[4];
41164 __IO uint32_t WARNINT; /**< Watchdog Warning Interrupt compare value., offset: 0x14 */
41165 __IO uint32_t WINDOW; /**< Watchdog Window compare value., offset: 0x18 */
41166} WWDT_Type;
41167
41168/* ----------------------------------------------------------------------------
41169 -- WWDT Register Masks
41170 ---------------------------------------------------------------------------- */
41171
41172/*!
41173 * @addtogroup WWDT_Register_Masks WWDT Register Masks
41174 * @{
41175 */
41176
41177/*! @name MOD - Watchdog mode register. This register contains the basic mode and status of the Watchdog Timer. */
41178/*! @{ */
41179#define WWDT_MOD_WDEN_MASK (0x1U)
41180#define WWDT_MOD_WDEN_SHIFT (0U)
41181/*! WDEN - Watchdog enable bit. Once this bit is set to one and a watchdog feed is performed, the
41182 * watchdog timer will run permanently.
41183 * 0b0..Stop. The watchdog timer is stopped.
41184 * 0b1..Run. The watchdog timer is running.
41185 */
41186#define WWDT_MOD_WDEN(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDEN_SHIFT)) & WWDT_MOD_WDEN_MASK)
41187#define WWDT_MOD_WDRESET_MASK (0x2U)
41188#define WWDT_MOD_WDRESET_SHIFT (1U)
41189/*! WDRESET - Watchdog reset enable bit. Once this bit has been written with a 1 it cannot be re-written with a 0.
41190 * 0b0..Interrupt. A watchdog time-out will not cause a chip reset.
41191 * 0b1..Reset. A watchdog time-out will cause a chip reset.
41192 */
41193#define WWDT_MOD_WDRESET(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDRESET_SHIFT)) & WWDT_MOD_WDRESET_MASK)
41194#define WWDT_MOD_WDTOF_MASK (0x4U)
41195#define WWDT_MOD_WDTOF_SHIFT (2U)
41196/*! WDTOF - Watchdog time-out flag. Set when the watchdog timer times out, by a feed error, or by
41197 * events associated with WDPROTECT. Cleared by software writing a 0 to this bit position. Causes a
41198 * chip reset if WDRESET = 1.
41199 */
41200#define WWDT_MOD_WDTOF(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDTOF_SHIFT)) & WWDT_MOD_WDTOF_MASK)
41201#define WWDT_MOD_WDINT_MASK (0x8U)
41202#define WWDT_MOD_WDINT_SHIFT (3U)
41203/*! WDINT - Warning interrupt flag. Set when the timer is at or below the value in WDWARNINT.
41204 * Cleared by software writing a 1 to this bit position. Note that this bit cannot be cleared while the
41205 * WARNINT value is equal to the value of the TV register. This can occur if the value of
41206 * WARNINT is 0 and the WDRESET bit is 0 when TV decrements to 0.
41207 */
41208#define WWDT_MOD_WDINT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDINT_SHIFT)) & WWDT_MOD_WDINT_MASK)
41209#define WWDT_MOD_WDPROTECT_MASK (0x10U)
41210#define WWDT_MOD_WDPROTECT_SHIFT (4U)
41211/*! WDPROTECT - Watchdog update mode. This bit can be set once by software and is only cleared by a reset.
41212 * 0b0..Flexible. The watchdog time-out value (TC) can be changed at any time.
41213 * 0b1..Threshold. The watchdog time-out value (TC) can be changed only after the counter is below the value of WDWARNINT and WDWINDOW.
41214 */
41215#define WWDT_MOD_WDPROTECT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_WDPROTECT_SHIFT)) & WWDT_MOD_WDPROTECT_MASK)
41216#define WWDT_MOD_LOCK_MASK (0x20U)
41217#define WWDT_MOD_LOCK_SHIFT (5U)
41218/*! LOCK - Once this bit is set to one and a watchdog feed is performed, disabling or powering down
41219 * the watchdog oscillator is prevented by hardware. This bit can be set once by software and is
41220 * only cleared by any reset.
41221 */
41222#define WWDT_MOD_LOCK(x) (((uint32_t)(((uint32_t)(x)) << WWDT_MOD_LOCK_SHIFT)) & WWDT_MOD_LOCK_MASK)
41223/*! @} */
41224
41225/*! @name TC - Watchdog timer constant register. This 24-bit register determines the time-out value. */
41226/*! @{ */
41227#define WWDT_TC_COUNT_MASK (0xFFFFFFU)
41228#define WWDT_TC_COUNT_SHIFT (0U)
41229/*! COUNT - Watchdog time-out value.
41230 */
41231#define WWDT_TC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_TC_COUNT_SHIFT)) & WWDT_TC_COUNT_MASK)
41232/*! @} */
41233
41234/*! @name FEED - Watchdog feed sequence register. Writing 0xAA followed by 0x55 to this register reloads the Watchdog timer with the value contained in TC. */
41235/*! @{ */
41236#define WWDT_FEED_FEED_MASK (0xFFU)
41237#define WWDT_FEED_FEED_SHIFT (0U)
41238/*! FEED - Feed value should be 0xAA followed by 0x55.
41239 */
41240#define WWDT_FEED_FEED(x) (((uint32_t)(((uint32_t)(x)) << WWDT_FEED_FEED_SHIFT)) & WWDT_FEED_FEED_MASK)
41241/*! @} */
41242
41243/*! @name TV - Watchdog timer value register. This 24-bit register reads out the current value of the Watchdog timer. */
41244/*! @{ */
41245#define WWDT_TV_COUNT_MASK (0xFFFFFFU)
41246#define WWDT_TV_COUNT_SHIFT (0U)
41247/*! COUNT - Counter timer value.
41248 */
41249#define WWDT_TV_COUNT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_TV_COUNT_SHIFT)) & WWDT_TV_COUNT_MASK)
41250/*! @} */
41251
41252/*! @name WARNINT - Watchdog Warning Interrupt compare value. */
41253/*! @{ */
41254#define WWDT_WARNINT_WARNINT_MASK (0x3FFU)
41255#define WWDT_WARNINT_WARNINT_SHIFT (0U)
41256/*! WARNINT - Watchdog warning interrupt compare value.
41257 */
41258#define WWDT_WARNINT_WARNINT(x) (((uint32_t)(((uint32_t)(x)) << WWDT_WARNINT_WARNINT_SHIFT)) & WWDT_WARNINT_WARNINT_MASK)
41259/*! @} */
41260
41261/*! @name WINDOW - Watchdog Window compare value. */
41262/*! @{ */
41263#define WWDT_WINDOW_WINDOW_MASK (0xFFFFFFU)
41264#define WWDT_WINDOW_WINDOW_SHIFT (0U)
41265/*! WINDOW - Watchdog window value.
41266 */
41267#define WWDT_WINDOW_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << WWDT_WINDOW_WINDOW_SHIFT)) & WWDT_WINDOW_WINDOW_MASK)
41268/*! @} */
41269
41270
41271/*!
41272 * @}
41273 */ /* end of group WWDT_Register_Masks */
41274
41275
41276/* WWDT - Peripheral instance base addresses */
41277#if (__ARM_FEATURE_CMSE & 0x2)
41278 /** Peripheral WWDT0 base address */
41279 #define WWDT0_BASE (0x5000E000u)
41280 /** Peripheral WWDT0 base address */
41281 #define WWDT0_BASE_NS (0x4000E000u)
41282 /** Peripheral WWDT0 base pointer */
41283 #define WWDT0 ((WWDT_Type *)WWDT0_BASE)
41284 /** Peripheral WWDT0 base pointer */
41285 #define WWDT0_NS ((WWDT_Type *)WWDT0_BASE_NS)
41286 /** Peripheral WWDT1 base address */
41287 #define WWDT1_BASE (0x5002E000u)
41288 /** Peripheral WWDT1 base address */
41289 #define WWDT1_BASE_NS (0x4002E000u)
41290 /** Peripheral WWDT1 base pointer */
41291 #define WWDT1 ((WWDT_Type *)WWDT1_BASE)
41292 /** Peripheral WWDT1 base pointer */
41293 #define WWDT1_NS ((WWDT_Type *)WWDT1_BASE_NS)
41294 /** Array initializer of WWDT peripheral base addresses */
41295 #define WWDT_BASE_ADDRS { WWDT0_BASE, WWDT1_BASE }
41296 /** Array initializer of WWDT peripheral base pointers */
41297 #define WWDT_BASE_PTRS { WWDT0, WWDT1 }
41298 /** Array initializer of WWDT peripheral base addresses */
41299 #define WWDT_BASE_ADDRS_NS { WWDT0_BASE_NS, WWDT1_BASE_NS }
41300 /** Array initializer of WWDT peripheral base pointers */
41301 #define WWDT_BASE_PTRS_NS { WWDT0_NS, WWDT1_NS }
41302#else
41303 /** Peripheral WWDT0 base address */
41304 #define WWDT0_BASE (0x4000E000u)
41305 /** Peripheral WWDT0 base pointer */
41306 #define WWDT0 ((WWDT_Type *)WWDT0_BASE)
41307 /** Peripheral WWDT1 base address */
41308 #define WWDT1_BASE (0x4002E000u)
41309 /** Peripheral WWDT1 base pointer */
41310 #define WWDT1 ((WWDT_Type *)WWDT1_BASE)
41311 /** Array initializer of WWDT peripheral base addresses */
41312 #define WWDT_BASE_ADDRS { WWDT0_BASE, WWDT1_BASE }
41313 /** Array initializer of WWDT peripheral base pointers */
41314 #define WWDT_BASE_PTRS { WWDT0, WWDT1 }
41315#endif
41316/** Interrupt vectors for the WWDT peripheral type */
41317#define WWDT_IRQS { WDT0_IRQn, WDT1_IRQn }
41318
41319/*!
41320 * @}
41321 */ /* end of group WWDT_Peripheral_Access_Layer */
41322
41323
41324/*
41325** End of section using anonymous unions
41326*/
41327
41328#if defined(__ARMCC_VERSION)
41329 #if (__ARMCC_VERSION >= 6010050)
41330 #pragma clang diagnostic pop
41331 #else
41332 #pragma pop
41333 #endif
41334#elif defined(__GNUC__)
41335 /* leave anonymous unions enabled */
41336#elif defined(__IAR_SYSTEMS_ICC__)
41337 #pragma language=default
41338#else
41339 #error Not supported compiler type
41340#endif
41341
41342/*!
41343 * @}
41344 */ /* end of group Peripheral_access_layer */
41345
41346
41347/* ----------------------------------------------------------------------------
41348 -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
41349 ---------------------------------------------------------------------------- */
41350
41351/*!
41352 * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
41353 * @{
41354 */
41355
41356#if defined(__ARMCC_VERSION)
41357 #if (__ARMCC_VERSION >= 6010050)
41358 #pragma clang system_header
41359 #endif
41360#elif defined(__IAR_SYSTEMS_ICC__)
41361 #pragma system_include
41362#endif
41363
41364/**
41365 * @brief Mask and left-shift a bit field value for use in a register bit range.
41366 * @param field Name of the register bit field.
41367 * @param value Value of the bit field.
41368 * @return Masked and shifted value.
41369 */
41370#define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK))
41371/**
41372 * @brief Mask and right-shift a register value to extract a bit field value.
41373 * @param field Name of the register bit field.
41374 * @param value Value of the register.
41375 * @return Masked and shifted bit field value.
41376 */
41377#define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT))
41378
41379/*!
41380 * @}
41381 */ /* end of group Bit_Field_Generic_Macros */
41382
41383
41384/* ----------------------------------------------------------------------------
41385 -- SDK Compatibility
41386 ---------------------------------------------------------------------------- */
41387
41388/*!
41389 * @addtogroup SDK_Compatibility_Symbols SDK Compatibility
41390 * @{
41391 */
41392
41393/** Used for get the base address of ROM API */
41394#define FSL_ROM_API_BASE_ADDR 0x1303f000U
41395/** Used for get the address of OTP INIT API in ROM */
41396#define FSL_ROM_OTP_INIT_ADDR 0x13009FF9U
41397/** Used for get the address of OTP DEINIT API in ROM */
41398#define FSL_ROM_OTP_DEINIT_ADDR 0x1300a047U
41399/** Used for get the address of OTP FUSE READ API in ROM */
41400#define FSL_ROM_OTP_FUSE_READ_ADDR 0x1300a057U
41401
41402/*!
41403 * @}
41404 */ /* end of group SDK_Compatibility_Symbols */
41405
41406
41407#endif /* _MIMXRT685S_CM33_H_ */
41408
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33_features.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33_features.h
new file mode 100644
index 000000000..58e3abd26
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/MIMXRT685S_cm33_features.h
@@ -0,0 +1,490 @@
1/*
2** ###################################################################
3** Version: rev. 1.0, 2018-06-19
4** Build: b200922
5**
6** Abstract:
7** Chip specific module features.
8**
9** Copyright 2016 Freescale Semiconductor, Inc.
10** Copyright 2016-2020 NXP
11** All rights reserved.
12**
13** SPDX-License-Identifier: BSD-3-Clause
14**
15** http: www.nxp.com
16** mail: [email protected]
17**
18** Revisions:
19** - rev. 1.0 (2018-06-19)
20** Initial version.
21**
22** ###################################################################
23*/
24
25#ifndef _MIMXRT685S_cm33_FEATURES_H_
26#define _MIMXRT685S_cm33_FEATURES_H_
27
28/* SOC module features */
29
30/* @brief ACMP availability on the SoC. */
31#define FSL_FEATURE_SOC_ACMP_COUNT (1)
32/* @brief CACHE64_CTRL availability on the SoC. */
33#define FSL_FEATURE_SOC_CACHE64_CTRL_COUNT (1)
34/* @brief CACHE64_POLSEL availability on the SoC. */
35#define FSL_FEATURE_SOC_CACHE64_POLSEL_COUNT (1)
36/* @brief CASPER availability on the SoC. */
37#define FSL_FEATURE_SOC_CASPER_COUNT (1)
38/* @brief CLKCTL0 availability on the SoC. */
39#define FSL_FEATURE_SOC_CLKCTL0_COUNT (1)
40/* @brief CLKCTL1 availability on the SoC. */
41#define FSL_FEATURE_SOC_CLKCTL1_COUNT (1)
42/* @brief CRC availability on the SoC. */
43#define FSL_FEATURE_SOC_CRC_COUNT (1)
44/* @brief CTIMER availability on the SoC. */
45#define FSL_FEATURE_SOC_CTIMER_COUNT (5)
46/* @brief DMA availability on the SoC. */
47#define FSL_FEATURE_SOC_DMA_COUNT (2)
48/* @brief DMIC availability on the SoC. */
49#define FSL_FEATURE_SOC_DMIC_COUNT (1)
50/* @brief FLEXCOMM availability on the SoC. */
51#define FSL_FEATURE_SOC_FLEXCOMM_COUNT (10)
52/* @brief FLEXSPI availability on the SoC. */
53#define FSL_FEATURE_SOC_FLEXSPI_COUNT (1)
54/* @brief FREQME availability on the SoC. */
55#define FSL_FEATURE_SOC_FREQME_COUNT (1)
56/* @brief GPIO availability on the SoC. */
57#define FSL_FEATURE_SOC_GPIO_COUNT (1)
58/* @brief SECGPIO availability on the SoC. */
59#define FSL_FEATURE_SOC_SECGPIO_COUNT (1)
60/* @brief HASHCRYPT availability on the SoC. */
61#define FSL_FEATURE_SOC_HASHCRYPT_COUNT (1)
62/* @brief I2C availability on the SoC. */
63#define FSL_FEATURE_SOC_I2C_COUNT (9)
64/* @brief I3C availability on the SoC. */
65#define FSL_FEATURE_SOC_I3C_COUNT (1)
66/* @brief I2S availability on the SoC. */
67#define FSL_FEATURE_SOC_I2S_COUNT (8)
68/* @brief INPUTMUX availability on the SoC. */
69#define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)
70/* @brief IOPCTL availability on the SoC. */
71#define FSL_FEATURE_SOC_IOPCTL_COUNT (1)
72/* @brief LPADC availability on the SoC. */
73#define FSL_FEATURE_SOC_LPADC_COUNT (1)
74/* @brief MRT availability on the SoC. */
75#define FSL_FEATURE_SOC_MRT_COUNT (1)
76/* @brief MU availability on the SoC. */
77#define FSL_FEATURE_SOC_MU_COUNT (1)
78/* @brief OCOTP availability on the SoC. */
79#define FSL_FEATURE_SOC_OCOTP_COUNT (1)
80/* @brief OSTIMER availability on the SoC. */
81#define FSL_FEATURE_SOC_OSTIMER_COUNT (1)
82/* @brief OTFAD availability on the SoC. */
83#define FSL_FEATURE_SOC_OTFAD_COUNT (1)
84/* @brief PINT availability on the SoC. */
85#define FSL_FEATURE_SOC_PINT_COUNT (1)
86/* @brief PMC availability on the SoC. */
87#define FSL_FEATURE_SOC_PMC_COUNT (1)
88/* @brief POWERQUAD availability on the SoC. */
89#define FSL_FEATURE_SOC_POWERQUAD_COUNT (1)
90/* @brief PUF availability on the SoC. */
91#define FSL_FEATURE_SOC_PUF_COUNT (1)
92/* @brief RSTCTL0 availability on the SoC. */
93#define FSL_FEATURE_SOC_RSTCTL0_COUNT (1)
94/* @brief RSTCTL1 availability on the SoC. */
95#define FSL_FEATURE_SOC_RSTCTL1_COUNT (1)
96/* @brief RTC availability on the SoC. */
97#define FSL_FEATURE_SOC_RTC_COUNT (1)
98/* @brief SCT availability on the SoC. */
99#define FSL_FEATURE_SOC_SCT_COUNT (1)
100/* @brief SEMA42 availability on the SoC. */
101#define FSL_FEATURE_SOC_SEMA42_COUNT (1)
102/* @brief SPI availability on the SoC. */
103#define FSL_FEATURE_SOC_SPI_COUNT (9)
104/* @brief SYSCTL0 availability on the SoC. */
105#define FSL_FEATURE_SOC_SYSCTL0_COUNT (1)
106/* @brief SYSCTL1 availability on the SoC. */
107#define FSL_FEATURE_SOC_SYSCTL1_COUNT (1)
108/* @brief TRNG availability on the SoC. */
109#define FSL_FEATURE_SOC_TRNG_COUNT (1)
110/* @brief USART availability on the SoC. */
111#define FSL_FEATURE_SOC_USART_COUNT (8)
112/* @brief USBHSD availability on the SoC. */
113#define FSL_FEATURE_SOC_USBHSD_COUNT (1)
114/* @brief USBHSDCD availability on the SoC. */
115#define FSL_FEATURE_SOC_USBHSDCD_COUNT (1)
116/* @brief USBHSH availability on the SoC. */
117#define FSL_FEATURE_SOC_USBHSH_COUNT (1)
118/* @brief USBPHY availability on the SoC. */
119#define FSL_FEATURE_SOC_USBPHY_COUNT (1)
120/* @brief USDHC availability on the SoC. */
121#define FSL_FEATURE_SOC_USDHC_COUNT (2)
122/* @brief UTICK availability on the SoC. */
123#define FSL_FEATURE_SOC_UTICK_COUNT (1)
124/* @brief WWDT availability on the SoC. */
125#define FSL_FEATURE_SOC_WWDT_COUNT (2)
126
127/* LPADC module features */
128
129/* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */
130#define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1)
131/* @brief Has differential mode (bitfield CMDLn[DIFF]). */
132#define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (1)
133/* @brief Has channel scale (bitfield CMDLn[CSCALE]). */
134#define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (1)
135/* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */
136#define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (0)
137/* @brief Has conversion resolution select (bitfield CMDLn[MODE]). */
138#define FSL_FEATURE_LPADC_HAS_CMDL_MODE (0)
139/* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */
140#define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (0)
141/* @brief Has offset calibration (bitfield CTRL[CALOFS]). */
142#define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (0)
143/* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */
144#define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (0)
145/* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */
146#define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (0)
147/* @brief Has internal clock (bitfield CFG[ADCKEN]). */
148#define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0)
149/* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */
150#define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0)
151/* @brief Has calibration (bitfield CFG[CALOFS]). */
152#define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0)
153/* @brief Has offset trim (register OFSTRIM). */
154#define FSL_FEATURE_LPADC_HAS_OFSTRIM (0)
155
156/* CACHE64_CTRL module features */
157
158/* @brief Cache Line size in byte. */
159#define FSL_FEATURE_CACHE64_CTRL_LINESIZE_BYTE (32)
160
161/* CACHE64_POLSEL module features */
162
163/* No feature definitions */
164
165/* CASPER module features */
166
167/* @brief Base address of the CASPER dedicated RAM. */
168#define FSL_FEATURE_CASPER_RAM_BASE_ADDRESS (0x40152000u)
169
170/* ACMP module features */
171
172/* @brief Has CMP_C3. */
173#define FSL_FEATURE_ACMP_HAS_C3_REG (1)
174/* @brief Has C0 LINKEN Bit */
175#define FSL_FEATURE_ACMP_HAS_C0_LINKEN_BIT (1)
176/* @brief Has C0 OFFSET Bit */
177#define FSL_FEATURE_ACMP_HAS_C0_OFFSET_BIT (0)
178/* @brief Has C1 INPSEL Bit */
179#define FSL_FEATURE_ACMP_HAS_C1_INPSEL_BIT (0)
180/* @brief Has C1 INNSEL Bit */
181#define FSL_FEATURE_ACMP_HAS_C1_INNSEL_BIT (0)
182/* @brief Has C1 DACOE Bit */
183#define FSL_FEATURE_ACMP_HAS_C1_DACOE_BIT (0)
184/* @brief Has C1 DMODE Bit */
185#define FSL_FEATURE_ACMP_HAS_C1_DMODE_BIT (1)
186/* @brief Has C2 RRE Bit */
187#define FSL_FEATURE_ACMP_HAS_C2_RRE_BIT (0)
188
189/* CRC module features */
190
191/* @brief Has data register with name CRC */
192#define FSL_FEATURE_CRC_HAS_CRC_REG (0)
193
194/* DMA module features */
195
196/* @brief Number of channels */
197#define FSL_FEATURE_DMA_NUMBER_OF_CHANNELSn(x) (33)
198/* @brief Number of all DMA channels */
199#define FSL_FEATURE_DMA_ALL_CHANNELS (66)
200/* @brief Max Number of DMA channels */
201#define FSL_FEATURE_DMA_MAX_CHANNELS (33)
202/* @brief Align size of DMA descriptor */
203#define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (1024)
204/* @brief DMA head link descriptor table align size */
205#define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U)
206
207/* DMIC module features */
208
209/* @brief Number of channels */
210#define FSL_FEATURE_DMIC_CHANNEL_NUM (8)
211/* @brief DMIC channel support stereo data */
212#define FSL_FEATURE_DMIC_IO_HAS_STEREO_2_4_6 (1)
213/* @brief DMIC does not support bypass channel clock */
214#define FSL_FEATURE_DMIC_IO_HAS_NO_BYPASS (1)
215/* @brief DMIC channel FIFO register support sign extended */
216#define FSL_FEATURE_DMIC_CHANNEL_HAS_SIGNEXTEND (1)
217/* @brief DMIC has no IOCFG register */
218#define FSL_FEATURE_DMIC_HAS_NO_IOCFG (1)
219/* @brief DMIC has decimator reset function */
220#define FSL_FEATURE_DMIC_HAS_DECIMATOR_RESET_FUNC (1)
221/* @brief DMIC has global channel synchronization function */
222#define FSL_FEATURE_DMIC_HAS_GLOBAL_SYNC_FUNC (1)
223
224/* FLEXCOMM module features */
225
226/* @brief FLEXCOMM0 USART INDEX 0 */
227#define FSL_FEATURE_FLEXCOMM0_USART_INDEX (0)
228/* @brief FLEXCOMM0 SPI INDEX 0 */
229#define FSL_FEATURE_FLEXCOMM0_SPI_INDEX (0)
230/* @brief FLEXCOMM0 I2C INDEX 0 */
231#define FSL_FEATURE_FLEXCOMM0_I2C_INDEX (0)
232/* @brief FLEXCOMM0 I2S INDEX 0 */
233#define FSL_FEATURE_FLEXCOMM0_I2S_INDEX (0)
234/* @brief FLEXCOMM1 USART INDEX 1 */
235#define FSL_FEATURE_FLEXCOMM1_USART_INDEX (1)
236/* @brief FLEXCOMM1 SPI INDEX 1 */
237#define FSL_FEATURE_FLEXCOMM1_SPI_INDEX (1)
238/* @brief FLEXCOMM1 I2C INDEX 1 */
239#define FSL_FEATURE_FLEXCOMM1_I2C_INDEX (1)
240/* @brief FLEXCOMM1 I2S INDEX 1 */
241#define FSL_FEATURE_FLEXCOMM1_I2S_INDEX (1)
242/* @brief FLEXCOMM2 USART INDEX 2 */
243#define FSL_FEATURE_FLEXCOMM2_USART_INDEX (2)
244/* @brief FLEXCOMM2 SPI INDEX 2 */
245#define FSL_FEATURE_FLEXCOMM2_SPI_INDEX (2)
246/* @brief FLEXCOMM2 I2C INDEX 2 */
247#define FSL_FEATURE_FLEXCOMM2_I2C_INDEX (2)
248/* @brief FLEXCOMM2 I2S INDEX 2 */
249#define FSL_FEATURE_FLEXCOMM2_I2S_INDEX (2)
250/* @brief FLEXCOMM3 USART INDEX 3 */
251#define FSL_FEATURE_FLEXCOMM3_USART_INDEX (3)
252/* @brief FLEXCOMM3 SPI INDEX 3 */
253#define FSL_FEATURE_FLEXCOMM3_SPI_INDEX (3)
254/* @brief FLEXCOMM3 I2C INDEX 3 */
255#define FSL_FEATURE_FLEXCOMM3_I2C_INDEX (3)
256/* @brief FLEXCOMM3 I2S INDEX 3 */
257#define FSL_FEATURE_FLEXCOMM3_I2S_INDEX (3)
258/* @brief FLEXCOMM4 USART INDEX 4 */
259#define FSL_FEATURE_FLEXCOMM4_USART_INDEX (4)
260/* @brief FLEXCOMM4 SPI INDEX 4 */
261#define FSL_FEATURE_FLEXCOMM4_SPI_INDEX (4)
262/* @brief FLEXCOMM4 I2C INDEX 4 */
263#define FSL_FEATURE_FLEXCOMM4_I2C_INDEX (4)
264/* @brief FLEXCOMM4 I2S INDEX 4 */
265#define FSL_FEATURE_FLEXCOMM4_I2S_INDEX (4)
266/* @brief FLEXCOMM5 USART INDEX 5 */
267#define FSL_FEATURE_FLEXCOMM5_USART_INDEX (5)
268/* @brief FLEXCOMM5 SPI INDEX 5 */
269#define FSL_FEATURE_FLEXCOMM5_SPI_INDEX (5)
270/* @brief FLEXCOMM5 I2C INDEX 5 */
271#define FSL_FEATURE_FLEXCOMM5_I2C_INDEX (5)
272/* @brief FLEXCOMM5 I2S INDEX 5 */
273#define FSL_FEATURE_FLEXCOMM5_I2S_INDEX (5)
274/* @brief FLEXCOMM6 USART INDEX 6 */
275#define FSL_FEATURE_FLEXCOMM6_USART_INDEX (6)
276/* @brief FLEXCOMM6 SPI INDEX 6 */
277#define FSL_FEATURE_FLEXCOMM6_SPI_INDEX (6)
278/* @brief FLEXCOMM6 I2C INDEX 6 */
279#define FSL_FEATURE_FLEXCOMM6_I2C_INDEX (6)
280/* @brief FLEXCOMM6 I2S INDEX 6 */
281#define FSL_FEATURE_FLEXCOMM6_I2S_INDEX (6)
282/* @brief FLEXCOMM7 USART INDEX 7 */
283#define FSL_FEATURE_FLEXCOMM7_USART_INDEX (7)
284/* @brief FLEXCOMM7 SPI INDEX 7 */
285#define FSL_FEATURE_FLEXCOMM7_SPI_INDEX (7)
286/* @brief FLEXCOMM7 I2C INDEX 7 */
287#define FSL_FEATURE_FLEXCOMM7_I2C_INDEX (7)
288/* @brief FLEXCOMM7 I2S INDEX 7 */
289#define FSL_FEATURE_FLEXCOMM7_I2S_INDEX (7)
290/* @brief FLEXCOMM14 SPI(HS_SPI) INDEX 14 */
291#define FSL_FEATURE_FLEXCOMM14_SPI_INDEX (14)
292/* @brief FLEXCOMM15 I2C INDEX 15 */
293#define FSL_FEATURE_FLEXCOMM15_I2C_INDEX (15)
294/* @brief I2S has DMIC interconnection */
295#define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) \
296 (((x) == FLEXCOMM0) ? (1) : \
297 (((x) == FLEXCOMM1) ? (0) : \
298 (((x) == FLEXCOMM2) ? (0) : \
299 (((x) == FLEXCOMM3) ? (0) : \
300 (((x) == FLEXCOMM4) ? (0) : \
301 (((x) == FLEXCOMM5) ? (0) : \
302 (((x) == FLEXCOMM6) ? (0) : \
303 (((x) == FLEXCOMM7) ? (0) : \
304 (((x) == FLEXCOMM14) ? (0) : \
305 (((x) == FLEXCOMM15) ? (0) : (-1)))))))))))
306
307/* FLEXSPI module features */
308
309/* @brief FlexSPI AHB buffer count */
310#define FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNTn(x) (8)
311/* @brief FlexSPI has no MCR0 ARDFEN bit */
312#define FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ARDFEN (1)
313/* @brief FlexSPI has no MCR0 ATDFEN bit */
314#define FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ATDFEN (1)
315
316/* GPIO module features */
317
318/* @brief GPIO has interrupts */
319#define FSL_FEATURE_GPIO_HAS_INTERRUPT (1)
320
321/* HASHCRYPT module features */
322
323/* @brief hashcrypt has reload feature */
324#define FSL_FEATURE_HASHCRYPT_HAS_RELOAD_FEATURE (1)
325
326/* I2S module features */
327
328/* @brief I2S support dual channel transfer. */
329#define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1)
330/* @brief I2S has DMIC interconnection. */
331#define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (1)
332
333/* INPUTMUX module features */
334
335/* @brief Number of channels */
336#define FSL_FEATURE_INPUTMUX_HAS_SIGNAL_ENA (1)
337
338/* MRT module features */
339
340/* @brief number of channels. */
341#define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS (4)
342
343/* MU module features */
344
345/* @brief MU Has register CCR */
346#define FSL_FEATURE_MU_HAS_CCR (0)
347/* @brief MU Has register SR[RS], BSR[ARS] */
348#define FSL_FEATURE_MU_HAS_SR_RS (1)
349/* @brief MU Has register CR[RDIE], CR[RAIE], SR[RDIP], SR[RAIP] */
350#define FSL_FEATURE_MU_HAS_RESET_INT (0)
351/* @brief MU Has register SR[MURIP] */
352#define FSL_FEATURE_MU_HAS_SR_MURIP (0)
353/* @brief brief MU Has register SR[HRIP] */
354#define FSL_FEATURE_MU_HAS_SR_HRIP (0)
355/* @brief brief MU does not support enable clock of the other core, CR[CLKE] or CCR[CLKE]. */
356#define FSL_FEATURE_MU_NO_CLKE (1)
357/* @brief brief MU does not support NMI, CR[NMI]. */
358#define FSL_FEATURE_MU_NO_NMI (1)
359/* @brief brief MU does not support hold the other core reset. CR[RSTH] or CCR[RSTH]. */
360#define FSL_FEATURE_MU_NO_RSTH (1)
361/* @brief brief MU does not supports MU reset, CR[MUR]. */
362#define FSL_FEATURE_MU_NO_MUR (0)
363/* @brief brief MU does not supports hardware reset, CR[HR] or CCR[HR]. */
364#define FSL_FEATURE_MU_NO_HR (1)
365/* @brief brief MU supports mask the hardware reset. CR[HRM] or CCR[HRM]. */
366#define FSL_FEATURE_MU_HAS_HRM (0)
367
368/* OTFAD module features */
369
370/* @brief OTFAD has Security Violation Mode (SVM) */
371#define FSL_FEATURE_OTFAD_HAS_SVM_MODE (0)
372/* @brief OTFAD has Key Blob Processing */
373#define FSL_FEATURE_OTFAD_HAS_KEYBLOB_PROCESSING (0)
374/* @brief OTFAD has interrupt request enable */
375#define FSL_FEATURE_OTFAD_HAS_HAS_IRQ_ENABLE (0)
376/* @brief OTFAD has Force Error */
377#define FSL_FEATURE_OTFAD_HAS_FORCE_ERR (0)
378
379/* PINT module features */
380
381/* @brief Number of connected outputs */
382#define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8)
383
384/* PMC module features */
385
386/* @brief Has no OS Timer control register in PMC. */
387#define FSL_FEATURE_PMC_HAS_NO_OSTIMER_REG (1)
388
389/* PUF module features */
390
391/* @brief PUF need to setup SRAM manually */
392#define FSL_FEATURE_PUF_PWR_HAS_MANUAL_SLEEP_CONTROL (1)
393/* @brief PUF has SHIFT_STATUS register. */
394#define FSL_FEATURE_PUF_HAS_SHIFT_STATUS (0)
395/* @brief PUF has IDXBLK_SHIFT register. */
396#define FSL_FEATURE_PUF_HAS_IDXBLK_SHIFT (0)
397
398/* RTC module features */
399
400/* @brief RTC does not support reset from RSTCTL. */
401#define FSL_FEATURE_RTC_HAS_NO_RESET (1)
402
403/* SCT module features */
404
405/* @brief Number of events */
406#define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16)
407/* @brief Number of states */
408#define FSL_FEATURE_SCT_NUMBER_OF_STATES (32)
409/* @brief Number of match capture */
410#define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16)
411/* @brief Number of outputs */
412#define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10)
413
414/* SEMA42 module features */
415
416/* @brief Gate counts */
417#define FSL_FEATURE_SEMA42_GATE_COUNT (16)
418
419/* TRNG module features */
420
421/* No feature definitions */
422
423/* USBHSD module features */
424
425/* @brief Size of the USB dedicated RAM */
426#define FSL_FEATURE_USBHSD_USB_RAM (0x00004000)
427/* @brief Base address of the USB dedicated RAM */
428#define FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS (0x40140000)
429/* @brief Number of the endpoint in USB HS */
430#define FSL_FEATURE_USBHSD_EP_NUM (6)
431/* @brief The controller doesn't exit HS mode automatically after vbus becomes invalid */
432#define FSL_FEATURE_USBHSD_HAS_EXIT_HS_ISSUE (1)
433
434/* USBHSH module features */
435
436/* @brief Size of the USB dedicated RAM */
437#define FSL_FEATURE_USBHSH_USB_RAM (0x00004000)
438/* @brief Base address of the USB dedicated RAM */
439#define FSL_FEATURE_USBHSH_USB_RAM_BASE_ADDRESS (0x40140000)
440/* @brief USBHSH version */
441#define FSL_FEATURE_USBHSH_VERSION (300)
442/* @brief USBHSH has packet turnaround time-out register */
443#define FSL_FEATURE_USBHSH_HAS_TURNAROUND_TIMEOUT (0)
444
445/* USBPHY module features */
446
447/* @brief USBPHY contain DCD analog module */
448#define FSL_FEATURE_USBPHY_HAS_DCD_ANALOG (1)
449/* @brief USBPHY has register TRIM_OVERRIDE_EN */
450#define FSL_FEATURE_USBPHY_HAS_TRIM_OVERRIDE_EN (1)
451/* @brief USBPHY is 28FDSOI */
452#define FSL_FEATURE_USBPHY_28FDSOI (0)
453
454/* USDHC module features */
455
456/* @brief Has external DMA support (VEND_SPEC[EXT_DMA_EN]) */
457#define FSL_FEATURE_USDHC_HAS_EXT_DMA (0)
458/* @brief Has HS400 mode (MIX_CTRL[HS400_MODE]) */
459#define FSL_FEATURE_USDHC_HAS_HS400_MODE (1)
460/* @brief Has SDR50 support (HOST_CTRL_CAP[SDR50_SUPPORT]) */
461#define FSL_FEATURE_USDHC_HAS_SDR50_MODE (1)
462/* @brief Has SDR104 support (HOST_CTRL_CAP[SDR104_SUPPORT]) */
463#define FSL_FEATURE_USDHC_HAS_SDR104_MODE (1)
464/* @brief USDHC has reset control */
465#define FSL_FEATURE_USDHC_HAS_RESET (1)
466/* @brief USDHC has no bitfield WTMK_LVL[WR_BRST_LEN] and WTMK_LVL[RD_BRST_LEN] */
467#define FSL_FEATURE_USDHC_HAS_NO_RW_BURST_LEN (0)
468/* @brief If USDHC instance support 8 bit width */
469#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_8_BIT_WIDTHn(x) (1)
470/* @brief If USDHC instance support HS400 mode */
471#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_HS400_MODEn(x) \
472 (((x) == USDHC0) ? (1) : \
473 (((x) == USDHC1) ? (0) : (-1)))
474/* @brief If USDHC instance support 1v8 signal */
475#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_1V8_SIGNALn(x) (1)
476
477/* UTICK module features */
478
479/* @brief UTICK does not support power down configure. */
480#define FSL_FEATURE_UTICK_HAS_NO_PDCFG (1)
481
482/* WWDT module features */
483
484/* @brief WWDT does not support oscillator lock. */
485#define FSL_FEATURE_WWDT_HAS_NO_OSCILLATOR_LOCK (0)
486/* @brief WWDT does not support power down configure. */
487#define FSL_FEATURE_WWDT_HAS_NO_PDCFG (1)
488
489#endif /* _MIMXRT685S_cm33_FEATURES_H_ */
490
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/all_lib_device_MIMXRT685S_cm33.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/all_lib_device_MIMXRT685S_cm33.cmake
new file mode 100644
index 000000000..cdf331b93
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/all_lib_device_MIMXRT685S_cm33.cmake
@@ -0,0 +1,131 @@
1list(APPEND CMAKE_MODULE_PATH
2 ${CMAKE_CURRENT_LIST_DIR}/.
3 ${CMAKE_CURRENT_LIST_DIR}/../../CMSIS/Include
4 ${CMAKE_CURRENT_LIST_DIR}/../../boards/evkmimxrt685/flash_config
5 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec
6 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/cs42888
7 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/i2c
8 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/port/cs42888
9 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/port/tfa9xxx
10 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/port/wm8904
11 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/tfa9xxx
12 ${CMAKE_CURRENT_LIST_DIR}/../../components/codec/wm8904
13 ${CMAKE_CURRENT_LIST_DIR}/../../components/i2c
14 ${CMAKE_CURRENT_LIST_DIR}/../../components/lists
15 ${CMAKE_CURRENT_LIST_DIR}/../../components/osa
16 ${CMAKE_CURRENT_LIST_DIR}/../../components/pca9420
17 ${CMAKE_CURRENT_LIST_DIR}/../../components/serial_manager
18 ${CMAKE_CURRENT_LIST_DIR}/../../components/uart
19 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/acmp
20 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/cache/cache64
21 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/casper
22 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/common
23 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/ctimer
24 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/dmic
25 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/flexcomm
26 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/flexspi
27 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/fmeas
28 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/hashcrypt
29 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/i3c
30 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/inputmux
31 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpadc
32 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpc_crc
33 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpc_dma
34 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpc_gpio
35 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpc_iopctl
36 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpc_rtc
37 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/mrt
38 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/ostimer
39 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/otfad
40 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/pint
41 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/powerquad
42 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/puf
43 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/sctimer
44 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/trng
45 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/utick
46 ${CMAKE_CURRENT_LIST_DIR}/../../drivers/wwdt
47 ${CMAKE_CURRENT_LIST_DIR}/../../middleware
48 ${CMAKE_CURRENT_LIST_DIR}/../../middleware/usb
49 ${CMAKE_CURRENT_LIST_DIR}/../../utilities/assert
50 ${CMAKE_CURRENT_LIST_DIR}/../../utilities/debug_console
51 ${CMAKE_CURRENT_LIST_DIR}/../../utilities/debug_console_lite
52 ${CMAKE_CURRENT_LIST_DIR}/../../utilities/misc_utilities
53 ${CMAKE_CURRENT_LIST_DIR}/drivers
54 ${CMAKE_CURRENT_LIST_DIR}/utilities
55)
56
57
58# Copy the cmake components into projects
59# include(driver_pca9420)
60# include(driver_lpc_rtc)
61# include(driver_hashcrypt)
62# include(driver_pint)
63# include(driver_ctimer)
64# include(driver_flexspi)
65# include(CMSIS_Include_dsp)
66# include(component_usart_adapter)
67# include(driver_flash_config)
68# include(driver_trng)
69# include(driver_wwdt)
70# include(middleware_usb_device_common_header)
71# include(component_lists)
72# include(driver_lpc_gpio)
73# include(driver_mrt)
74# include(utility_debug_console)
75# include(driver_flexcomm)
76# include(driver_acmp)
77# include(device_startup)
78# include(driver_clock)
79# include(utility_debug_console_lite)
80# include(driver_flexcomm_i2s_dma)
81# include(component_osa)
82# include(driver_fmeas)
83# include(driver_power)
84# include(component_cs42888_adapter)
85# include(utility_assert_lite_MIMXRT685S_cm33)
86# include(driver_lpadc)
87# include(driver_wm8904)
88# include(driver_flexcomm_i2c_dma)
89# include(component_i3c_adapter)
90# include(driver_flexcomm_usart_dma)
91# include(driver_flexcomm_i2s)
92# include(component_serial_manager_MIMXRT685S_cm33)
93# include(driver_flexcomm_spi)
94# include(component_tfa9xxx_adapter)
95# include(driver_dmic)
96# include(component_flexcomm_i2c_adapter)
97# include(utility_assert)
98# include(middleware_baremetal)
99# include(driver_sctimer)
100# include(driver_flexcomm_usart)
101# include(device_CMSIS)
102# include(middleware_usb_common_header)
103# include(driver_i3c)
104# include(driver_utick_MIMXRT685S_cm33)
105# include(component_serial_manager_uart_MIMXRT685S_cm33)
106# include(utilities_misc_utilities)
107# include(component_codec_i2c_MIMXRT685S_cm33)
108# include(driver_ostimer)
109# include(driver_powerquad)
110# include(CMSIS_Include_common)
111# include(driver_common)
112# include(driver_cache_cache64)
113# include(driver_flexspi_dma)
114# include(driver_otfad)
115# include(driver_inputmux)
116# include(driver_inputmux_connections)
117# include(driver_flexcomm_i2c)
118# include(driver_lpc_dma)
119# include(driver_puf)
120# include(driver_lpc_iopctl)
121# include(driver_tfa9xxx)
122# include(driver_casper)
123# include(driver_cs42888)
124# include(component_wm8904_adapter)
125# include(CMSIS_Include_core_cm33)
126# include(driver_lpc_crc)
127# include(utility_shell)
128# include(driver_reset)
129# include(driver_flexcomm_spi_dma)
130# include(driver_dmic_dma)
131# include(driver_codec_MIMXRT685S_cm33)
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI.FLM b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI.FLM
new file mode 100644
index 000000000..c2784103c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI.FLM
Binary files differ
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI_S.FLM b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI_S.FLM
new file mode 100644
index 000000000..08ee565ef
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6XX_EVK_FLEXSPI_S.FLM
Binary files differ
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6xx.dbgconf b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6xx.dbgconf
new file mode 100644
index 000000000..726cfa17c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/arm/MIMXRT6xx.dbgconf
@@ -0,0 +1,18 @@
1// <<< Use Configuration Wizard in Context Menu >>>
2
3// <o0> SWO pin
4// <i> The SWO (Serial Wire Output) pin optionally provides data from the ITM
5// <i> for an external debug tool to evaluate.
6// <0=> PIO2_24
7// <1=> PIO2_31
8SWO_Pin = 0;
9//
10
11// <h>Debug Configuration
12// <o.0> StopAfterBootloader <i> Stop after Bootloader
13// </h>
14Dbg_CR = 0x00000001;
15//
16
17
18// <<< end of configuration section >>> \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_CMSIS.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_CMSIS.cmake
new file mode 100644
index 000000000..14d91aff7
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_CMSIS.cmake
@@ -0,0 +1,15 @@
1if(NOT DEVICE_CMSIS_INCLUDED)
2
3 set(DEVICE_CMSIS_INCLUDED true CACHE BOOL "device_CMSIS component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 )
7
8 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
9 ${CMAKE_CURRENT_LIST_DIR}/.
10 )
11
12
13 include(CMSIS_Include_core_cm33)
14
15endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_startup.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_startup.cmake
new file mode 100644
index 000000000..8eb427d7b
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/device_startup.cmake
@@ -0,0 +1,16 @@
1if(NOT DEVICE_STARTUP_INCLUDED)
2
3 set(DEVICE_STARTUP_INCLUDED true CACHE BOOL "device_startup component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 ${CMAKE_CURRENT_LIST_DIR}/system_MIMXRT685S_cm33.c
7 ${CMAKE_CURRENT_LIST_DIR}/gcc/startup_MIMXRT685S_cm33.S
8 )
9
10 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
11 ${CMAKE_CURRENT_LIST_DIR}/.
12 )
13
14
15
16endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_clock.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_clock.cmake
new file mode 100644
index 000000000..154d6a23a
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_clock.cmake
@@ -0,0 +1,16 @@
1if(NOT DRIVER_CLOCK_INCLUDED)
2
3 set(DRIVER_CLOCK_INCLUDED true CACHE BOOL "driver_clock component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 ${CMAKE_CURRENT_LIST_DIR}/fsl_clock.c
7 )
8
9 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
10 ${CMAKE_CURRENT_LIST_DIR}/.
11 )
12
13
14 include(driver_common)
15
16endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_inputmux_connections.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_inputmux_connections.cmake
new file mode 100644
index 000000000..2ac921c5d
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_inputmux_connections.cmake
@@ -0,0 +1,15 @@
1if(NOT DRIVER_INPUTMUX_CONNECTIONS_INCLUDED)
2
3 set(DRIVER_INPUTMUX_CONNECTIONS_INCLUDED true CACHE BOOL "driver_inputmux_connections component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 )
7
8 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
9 ${CMAKE_CURRENT_LIST_DIR}/.
10 )
11
12
13 include(driver_common)
14
15endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_power.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_power.cmake
new file mode 100644
index 000000000..267f34840
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_power.cmake
@@ -0,0 +1,16 @@
1if(NOT DRIVER_POWER_INCLUDED)
2
3 set(DRIVER_POWER_INCLUDED true CACHE BOOL "driver_power component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 ${CMAKE_CURRENT_LIST_DIR}/fsl_power.c
7 )
8
9 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
10 ${CMAKE_CURRENT_LIST_DIR}/.
11 )
12
13
14 include(driver_common)
15
16endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_reset.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_reset.cmake
new file mode 100644
index 000000000..a0a7acf16
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/driver_reset.cmake
@@ -0,0 +1,16 @@
1if(NOT DRIVER_RESET_INCLUDED)
2
3 set(DRIVER_RESET_INCLUDED true CACHE BOOL "driver_reset component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 ${CMAKE_CURRENT_LIST_DIR}/fsl_reset.c
7 )
8
9 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
10 ${CMAKE_CURRENT_LIST_DIR}/.
11 )
12
13
14 include(driver_common)
15
16endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.c
new file mode 100644
index 000000000..c9ebd7374
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.c
@@ -0,0 +1,1552 @@
1/*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2016 - 2020, NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#include "fsl_clock.h"
10#include "fsl_common.h"
11/*******************************************************************************
12 * Definitions
13 ******************************************************************************/
14/* Component ID definition, used by tools. */
15#ifndef FSL_COMPONENT_ID
16#define FSL_COMPONENT_ID "platform.drivers.clock"
17#endif
18
19#define OTP_INIT_API ((void (*)(uint32_t src_clk_freq))FSL_ROM_OTP_INIT_ADDR)
20#define OTP_DEINIT_API ((void (*)(void))FSL_ROM_OTP_DEINIT_ADDR)
21#define OTP_FUSE_READ_API ((void (*)(uint32_t addr, uint32_t * data)) FSL_ROM_OTP_FUSE_READ_ADDR)
22/* OTP fuse index. */
23#define FFRO_STABLE_TIME 12
24#define SFRO_STABLE_TIME 13
25#define FIRC_48MHZ_TRIM_TEMPCO 48
26#define FIRC_48MHZ_TRIM_COARSE 49
27#define FIRC_48MHZ_TRIM_FINE 50
28#define FIRC_60MHZ_TRIM_TEMPCO 51
29#define FIRC_60MHZ_TRIM_COARSE 52
30#define FIRC_60MHZ_TRIM_FINE 53
31/*******************************************************************************
32 * Variables
33 ******************************************************************************/
34
35/* External XTAL (OSC) clock frequency. */
36volatile uint32_t g_xtalFreq = 0U;
37/* External CLK_IN pin clock frequency. */
38volatile uint32_t g_clkinFreq = 0U;
39/* External MCLK in (mclk_in) clock frequency. If not used,
40 set this to 0. Otherwise, set it to the exact rate in Hz this pin is
41 being driven at.*/
42volatile uint32_t g_mclkFreq = 0U;
43
44/*******************************************************************************
45 * Code
46 ******************************************************************************/
47/* Clock Selection for IP */
48/**
49 * brief Configure the clock selection muxes.
50 * param connection : Clock to be configured.
51 * return Nothing
52 */
53void CLOCK_AttachClk(clock_attach_id_t connection)
54{
55 bool final_descriptor = false;
56 uint32_t i;
57 volatile uint32_t *pClkSel;
58
59 for (i = 0U; (i < 2U) && (!final_descriptor); i++)
60 {
61 connection =
62 (clock_attach_id_t)(uint32_t)(((uint32_t)connection) >> (i * 16U)); /*!< pick up next descriptor */
63
64 if (((((uint32_t)connection) & 0x80000000U) | ((((uint32_t)connection) & 0x8000U))) != 0UL)
65 {
66 pClkSel = CLKCTL_TUPLE_REG(CLKCTL1, connection);
67 }
68 else
69 {
70 pClkSel = CLKCTL_TUPLE_REG(CLKCTL0, connection);
71 }
72
73 if ((((uint32_t)connection) & 0xfffU) != 0UL)
74 {
75 *pClkSel = CLKCTL_TUPLE_SEL(connection);
76 }
77 else
78 {
79 final_descriptor = true;
80 }
81 }
82}
83/* Set IP Clock divider */
84/**
85 * brief Setup peripheral clock dividers.
86 * param div_name : Clock divider name
87 * param divider : Value to be divided.
88 * return Nothing
89 */
90void CLOCK_SetClkDiv(clock_div_name_t div_name, uint32_t divider)
91{
92 volatile uint32_t *pClkDiv;
93
94 if ((((uint32_t)div_name) & 0x80000000U) != 0UL)
95 {
96 pClkDiv = CLKCTL_TUPLE_REG(CLKCTL1, div_name);
97 }
98 else
99 {
100 pClkDiv = CLKCTL_TUPLE_REG(CLKCTL0, div_name);
101 }
102 /* Reset the divider counter */
103 *pClkDiv |= 1UL << 29U;
104
105 if (divider == 0U) /*!< halt */
106 {
107 *pClkDiv |= 1UL << 30U;
108 }
109 else
110 {
111 *pClkDiv = divider - 1U;
112
113 while (((*pClkDiv) & 0x80000000U) != 0UL)
114 {
115 }
116 }
117}
118/*! @brief Return Frequency of High-Freq output of FRO
119 * @return Frequency of High-Freq output of FRO
120 */
121uint32_t CLOCK_GetFFroFreq(void)
122{
123 uint32_t freq = 0U;
124 /* FFROCTL0 should not be touched by application */
125 switch ((CLKCTL0->FFROCTL0) & CLKCTL0_FFROCTL0_TRIM_RANGE_MASK)
126 {
127 case CLKCTL0_FFROCTL0_TRIM_RANGE(0):
128 freq = CLK_FRO_48MHZ;
129 break;
130 case CLKCTL0_FFROCTL0_TRIM_RANGE(3):
131 freq = CLK_FRO_60MHZ;
132 break;
133 default:
134 freq = 0U;
135 break;
136 }
137 return freq;
138}
139/* Get SYSTEM PLL Clk */
140/*! brief Return Frequency of SYSPLL
141 * return Frequency of SYSPLL
142 */
143uint32_t CLOCK_GetSysPllFreq(void)
144{
145 uint32_t freq = 0U;
146 uint64_t freqTmp;
147
148 switch ((CLKCTL0->SYSPLL0CLKSEL) & CLKCTL0_SYSPLL0CLKSEL_SEL_MASK)
149 {
150 case CLKCTL0_SYSPLL0CLKSEL_SEL(0):
151 freq = CLOCK_GetSFroFreq();
152 break;
153 case CLKCTL0_SYSPLL0CLKSEL_SEL(1):
154 freq = CLOCK_GetXtalInClkFreq();
155 break;
156 case CLKCTL0_SYSPLL0CLKSEL_SEL(2):
157 freq = CLOCK_GetFFroFreq() / 2U;
158 break;
159 default:
160 /* Added comments to prevent the violation of MISRA C-2012 rule. */
161 break;
162 }
163
164 if (((CLKCTL0->SYSPLL0CTL0) & CLKCTL0_SYSPLL0CTL0_BYPASS_MASK) == 0U)
165 {
166 /* PLL output frequency = Fref * (DIV_SELECT + NUM/DENOM). */
167 freqTmp = ((uint64_t)freq * ((uint64_t)(CLKCTL0->SYSPLL0NUM))) / ((uint64_t)(CLKCTL0->SYSPLL0DENOM));
168 freq *= ((CLKCTL0->SYSPLL0CTL0) & CLKCTL0_SYSPLL0CTL0_MULT_MASK) >> CLKCTL0_SYSPLL0CTL0_MULT_SHIFT;
169 freq += (uint32_t)freqTmp;
170 }
171 return freq;
172}
173/* Get SYSTEM PLL PFDn Clk */
174/*! brief Get current output frequency of specific System PLL PFD.
175 * param pfd : pfd name to get frequency.
176 * return Frequency of SYSPLL PFD.
177 */
178uint32_t CLOCK_GetSysPfdFreq(clock_pfd_t pfd)
179{
180 uint32_t freq = CLOCK_GetSysPllFreq();
181
182 if (((CLKCTL0->SYSPLL0CTL0) & CLKCTL0_SYSPLL0CTL0_BYPASS_MASK) == 0U)
183 {
184 switch (pfd)
185 {
186 case kCLOCK_Pfd0:
187 freq =
188 (uint32_t)((uint64_t)freq * 18ULL /
189 ((CLKCTL0->SYSPLL0PFD & CLKCTL0_SYSPLL0PFD_PFD0_MASK) >> CLKCTL0_SYSPLL0PFD_PFD0_SHIFT));
190 break;
191
192 case kCLOCK_Pfd1:
193 freq =
194 (uint32_t)((uint64_t)freq * 18ULL /
195 ((CLKCTL0->SYSPLL0PFD & CLKCTL0_SYSPLL0PFD_PFD1_MASK) >> CLKCTL0_SYSPLL0PFD_PFD1_SHIFT));
196 break;
197
198 case kCLOCK_Pfd2:
199 freq =
200 (uint32_t)((uint64_t)freq * 18ULL /
201 ((CLKCTL0->SYSPLL0PFD & CLKCTL0_SYSPLL0PFD_PFD2_MASK) >> CLKCTL0_SYSPLL0PFD_PFD2_SHIFT));
202 break;
203
204 case kCLOCK_Pfd3:
205 freq =
206 (uint32_t)((uint64_t)freq * 18ULL /
207 ((CLKCTL0->SYSPLL0PFD & CLKCTL0_SYSPLL0PFD_PFD3_MASK) >> CLKCTL0_SYSPLL0PFD_PFD3_SHIFT));
208 break;
209
210 default:
211 freq = 0U;
212 break;
213 }
214 }
215
216 return freq;
217}
218static uint32_t CLOCK_GetMainPllClkFreq(void)
219{
220 return CLOCK_GetSysPfdFreq(kCLOCK_Pfd0) / ((CLKCTL0->MAINPLLCLKDIV & CLKCTL0_MAINPLLCLKDIV_DIV_MASK) + 1U);
221}
222static uint32_t CLOCK_GetDspPllClkFreq(void)
223{
224 return CLOCK_GetSysPfdFreq(kCLOCK_Pfd1) / ((CLKCTL0->DSPPLLCLKDIV & CLKCTL0_DSPPLLCLKDIV_DIV_MASK) + 1U);
225}
226static uint32_t CLOCK_GetAux0PllClkFreq(void)
227{
228 return CLOCK_GetSysPfdFreq(kCLOCK_Pfd2) / ((CLKCTL0->AUX0PLLCLKDIV & CLKCTL0_AUX0PLLCLKDIV_DIV_MASK) + 1U);
229}
230static uint32_t CLOCK_GetAux1PllClkFreq(void)
231{
232 return CLOCK_GetSysPfdFreq(kCLOCK_Pfd3) / ((CLKCTL0->AUX1PLLCLKDIV & CLKCTL0_AUX1PLLCLKDIV_DIV_MASK) + 1U);
233}
234/* Get AUDIO PLL Clk */
235/*! brief Return Frequency of AUDIO PLL
236 * return Frequency of AUDIO PLL
237 */
238uint32_t CLOCK_GetAudioPllFreq(void)
239{
240 uint32_t freq = 0U;
241 uint64_t freqTmp;
242
243 switch ((CLKCTL1->AUDIOPLL0CLKSEL) & CLKCTL1_AUDIOPLL0CLKSEL_SEL_MASK)
244 {
245 case CLKCTL1_AUDIOPLL0CLKSEL_SEL(0):
246 freq = CLOCK_GetSFroFreq();
247 break;
248 case CLKCTL1_AUDIOPLL0CLKSEL_SEL(1):
249 freq = CLOCK_GetXtalInClkFreq();
250 break;
251 case CLKCTL1_AUDIOPLL0CLKSEL_SEL(2):
252 freq = CLOCK_GetFFroFreq() / 2U;
253 break;
254 default:
255 freq = 0U;
256 break;
257 }
258
259 if (((CLKCTL1->AUDIOPLL0CTL0) & CLKCTL1_AUDIOPLL0CTL0_BYPASS_MASK) == 0UL)
260 {
261 /* PLL output frequency = Fref * (DIV_SELECT + NUM/DENOM). */
262 freqTmp = ((uint64_t)freq * ((uint64_t)(CLKCTL1->AUDIOPLL0NUM))) / ((uint64_t)(CLKCTL1->AUDIOPLL0DENOM));
263 freq *= ((CLKCTL1->AUDIOPLL0CTL0) & CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) >> CLKCTL1_AUDIOPLL0CTL0_MULT_SHIFT;
264 freq += (uint32_t)freqTmp;
265 }
266 return freq;
267}
268/* Get AUDIO PLL PFDn Clk */
269/*! brief Get current output frequency of specific Audio PLL PFD.
270 * param pfd : pfd name to get frequency.
271 * return Frequency of AUDIO PLL PFD.
272 */
273uint32_t CLOCK_GetAudioPfdFreq(clock_pfd_t pfd)
274{
275 uint32_t freq = CLOCK_GetAudioPllFreq();
276
277 if (((CLKCTL1->AUDIOPLL0CTL0) & CLKCTL1_AUDIOPLL0CTL0_BYPASS_MASK) == 0UL)
278 {
279 switch (pfd)
280 {
281 case kCLOCK_Pfd0:
282 freq = (uint32_t)(
283 (uint64_t)freq * 18ULL /
284 ((CLKCTL1->AUDIOPLL0PFD & CLKCTL1_AUDIOPLL0PFD_PFD0_MASK) >> CLKCTL1_AUDIOPLL0PFD_PFD0_SHIFT));
285 break;
286
287 case kCLOCK_Pfd1:
288 freq = (uint32_t)(
289 (uint64_t)freq * 18ULL /
290 ((CLKCTL1->AUDIOPLL0PFD & CLKCTL1_AUDIOPLL0PFD_PFD1_MASK) >> CLKCTL1_AUDIOPLL0PFD_PFD1_SHIFT));
291 break;
292
293 case kCLOCK_Pfd2:
294 freq = (uint32_t)(
295 (uint64_t)freq * 18ULL /
296 ((CLKCTL1->AUDIOPLL0PFD & CLKCTL1_AUDIOPLL0PFD_PFD2_MASK) >> CLKCTL1_AUDIOPLL0PFD_PFD2_SHIFT));
297 break;
298
299 case kCLOCK_Pfd3:
300 freq = (uint32_t)(
301 (uint64_t)freq * 18ULL /
302 ((CLKCTL1->AUDIOPLL0PFD & CLKCTL1_AUDIOPLL0PFD_PFD3_MASK) >> CLKCTL1_AUDIOPLL0PFD_PFD3_SHIFT));
303 break;
304
305 default:
306 freq = 0U;
307 break;
308 }
309 }
310
311 return freq;
312}
313static uint32_t CLOCK_GetAudioPllClkFreq(void)
314{
315 return CLOCK_GetAudioPfdFreq(kCLOCK_Pfd0) / ((CLKCTL1->AUDIOPLLCLKDIV & CLKCTL1_AUDIOPLLCLKDIV_DIV_MASK) + 1U);
316}
317/* Get MAIN Clk */
318/*! brief Return Frequency of main clk
319 * return Frequency of main clk
320 */
321uint32_t CLOCK_GetMainClkFreq(void)
322{
323 uint32_t freq = 0U;
324
325 switch ((CLKCTL0->MAINCLKSELB) & CLKCTL0_MAINCLKSELB_SEL_MASK)
326 {
327 case CLKCTL0_MAINCLKSELB_SEL(0):
328 switch ((CLKCTL0->MAINCLKSELA) & CLKCTL0_MAINCLKSELA_SEL_MASK)
329 {
330 case CLKCTL0_MAINCLKSELA_SEL(0):
331 freq = CLOCK_GetFFroFreq() / 4U;
332 break;
333 case CLKCTL0_MAINCLKSELA_SEL(1):
334 freq = CLOCK_GetXtalInClkFreq();
335 break;
336 case CLKCTL0_MAINCLKSELA_SEL(2):
337 freq = CLOCK_GetLpOscFreq();
338 break;
339 case CLKCTL0_MAINCLKSELA_SEL(3):
340 freq = CLOCK_GetFFroFreq();
341 break;
342 default:
343 freq = 0U;
344 break;
345 }
346 break;
347
348 case CLKCTL0_MAINCLKSELB_SEL(1):
349 freq = CLOCK_GetSFroFreq();
350 break;
351
352 case CLKCTL0_MAINCLKSELB_SEL(2):
353 freq = CLOCK_GetMainPllClkFreq();
354 break;
355
356 case CLKCTL0_MAINCLKSELB_SEL(3):
357 freq = CLOCK_GetOsc32KFreq();
358 break;
359
360 default:
361 freq = 0U;
362 break;
363 }
364
365 return freq;
366}
367/* Get DSP MAIN Clk */
368/*! brief Return Frequency of DSP main clk
369 * return Frequency of DSP main clk
370 */
371uint32_t CLOCK_GetDspMainClkFreq(void)
372{
373 uint32_t freq = 0U;
374
375 switch ((CLKCTL1->DSPCPUCLKSELB) & CLKCTL1_DSPCPUCLKSELB_SEL_MASK)
376 {
377 case CLKCTL1_DSPCPUCLKSELB_SEL(0):
378 switch ((CLKCTL1->DSPCPUCLKSELA) & CLKCTL1_DSPCPUCLKSELA_SEL_MASK)
379 {
380 case CLKCTL1_DSPCPUCLKSELA_SEL(0):
381 freq = CLOCK_GetFFroFreq();
382 break;
383 case CLKCTL1_DSPCPUCLKSELA_SEL(1):
384 freq = CLOCK_GetXtalInClkFreq();
385 break;
386 case CLKCTL1_DSPCPUCLKSELA_SEL(2):
387 freq = CLOCK_GetLpOscFreq();
388 break;
389 case CLKCTL1_DSPCPUCLKSELA_SEL(3):
390 freq = CLOCK_GetSFroFreq();
391 break;
392 default:
393 freq = 0U;
394 break;
395 }
396 break;
397
398 case CLKCTL1_DSPCPUCLKSELB_SEL(1):
399 freq = CLOCK_GetMainPllClkFreq();
400 break;
401
402 case CLKCTL1_DSPCPUCLKSELB_SEL(2):
403 freq = CLOCK_GetDspPllClkFreq();
404 break;
405
406 case CLKCTL1_DSPCPUCLKSELB_SEL(3):
407 freq = CLOCK_GetOsc32KFreq();
408 break;
409
410 default:
411 freq = 0U;
412 break;
413 }
414
415 return freq;
416}
417/* Get ADC Clk */
418/*! brief Return Frequency of Adc Clock
419 * return Frequency of Adc Clock.
420 */
421uint32_t CLOCK_GetAdcClkFreq(void)
422{
423 uint32_t freq = 0U;
424
425 switch ((CLKCTL0->ADC0FCLKSEL1) & CLKCTL0_ADC0FCLKSEL1_SEL_MASK)
426 {
427 case CLKCTL0_ADC0FCLKSEL1_SEL(0):
428 switch ((CLKCTL0->ADC0FCLKSEL0) & CLKCTL0_ADC0FCLKSEL0_SEL_MASK)
429 {
430 case CLKCTL0_ADC0FCLKSEL0_SEL(0):
431 freq = CLOCK_GetSFroFreq();
432 break;
433 case CLKCTL0_ADC0FCLKSEL0_SEL(1):
434 freq = CLOCK_GetXtalInClkFreq();
435 break;
436 case CLKCTL0_ADC0FCLKSEL0_SEL(2):
437 freq = CLOCK_GetLpOscFreq();
438 break;
439 case CLKCTL0_ADC0FCLKSEL0_SEL(3):
440 freq = CLOCK_GetFFroFreq();
441 break;
442 default:
443 freq = 0U;
444 break;
445 }
446 break;
447
448 case CLKCTL0_ADC0FCLKSEL1_SEL(1):
449 freq = CLOCK_GetMainPllClkFreq();
450 break;
451
452 case CLKCTL0_ADC0FCLKSEL1_SEL(3):
453 freq = CLOCK_GetAux0PllClkFreq();
454 break;
455
456 case CLKCTL0_ADC0FCLKSEL1_SEL(5):
457 freq = CLOCK_GetAux1PllClkFreq();
458 break;
459
460 default:
461 freq = 0U;
462 break;
463 }
464
465 return freq / ((CLKCTL0->ADC0FCLKDIV & CLKCTL0_ADC0FCLKDIV_DIV_MASK) + 1U);
466}
467/* Get CLOCK OUT Clk */
468/*! brief Return Frequency of ClockOut
469 * return Frequency of ClockOut
470 */
471uint32_t CLOCK_GetClockOutClkFreq(void)
472{
473 uint32_t freq = 0U;
474
475 switch ((CLKCTL1->CLKOUTSEL1) & CLKCTL1_CLKOUTSEL1_SEL_MASK)
476 {
477 case CLKCTL1_CLKOUTSEL1_SEL(0):
478 switch ((CLKCTL1->CLKOUTSEL0) & CLKCTL1_CLKOUTSEL0_SEL_MASK)
479 {
480 case CLKCTL1_CLKOUTSEL0_SEL(0):
481 freq = CLOCK_GetSFroFreq();
482 break;
483 case CLKCTL1_CLKOUTSEL0_SEL(1):
484 freq = CLOCK_GetXtalInClkFreq();
485 break;
486 case CLKCTL1_CLKOUTSEL0_SEL(2):
487 freq = CLOCK_GetLpOscFreq();
488 break;
489 case CLKCTL1_CLKOUTSEL0_SEL(3):
490 freq = CLOCK_GetFFroFreq();
491 break;
492 case CLKCTL1_CLKOUTSEL0_SEL(4):
493 freq = CLOCK_GetMainClkFreq();
494 break;
495 case CLKCTL1_CLKOUTSEL0_SEL(6):
496 freq = CLOCK_GetDspMainClkFreq();
497 break;
498 default:
499 freq = 0U;
500 break;
501 }
502 break;
503
504 case CLKCTL1_CLKOUTSEL1_SEL(1):
505 freq = CLOCK_GetMainPllClkFreq();
506 break;
507
508 case CLKCTL1_CLKOUTSEL1_SEL(2):
509 freq = CLOCK_GetAux0PllClkFreq();
510 break;
511
512 case CLKCTL1_CLKOUTSEL1_SEL(3):
513 freq = CLOCK_GetDspPllClkFreq();
514 break;
515
516 case CLKCTL1_CLKOUTSEL1_SEL(4):
517 freq = CLOCK_GetAux1PllClkFreq();
518 break;
519
520 case CLKCTL1_CLKOUTSEL1_SEL(5):
521 freq = CLOCK_GetAudioPllClkFreq();
522 break;
523
524 case CLKCTL1_CLKOUTSEL1_SEL(6):
525 freq = CLOCK_GetOsc32KFreq();
526 break;
527
528 default:
529 freq = 0U;
530 break;
531 }
532
533 return freq / ((CLKCTL1->CLKOUTDIV & CLKCTL1_CLKOUTDIV_DIV_MASK) + 1U);
534}
535/* Get FRG Clk */
536/*! brief Return Input frequency for the Fractional baud rate generator
537 * return Input Frequency for FRG
538 */
539uint32_t CLOCK_GetFRGClock(uint32_t id)
540{
541 uint32_t freq = 0U;
542 uint32_t frgPllDiv = 1U;
543 uint32_t clkSel = 0U;
544 uint32_t frgDiv = 0U;
545 uint32_t frgMul = 0U;
546
547 if (id <= 7UL)
548 {
549 clkSel = CLKCTL1->FLEXCOMM[id].FRGCLKSEL & CLKCTL1_FRGCLKSEL_SEL_MASK;
550 frgMul = ((CLKCTL1->FLEXCOMM[id].FRGCTL) & CLKCTL1_FRGCTL_MULT_MASK) >> CLKCTL1_FRGCTL_MULT_SHIFT;
551 frgDiv = ((CLKCTL1->FLEXCOMM[id].FRGCTL) & CLKCTL1_FRGCTL_DIV_MASK) >> CLKCTL1_FRGCTL_DIV_SHIFT;
552 }
553 else if (id == 14UL)
554 {
555 clkSel = CLKCTL1->FRG14CLKSEL & CLKCTL1_FRG14CLKSEL_SEL_MASK;
556 frgMul = ((CLKCTL1->FRG14CTL) & CLKCTL1_FRGCTL_MULT_MASK) >> CLKCTL1_FRGCTL_MULT_SHIFT;
557 frgDiv = ((CLKCTL1->FRG14CTL) & CLKCTL1_FRGCTL_DIV_MASK) >> CLKCTL1_FRGCTL_DIV_SHIFT;
558 }
559 else if (id == 15UL)
560 {
561 clkSel = CLKCTL1->FRG15CLKSEL & CLKCTL1_FRG14CLKSEL_SEL_MASK;
562 frgMul = ((CLKCTL1->FRG15CTL) & CLKCTL1_FRGCTL_MULT_MASK) >> CLKCTL1_FRGCTL_MULT_SHIFT;
563 frgDiv = ((CLKCTL1->FRG15CTL) & CLKCTL1_FRGCTL_DIV_MASK) >> CLKCTL1_FRGCTL_DIV_SHIFT;
564 }
565 else
566 {
567 assert(false);
568 }
569
570 switch (clkSel)
571 {
572 case CLKCTL1_FRGCLKSEL_SEL(0):
573 freq = CLOCK_GetMainClkFreq();
574 break;
575
576 case CLKCTL1_FRGCLKSEL_SEL(1):
577 frgPllDiv = (CLKCTL1->FRGPLLCLKDIV & CLKCTL1_FRGPLLCLKDIV_DIV_MASK) + 1U;
578 freq = CLOCK_GetMainPllClkFreq() / frgPllDiv;
579 break;
580
581 case CLKCTL1_FRGCLKSEL_SEL(2):
582 freq = CLOCK_GetSFroFreq();
583 break;
584
585 case CLKCTL1_FRGCLKSEL_SEL(3):
586 freq = CLOCK_GetFFroFreq();
587 break;
588
589 default:
590 freq = 0U;
591 break;
592 }
593
594 return (uint32_t)(((uint64_t)freq * ((uint64_t)frgDiv + 1ULL)) / (frgMul + frgDiv + 1UL));
595}
596/* Get FLEXCOMM Clk */
597/*! brief Return Frequency of Flexcomm functional Clock
598 * param id : flexcomm index to get frequency.
599 * return Frequency of Flexcomm functional Clock
600 */
601uint32_t CLOCK_GetFlexCommClkFreq(uint32_t id)
602{
603 uint32_t freq = 0U;
604 uint32_t clkSel = 0U;
605
606 if (id <= 7UL)
607 {
608 clkSel = CLKCTL1->FLEXCOMM[id].FCFCLKSEL;
609 }
610 else if (id == 14UL)
611 {
612 clkSel = CLKCTL1->FC14FCLKSEL;
613 }
614 else if (id == 15UL)
615 {
616 clkSel = CLKCTL1->FC15FCLKSEL;
617 }
618 else
619 {
620 assert(false);
621 }
622
623 switch (clkSel)
624 {
625 case CLKCTL1_FCFCLKSEL_SEL(0):
626 freq = CLOCK_GetSFroFreq();
627 break;
628
629 case CLKCTL1_FCFCLKSEL_SEL(1):
630 freq = CLOCK_GetFFroFreq();
631 break;
632
633 case CLKCTL1_FCFCLKSEL_SEL(2):
634 freq = CLOCK_GetAudioPllClkFreq();
635 break;
636
637 case CLKCTL1_FCFCLKSEL_SEL(3):
638 freq = CLOCK_GetMclkInClkFreq();
639 break;
640
641 case CLKCTL1_FCFCLKSEL_SEL(4):
642 freq = CLOCK_GetFRGClock(id);
643 break;
644
645 default:
646 freq = 0U;
647 break;
648 }
649
650 return freq;
651}
652/* Get CTIMER Clk */
653/*! brief Return Frequency of Ctimer Clock
654 * param id : ctimer index to get frequency.
655 * return Frequency of Ctimer Clock
656 */
657uint32_t CLOCK_GetCtimerClkFreq(uint32_t id)
658{
659 uint32_t freq = 0U;
660
661 switch ((CLKCTL1->CT32BITFCLKSEL[id]) & CLKCTL1_CT32BITFCLKSEL_SEL_MASK)
662 {
663 case CLKCTL1_CT32BITFCLKSEL_SEL(0):
664 freq = CLOCK_GetMainClkFreq();
665 break;
666
667 case CLKCTL1_CT32BITFCLKSEL_SEL(1):
668 freq = CLOCK_GetSFroFreq();
669 break;
670
671 case CLKCTL1_CT32BITFCLKSEL_SEL(2):
672 freq = CLOCK_GetFFroFreq();
673 break;
674
675 case CLKCTL1_CT32BITFCLKSEL_SEL(3):
676 freq = CLOCK_GetAudioPllClkFreq();
677 break;
678
679 case CLKCTL1_CT32BITFCLKSEL_SEL(4):
680 freq = CLOCK_GetMclkInClkFreq();
681 break;
682
683 case CLKCTL1_CT32BITFCLKSEL_SEL(5):
684 freq = CLOCK_GetLpOscFreq();
685 break;
686
687 default:
688 freq = 0U;
689 break;
690 }
691
692 return freq;
693}
694/* Get FLEXSPI Clk */
695/*! brief Return Frequency of FLEXSPI Clock
696 * return Frequency of FLEXSPI.
697 */
698uint32_t CLOCK_GetFlexspiClkFreq(void)
699{
700 uint32_t freq = 0U;
701
702 switch ((CLKCTL0->FLEXSPIFCLKSEL) & CLKCTL0_FLEXSPIFCLKSEL_SEL_MASK)
703 {
704 case CLKCTL0_FLEXSPIFCLKSEL_SEL(0):
705 freq = CLOCK_GetMainClkFreq();
706 break;
707
708 case CLKCTL0_FLEXSPIFCLKSEL_SEL(1):
709 freq = CLOCK_GetMainPllClkFreq();
710 break;
711
712 case CLKCTL0_FLEXSPIFCLKSEL_SEL(2):
713 freq = CLOCK_GetAux0PllClkFreq();
714 break;
715
716 case CLKCTL0_FLEXSPIFCLKSEL_SEL(3):
717 freq = CLOCK_GetFFroFreq();
718 break;
719
720 case CLKCTL0_FLEXSPIFCLKSEL_SEL(4):
721 freq = CLOCK_GetAux1PllClkFreq();
722 break;
723
724 default:
725 freq = 0U;
726 break;
727 }
728
729 return freq / ((CLKCTL0->FLEXSPIFCLKDIV & CLKCTL0_FLEXSPIFCLKDIV_DIV_MASK) + 1U);
730}
731
732/* Get SCT Clk */
733/*! brief Return Frequency of sct
734 * return Frequency of sct clk
735 */
736uint32_t CLOCK_GetSctClkFreq(void)
737{
738 uint32_t freq = 0U;
739
740 switch ((CLKCTL0->SCTFCLKSEL) & CLKCTL0_SCTFCLKSEL_SEL_MASK)
741 {
742 case CLKCTL0_SCTFCLKSEL_SEL(0):
743 freq = CLOCK_GetMainClkFreq();
744 break;
745
746 case CLKCTL0_SCTFCLKSEL_SEL(1):
747 freq = CLOCK_GetMainPllClkFreq();
748 break;
749
750 case CLKCTL0_SCTFCLKSEL_SEL(2):
751 freq = CLOCK_GetAux0PllClkFreq();
752 break;
753
754 case CLKCTL0_SCTFCLKSEL_SEL(3):
755 freq = CLOCK_GetFFroFreq();
756 break;
757
758 case CLKCTL0_SCTFCLKSEL_SEL(4):
759 freq = CLOCK_GetAux1PllClkFreq();
760 break;
761
762 case CLKCTL0_SCTFCLKSEL_SEL(5):
763 freq = CLOCK_GetAudioPllClkFreq();
764 break;
765
766 default:
767 freq = 0U;
768 break;
769 }
770
771 return freq / ((CLKCTL0->SCTFCLKDIV & CLKCTL0_SCTFCLKDIV_DIV_MASK) + 1U);
772}
773
774/*! brief Return Frequency of mclk Out
775 * return Frequency of mclk Out clk
776 */
777uint32_t CLOCK_GetMclkClkFreq(void)
778{
779 uint32_t freq = 0U;
780
781 if (CLKCTL1->AUDIOMCLKSEL == 0U)
782 {
783 freq = CLOCK_GetFFroFreq();
784 }
785 else if (CLKCTL1->AUDIOMCLKSEL == 1U)
786 {
787 freq = CLOCK_GetAudioPllClkFreq();
788 }
789 else
790 {
791 /* Added comments to prevent the violation of MISRA C-2012 rule 15.7. */
792 }
793
794 return freq / ((CLKCTL1->AUDIOMCLKDIV & CLKCTL1_AUDIOMCLKDIV_DIV_MASK) + 1U);
795}
796
797/*! @brief Return Frequency of WDT clk
798 * @param id : WDT index to get frequency.
799 * @return Frequency of WDT clk
800 */
801uint32_t CLOCK_GetWdtClkFreq(uint32_t id)
802{
803 uint32_t freq = 0U;
804
805 assert(id <= 1UL);
806
807 if (id == 0UL)
808 {
809 if ((CLKCTL0->WDT0FCLKSEL & CLKCTL0_WDT0FCLKSEL_SEL_MASK) == CLKCTL0_WDT0FCLKSEL_SEL(0))
810 {
811 freq = CLOCK_GetLpOscFreq();
812 }
813 else
814 {
815 freq = CLOCK_GetMainClkFreq();
816 }
817 }
818 else
819 {
820 if ((CLKCTL1->WDT1FCLKSEL & CLKCTL1_WDT1FCLKSEL_SEL_MASK) == CLKCTL1_WDT1FCLKSEL_SEL(0))
821 {
822 freq = CLOCK_GetLpOscFreq();
823 }
824 else
825 {
826 freq = CLOCK_GetMainClkFreq();
827 }
828 }
829
830 return freq;
831}
832
833/*! brief Return Frequency of systick clk
834 * return Frequency of systick clk
835 */
836uint32_t CLOCK_GetSystickClkFreq(void)
837{
838 uint32_t freq = 0U;
839
840 switch (CLKCTL0->SYSTICKFCLKSEL)
841 {
842 case CLKCTL0_SYSTICKFCLKSEL_SEL(0):
843 freq = CLOCK_GetMainClkFreq() / ((CLKCTL0->SYSTICKFCLKDIV & CLKCTL0_SYSTICKFCLKDIV_DIV_MASK) + 1U);
844 break;
845
846 case CLKCTL0_SYSTICKFCLKSEL_SEL(1):
847 freq = CLOCK_GetLpOscFreq();
848 break;
849
850 case CLKCTL0_SYSTICKFCLKSEL_SEL(2):
851 freq = CLOCK_GetOsc32KFreq();
852 break;
853
854 case CLKCTL0_SYSTICKFCLKSEL_SEL(3):
855 freq = CLOCK_GetSFroFreq();
856 break;
857
858 default:
859 freq = 0U;
860 break;
861 }
862
863 return freq;
864}
865
866/*! brief Return Frequency of SDIO clk
867 * param id : SDIO index to get frequency.
868 * return Frequency of SDIO clk
869 */
870uint32_t CLOCK_GetSdioClkFreq(uint32_t id)
871{
872 uint32_t freq = 0U;
873 volatile uint32_t *pClkSel;
874 volatile uint32_t *pClkDiv;
875
876 assert(id <= 1U);
877
878 if (id == 0UL)
879 {
880 pClkSel = &CLKCTL0->SDIO0FCLKSEL;
881 pClkDiv = &CLKCTL0->SDIO0FCLKDIV;
882 }
883 else
884 {
885 pClkSel = &CLKCTL0->SDIO1FCLKSEL;
886 pClkDiv = &CLKCTL0->SDIO1FCLKDIV;
887 }
888
889 switch ((*pClkSel) & CLKCTL0_SDIO0FCLKSEL_SEL_MASK)
890 {
891 case CLKCTL0_SDIO0FCLKSEL_SEL(0):
892 freq = CLOCK_GetMainClkFreq();
893 break;
894
895 case CLKCTL0_SDIO0FCLKSEL_SEL(1):
896 freq = CLOCK_GetMainPllClkFreq();
897 break;
898
899 case CLKCTL0_SDIO0FCLKSEL_SEL(2):
900 freq = CLOCK_GetAux0PllClkFreq();
901 break;
902
903 case CLKCTL0_SDIO0FCLKSEL_SEL(3):
904 freq = CLOCK_GetFFroFreq();
905 break;
906
907 case CLKCTL0_SDIO0FCLKSEL_SEL(4):
908 freq = CLOCK_GetAux1PllClkFreq();
909 break;
910
911 default:
912 freq = 0U;
913 break;
914 }
915
916 return freq / (((*pClkDiv) & CLKCTL0_SDIO0FCLKDIV_DIV_MASK) + 1U);
917}
918
919/*! @brief Return Frequency of I3C clk
920 * @return Frequency of I3C clk
921 */
922uint32_t CLOCK_GetI3cClkFreq(void)
923{
924 uint32_t freq = 0U;
925
926 switch ((CLKCTL1->I3C0FCLKSEL) & CLKCTL1_I3C0FCLKSEL_SEL_MASK)
927 {
928 case CLKCTL1_I3C0FCLKSEL_SEL(0):
929 freq = CLOCK_GetMainClkFreq();
930 break;
931
932 case CLKCTL1_I3C0FCLKSEL_SEL(1):
933 freq = CLOCK_GetFFroFreq();
934 break;
935
936 default:
937 freq = 0U;
938 break;
939 }
940
941 return freq / ((CLKCTL1->I3C0FCLKDIV & CLKCTL1_I3C0FCLKDIV_DIV_MASK) + 1U);
942}
943
944/*! brief Return Frequency of USB clk
945 * return Frequency of USB clk
946 */
947uint32_t CLOCK_GetUsbClkFreq(void)
948{
949 uint32_t freq = 0U;
950
951 if (CLKCTL0->USBHSFCLKSEL == 0U)
952 {
953 freq = CLOCK_GetXtalInClkFreq();
954 }
955 else if (CLKCTL0->USBHSFCLKSEL == 1U)
956 {
957 freq = CLOCK_GetMainClkFreq();
958 }
959 else
960 {
961 /* Add comments to prevent the violation of MISRA C-2012 rule 15.7 */
962 }
963
964 return freq / ((CLKCTL0->USBHSFCLKDIV & 0xffU) + 1U);
965}
966
967/*! brief Return Frequency of DMIC clk
968 * return Frequency of DMIC clk
969 */
970uint32_t CLOCK_GetDmicClkFreq(void)
971{
972 uint32_t freq = 0U;
973
974 switch ((CLKCTL1->DMIC0FCLKSEL) & CLKCTL1_DMIC0FCLKSEL_SEL_MASK)
975 {
976 case CLKCTL1_DMIC0FCLKSEL_SEL(0):
977 freq = CLOCK_GetSFroFreq();
978 break;
979
980 case CLKCTL1_DMIC0FCLKSEL_SEL(1):
981 freq = CLOCK_GetFFroFreq();
982 break;
983
984 case CLKCTL1_DMIC0FCLKSEL_SEL(2):
985 freq = CLOCK_GetAudioPllClkFreq();
986 break;
987
988 case CLKCTL1_DMIC0FCLKSEL_SEL(3):
989 freq = CLOCK_GetMclkInClkFreq();
990 break;
991
992 case CLKCTL1_DMIC0FCLKSEL_SEL(4):
993 freq = CLOCK_GetLpOscFreq();
994 break;
995
996 case CLKCTL1_DMIC0FCLKSEL_SEL(5):
997 freq = CLOCK_GetWakeClk32KFreq();
998 break;
999
1000 default:
1001 freq = 0U;
1002 break;
1003 }
1004
1005 return freq / ((CLKCTL1->DMIC0FCLKDIV & 0xffU) + 1U);
1006}
1007
1008/*! brief Return Frequency of ACMP clk
1009 * return Frequency of ACMP clk
1010 */
1011uint32_t CLOCK_GetAcmpClkFreq(void)
1012{
1013 uint32_t freq = 0U;
1014
1015 switch ((CLKCTL1->ACMP0FCLKSEL) & CLKCTL1_ACMP0FCLKSEL_SEL_MASK)
1016 {
1017 case CLKCTL1_ACMP0FCLKSEL_SEL(0):
1018 freq = CLOCK_GetMainClkFreq();
1019 break;
1020
1021 case CLKCTL1_ACMP0FCLKSEL_SEL(1):
1022 freq = CLOCK_GetSFroFreq();
1023 break;
1024
1025 case CLKCTL1_ACMP0FCLKSEL_SEL(2):
1026 freq = CLOCK_GetFFroFreq();
1027 break;
1028
1029 case CLKCTL1_ACMP0FCLKSEL_SEL(3):
1030 freq = CLOCK_GetAux0PllClkFreq();
1031 break;
1032
1033 case CLKCTL1_ACMP0FCLKSEL_SEL(4):
1034 freq = CLOCK_GetAux1PllClkFreq();
1035 break;
1036
1037 default:
1038 freq = 0U;
1039 break;
1040 }
1041
1042 return freq / ((CLKCTL1->ACMP0FCLKDIV & CLKCTL1_ACMP0FCLKDIV_DIV_MASK) + 1U);
1043}
1044
1045/* Get IP Clk */
1046/*! brief Return Frequency of selected clock
1047 * return Frequency of selected clock
1048 */
1049uint32_t CLOCK_GetFreq(clock_name_t clockName)
1050{
1051 uint32_t freq = 0U;
1052
1053 switch (clockName)
1054 {
1055 case kCLOCK_CoreSysClk:
1056 case kCLOCK_BusClk:
1057 freq = CLOCK_GetMainClkFreq() / ((CLKCTL0->SYSCPUAHBCLKDIV & CLKCTL0_SYSCPUAHBCLKDIV_DIV_MASK) + 1U);
1058 break;
1059 case kCLOCK_MclkClk:
1060 freq = CLOCK_GetMclkClkFreq();
1061 break;
1062 case kCLOCK_ClockOutClk:
1063 freq = CLOCK_GetClockOutClkFreq();
1064 break;
1065 case kCLOCK_AdcClk:
1066 freq = CLOCK_GetAdcClkFreq();
1067 break;
1068 case kCLOCK_FlexspiClk:
1069 freq = CLOCK_GetFlexspiClkFreq();
1070 break;
1071 case kCLOCK_SctClk:
1072 freq = CLOCK_GetSctClkFreq();
1073 break;
1074 case kCLOCK_Wdt0Clk:
1075 freq = CLOCK_GetWdtClkFreq(0U);
1076 break;
1077 case kCLOCK_Wdt1Clk:
1078 freq = CLOCK_GetWdtClkFreq(1U);
1079 break;
1080 case kCLOCK_SystickClk:
1081 freq = CLOCK_GetSystickClkFreq();
1082 break;
1083 case kCLOCK_Sdio0Clk:
1084 freq = CLOCK_GetSdioClkFreq(0U);
1085 break;
1086 case kCLOCK_Sdio1Clk:
1087 freq = CLOCK_GetSdioClkFreq(1U);
1088 break;
1089 case kCLOCK_I3cClk:
1090 freq = CLOCK_GetI3cClkFreq();
1091 break;
1092 case kCLOCK_UsbClk:
1093 freq = CLOCK_GetUsbClkFreq();
1094 break;
1095 case kCLOCK_DmicClk:
1096 freq = CLOCK_GetDmicClkFreq();
1097 break;
1098 case kCLOCK_DspCpuClk:
1099 freq = CLOCK_GetDspMainClkFreq() / ((CLKCTL1->DSPCPUCLKDIV & CLKCTL1_DSPCPUCLKDIV_DIV_MASK) + 1U);
1100 break;
1101 case kCLOCK_AcmpClk:
1102 freq = CLOCK_GetAcmpClkFreq();
1103 break;
1104 case kCLOCK_Flexcomm0Clk:
1105 freq = CLOCK_GetFlexCommClkFreq(0U);
1106 break;
1107 case kCLOCK_Flexcomm1Clk:
1108 freq = CLOCK_GetFlexCommClkFreq(1U);
1109 break;
1110 case kCLOCK_Flexcomm2Clk:
1111 freq = CLOCK_GetFlexCommClkFreq(2U);
1112 break;
1113 case kCLOCK_Flexcomm3Clk:
1114 freq = CLOCK_GetFlexCommClkFreq(3U);
1115 break;
1116 case kCLOCK_Flexcomm4Clk:
1117 freq = CLOCK_GetFlexCommClkFreq(4U);
1118 break;
1119 case kCLOCK_Flexcomm5Clk:
1120 freq = CLOCK_GetFlexCommClkFreq(5U);
1121 break;
1122 case kCLOCK_Flexcomm6Clk:
1123 freq = CLOCK_GetFlexCommClkFreq(6U);
1124 break;
1125 case kCLOCK_Flexcomm7Clk:
1126 freq = CLOCK_GetFlexCommClkFreq(7U);
1127 break;
1128 case kCLOCK_Flexcomm14Clk:
1129 freq = CLOCK_GetFlexCommClkFreq(14U);
1130 break;
1131 case kCLOCK_Flexcomm15Clk:
1132 freq = CLOCK_GetFlexCommClkFreq(15U);
1133 break;
1134 default:
1135 freq = 0U;
1136 break;
1137 }
1138
1139 return freq;
1140}
1141
1142/* Set FRG Clk */
1143/*! brief Set output of the Fractional baud rate generator
1144 * param config : Configuration to set to FRGn clock.
1145 */
1146void CLOCK_SetFRGClock(const clock_frg_clk_config_t *config)
1147{
1148 uint32_t i = config->num;
1149
1150 assert(i <= 15U);
1151 assert(config->divider == 255U); /* Always set to 0xFF to use with the fractional baudrate generator.*/
1152
1153 if (i <= 7UL)
1154 {
1155 CLKCTL1->FLEXCOMM[i].FRGCLKSEL = (uint32_t)config->sfg_clock_src;
1156 CLKCTL1->FLEXCOMM[i].FRGCTL = (CLKCTL1_FRGCTL_MULT(config->mult) | CLKCTL1_FRGCTL_DIV(config->divider));
1157 }
1158 else if (i == 14UL)
1159 {
1160 CLKCTL1->FRG14CLKSEL = (uint32_t)config->sfg_clock_src;
1161 CLKCTL1->FRG14CTL = (CLKCTL1_FRGCTL_MULT(config->mult) | CLKCTL1_FRGCTL_DIV(config->divider));
1162 }
1163 else if (i == 15UL)
1164 {
1165 CLKCTL1->FRG15CLKSEL = (uint32_t)config->sfg_clock_src;
1166 CLKCTL1->FRG15CTL = (CLKCTL1_FRGCTL_MULT(config->mult) | CLKCTL1_FRGCTL_DIV(config->divider));
1167 }
1168 else
1169 {
1170 assert(false);
1171 }
1172}
1173
1174#ifndef __XCC__
1175/**
1176 * brief Enable FFRO 48M/60M clock.
1177 * Note Need to make sure FFRO and ROM has power(PDRUNCFG0[16] and PDRUNCFG1[28] = 0U) before calling this API
1178 *
1179 * param ffroFreq : target fro frequency.
1180 * return Nothing
1181 */
1182void CLOCK_EnableFfroClk(clock_ffro_freq_t ffroFreq)
1183{
1184 uint32_t tempco = 0U;
1185 uint32_t coarse = 0U;
1186 uint32_t fine = 0U;
1187 uint32_t ffro_delay = 0U;
1188
1189 assert(((SYSCTL0->PDRUNCFG0 & SYSCTL0_PDRUNCFG0_FFRO_PD_MASK) == 0UL) &&
1190 ((SYSCTL0->PDRUNCFG1 & SYSCTL0_PDRUNCFG1_ROM_PD_MASK) == 0UL));
1191
1192 /* FFROCTL0, FFROCTL1 and the otp trim value should not be touched by application */
1193 CLKCTL0->FFROCTL1 |= CLKCTL0_FFROCTL1_UPDATE_MASK;
1194 OTP_INIT_API(CLOCK_GetMainClkFreq() / ((CLKCTL0->SYSCPUAHBCLKDIV & CLKCTL0_SYSCPUAHBCLKDIV_DIV_MASK) + 1U));
1195 if (ffroFreq == kCLOCK_Ffro48M)
1196 {
1197 /* Read 48M FFRO clock Trim settings from fuse. */
1198 OTP_FUSE_READ_API(FIRC_48MHZ_TRIM_TEMPCO, &tempco);
1199 OTP_FUSE_READ_API(FIRC_48MHZ_TRIM_COARSE, &coarse);
1200 OTP_FUSE_READ_API(FIRC_48MHZ_TRIM_FINE, &fine);
1201 }
1202 else
1203 {
1204 /* Read 60M FFRO clock Trim settings from fuse. */
1205 OTP_FUSE_READ_API(FIRC_60MHZ_TRIM_TEMPCO, &tempco);
1206 OTP_FUSE_READ_API(FIRC_60MHZ_TRIM_COARSE, &coarse);
1207 OTP_FUSE_READ_API(FIRC_60MHZ_TRIM_FINE, &fine);
1208 }
1209 /* Read FFRO stable time from fuse. */
1210 OTP_FUSE_READ_API(FFRO_STABLE_TIME, &ffro_delay);
1211 OTP_DEINIT_API();
1212 CLKCTL0->FFROCTL0 = CLKCTL0_FFROCTL0_TRIM_TEMPCO(tempco) | CLKCTL0_FFROCTL0_TRIM_COARSE(coarse) |
1213 CLKCTL0_FFROCTL0_TRIM_FINE(fine) |
1214 CLKCTL0_FFROCTL0_TRIM_RANGE((ffroFreq == kCLOCK_Ffro48M) ? 0 : 3);
1215 CLKCTL0->FFROCTL1 &= ~CLKCTL0_FFROCTL1_UPDATE_MASK;
1216 /* No FFRO enable/disable control in CLKCTL. Just wait FFRO stable in case FFRO just get powered on. */
1217 SDK_DelayAtLeastUs(ffro_delay, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1218}
1219/**
1220 * brief Enable SFRO clock.
1221 * Note Need to make sure SFRO and ROM has power(PDRUNCFG0[15] and PDRUNCFG1[28] = 0U) before calling this API
1222 *
1223 * param Nothing
1224 * return Nothing
1225 */
1226
1227void CLOCK_EnableSfroClk(void)
1228{
1229 uint32_t sfro_delay = 0U;
1230
1231 assert(((SYSCTL0->PDRUNCFG0 & SYSCTL0_PDRUNCFG0_SFRO_PD_MASK) == 0UL) &&
1232 ((SYSCTL0->PDRUNCFG1 & SYSCTL0_PDRUNCFG1_ROM_PD_MASK) == 0UL));
1233 /* The otp trim value should not be touched by application */
1234 OTP_INIT_API(CLOCK_GetMainClkFreq() / ((CLKCTL0->SYSCPUAHBCLKDIV & CLKCTL0_SYSCPUAHBCLKDIV_DIV_MASK) + 1U));
1235 /* Read SFRO stable time from fuse. */
1236 OTP_FUSE_READ_API(SFRO_STABLE_TIME, &sfro_delay);
1237 OTP_DEINIT_API();
1238 /* No SFRO enable/disable control in CLKCTL. Just wait SFRO stable in case SFRO just get powered on. */
1239 SDK_DelayAtLeastUs(sfro_delay, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1240}
1241#endif /* __XCC__ */
1242
1243/* Initialize the SYSTEM PLL Clk */
1244/*! brief Initialize the System PLL.
1245 * param config : Configuration to set to PLL.
1246 */
1247void CLOCK_InitSysPll(const clock_sys_pll_config_t *config)
1248{
1249 /* Power down SYSPLL before change fractional settings */
1250 SYSCTL0->PDRUNCFG0_SET = SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK;
1251
1252 CLKCTL0->SYSPLL0CLKSEL = (uint32_t)config->sys_pll_src;
1253 CLKCTL0->SYSPLL0NUM = config->numerator;
1254 CLKCTL0->SYSPLL0DENOM = config->denominator;
1255 switch (config->sys_pll_mult)
1256 {
1257 case kCLOCK_SysPllMult16:
1258 CLKCTL0->SYSPLL0CTL0 =
1259 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(16);
1260 break;
1261 case kCLOCK_SysPllMult17:
1262 CLKCTL0->SYSPLL0CTL0 =
1263 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(17);
1264 break;
1265 case kCLOCK_SysPllMult18:
1266 CLKCTL0->SYSPLL0CTL0 =
1267 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(18);
1268 break;
1269 case kCLOCK_SysPllMult19:
1270 CLKCTL0->SYSPLL0CTL0 =
1271 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(19);
1272 break;
1273 case kCLOCK_SysPllMult20:
1274 CLKCTL0->SYSPLL0CTL0 =
1275 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(20);
1276 break;
1277 case kCLOCK_SysPllMult21:
1278 CLKCTL0->SYSPLL0CTL0 =
1279 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(21);
1280 break;
1281 case kCLOCK_SysPllMult22:
1282 CLKCTL0->SYSPLL0CTL0 =
1283 (CLKCTL0->SYSPLL0CTL0 & ~CLKCTL0_SYSPLL0CTL0_MULT_MASK) | CLKCTL0_SYSPLL0CTL0_MULT(22);
1284 break;
1285 default:
1286 /* Added comments to prevent the violation of MISRA rule. */
1287 break;
1288 }
1289 /* Clear System PLL reset*/
1290 CLKCTL0->SYSPLL0CTL0 &= ~CLKCTL0_SYSPLL0CTL0_RESET_MASK;
1291 /* Power up SYSPLL*/
1292 SYSCTL0->PDRUNCFG0_CLR = SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK;
1293 SDK_DelayAtLeastUs((CLKCTL0->SYSPLL0LOCKTIMEDIV2 & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 2UL,
1294 SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1295 /* Set System PLL HOLDRINGOFF_ENA */
1296 CLKCTL0->SYSPLL0CTL0 |= CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK;
1297 SDK_DelayAtLeastUs((CLKCTL0->SYSPLL0LOCKTIMEDIV2 & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 6UL,
1298 SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1299 /* Clear System PLL HOLDRINGOFF_ENA*/
1300 CLKCTL0->SYSPLL0CTL0 &= ~CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK;
1301 SDK_DelayAtLeastUs((CLKCTL0->SYSPLL0LOCKTIMEDIV2 & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 3UL,
1302 SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1303}
1304/* Initialize the System PLL PFD */
1305/*! brief Initialize the System PLL PFD.
1306 * param pfd : Which PFD clock to enable.
1307 * param divider : The PFD divider value.
1308 * note It is recommended that PFD settings are kept between 12-35.
1309 */
1310void CLOCK_InitSysPfd(clock_pfd_t pfd, uint8_t divider)
1311{
1312 uint32_t pfdIndex = (uint32_t)pfd;
1313 uint32_t syspfd;
1314
1315 syspfd = CLKCTL0->SYSPLL0PFD &
1316 ~(((uint32_t)CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_MASK | (uint32_t)CLKCTL0_SYSPLL0PFD_PFD0_MASK)
1317 << (8UL * pfdIndex));
1318
1319 /* Disable the clock output first. */
1320 CLKCTL0->SYSPLL0PFD = syspfd | ((uint32_t)CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_MASK << (8UL * pfdIndex));
1321
1322 /* Set the new value and enable output. */
1323 CLKCTL0->SYSPLL0PFD = syspfd | (CLKCTL0_SYSPLL0PFD_PFD0(divider) << (8UL * pfdIndex));
1324 /* Wait for output becomes stable. */
1325 while ((CLKCTL0->SYSPLL0PFD & ((uint32_t)CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_MASK << (8UL * pfdIndex))) == 0UL)
1326 {
1327 }
1328 /* Clear ready status flag. */
1329 CLKCTL0->SYSPLL0PFD |= ((uint32_t)CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_MASK << (8UL * pfdIndex));
1330}
1331/* Initialize the Audio PLL Clk */
1332/*! brief Initialize the audio PLL.
1333 * param config : Configuration to set to PLL.
1334 */
1335void CLOCK_InitAudioPll(const clock_audio_pll_config_t *config)
1336{
1337 /* Power down Audio PLL before change fractional settings */
1338 SYSCTL0->PDRUNCFG0_SET = SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK;
1339
1340 CLKCTL1->AUDIOPLL0CLKSEL = (uint32_t)(config->audio_pll_src);
1341 CLKCTL1->AUDIOPLL0NUM = config->numerator;
1342 CLKCTL1->AUDIOPLL0DENOM = config->denominator;
1343 switch (config->audio_pll_mult)
1344 {
1345 case kCLOCK_AudioPllMult16:
1346 CLKCTL1->AUDIOPLL0CTL0 =
1347 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(16);
1348 break;
1349 case kCLOCK_AudioPllMult17:
1350 CLKCTL1->AUDIOPLL0CTL0 =
1351 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(17);
1352 break;
1353 case kCLOCK_AudioPllMult18:
1354 CLKCTL1->AUDIOPLL0CTL0 =
1355 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(18);
1356 break;
1357 case kCLOCK_AudioPllMult19:
1358 CLKCTL1->AUDIOPLL0CTL0 =
1359 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(19);
1360 break;
1361 case kCLOCK_AudioPllMult20:
1362 CLKCTL1->AUDIOPLL0CTL0 =
1363 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(20);
1364 break;
1365 case kCLOCK_AudioPllMult21:
1366 CLKCTL1->AUDIOPLL0CTL0 =
1367 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(21);
1368 break;
1369 case kCLOCK_AudioPllMult22:
1370 CLKCTL1->AUDIOPLL0CTL0 =
1371 (CLKCTL1->AUDIOPLL0CTL0 & ~CLKCTL1_AUDIOPLL0CTL0_MULT_MASK) | CLKCTL1_AUDIOPLL0CTL0_MULT(22);
1372 break;
1373 default:
1374 /* Added comments to prevent the violation of MISRA C-2012 rule */
1375 break;
1376 }
1377
1378 /* Clear Audio PLL reset*/
1379 CLKCTL1->AUDIOPLL0CTL0 &= ~CLKCTL1_AUDIOPLL0CTL0_RESET_MASK;
1380 /* Power up Audio PLL*/
1381 SYSCTL0->PDRUNCFG0_CLR = SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK;
1382 SDK_DelayAtLeastUs((CLKCTL1->AUDIOPLL0LOCKTIMEDIV2 & CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 2UL,
1383 SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1384 /* Set Audio PLL HOLDRINGOFF_ENA */
1385 CLKCTL1->AUDIOPLL0CTL0 |= CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK;
1386 SDK_DelayAtLeastUs((CLKCTL1->AUDIOPLL0LOCKTIMEDIV2 & CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 6UL,
1387 SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1388 /* Clear Audio PLL HOLDRINGOFF_ENA*/
1389 CLKCTL1->AUDIOPLL0CTL0 &= ~CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK;
1390 SDK_DelayAtLeastUs((CLKCTL1->AUDIOPLL0LOCKTIMEDIV2 & CLKCTL1_AUDIOPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 3UL,
1391 SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1392}
1393/* Initialize the Audio PLL PFD */
1394/*! brief Initialize the audio PLL PFD.
1395 * param pfd : Which PFD clock to enable.
1396 * param divider : The PFD divider value.
1397 * note It is recommended that PFD settings are kept between 12-35.
1398 */
1399void CLOCK_InitAudioPfd(clock_pfd_t pfd, uint8_t divider)
1400{
1401 uint32_t pfdIndex = (uint32_t)pfd;
1402 uint32_t syspfd;
1403
1404 syspfd = CLKCTL1->AUDIOPLL0PFD &
1405 ~(((uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK | (uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_MASK)
1406 << (8UL * pfdIndex));
1407
1408 /* Disable the clock output first. */
1409 CLKCTL1->AUDIOPLL0PFD = syspfd | ((uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK << (8UL * pfdIndex));
1410
1411 /* Set the new value and enable output. */
1412 CLKCTL1->AUDIOPLL0PFD = syspfd | (CLKCTL1_AUDIOPLL0PFD_PFD0(divider) << (8UL * pfdIndex));
1413 /* Wait for output becomes stable. */
1414 while ((CLKCTL1->AUDIOPLL0PFD & ((uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_MASK << (8UL * pfdIndex))) == 0UL)
1415 {
1416 }
1417 /* Clear ready status flag. */
1418 CLKCTL1->AUDIOPLL0PFD |= ((uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_MASK << (8UL * pfdIndex));
1419}
1420/*! @brief Enable/Disable sys osc clock from external crystal clock.
1421 * @param enable : true to enable system osc clock, false to bypass system osc.
1422 * @param enableLowPower : true to enable low power mode, false to enable high gain mode.
1423 * @param delay_us : Delay time after OSC power up.
1424 */
1425void CLOCK_EnableSysOscClk(bool enable, bool enableLowPower, uint32_t delay_us)
1426{
1427 uint32_t ctrl = enableLowPower ? CLKCTL0_SYSOSCCTL0_LP_ENABLE_MASK : 0U;
1428
1429 if (enable)
1430 {
1431 CLKCTL0->SYSOSCCTL0 = ctrl;
1432 CLKCTL0->SYSOSCBYPASS = 0;
1433 SDK_DelayAtLeastUs(delay_us, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
1434 }
1435 else
1436 {
1437 CLKCTL0->SYSOSCCTL0 = ctrl | CLKCTL0_SYSOSCCTL0_BYPASS_ENABLE_MASK;
1438 }
1439}
1440/*! @brief Enable USB HS device clock.
1441 *
1442 * This function enables USB HS device clock.
1443 */
1444void CLOCK_EnableUsbhsDeviceClock(void)
1445{
1446 CLOCK_EnableClock(kCLOCK_UsbhsPhy);
1447 /* Enable usbhs device and ram clock */
1448 CLOCK_EnableClock(kCLOCK_UsbhsDevice);
1449 CLOCK_EnableClock(kCLOCK_UsbhsSram);
1450}
1451
1452/*! @brief Enable USB HS host clock.
1453 *
1454 * This function enables USB HS host clock.
1455 */
1456void CLOCK_EnableUsbhsHostClock(void)
1457{
1458 CLOCK_EnableClock(kCLOCK_UsbhsPhy);
1459 /* Enable usbhs host and ram clock */
1460 CLOCK_EnableClock(kCLOCK_UsbhsHost);
1461 CLOCK_EnableClock(kCLOCK_UsbhsSram);
1462}
1463
1464/*! brief Enable USB hs0PhyPll clock.
1465 *
1466 * param src USB HS clock source.
1467 * param freq The frequency specified by src.
1468 * retval true The clock is set successfully.
1469 * retval false The clock source is invalid to get proper USB HS clock.
1470 */
1471bool CLOCK_EnableUsbHs0PhyPllClock(clock_attach_id_t src, uint32_t freq)
1472{
1473 uint32_t phyPllDiv = 0U;
1474 uint32_t multiplier = 0U;
1475 bool retVal = true;
1476
1477 USBPHY->CTRL_CLR = USBPHY_CTRL_SFTRST_MASK;
1478
1479 uint32_t delay = 100000;
1480 while ((delay--) != 0UL)
1481 {
1482 __NOP();
1483 }
1484
1485 multiplier = 480000000UL / freq;
1486
1487 switch (multiplier)
1488 {
1489 case 13:
1490 {
1491 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(0U);
1492 break;
1493 }
1494 case 15:
1495 {
1496 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(1U);
1497 break;
1498 }
1499 case 16:
1500 {
1501 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(2U);
1502 break;
1503 }
1504 case 20:
1505 {
1506 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(3U);
1507 break;
1508 }
1509 case 22:
1510 {
1511 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(4U);
1512 break;
1513 }
1514 case 25:
1515 {
1516 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(5U);
1517 break;
1518 }
1519 case 30:
1520 {
1521 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(6U);
1522 break;
1523 }
1524 case 240:
1525 {
1526 phyPllDiv = USBPHY_PLL_SIC_PLL_DIV_SEL(7U);
1527 break;
1528 }
1529 default:
1530 {
1531 retVal = false;
1532 break;
1533 }
1534 }
1535
1536 if (retVal)
1537 {
1538 USBPHY->PLL_SIC_SET = (USBPHY_PLL_SIC_PLL_POWER(1) | USBPHY_PLL_SIC_PLL_REG_ENABLE_MASK);
1539 USBPHY->PLL_SIC = (USBPHY->PLL_SIC & ~(USBPHY_PLL_SIC_PLL_DIV_SEL_MASK)) | phyPllDiv;
1540 USBPHY->PLL_SIC_CLR = USBPHY_PLL_SIC_PLL_BYPASS_MASK;
1541 USBPHY->PLL_SIC_SET = (USBPHY_PLL_SIC_PLL_EN_USB_CLKS_MASK);
1542
1543 USBPHY->CTRL_CLR = USBPHY_CTRL_CLR_CLKGATE_MASK;
1544 USBPHY->PWD_SET = 0x0;
1545
1546 while (0UL == (USBPHY->PLL_SIC & USBPHY_PLL_SIC_PLL_LOCK_MASK))
1547 {
1548 }
1549 }
1550
1551 return retVal;
1552}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.h
new file mode 100644
index 000000000..c2003d90c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_clock.h
@@ -0,0 +1,1203 @@
1/*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2016 - 2020 , NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _FSL_CLOCK_H_
10#define _FSL_CLOCK_H_
11
12#include "fsl_device_registers.h"
13#include <stdint.h>
14#include <stdbool.h>
15#include <assert.h>
16#include "fsl_reset.h"
17#include "fsl_common.h"
18
19/*! @addtogroup clock */
20/*! @{ */
21
22/*! @file */
23
24/*******************************************************************************
25 * Definitions
26 *****************************************************************************/
27
28/*! @name Driver version */
29/*@{*/
30/*! @brief CLOCK driver version 2.7.0. */
31#define FSL_CLOCK_DRIVER_VERSION (MAKE_VERSION(2, 7, 0))
32/*@}*/
33
34/* Definition for delay API in clock driver, users can redefine it to the real application. */
35#ifndef SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY
36#ifdef __XCC__
37#define SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY (600000000UL)
38#else
39#define SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY (300000000UL)
40#endif
41#endif
42
43/*! @brief External XTAL (SYSOSC) clock frequency.
44 *
45 * The XTAL (SYSOSC) clock frequency in Hz, when the clock is setup, use the
46 * function CLOCK_SetXtalFreq to set the value in to clock driver. For example,
47 * if XTAL is 16MHz,
48 * @code
49 * CLOCK_SetXtalFreq(160000000);
50 * @endcode
51 */
52extern volatile uint32_t g_xtalFreq;
53/*! @brief External CLK_IN pin clock frequency (clkin) clock frequency.
54 *
55 * The CLK_IN pin (clkin) clock frequency in Hz, when the clock is setup, use the
56 * function CLOCK_SetClkinFreq to set the value in to clock driver. For example,
57 * if CLK_IN is 16MHz,
58 * @code
59 * CLOCK_SetClkinFreq(160000000);
60 * @endcode
61 */
62extern volatile uint32_t g_clkinFreq;
63/*! @brief External XTAL (SYSOSC) clock frequency.
64 *
65 * The MCLK in (mclk_in) PIN clock frequency in Hz, when the clock is setup, use the
66 * function CLOCK_SetMclkInFreq to set the value in to clock driver. For example,
67 * if mclk_In is 16MHz,
68 * @code
69 * CLOCK_SetMclkInFreq(160000000);
70 * @endcode
71 */
72extern volatile uint32_t g_mclkFreq;
73
74/*! @brief Clock ip name array for ACMP. */
75#define CMP_CLOCKS \
76 { \
77 kCLOCK_Acmp0 \
78 }
79/*! @brief Clock ip name array for FLEXCOMM. */
80#define FLEXCOMM_CLOCKS \
81 { \
82 kCLOCK_Flexcomm0, kCLOCK_Flexcomm1, kCLOCK_Flexcomm2, kCLOCK_Flexcomm3, kCLOCK_Flexcomm4, kCLOCK_Flexcomm5, \
83 kCLOCK_Flexcomm6, kCLOCK_Flexcomm7, kCLOCK_Flexcomm14, kCLOCK_Flexcomm15 \
84 }
85/*! @brief Clock ip name array for LPUART. */
86#define USART_CLOCKS \
87 { \
88 kCLOCK_Usart0, kCLOCK_Usart1, kCLOCK_Usart2, kCLOCK_Usart3, kCLOCK_Usart4, kCLOCK_Usart5, kCLOCK_Usart6, \
89 kCLOCK_Usart7 \
90 }
91
92/*! @brief Clock ip name array for I2C. */
93#define I2C_CLOCKS \
94 { \
95 kCLOCK_I2c0, kCLOCK_I2c1, kCLOCK_I2c2, kCLOCK_I2c3, kCLOCK_I2c4, kCLOCK_I2c5, kCLOCK_I2c6, kCLOCK_I2c7, \
96 kCLOCK_I2c15 \
97 }
98/*! @brief Clock ip name array for I3C. */
99#define I3C_CLOCKS \
100 { \
101 kCLOCK_I3c0 \
102 }
103/*! @brief Clock ip name array for SPI. */
104#define SPI_CLOCKS \
105 { \
106 kCLOCK_Spi0, kCLOCK_Spi1, kCLOCK_Spi2, kCLOCK_Spi3, kCLOCK_Spi4, kCLOCK_Spi5, kCLOCK_Spi6, kCLOCK_Spi7, \
107 kCLOCK_Spi14 \
108 }
109/*! @brief Clock ip name array for FLEXI2S. */
110#define FLEXI2S_CLOCKS \
111 { \
112 kCLOCK_FlexI2s0, kCLOCK_FlexI2s1, kCLOCK_FlexI2s2, kCLOCK_FlexI2s3, kCLOCK_FlexI2s4, kCLOCK_FlexI2s5, \
113 kCLOCK_FlexI2s6, kCLOCK_FlexI2s7 \
114 }
115/*! @brief Clock ip name array for UTICK. */
116#define UTICK_CLOCKS \
117 { \
118 kCLOCK_Utick0 \
119 }
120/*! @brief Clock ip name array for DMIC. */
121#define DMIC_CLOCKS \
122 { \
123 kCLOCK_Dmic0 \
124 }
125/*! @brief Clock ip name array for CT32B. */
126#define CTIMER_CLOCKS \
127 { \
128 kCLOCK_Ct32b0, kCLOCK_Ct32b1, kCLOCK_Ct32b2, kCLOCK_Ct32b3, kCLOCK_Ct32b4 \
129 }
130
131/*! @brief Clock ip name array for GPIO. */
132#define GPIO_CLOCKS \
133 { \
134 kCLOCK_HsGpio0, kCLOCK_HsGpio1, kCLOCK_HsGpio2, kCLOCK_HsGpio3, kCLOCK_HsGpio4, kCLOCK_HsGpio5, \
135 kCLOCK_HsGpio6, kCLOCK_HsGpio7 \
136 }
137/*! @brief Clock ip name array for ADC. */
138#define LPADC_CLOCKS \
139 { \
140 kCLOCK_Adc0 \
141 }
142/*! @brief Clock ip name array for MRT. */
143#define MRT_CLOCKS \
144 { \
145 kCLOCK_Mrt0 \
146 }
147/*! @brief Clock ip name array for SCT. */
148#define SCT_CLOCKS \
149 { \
150 kCLOCK_Sct \
151 }
152/*! @brief Clock ip name array for RTC. */
153#define RTC_CLOCKS \
154 { \
155 kCLOCK_Rtc \
156 }
157/*! @brief Clock ip name array for WWDT. */
158#define WWDT_CLOCKS \
159 { \
160 kCLOCK_Wwdt0, kCLOCK_Wwdt1 \
161 }
162/*! @brief Clock ip name array for CRC. */
163#define CRC_CLOCKS \
164 { \
165 kCLOCK_Crc \
166 }
167/*! @brief Clock ip name array for USBD. */
168#define USBD_CLOCKS \
169 { \
170 kCLOCK_UsbhsDevice \
171 }
172/*! @brief Clock ip name array for DMA. */
173#define DMA_CLOCKS \
174 { \
175 kCLOCK_Dmac0, kCLOCK_Dmac1 \
176 }
177/*! @brief Clock ip name array for PINT. */
178#define PINT_CLOCKS \
179 { \
180 kCLOCK_Pint \
181 }
182/*! @brief Clock ip name array for FLEXSPI */
183#define FLEXSPI_CLOCKS \
184 { \
185 kCLOCK_Flexspi \
186 }
187/*! @brief Clock ip name array for Cache64 */
188#define CACHE64_CLOCKS \
189 { \
190 kCLOCK_Flexspi \
191 }
192/*! @brief Clock ip name array for MUA */
193#define MU_CLOCKS \
194 { \
195 kCLOCK_Mu \
196 }
197/*! @brief Clock ip name array for SEMA */
198#define SEMA42_CLOCKS \
199 { \
200 kCLOCK_Sema \
201 }
202/*! @brief Clock ip name array for RNG */
203#define TRNG_CLOCKS \
204 { \
205 kCLOCK_Rng \
206 }
207/*! @brief Clock ip name array for uSDHC */
208#define USDHC_CLOCKS \
209 { \
210 kCLOCK_Sdio0, kCLOCK_Sdio1 \
211 }
212/*! @brief Clock ip name array for OSTimer */
213#define OSTIMER_CLOCKS \
214 { \
215 kCLOCK_OsEventTimer \
216 }
217
218/*! @brief Clock gate name used for CLOCK_EnableClock/CLOCK_DisableClock. */
219/*------------------------------------------------------------------------------
220 clock_ip_name_t definition:
221------------------------------------------------------------------------------*/
222
223#define CLK_GATE_REG_OFFSET_SHIFT 8U
224#define CLK_GATE_REG_OFFSET_MASK 0xFF00U
225#define CLK_GATE_BIT_SHIFT_SHIFT 0U
226#define CLK_GATE_BIT_SHIFT_MASK 0x000000FFU
227
228#define CLK_GATE_DEFINE(reg_offset, bit_shift) \
229 ((((reg_offset) << CLK_GATE_REG_OFFSET_SHIFT) & CLK_GATE_REG_OFFSET_MASK) | \
230 (((bit_shift) << CLK_GATE_BIT_SHIFT_SHIFT) & CLK_GATE_BIT_SHIFT_MASK))
231
232#define CLK_GATE_ABSTRACT_REG_OFFSET(x) (((uint32_t)(x)&CLK_GATE_REG_OFFSET_MASK) >> CLK_GATE_REG_OFFSET_SHIFT)
233#define CLK_GATE_ABSTRACT_BITS_SHIFT(x) (((uint32_t)(x)&CLK_GATE_BIT_SHIFT_MASK) >> CLK_GATE_BIT_SHIFT_SHIFT)
234
235#define CLK_CTL0_PSCCTL0 0
236#define CLK_CTL0_PSCCTL1 1
237#define CLK_CTL0_PSCCTL2 2
238#define CLK_CTL1_PSCCTL0 3
239#define CLK_CTL1_PSCCTL1 4
240#define CLK_CTL1_PSCCTL2 5
241
242/*! @brief Clock gate name used for CLOCK_EnableClock/CLOCK_DisableClock. */
243typedef enum _clock_ip_name
244{
245 kCLOCK_IpInvalid = 0U,
246 kCLOCK_RomCtrlr = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 2),
247 kCLOCK_PowerQuad = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 8),
248 kCLOCK_Casper = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 9),
249 kCLOCK_HashCrypt = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 10),
250 kCLOCK_Puf = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 11),
251 kCLOCK_Rng = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 12),
252 kCLOCK_Flexspi = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 16),
253 kCLOCK_OtpCtrl = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 17),
254 kCLOCK_UsbhsPhy = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 20),
255 kCLOCK_UsbhsDevice = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 21),
256 kCLOCK_UsbhsHost = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 22),
257 kCLOCK_UsbhsSram = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 23),
258 kCLOCK_Sct = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL0, 24),
259
260 kCLOCK_Sdio0 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL1, 2),
261 kCLOCK_Sdio1 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL1, 3),
262 kCLOCK_Acmp0 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL1, 15),
263 kCLOCK_Adc0 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL1, 16),
264 kCLOCK_ShsGpio0 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL1, 24),
265
266 kCLOCK_Utick0 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL2, 0),
267 kCLOCK_Wwdt0 = CLK_GATE_DEFINE(CLK_CTL0_PSCCTL2, 1),
268
269 kCLOCK_Flexcomm0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 8),
270 kCLOCK_Flexcomm1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 9),
271 kCLOCK_Flexcomm2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 10),
272 kCLOCK_Flexcomm3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 11),
273 kCLOCK_Flexcomm4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 12),
274 kCLOCK_Flexcomm5 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 13),
275 kCLOCK_Flexcomm6 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 14),
276 kCLOCK_Flexcomm7 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 15),
277 kCLOCK_Flexcomm14 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 22),
278 kCLOCK_Flexcomm15 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 23),
279 kCLOCK_Usart0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 8),
280 kCLOCK_Usart1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 9),
281 kCLOCK_Usart2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 10),
282 kCLOCK_Usart3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 11),
283 kCLOCK_Usart4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 12),
284 kCLOCK_Usart5 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 13),
285 kCLOCK_Usart6 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 14),
286 kCLOCK_Usart7 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 15),
287 kCLOCK_I2s0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 8),
288 kCLOCK_I2s1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 9),
289 kCLOCK_I2s2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 10),
290 kCLOCK_I2s3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 11),
291 kCLOCK_I2s4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 12),
292 kCLOCK_I2s5 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 13),
293 kCLOCK_I2s6 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 14),
294 kCLOCK_I2s7 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 15),
295 kCLOCK_I2c0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 8),
296 kCLOCK_I2c1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 9),
297 kCLOCK_I2c2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 10),
298 kCLOCK_I2c3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 11),
299 kCLOCK_I2c4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 12),
300 kCLOCK_I2c5 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 13),
301 kCLOCK_I2c6 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 14),
302 kCLOCK_I2c7 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 15),
303 kCLOCK_I2c15 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 23),
304 kCLOCK_Spi0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 8),
305 kCLOCK_Spi1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 9),
306 kCLOCK_Spi2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 10),
307 kCLOCK_Spi3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 11),
308 kCLOCK_Spi4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 12),
309 kCLOCK_Spi5 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 13),
310 kCLOCK_Spi6 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 14),
311 kCLOCK_Spi7 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 15),
312 kCLOCK_Spi14 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 22),
313 kCLOCK_Dmic0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 24),
314 kCLOCK_OsEventTimer = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL0, 27),
315
316 kCLOCK_HsGpio0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 0),
317 kCLOCK_HsGpio1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 1),
318 kCLOCK_HsGpio2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 2),
319 kCLOCK_HsGpio3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 3),
320 kCLOCK_HsGpio4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 4),
321 kCLOCK_HsGpio5 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 5),
322 kCLOCK_HsGpio6 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 6),
323 kCLOCK_HsGpio7 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 7),
324 kCLOCK_Crc = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 16),
325 kCLOCK_Dmac0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 23),
326 kCLOCK_Dmac1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 24),
327 kCLOCK_Mu = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 28),
328 kCLOCK_Sema = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 29),
329 kCLOCK_Freqme = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL1, 31),
330
331 kCLOCK_Ct32b0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 0),
332 kCLOCK_Ct32b1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 1),
333 kCLOCK_Ct32b2 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 2),
334 kCLOCK_Ct32b3 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 3),
335 kCLOCK_Ct32b4 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 4),
336 kCLOCK_Rtc = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 7),
337 kCLOCK_Mrt0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 8),
338 kCLOCK_Wwdt1 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 10),
339 kCLOCK_I3c0 = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 16),
340 kCLOCK_Pint = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 30),
341 kCLOCK_InputMux = CLK_GATE_DEFINE(CLK_CTL1_PSCCTL2, 31)
342} clock_ip_name_t;
343
344/*! @brief Clock name used to get clock frequency. */
345typedef enum _clock_name
346{
347 kCLOCK_CoreSysClk, /*!< Core clock (aka HCLK) */
348 kCLOCK_BusClk, /*!< Bus clock (AHB/APB clock, aka HCLK) */
349 kCLOCK_MclkClk, /*!< MCLK, to MCLK pin */
350 kCLOCK_ClockOutClk, /*!< CLOCKOUT */
351 kCLOCK_AdcClk, /*!< ADC */
352 kCLOCK_FlexspiClk, /*!< FLEXSPI */
353 kCLOCK_SctClk, /*!< SCT */
354 kCLOCK_Wdt0Clk, /*!< Watchdog0 */
355 kCLOCK_Wdt1Clk, /*!< Watchdog1 */
356 kCLOCK_SystickClk, /*!< Systick */
357 kCLOCK_Sdio0Clk, /*!< SDIO0 */
358 kCLOCK_Sdio1Clk, /*!< SDIO1 */
359 kCLOCK_I3cClk, /*!< I3C */
360 kCLOCK_UsbClk, /*!< USB */
361 kCLOCK_DmicClk, /*!< Digital Mic clock */
362 kCLOCK_DspCpuClk, /*!< DSP clock */
363 kCLOCK_AcmpClk, /*!< Acmp clock */
364 kCLOCK_Flexcomm0Clk, /*!< Flexcomm0Clock */
365 kCLOCK_Flexcomm1Clk, /*!< Flexcomm1Clock */
366 kCLOCK_Flexcomm2Clk, /*!< Flexcomm2Clock */
367 kCLOCK_Flexcomm3Clk, /*!< Flexcomm3Clock */
368 kCLOCK_Flexcomm4Clk, /*!< Flexcomm4Clock */
369 kCLOCK_Flexcomm5Clk, /*!< Flexcomm5Clock */
370 kCLOCK_Flexcomm6Clk, /*!< Flexcomm6Clock */
371 kCLOCK_Flexcomm7Clk, /*!< Flexcomm7Clock */
372 kCLOCK_Flexcomm14Clk, /*!< Flexcomm14Clock */
373 kCLOCK_Flexcomm15Clk, /*!< Flexcomm15Clock */
374} clock_name_t;
375
376/**
377 * PLL PFD clock name
378 */
379typedef enum _clock_pfd
380{
381 kCLOCK_Pfd0 = 0U, /*!< PLL PFD0 */
382 kCLOCK_Pfd1 = 1U, /*!< PLL PFD1 */
383 kCLOCK_Pfd2 = 2U, /*!< PLL PFD2 */
384 kCLOCK_Pfd3 = 3U, /*!< PLL PFD3 */
385} clock_pfd_t;
386
387/*! @brief Clock Mux Switches
388 * The encoding is as follows each connection identified is 32bits wide
389 * starting from LSB upwards
390 *
391 * [12 bits for reg offset, 0 means end of descriptor, 4 bits for choice] [bit 31 define CLKCTL0 or CLKCTL1]*
392 *
393 */
394/* CLKCTL0 SEL */
395#define SYSPLL0CLKSEL_OFFSET 0x200
396#define MAINCLKSELA_OFFSET 0x430
397#define MAINCLKSELB_OFFSET 0x434
398#define FLEXSPIFCLKSEL_OFFSET 0x620
399#define SCTFCLKSEL_OFFSET 0x640
400#define USBHSFCLKSEL_OFFSET 0x660
401#define SDIO0FCLKSEL_OFFSET 0x680
402#define SDIO1FCLKSEL_OFFSET 0x690
403#define ADC0FCLKSEL0_OFFSET 0x6D0
404#define ADC0FCLKSEL1_OFFSET 0x6D4
405#define UTICKFCLKSEL_OFFSET 0x700
406#define WDT0FCLKSEL_OFFSET 0x720
407#define WAKECLK32KHZSEL_OFFSET 0x730
408#define SYSTICKFCLKSEL_OFFSET 0x760
409/* CLKCTL1 SEL */
410#define AUDIOPLL0CLKSEL_OFFSET 0x200
411#define DSPCPUCLKSELA_OFFSET 0x430
412#define DSPCPUCLKSELB_OFFSET 0x434
413#define OSEVENTFCLKSEL_OFFSET 0x480
414#define FC0FCLKSEL_OFFSET 0x508
415#define FC1FCLKSEL_OFFSET 0x528
416#define FC2FCLKSEL_OFFSET 0x548
417#define FC3FCLKSEL_OFFSET 0x568
418#define FC4FCLKSEL_OFFSET 0x588
419#define FC5FCLKSEL_OFFSET 0x5A8
420#define FC6FCLKSEL_OFFSET 0x5C8
421#define FC7FCLKSEL_OFFSET 0x5E8
422#define FC14FCLKSEL_OFFSET 0x6C8
423#define FC15FCLKSEL_OFFSET 0x6E8
424#define DMIC0FCLKSEL_OFFSET 0x700
425#define CT32BIT0FCLKSEL_OFFSET 0x720
426#define CT32BIT1FCLKSEL_OFFSET 0x724
427#define CT32BIT2FCLKSEL_OFFSET 0x728
428#define CT32BIT3FCLKSEL_OFFSET 0x72C
429#define CT32BIT4FCLKSEL_OFFSET 0x730
430#define AUDIOMCLKSEL_OFFSET 0x740
431#define CLKOUTSEL0_OFFSET 0x760
432#define CLKOUTSEL1_OFFSET 0x764
433#define I3C0FCLKSEL_OFFSET 0x780
434#define I3C0FCLKSTCSEL_OFFSET 0x784
435#define WDT1FCLKSEL_OFFSET 0x7A0
436#define ACMP0FCLKSEL_OFFSET 0x7C0
437/* CLKCTL0 DIV */
438#define MAINPLLCLKDIV_OFFSET 0x240
439#define DSPPLLCLKDIV_OFFSET 0x244
440#define AUX0PLLCLKDIV_OFFSET 0x248
441#define AUX1PLLCLKDIV_OFFSET 0x24C
442#define SYSCPUAHBCLKDIV_OFFSET 0x400
443#define PFC0CLKDIV_OFFSET 0x500
444#define PFC1CLKDIV_OFFSET 0x504
445#define FLEXSPIFCLKDIV_OFFSET 0x624
446#define SCTFCLKDIV_OFFSET 0x644
447#define USBHSFCLKDIV_OFFSET 0x664
448#define SDIO0FCLKDIV_OFFSET 0x684
449#define SDIO1FCLKDIV_OFFSET 0x694
450#define ADC0FCLKDIV_OFFSET 0x6D8
451#define WAKECLK32KHZDIV_OFFSET 0x734
452#define SYSTICKFCLKDIV_OFFSET 0x764
453
454/* CLKCTL1 DIV */
455#define AUDIOPLLCLKDIV_OFFSET 0x240
456#define DSPCPUCLKDIV_OFFSET 0x400
457#define DSPMAINRAMCLKDIV_OFFSET 0x404
458#define FRGPLLCLKDIV_OFFSET 0x6FC
459#define DMIC0FCLKDIV_OFFSET 0x704
460#define AUDIOMCLKDIV_OFFSET 0x744
461#define CLKOUTDIV_OFFSET 0x768
462#define I3C0FCLKSTCDIV_OFFSET 0x788
463#define I3C0FCLKSDIV_OFFSET 0x78C
464#define I3C0FCLKDIV_OFFSET 0x790
465#define ACMP0FCLKDIV_OFFSET 0x7C4
466
467#define CLKCTL0_TUPLE_MUXA(reg, choice) (((reg)&0xFFFU) | ((choice) << 12U))
468#define CLKCTL0_TUPLE_MUXB(reg, choice) ((((reg)&0xFFFU) << 16) | ((choice) << 28U))
469#define CLKCTL1_TUPLE_MUXA(reg, choice) (0x80000000U | (((reg)&0xFFFU) | ((choice) << 12U)))
470#define CLKCTL1_TUPLE_MUXB(reg, choice) (0x80000000U | ((((reg)&0xFFFU) << 16) | ((choice) << 28U)))
471#define CLKCTL_TUPLE_REG(base, tuple) ((volatile uint32_t *)(((uint32_t)(base)) + ((uint32_t)(tuple)&0xFFFU)))
472#define CLKCTL_TUPLE_SEL(tuple) (((uint32_t)(tuple) >> 12U) & 0x7U)
473
474typedef enum _clock_attach_id
475{
476 kSFRO_to_SYS_PLL = CLKCTL0_TUPLE_MUXA(SYSPLL0CLKSEL_OFFSET, 0),
477 kXTALIN_CLK_to_SYS_PLL = CLKCTL0_TUPLE_MUXA(SYSPLL0CLKSEL_OFFSET, 1),
478 kFFRO_DIV2_to_SYS_PLL = CLKCTL0_TUPLE_MUXA(SYSPLL0CLKSEL_OFFSET, 2),
479 kNONE_to_SYS_PLL = CLKCTL0_TUPLE_MUXA(SYSPLL0CLKSEL_OFFSET, 7),
480
481 kSFRO_to_AUDIO_PLL = CLKCTL1_TUPLE_MUXA(AUDIOPLL0CLKSEL_OFFSET, 0),
482 kXTALIN_CLK_to_AUDIO_PLL = CLKCTL1_TUPLE_MUXA(AUDIOPLL0CLKSEL_OFFSET, 1),
483 kFFRO_DIV2_to_AUDIO_PLL = CLKCTL1_TUPLE_MUXA(AUDIOPLL0CLKSEL_OFFSET, 2),
484 kNONE_to_AUDIO_PLL = CLKCTL1_TUPLE_MUXA(AUDIOPLL0CLKSEL_OFFSET, 7),
485
486 kFFRO_DIV4_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELA_OFFSET, 0) | CLKCTL0_TUPLE_MUXB(MAINCLKSELB_OFFSET, 0),
487 kXTALIN_CLK_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELA_OFFSET, 1) | CLKCTL0_TUPLE_MUXB(MAINCLKSELB_OFFSET, 0),
488 kLPOSC_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELA_OFFSET, 2) | CLKCTL0_TUPLE_MUXB(MAINCLKSELB_OFFSET, 0),
489 kFFRO_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELA_OFFSET, 3) | CLKCTL0_TUPLE_MUXB(MAINCLKSELB_OFFSET, 0),
490 kSFRO_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELB_OFFSET, 1),
491 kMAIN_PLL_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELB_OFFSET, 2),
492 kOSC32K_to_MAIN_CLK = CLKCTL0_TUPLE_MUXA(MAINCLKSELB_OFFSET, 3),
493
494 kFFRO_to_DSP_MAIN_CLK = CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELA_OFFSET, 0) | CLKCTL1_TUPLE_MUXB(DSPCPUCLKSELB_OFFSET, 0),
495 kXTALIN_CLK_to_DSP_MAIN_CLK =
496 CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELA_OFFSET, 1) | CLKCTL1_TUPLE_MUXB(DSPCPUCLKSELB_OFFSET, 0),
497 kLPOSC_to_DSP_MAIN_CLK = CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELA_OFFSET, 2) | CLKCTL1_TUPLE_MUXB(DSPCPUCLKSELB_OFFSET, 0),
498 kSFRO_to_DSP_MAIN_CLK = CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELA_OFFSET, 3) | CLKCTL1_TUPLE_MUXB(DSPCPUCLKSELB_OFFSET, 0),
499 kMAIN_PLL_to_DSP_MAIN_CLK = CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELB_OFFSET, 1),
500 kDSP_PLL_to_DSP_MAIN_CLK = CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELB_OFFSET, 2),
501 kOSC32K_to_DSP_MAIN_CLK = CLKCTL1_TUPLE_MUXA(DSPCPUCLKSELB_OFFSET, 3),
502
503 kSFRO_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL0_OFFSET, 0) | CLKCTL0_TUPLE_MUXB(ADC0FCLKSEL1_OFFSET, 0),
504 kXTALIN_CLK_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL0_OFFSET, 1) | CLKCTL0_TUPLE_MUXB(ADC0FCLKSEL1_OFFSET, 0),
505 kLPOSC_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL0_OFFSET, 2) | CLKCTL0_TUPLE_MUXB(ADC0FCLKSEL1_OFFSET, 0),
506 kFFRO_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL0_OFFSET, 3) | CLKCTL0_TUPLE_MUXB(ADC0FCLKSEL1_OFFSET, 0),
507 kMAIN_PLL_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL1_OFFSET, 1),
508 kAUX0_PLL_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL1_OFFSET, 3),
509 kAUX1_PLL_to_ADC_CLK = CLKCTL0_TUPLE_MUXA(ADC0FCLKSEL1_OFFSET, 5),
510
511 kSFRO_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL0_OFFSET, 0) | CLKCTL1_TUPLE_MUXB(CLKOUTSEL1_OFFSET, 0),
512 kXTALIN_CLK_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL0_OFFSET, 1) | CLKCTL1_TUPLE_MUXB(CLKOUTSEL1_OFFSET, 0),
513 kLPOSC_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL0_OFFSET, 2) | CLKCTL1_TUPLE_MUXB(CLKOUTSEL1_OFFSET, 0),
514 kFFRO_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL0_OFFSET, 3) | CLKCTL1_TUPLE_MUXB(CLKOUTSEL1_OFFSET, 0),
515 kMAIN_CLK_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL0_OFFSET, 4) | CLKCTL1_TUPLE_MUXB(CLKOUTSEL1_OFFSET, 0),
516 kDSP_MAIN_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL0_OFFSET, 6) | CLKCTL1_TUPLE_MUXB(CLKOUTSEL1_OFFSET, 0),
517 kMAIN_PLL_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 1),
518 kAUX0_PLL_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 2),
519 kDSP_PLL_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 3),
520 kAUX1_PLL_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 4),
521 kAUDIO_PLL_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 5),
522 kOSC32K_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 6),
523 kNONE_to_CLKOUT = CLKCTL1_TUPLE_MUXA(CLKOUTSEL1_OFFSET, 7),
524
525 kMAIN_CLK_to_I3C_CLK = CLKCTL1_TUPLE_MUXA(I3C0FCLKSEL_OFFSET, 0),
526 kFFRO_to_I3C_CLK = CLKCTL1_TUPLE_MUXA(I3C0FCLKSEL_OFFSET, 1),
527 kNONE_to_I3C_CLK = CLKCTL1_TUPLE_MUXA(I3C0FCLKSEL_OFFSET, 7),
528
529 kI3C_CLK_to_I3C_TC_CLK = CLKCTL1_TUPLE_MUXA(I3C0FCLKSTCSEL_OFFSET, 0),
530 kLPOSC_to_I3C_TC_CLK = CLKCTL1_TUPLE_MUXA(I3C0FCLKSTCSEL_OFFSET, 1),
531 kNONE_to_I3C_TC_CLK = CLKCTL1_TUPLE_MUXA(I3C0FCLKSTCSEL_OFFSET, 7),
532
533 kLPOSC_to_OSTIMER_CLK = CLKCTL1_TUPLE_MUXA(OSEVENTFCLKSEL_OFFSET, 0),
534 kOSC32K_to_OSTIMER_CLK = CLKCTL1_TUPLE_MUXA(OSEVENTFCLKSEL_OFFSET, 1),
535 kHCLK_to_OSTIMER_CLK = CLKCTL1_TUPLE_MUXA(OSEVENTFCLKSEL_OFFSET, 2),
536 kNONE_to_OSTIMER_CLK = CLKCTL1_TUPLE_MUXA(OSEVENTFCLKSEL_OFFSET, 7),
537
538 kMAIN_CLK_to_FLEXSPI_CLK = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKSEL_OFFSET, 0),
539 kMAIN_PLL_to_FLEXSPI_CLK = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKSEL_OFFSET, 1),
540 kAUX0_PLL_to_FLEXSPI_CLK = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKSEL_OFFSET, 2),
541 kFFRO_to_FLEXSPI_CLK = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKSEL_OFFSET, 3),
542 kAUX1_PLL_to_FLEXSPI_CLK = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKSEL_OFFSET, 4),
543 kNONE_to_FLEXSPI_CLK = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKSEL_OFFSET, 7),
544
545 kMAIN_CLK_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 0),
546 kMAIN_PLL_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 1),
547 kAUX0_PLL_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 2),
548 kFFRO_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 3),
549 kAUX1_PLL_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 4),
550 kAUDIO_PLL_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 5),
551 kNONE_to_SCT_CLK = CLKCTL0_TUPLE_MUXA(SCTFCLKSEL_OFFSET, 7),
552
553 kLPOSC_to_UTICK_CLK = CLKCTL0_TUPLE_MUXA(UTICKFCLKSEL_OFFSET, 0),
554 kNONE_to_UTICK_CLK = CLKCTL0_TUPLE_MUXA(UTICKFCLKSEL_OFFSET, 7),
555
556 kLPOSC_to_WDT0_CLK = CLKCTL0_TUPLE_MUXA(WDT0FCLKSEL_OFFSET, 0),
557 kNONE_to_WDT0_CLK = CLKCTL0_TUPLE_MUXA(WDT0FCLKSEL_OFFSET, 7),
558
559 kLPOSC_to_WDT1_CLK = CLKCTL1_TUPLE_MUXA(WDT1FCLKSEL_OFFSET, 0),
560 kNONE_to_WDT1_CLK = CLKCTL1_TUPLE_MUXA(WDT1FCLKSEL_OFFSET, 7),
561
562 kOSC32K_to_32KHZWAKE_CLK = CLKCTL0_TUPLE_MUXA(WAKECLK32KHZSEL_OFFSET, 0),
563 kLPOSC_DIV32_to_32KHZWAKE_CLK = CLKCTL0_TUPLE_MUXA(WAKECLK32KHZSEL_OFFSET, 1),
564 kNONE_to_32KHZWAKE_CLK = CLKCTL0_TUPLE_MUXA(WAKECLK32KHZSEL_OFFSET, 7),
565
566 kMAIN_CLK_DIV_to_SYSTICK_CLK = CLKCTL0_TUPLE_MUXA(SYSTICKFCLKSEL_OFFSET, 0),
567 kLPOSC_to_SYSTICK_CLK = CLKCTL0_TUPLE_MUXA(SYSTICKFCLKSEL_OFFSET, 1),
568 kOSC32K_to_SYSTICK_CLK = CLKCTL0_TUPLE_MUXA(SYSTICKFCLKSEL_OFFSET, 2),
569 kSFRO_to_SYSTICK_CLK = CLKCTL0_TUPLE_MUXA(SYSTICKFCLKSEL_OFFSET, 3),
570 kNONE_to_SYSTICK_CLK = CLKCTL0_TUPLE_MUXA(SYSTICKFCLKSEL_OFFSET, 7),
571
572 kMAIN_CLK_to_SDIO0_CLK = CLKCTL0_TUPLE_MUXA(SDIO0FCLKSEL_OFFSET, 0),
573 kMAIN_PLL_to_SDIO0_CLK = CLKCTL0_TUPLE_MUXA(SDIO0FCLKSEL_OFFSET, 1),
574 kAUX0_PLL_to_SDIO0_CLK = CLKCTL0_TUPLE_MUXA(SDIO0FCLKSEL_OFFSET, 2),
575 kFFRO_to_SDIO0_CLK = CLKCTL0_TUPLE_MUXA(SDIO0FCLKSEL_OFFSET, 3),
576 kAUX1_PLL_to_SDIO0_CLK = CLKCTL0_TUPLE_MUXA(SDIO0FCLKSEL_OFFSET, 4),
577 kNONE_to_SDIO0_CLK = CLKCTL0_TUPLE_MUXA(SDIO0FCLKSEL_OFFSET, 7),
578
579 kMAIN_CLK_to_SDIO1_CLK = CLKCTL0_TUPLE_MUXA(SDIO1FCLKSEL_OFFSET, 0),
580 kMAIN_PLL_to_SDIO1_CLK = CLKCTL0_TUPLE_MUXA(SDIO1FCLKSEL_OFFSET, 1),
581 kAUX0_PLL_to_SDIO1_CLK = CLKCTL0_TUPLE_MUXA(SDIO1FCLKSEL_OFFSET, 2),
582 kFFRO_to_SDIO1_CLK = CLKCTL0_TUPLE_MUXA(SDIO1FCLKSEL_OFFSET, 3),
583 kAUX1_PLL_to_SDIO1_CLK = CLKCTL0_TUPLE_MUXA(SDIO1FCLKSEL_OFFSET, 4),
584 kNONE_to_SDIO1_CLK = CLKCTL0_TUPLE_MUXA(SDIO1FCLKSEL_OFFSET, 7),
585
586 kXTALIN_CLK_to_USB_CLK = CLKCTL0_TUPLE_MUXA(USBHSFCLKSEL_OFFSET, 0),
587 kMAIN_CLK_to_USB_CLK = CLKCTL0_TUPLE_MUXA(USBHSFCLKSEL_OFFSET, 1),
588 kNONE_to_USB_CLK = CLKCTL0_TUPLE_MUXA(USBHSFCLKSEL_OFFSET, 7),
589
590 kFFRO_to_MCLK_CLK = CLKCTL1_TUPLE_MUXA(AUDIOMCLKSEL_OFFSET, 0),
591 kAUDIO_PLL_to_MCLK_CLK = CLKCTL1_TUPLE_MUXA(AUDIOMCLKSEL_OFFSET, 1),
592 kNONE_to_MCLK_CLK = CLKCTL1_TUPLE_MUXA(AUDIOMCLKSEL_OFFSET, 7),
593
594 kSFRO_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 0),
595 kFFRO_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 1),
596 kAUDIO_PLL_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 2),
597 kMASTER_CLK_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 3),
598 kLPOSC_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 4),
599 k32K_WAKE_CLK_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 5),
600 kNONE_to_DMIC_CLK = CLKCTL1_TUPLE_MUXA(DMIC0FCLKSEL_OFFSET, 7),
601
602 kMAIN_CLK_to_ACMP_CLK = CLKCTL1_TUPLE_MUXA(ACMP0FCLKSEL_OFFSET, 0),
603 kSFRO_to_ACMP_CLK = CLKCTL1_TUPLE_MUXA(ACMP0FCLKSEL_OFFSET, 1),
604 kFFRO_to_ACMP_CLK = CLKCTL1_TUPLE_MUXA(ACMP0FCLKSEL_OFFSET, 2),
605 kAUX0_PLL_to_ACMP_CLK = CLKCTL1_TUPLE_MUXA(ACMP0FCLKSEL_OFFSET, 3),
606 kAUX1_PLL_to_ACMP_CLK = CLKCTL1_TUPLE_MUXA(ACMP0FCLKSEL_OFFSET, 4),
607 kNONE_to_ACMP_CLK = CLKCTL1_TUPLE_MUXA(ACMP0FCLKSEL_OFFSET, 7),
608
609 kSFRO_to_FLEXCOMM0 = CLKCTL1_TUPLE_MUXA(FC0FCLKSEL_OFFSET, 0),
610 kFFRO_to_FLEXCOMM0 = CLKCTL1_TUPLE_MUXA(FC0FCLKSEL_OFFSET, 1),
611 kAUDIO_PLL_to_FLEXCOMM0 = CLKCTL1_TUPLE_MUXA(FC0FCLKSEL_OFFSET, 2),
612 kMASTER_CLK_to_FLEXCOMM0 = CLKCTL1_TUPLE_MUXA(FC0FCLKSEL_OFFSET, 3),
613 kFRG_to_FLEXCOMM0 = CLKCTL1_TUPLE_MUXA(FC0FCLKSEL_OFFSET, 4),
614 kNONE_to_FLEXCOMM0 = CLKCTL1_TUPLE_MUXA(FC0FCLKSEL_OFFSET, 7),
615
616 kSFRO_to_FLEXCOMM1 = CLKCTL1_TUPLE_MUXA(FC1FCLKSEL_OFFSET, 0),
617 kFFRO_to_FLEXCOMM1 = CLKCTL1_TUPLE_MUXA(FC1FCLKSEL_OFFSET, 1),
618 kAUDIO_PLL_to_FLEXCOMM1 = CLKCTL1_TUPLE_MUXA(FC1FCLKSEL_OFFSET, 2),
619 kMASTER_CLK_to_FLEXCOMM1 = CLKCTL1_TUPLE_MUXA(FC1FCLKSEL_OFFSET, 3),
620 kFRG_to_FLEXCOMM1 = CLKCTL1_TUPLE_MUXA(FC1FCLKSEL_OFFSET, 4),
621 kNONE_to_FLEXCOMM1 = CLKCTL1_TUPLE_MUXA(FC1FCLKSEL_OFFSET, 7),
622
623 kSFRO_to_FLEXCOMM2 = CLKCTL1_TUPLE_MUXA(FC2FCLKSEL_OFFSET, 0),
624 kFFRO_to_FLEXCOMM2 = CLKCTL1_TUPLE_MUXA(FC2FCLKSEL_OFFSET, 1),
625 kAUDIO_PLL_to_FLEXCOMM2 = CLKCTL1_TUPLE_MUXA(FC2FCLKSEL_OFFSET, 2),
626 kMASTER_CLK_to_FLEXCOMM2 = CLKCTL1_TUPLE_MUXA(FC2FCLKSEL_OFFSET, 3),
627 kFRG_to_FLEXCOMM2 = CLKCTL1_TUPLE_MUXA(FC2FCLKSEL_OFFSET, 4),
628 kNONE_to_FLEXCOMM2 = CLKCTL1_TUPLE_MUXA(FC2FCLKSEL_OFFSET, 7),
629
630 kSFRO_to_FLEXCOMM3 = CLKCTL1_TUPLE_MUXA(FC3FCLKSEL_OFFSET, 0),
631 kFFRO_to_FLEXCOMM3 = CLKCTL1_TUPLE_MUXA(FC3FCLKSEL_OFFSET, 1),
632 kAUDIO_PLL_to_FLEXCOMM3 = CLKCTL1_TUPLE_MUXA(FC3FCLKSEL_OFFSET, 2),
633 kMASTER_CLK_to_FLEXCOMM3 = CLKCTL1_TUPLE_MUXA(FC3FCLKSEL_OFFSET, 3),
634 kFRG_to_FLEXCOMM3 = CLKCTL1_TUPLE_MUXA(FC3FCLKSEL_OFFSET, 4),
635 kNONE_to_FLEXCOMM3 = CLKCTL1_TUPLE_MUXA(FC3FCLKSEL_OFFSET, 7),
636
637 kSFRO_to_FLEXCOMM4 = CLKCTL1_TUPLE_MUXA(FC4FCLKSEL_OFFSET, 0),
638 kFFRO_to_FLEXCOMM4 = CLKCTL1_TUPLE_MUXA(FC4FCLKSEL_OFFSET, 1),
639 kAUDIO_PLL_to_FLEXCOMM4 = CLKCTL1_TUPLE_MUXA(FC4FCLKSEL_OFFSET, 2),
640 kMASTER_CLK_to_FLEXCOMM4 = CLKCTL1_TUPLE_MUXA(FC4FCLKSEL_OFFSET, 3),
641 kFRG_to_FLEXCOMM4 = CLKCTL1_TUPLE_MUXA(FC4FCLKSEL_OFFSET, 4),
642 kNONE_to_FLEXCOMM4 = CLKCTL1_TUPLE_MUXA(FC4FCLKSEL_OFFSET, 7),
643
644 kSFRO_to_FLEXCOMM5 = CLKCTL1_TUPLE_MUXA(FC5FCLKSEL_OFFSET, 0),
645 kFFRO_to_FLEXCOMM5 = CLKCTL1_TUPLE_MUXA(FC5FCLKSEL_OFFSET, 1),
646 kAUDIO_PLL_to_FLEXCOMM5 = CLKCTL1_TUPLE_MUXA(FC5FCLKSEL_OFFSET, 2),
647 kMASTER_CLK_to_FLEXCOMM5 = CLKCTL1_TUPLE_MUXA(FC5FCLKSEL_OFFSET, 3),
648 kFRG_to_FLEXCOMM5 = CLKCTL1_TUPLE_MUXA(FC5FCLKSEL_OFFSET, 4),
649 kNONE_to_FLEXCOMM5 = CLKCTL1_TUPLE_MUXA(FC5FCLKSEL_OFFSET, 7),
650
651 kSFRO_to_FLEXCOMM6 = CLKCTL1_TUPLE_MUXA(FC6FCLKSEL_OFFSET, 0),
652 kFFRO_to_FLEXCOMM6 = CLKCTL1_TUPLE_MUXA(FC6FCLKSEL_OFFSET, 1),
653 kAUDIO_PLL_to_FLEXCOMM6 = CLKCTL1_TUPLE_MUXA(FC6FCLKSEL_OFFSET, 2),
654 kMASTER_CLK_to_FLEXCOMM6 = CLKCTL1_TUPLE_MUXA(FC6FCLKSEL_OFFSET, 3),
655 kFRG_to_FLEXCOMM6 = CLKCTL1_TUPLE_MUXA(FC6FCLKSEL_OFFSET, 4),
656 kNONE_to_FLEXCOMM6 = CLKCTL1_TUPLE_MUXA(FC6FCLKSEL_OFFSET, 7),
657
658 kSFRO_to_FLEXCOMM7 = CLKCTL1_TUPLE_MUXA(FC7FCLKSEL_OFFSET, 0),
659 kFFRO_to_FLEXCOMM7 = CLKCTL1_TUPLE_MUXA(FC7FCLKSEL_OFFSET, 1),
660 kAUDIO_PLL_to_FLEXCOMM7 = CLKCTL1_TUPLE_MUXA(FC7FCLKSEL_OFFSET, 2),
661 kMASTER_CLK_to_FLEXCOMM7 = CLKCTL1_TUPLE_MUXA(FC7FCLKSEL_OFFSET, 3),
662 kFRG_to_FLEXCOMM7 = CLKCTL1_TUPLE_MUXA(FC7FCLKSEL_OFFSET, 4),
663 kNONE_to_FLEXCOMM7 = CLKCTL1_TUPLE_MUXA(FC7FCLKSEL_OFFSET, 7),
664
665 kSFRO_to_FLEXCOMM14 = CLKCTL1_TUPLE_MUXA(FC14FCLKSEL_OFFSET, 0),
666 kFFRO_to_FLEXCOMM14 = CLKCTL1_TUPLE_MUXA(FC14FCLKSEL_OFFSET, 1),
667 kAUDIO_PLL_to_FLEXCOMM14 = CLKCTL1_TUPLE_MUXA(FC14FCLKSEL_OFFSET, 2),
668 kMASTER_CLK_to_FLEXCOMM14 = CLKCTL1_TUPLE_MUXA(FC14FCLKSEL_OFFSET, 3),
669 kFRG_to_FLEXCOMM14 = CLKCTL1_TUPLE_MUXA(FC14FCLKSEL_OFFSET, 4),
670 kNONE_to_FLEXCOMM14 = CLKCTL1_TUPLE_MUXA(FC14FCLKSEL_OFFSET, 7),
671
672 kSFRO_to_FLEXCOMM15 = CLKCTL1_TUPLE_MUXA(FC15FCLKSEL_OFFSET, 0),
673 kFFRO_to_FLEXCOMM15 = CLKCTL1_TUPLE_MUXA(FC15FCLKSEL_OFFSET, 1),
674 kAUDIO_PLL_to_FLEXCOMM15 = CLKCTL1_TUPLE_MUXA(FC15FCLKSEL_OFFSET, 2),
675 kMASTER_CLK_to_FLEXCOMM15 = CLKCTL1_TUPLE_MUXA(FC15FCLKSEL_OFFSET, 3),
676 kFRG_to_FLEXCOMM15 = CLKCTL1_TUPLE_MUXA(FC15FCLKSEL_OFFSET, 4),
677 kNONE_to_FLEXCOMM15 = CLKCTL1_TUPLE_MUXA(FC15FCLKSEL_OFFSET, 7),
678
679 kMAIN_CLK_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 0),
680 kSFRO_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 1),
681 kFFRO_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 2),
682 kAUDIO_PLL_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 3),
683 kMASTER_CLK_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 4),
684 kLPOSC_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 5),
685 kNONE_to_CTIMER0 = CLKCTL1_TUPLE_MUXA(CT32BIT0FCLKSEL_OFFSET, 7),
686
687 kMAIN_CLK_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 0),
688 kSFRO_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 1),
689 kFFRO_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 2),
690 kAUDIO_PLL_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 3),
691 kMASTER_CLK_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 4),
692 kLPOSC_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 5),
693 kNONE_to_CTIMER1 = CLKCTL1_TUPLE_MUXA(CT32BIT1FCLKSEL_OFFSET, 7),
694
695 kMAIN_CLK_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 0),
696 kSFRO_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 1),
697 kFFRO_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 2),
698 kAUDIO_PLL_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 3),
699 kMASTER_CLK_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 4),
700 kLPOSC_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 5),
701 kNONE_to_CTIMER2 = CLKCTL1_TUPLE_MUXA(CT32BIT2FCLKSEL_OFFSET, 7),
702
703 kMAIN_CLK_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 0),
704 kSFRO_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 1),
705 kFFRO_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 2),
706 kAUDIO_PLL_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 3),
707 kMASTER_CLK_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 4),
708 kLPOSC_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 5),
709 kNONE_to_CTIMER3 = CLKCTL1_TUPLE_MUXA(CT32BIT3FCLKSEL_OFFSET, 7),
710
711 kMAIN_CLK_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 0),
712 kSFRO_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 1),
713 kFFRO_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 2),
714 kAUDIO_PLL_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 3),
715 kMASTER_CLK_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 4),
716 kLPOSC_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 5),
717 kNONE_to_CTIMER4 = CLKCTL1_TUPLE_MUXA(CT32BIT4FCLKSEL_OFFSET, 7),
718
719} clock_attach_id_t;
720
721/* Clock dividers */
722typedef enum _clock_div_name
723{
724 kCLOCK_DivSysCpuAhbClk = CLKCTL0_TUPLE_MUXA(SYSCPUAHBCLKDIV_OFFSET, 0),
725 kCLOCK_DivMainPllClk = CLKCTL0_TUPLE_MUXA(MAINPLLCLKDIV_OFFSET, 0),
726 kCLOCK_DivDspPllClk = CLKCTL0_TUPLE_MUXA(DSPPLLCLKDIV_OFFSET, 0),
727 kCLOCK_DivAux0PllClk = CLKCTL0_TUPLE_MUXA(AUX0PLLCLKDIV_OFFSET, 0),
728 kCLOCK_DivAux1PllClk = CLKCTL0_TUPLE_MUXA(AUX1PLLCLKDIV_OFFSET, 0),
729 kCLOCK_DivPfc0Clk = CLKCTL0_TUPLE_MUXA(PFC0CLKDIV_OFFSET, 0),
730 kCLOCK_DivPfc1Clk = CLKCTL0_TUPLE_MUXA(PFC1CLKDIV_OFFSET, 0),
731 kCLOCK_DivAdcClk = CLKCTL0_TUPLE_MUXA(ADC0FCLKDIV_OFFSET, 0),
732 kCLOCK_DivFlexspiClk = CLKCTL0_TUPLE_MUXA(FLEXSPIFCLKDIV_OFFSET, 0),
733 kCLOCK_DivSctClk = CLKCTL0_TUPLE_MUXA(SCTFCLKDIV_OFFSET, 0),
734 kCLOCK_DivSdio0Clk = CLKCTL0_TUPLE_MUXA(SDIO0FCLKDIV_OFFSET, 0),
735 kCLOCK_DivSdio1Clk = CLKCTL0_TUPLE_MUXA(SDIO1FCLKDIV_OFFSET, 0),
736 kCLOCK_DivSystickClk = CLKCTL0_TUPLE_MUXA(SYSTICKFCLKDIV_OFFSET, 0),
737 kCLOCK_DivUsbHsFclk = CLKCTL0_TUPLE_MUXA(USBHSFCLKDIV_OFFSET, 0),
738 kCLOCK_DivAudioPllClk = CLKCTL1_TUPLE_MUXA(AUDIOPLLCLKDIV_OFFSET, 0),
739 kCLOCK_DivAcmpClk = CLKCTL1_TUPLE_MUXA(ACMP0FCLKDIV_OFFSET, 0),
740 kCLOCK_DivClockOut = CLKCTL1_TUPLE_MUXA(CLKOUTDIV_OFFSET, 0),
741 kCLOCK_DivDmicClk = CLKCTL1_TUPLE_MUXA(DMIC0FCLKDIV_OFFSET, 0),
742 kCLOCK_DivDspCpuClk = CLKCTL1_TUPLE_MUXA(DSPCPUCLKDIV_OFFSET, 0),
743 kCLOCK_DivDspRamClk = CLKCTL1_TUPLE_MUXA(DSPMAINRAMCLKDIV_OFFSET, 0),
744 kCLOCK_DivMclkClk = CLKCTL1_TUPLE_MUXA(AUDIOMCLKDIV_OFFSET, 0),
745 kCLOCK_DivPllFrgClk = CLKCTL1_TUPLE_MUXA(FRGPLLCLKDIV_OFFSET, 0),
746 kCLOCK_DivI3cClk = CLKCTL1_TUPLE_MUXA(I3C0FCLKDIV_OFFSET, 0),
747 kCLOCK_DivI3cTcClk = CLKCTL1_TUPLE_MUXA(I3C0FCLKSTCDIV_OFFSET, 0),
748 kCLOCK_DivI3cSlowClk = CLKCTL1_TUPLE_MUXA(I3C0FCLKSDIV_OFFSET, 0),
749} clock_div_name_t;
750
751/*! @brief FFRO frequence configuration */
752typedef enum _clock_ffro_freq
753{
754 kCLOCK_Ffro48M, /*!< 48MHz FFRO clock. */
755 kCLOCK_Ffro60M, /*!< 60MHz FFRO clock. */
756} clock_ffro_freq_t;
757/*! @brief SysPLL Reference Input Clock Source */
758typedef enum _sys_pll_src
759{
760 kCLOCK_SysPllSFroClk = 0, /*!< 16MHz FRO clock */
761 kCLOCK_SysPllXtalIn = 1, /*!< OSC clock */
762 kCLOCK_SysPllFFroDiv2 = 2, /*!< FRO48/60 div2 clock */
763 kCLOCK_SysPllNone = 7 /*!< Gated to reduce power */
764} sys_pll_src_t;
765
766/*! @brief SysPLL Multiplication Factor */
767typedef enum _sys_pll_mult
768{
769 kCLOCK_SysPllMult16 = 0, /*!< Divide by 16 */
770 kCLOCK_SysPllMult17, /*!< Divide by 17 */
771 kCLOCK_SysPllMult18, /*!< Divide by 18 */
772 kCLOCK_SysPllMult19, /*!< Divide by 19 */
773 kCLOCK_SysPllMult20, /*!< Divide by 20 */
774 kCLOCK_SysPllMult21, /*!< Divide by 21 */
775 kCLOCK_SysPllMult22, /*!< Divide by 22 */
776} sys_pll_mult_t;
777
778/*! @brief PLL configuration for SYSPLL */
779typedef struct _clock_sys_pll_config
780{
781 sys_pll_src_t sys_pll_src; /*!< Reference Input Clock Source */
782 uint32_t numerator; /*!< 30 bit numerator of fractional loop divider. */
783 uint32_t denominator; /*!< 30 bit numerator of fractional loop divider. */
784 sys_pll_mult_t sys_pll_mult; /*!< Multiplication Factor */
785} clock_sys_pll_config_t;
786
787/*! @brief AudioPll Reference Input Clock Source */
788typedef enum _audio_pll_src
789{
790 kCLOCK_AudioPllSFroClk = 0, /*!< 16MHz FRO clock */
791 kCLOCK_AudioPllXtalIn = 1, /*!< OSC clock */
792 kCLOCK_AudioPllFFroDiv2 = 2, /*!< FRO48/60 div2 clock */
793 kCLOCK_AudioPllNone = 7 /*!< Gated to reduce power */
794} audio_pll_src_t;
795
796/*! @brief AudioPll Multiplication Factor */
797typedef enum _audio_pll_mult
798{
799 kCLOCK_AudioPllMult16 = 0, /*!< Divide by 16 */
800 kCLOCK_AudioPllMult17, /*!< Divide by 17 */
801 kCLOCK_AudioPllMult18, /*!< Divide by 18 */
802 kCLOCK_AudioPllMult19, /*!< Divide by 19 */
803 kCLOCK_AudioPllMult20, /*!< Divide by 20 */
804 kCLOCK_AudioPllMult21, /*!< Divide by 21 */
805 kCLOCK_AudioPllMult22, /*!< Divide by 22 */
806} audio_pll_mult_t;
807
808/*! @brief PLL configuration for SYSPLL */
809typedef struct _clock_audio_pll_config
810{
811 audio_pll_src_t audio_pll_src; /*!< Reference Input Clock Source */
812 uint32_t numerator; /*!< 30 bit numerator of fractional loop divider. */
813 uint32_t denominator; /*!< 30 bit numerator of fractional loop divider. */
814 audio_pll_mult_t audio_pll_mult; /*!< Multiplication Factor */
815} clock_audio_pll_config_t;
816/*! @brief PLL configuration for FRG */
817typedef struct _clock_frg_clk_config
818{
819 uint8_t num; /*!< FRG clock */
820 enum
821 {
822 kCLOCK_FrgMainClk = 0, /*!< Main System clock */
823 kCLOCK_FrgPllDiv, /*!< Main pll clock divider*/
824 kCLOCK_FrgSFro, /*!< 16MHz FRO */
825 kCLOCK_FrgFFro, /*!< FRO48/60 */
826 } sfg_clock_src;
827 uint8_t divider; /*!< Denominator of the fractional divider. */
828 uint8_t mult; /*!< Numerator of the fractional divider. */
829} clock_frg_clk_config_t;
830
831/*******************************************************************************
832 * API
833 ******************************************************************************/
834
835#if defined(__cplusplus)
836extern "C" {
837#endif /* __cplusplus */
838
839static inline void CLOCK_EnableClock(clock_ip_name_t clk)
840{
841 uint32_t index = CLK_GATE_ABSTRACT_REG_OFFSET(clk);
842
843 switch (index)
844 {
845 case CLK_CTL0_PSCCTL0:
846 CLKCTL0->PSCCTL0_SET = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
847 break;
848 case CLK_CTL0_PSCCTL1:
849 CLKCTL0->PSCCTL1_SET = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
850 break;
851 case CLK_CTL0_PSCCTL2:
852 CLKCTL0->PSCCTL2_SET = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
853 break;
854 case CLK_CTL1_PSCCTL0:
855 CLKCTL1->PSCCTL0_SET = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
856 break;
857 case CLK_CTL1_PSCCTL1:
858 CLKCTL1->PSCCTL1_SET = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
859 break;
860 case CLK_CTL1_PSCCTL2:
861 CLKCTL1->PSCCTL2_SET = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
862 break;
863 default:
864 assert(false);
865 break;
866 }
867}
868
869static inline void CLOCK_DisableClock(clock_ip_name_t clk)
870{
871 uint32_t index = CLK_GATE_ABSTRACT_REG_OFFSET(clk);
872 switch (index)
873 {
874 case CLK_CTL0_PSCCTL0:
875 CLKCTL0->PSCCTL0_CLR = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
876 break;
877 case CLK_CTL0_PSCCTL1:
878 CLKCTL0->PSCCTL1_CLR = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
879 break;
880 case CLK_CTL0_PSCCTL2:
881 CLKCTL0->PSCCTL2_CLR = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
882 break;
883 case CLK_CTL1_PSCCTL0:
884 CLKCTL1->PSCCTL0_CLR = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
885 break;
886 case CLK_CTL1_PSCCTL1:
887 CLKCTL1->PSCCTL1_CLR = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
888 break;
889 case CLK_CTL1_PSCCTL2:
890 CLKCTL1->PSCCTL2_CLR = (1UL << CLK_GATE_ABSTRACT_BITS_SHIFT(clk));
891 break;
892 default:
893 assert(false);
894 break;
895 }
896}
897/**
898 * @brief Configure the clock selection muxes.
899 * @param connection : Clock to be configured.
900 * @return Nothing
901 */
902void CLOCK_AttachClk(clock_attach_id_t connection);
903/**
904 * @brief Setup peripheral clock dividers.
905 * @param div_name : Clock divider name
906 * @param divider : Value to be divided.
907 * @return Nothing
908 */
909void CLOCK_SetClkDiv(clock_div_name_t div_name, uint32_t divider);
910/*! @brief Return Frequency of selected clock
911 * @return Frequency of selected clock
912 */
913uint32_t CLOCK_GetFreq(clock_name_t clockName);
914
915/*! @brief Return Input frequency for the Fractional baud rate generator
916 * @return Input Frequency for FRG
917 */
918uint32_t CLOCK_GetFRGClock(uint32_t id);
919
920/*! @brief Set output of the Fractional baud rate generator
921 * @param config : Configuration to set to FRGn clock.
922 */
923void CLOCK_SetFRGClock(const clock_frg_clk_config_t *config);
924
925/*! @brief Return Frequency of FRO 16MHz
926 * @return Frequency of FRO 12MHz
927 */
928static inline uint32_t CLOCK_GetSFroFreq(void)
929{
930 return CLK_FRO_16MHZ;
931}
932/*! @brief Return Frequency of SYSPLL
933 * @return Frequency of SYSPLL
934 */
935uint32_t CLOCK_GetSysPllFreq(void);
936/*! @brief Get current output frequency of specific System PLL PFD.
937 * @param pfd : pfd name to get frequency.
938 * @return Frequency of SYSPLL PFD.
939 */
940uint32_t CLOCK_GetSysPfdFreq(clock_pfd_t pfd);
941/*! @brief Return Frequency of AUDIO PLL
942 * @return Frequency of AUDIO PLL
943 */
944uint32_t CLOCK_GetAudioPllFreq(void);
945/*! @brief Get current output frequency of specific Audio PLL PFD.
946 * @param pfd : pfd name to get frequency.
947 * @return Frequency of AUDIO PLL PFD.
948 */
949uint32_t CLOCK_GetAudioPfdFreq(clock_pfd_t pfd);
950/*! @brief Return Frequency of High-Freq output of FRO
951 * @return Frequency of High-Freq output of FRO
952 */
953uint32_t CLOCK_GetFFroFreq(void);
954/*! @brief Return Frequency of main clk
955 * @return Frequency of main clk
956 */
957uint32_t CLOCK_GetMainClkFreq(void);
958/*! @brief Return Frequency of DSP main clk
959 * @return Frequency of DSP main clk
960 */
961uint32_t CLOCK_GetDspMainClkFreq(void);
962/*! @brief Return Frequency of ACMP clk
963 * @return Frequency of ACMP clk
964 */
965uint32_t CLOCK_GetAcmpClkFreq(void);
966/*! @brief Return Frequency of DMIC clk
967 * @return Frequency of DMIC clk
968 */
969uint32_t CLOCK_GetDmicClkFreq(void);
970/*! @brief Return Frequency of USB clk
971 * @return Frequency of USB clk
972 */
973uint32_t CLOCK_GetUsbClkFreq(void);
974/*! @brief Return Frequency of SDIO clk
975 * @param id : SDIO index to get frequency.
976 * @return Frequency of SDIO clk
977 */
978uint32_t CLOCK_GetSdioClkFreq(uint32_t id);
979/*! @brief Return Frequency of I3C clk
980 * @return Frequency of I3C clk
981 */
982uint32_t CLOCK_GetI3cClkFreq(void);
983/*! @brief Return Frequency of systick clk
984 * @return Frequency of systick clk
985 */
986uint32_t CLOCK_GetSystickClkFreq(void);
987/*! @brief Return Frequency of WDT clk
988 * @param id : WDT index to get frequency.
989 * @return Frequency of WDT clk
990 */
991uint32_t CLOCK_GetWdtClkFreq(uint32_t id);
992/*! @brief Return Frequency of mclk
993 * @return Frequency of mclk clk
994 */
995uint32_t CLOCK_GetMclkClkFreq(void);
996/*! @brief Return Frequency of sct
997 * @return Frequency of sct clk
998 */
999uint32_t CLOCK_GetSctClkFreq(void);
1000/*! @brief Enable/Disable sys osc clock from external crystal clock.
1001 * @param enable : true to enable system osc clock, false to bypass system osc.
1002 * @param enableLowPower : true to enable low power mode, false to enable high gain mode.
1003 * @param delay_us : Delay time after OSC power up.
1004 */
1005void CLOCK_EnableSysOscClk(bool enable, bool enableLowPower, uint32_t delay_us);
1006/*! @brief Return Frequency of sys osc Clock
1007 * @return Frequency of sys osc Clock. Or CLK_IN pin frequency.
1008 */
1009static inline uint32_t CLOCK_GetXtalInClkFreq(void)
1010{
1011 return (CLKCTL0->SYSOSCBYPASS == 0U) ? g_xtalFreq : ((CLKCTL0->SYSOSCBYPASS == 1U) ? g_clkinFreq : 0U);
1012}
1013
1014/*! @brief Return Frequency of MCLK Input Clock
1015 * @return Frequency of MCLK input Clock.
1016 */
1017static inline uint32_t CLOCK_GetMclkInClkFreq(void)
1018{
1019 return g_mclkFreq;
1020}
1021
1022/*! @brief Return Frequency of Lower power osc
1023 * @return Frequency of LPOSC
1024 */
1025static inline uint32_t CLOCK_GetLpOscFreq(void)
1026{
1027 return CLK_LPOSC_1MHZ;
1028}
1029/*! @brief Return Frequency of 32kHz osc
1030 * @return Frequency of 32kHz osc
1031 */
1032static inline uint32_t CLOCK_GetOsc32KFreq(void)
1033{
1034 return ((CLKCTL0->OSC32KHZCTL0 & CLKCTL0_OSC32KHZCTL0_ENA32KHZ_MASK) != 0UL) ? CLK_RTC_32K_CLK : 0U;
1035}
1036/*! @brief Enables and disables 32kHz osc
1037 * @param enable : true to enable 32k osc clock, false to disable clock
1038 */
1039static inline void CLOCK_EnableOsc32K(bool enable)
1040{
1041 if (enable)
1042 {
1043 CLKCTL0->OSC32KHZCTL0 |= CLKCTL0_OSC32KHZCTL0_ENA32KHZ_MASK;
1044 }
1045 else
1046 {
1047 CLKCTL0->OSC32KHZCTL0 &= ~CLKCTL0_OSC32KHZCTL0_ENA32KHZ_MASK;
1048 }
1049}
1050
1051/*! @brief Return Frequency of 32khz wake clk
1052 * @return Frequency of 32kHz wake clk
1053 */
1054static inline uint32_t CLOCK_GetWakeClk32KFreq(void)
1055{
1056 return ((CLKCTL0->WAKECLK32KHZSEL & CLKCTL0_WAKECLK32KHZSEL_SEL_MASK) != 0UL) ?
1057 CLOCK_GetLpOscFreq() / ((CLKCTL0->WAKECLK32KHZDIV & 0xffU) + 1U) :
1058 CLOCK_GetOsc32KFreq();
1059}
1060/*!
1061 * @brief Set the XTALIN (system OSC) frequency based on board setting.
1062 *
1063 * @param freq : The XTAL input clock frequency in Hz.
1064 */
1065static inline void CLOCK_SetXtalFreq(uint32_t freq)
1066{
1067 g_xtalFreq = freq;
1068}
1069/*!
1070 * @brief Set the CLKIN (CLKIN pin) frequency based on board setting.
1071 *
1072 * @param freq : The CLK_IN pin input clock frequency in Hz.
1073 */
1074static inline void CLOCK_SetClkinFreq(uint32_t freq)
1075{
1076 g_clkinFreq = freq;
1077}
1078/*!
1079 * @brief Set the MCLK in (mclk_in) clock frequency based on board setting.
1080 *
1081 * @param freq : The MCLK input clock frequency in Hz.
1082 */
1083static inline void CLOCK_SetMclkFreq(uint32_t freq)
1084{
1085 g_mclkFreq = freq;
1086}
1087
1088/*! @brief Return Frequency of Flexcomm functional Clock
1089 * @param id : flexcomm index to get frequency.
1090 * @return Frequency of Flexcomm functional Clock
1091 */
1092uint32_t CLOCK_GetFlexCommClkFreq(uint32_t id);
1093/*! @brief Return Frequency of Ctimer Clock
1094 * @param id : ctimer index to get frequency.
1095 * @return Frequency of Ctimer Clock
1096 */
1097uint32_t CLOCK_GetCtimerClkFreq(uint32_t id);
1098/*! @brief Return Frequency of ClockOut
1099 * @return Frequency of ClockOut
1100 */
1101uint32_t CLOCK_GetClockOutClkFreq(void);
1102/*! @brief Return Frequency of Adc Clock
1103 * @return Frequency of Adc Clock.
1104 */
1105uint32_t CLOCK_GetAdcClkFreq(void);
1106/*! @brief Return Frequency of Flexspi Clock
1107 * @return Frequency of Flexspi.
1108 */
1109uint32_t CLOCK_GetFlexspiClkFreq(void);
1110#ifndef __XCC__
1111/**
1112 * brief Enable FFRO 48M/60M clock.
1113 * param ffroFreq : target fro frequency.
1114 * return Nothing
1115 */
1116void CLOCK_EnableFfroClk(clock_ffro_freq_t ffroFreq);
1117/**
1118 * brief Enable SFRO clock.
1119 * param Nothing
1120 * return Nothing
1121 */
1122void CLOCK_EnableSfroClk(void);
1123/*! @brief Initialize the System PLL.
1124 * @param config : Configuration to set to PLL.
1125 */
1126#endif /* __XCC__ */
1127
1128void CLOCK_InitSysPll(const clock_sys_pll_config_t *config);
1129/*! brief Deinit the System PLL.
1130 * param none.
1131 */
1132static inline void CLOCK_DeinitSysPll(void)
1133{
1134 /* Set System PLL Reset & HOLDRINGOFF_ENA */
1135 CLKCTL0->SYSPLL0CTL0 |= CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK | CLKCTL0_SYSPLL0CTL0_RESET_MASK;
1136 /* Power down System PLL*/
1137 SYSCTL0->PDRUNCFG0_SET = SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK;
1138}
1139/*! @brief Initialize the System PLL PFD.
1140 * @param pfd : Which PFD clock to enable.
1141 * @param divider : The PFD divider value.
1142 * @note It is recommended that PFD settings are kept between 12-35.
1143 */
1144void CLOCK_InitSysPfd(clock_pfd_t pfd, uint8_t divider);
1145/*! brief Disable the audio PLL PFD.
1146 * param pfd : Which PFD clock to disable.
1147 */
1148static inline void CLOCK_DeinitSysPfd(clock_pfd_t pfd)
1149{
1150 CLKCTL0->SYSPLL0PFD |= ((uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK << (8UL * (uint32_t)pfd));
1151}
1152/*! @brief Initialize the audio PLL.
1153 * @param config : Configuration to set to PLL.
1154 */
1155void CLOCK_InitAudioPll(const clock_audio_pll_config_t *config);
1156/*! brief Deinit the Audio PLL.
1157 * param none.
1158 */
1159static inline void CLOCK_DeinitAudioPll(void)
1160{
1161 /* Set Audio PLL Reset & HOLDRINGOFF_ENA */
1162 CLKCTL1->AUDIOPLL0CTL0 |= CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK | CLKCTL1_AUDIOPLL0CTL0_RESET_MASK;
1163 /* Power down Audio PLL */
1164 SYSCTL0->PDRUNCFG0_SET = SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK;
1165}
1166/*! @brief Initialize the audio PLL PFD.
1167 * @param pfd : Which PFD clock to enable.
1168 * @param divider : The PFD divider value.
1169 * @note It is recommended that PFD settings are kept between 12-35.
1170 */
1171void CLOCK_InitAudioPfd(clock_pfd_t pfd, uint8_t divider);
1172/*! brief Disable the audio PLL PFD.
1173 * param pfd : Which PFD clock to disable.
1174 */
1175static inline void CLOCK_DeinitAudioPfd(uint32_t pfd)
1176{
1177 CLKCTL1->AUDIOPLL0PFD |= ((uint32_t)CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK << (8UL * (uint32_t)pfd));
1178}
1179/*! @brief Enable USB HS device PLL clock.
1180 *
1181 * This function enables USB HS device PLL clock.
1182 */
1183void CLOCK_EnableUsbhsDeviceClock(void);
1184/*! @brief Enable USB HS host PLL clock.
1185 *
1186 * This function enables USB HS host PLL clock.
1187 */
1188void CLOCK_EnableUsbhsHostClock(void);
1189/*! brief Enable USB hs0PhyPll clock.
1190 *
1191 * param src USB HS clock source.
1192 * param freq The frequency specified by src.
1193 * retval true The clock is set successfully.
1194 * retval false The clock source is invalid to get proper USB HS clock.
1195 */
1196bool CLOCK_EnableUsbHs0PhyPllClock(clock_attach_id_t src, uint32_t freq);
1197#if defined(__cplusplus)
1198}
1199#endif /* __cplusplus */
1200
1201/*! @} */
1202
1203#endif /* _FSL_CLOCK_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.c
new file mode 100644
index 000000000..68eae4ac5
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.c
@@ -0,0 +1,107 @@
1/*
2 * Copyright 2019-2020, NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#include "fsl_dsp.h"
9#include "fsl_reset.h"
10#include "fsl_common.h"
11#include "fsl_power.h"
12
13/*******************************************************************************
14 * Definitions
15 ******************************************************************************/
16
17/* Component ID definition, used by tools. */
18#ifndef FSL_COMPONENT_ID
19#define FSL_COMPONENT_ID "platform.drivers.dsp"
20#endif
21
22/*******************************************************************************
23 * Variables
24 ******************************************************************************/
25
26/*******************************************************************************
27 * Prototypes
28 ******************************************************************************/
29
30/*******************************************************************************
31 * Code
32 ******************************************************************************/
33
34/*!
35 * @brief Initializing DSP core.
36 *
37 * Power up DSP TCM
38 * Enable DSP clock
39 * Reset DSP peripheral
40 */
41void DSP_Init(void)
42{
43 if ((SYSCTL0->PDRUNCFG1 & (SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_APD_MASK | SYSCTL0_PDRUNCFG1_DSPCACHE_REGF_PPD_MASK |
44 SYSCTL0_PDRUNCFG1_DSPTCM_REGF_APD_MASK | SYSCTL0_PDRUNCFG1_DSPTCM_REGF_PPD_MASK)) != 0U)
45 {
46 /* Not powered on. */
47 POWER_DisablePD(kPDRUNCFG_APD_DSP_TCM_REGF);
48 POWER_DisablePD(kPDRUNCFG_PPD_DSP_TCM_REGF);
49 POWER_DisablePD(kPDRUNCFG_APD_DSP_CACHE_REGF);
50 POWER_DisablePD(kPDRUNCFG_PPD_DSP_CACHE_REGF);
51 POWER_ApplyPD();
52
53 RESET_PeripheralReset(kDSP_RST_SHIFT_RSTn);
54 }
55 else if ((RSTCTL0->PRSTCTL0 & RSTCTL0_PRSTCTL0_HIFI_DSP_MASK) != 0U)
56 {
57 /* Powered on but not reset. */
58 RESET_ClearPeripheralReset(kDSP_RST_SHIFT_RSTn);
59 }
60 else
61 {
62 /* Already powered on and reset, do nothing. */
63 }
64}
65
66/*!
67 * @brief Deinit DSP core.
68 *
69 * Power down DSP TCM
70 * Disable DSP clock
71 * Set DSP peripheral reset
72 */
73void DSP_Deinit(void)
74{
75 DSP_Stop();
76
77 POWER_EnablePD(kPDRUNCFG_APD_DSP_TCM_REGF);
78 POWER_EnablePD(kPDRUNCFG_PPD_DSP_TCM_REGF);
79 POWER_EnablePD(kPDRUNCFG_APD_DSP_CACHE_REGF);
80 POWER_EnablePD(kPDRUNCFG_PPD_DSP_CACHE_REGF);
81 POWER_ApplyPD();
82}
83/*!
84 * @brief Copy DSP image to destination address.
85 *
86 * Copy DSP image from source address to destination address with given size.
87 *
88 * @param dspCopyImage Structure contains information for DSP copy image to destination address.
89 */
90void DSP_CopyImage(dsp_copy_image_t *dspCopyImage)
91{
92 assert(dspCopyImage != NULL);
93 assert(dspCopyImage->srcAddr != NULL);
94 assert(dspCopyImage->destAddr != NULL);
95
96 uint32_t *srcAddr = dspCopyImage->srcAddr;
97 uint32_t *destAddr = dspCopyImage->destAddr;
98 uint32_t size = dspCopyImage->size;
99
100 assert((size & 3U) == 0U);
101
102 while (size > 0U)
103 {
104 *destAddr++ = *srcAddr++;
105 size -= 4U;
106 }
107}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.h
new file mode 100644
index 000000000..f858146cf
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_dsp.h
@@ -0,0 +1,96 @@
1/*
2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
3 * Copyright 2019 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BS
7 */
8#ifndef _FSL_DSP_H_
9#define _FSL_DSP_H_
10
11#include <stdint.h>
12#include "fsl_device_registers.h"
13
14/*!
15 * @addtogroup dsp
16 * @{
17 */
18
19/*******************************************************************************
20 * Definitions
21 ******************************************************************************/
22
23/*! @name Driver version */
24/*@{*/
25/*! @brief reset driver version 2.1.1. */
26#define FSL_DSP_DRIVER_VERSION (MAKE_VERSION(2, 1, 1))
27/*@}*/
28
29/*!
30 * @brief Structure for DSP copy image to destination address
31 *
32 * Defines start and destination address for copying image with given size.
33 */
34typedef struct _dsp_copy_image
35{
36 uint32_t *srcAddr;
37 uint32_t *destAddr;
38 uint32_t size;
39} dsp_copy_image_t;
40
41/*******************************************************************************
42 * API
43 ******************************************************************************/
44#if defined(__cplusplus)
45extern "C" {
46#endif
47
48/*!
49 * @brief Initializing DSP core.
50 *
51 * Power up DSP TCM
52 * Enable DSP clock
53 * Reset DSP peripheral
54 */
55void DSP_Init(void);
56/*!
57 * @brief Deinit DSP core.
58 *
59 * Power down DSP TCM
60 * Disable DSP clock
61 * Set DSP peripheral reset
62 */
63void DSP_Deinit(void);
64
65/*!
66 * @brief Copy DSP image to destination address.
67 *
68 * Copy DSP image from source address to destination address with given size.
69 *
70 * @param dspCopyImage Structure contains information for DSP copy image to destination address.
71 */
72void DSP_CopyImage(dsp_copy_image_t *dspCopyImage);
73
74/*!
75 * @brief Start DSP core.
76 */
77static inline void DSP_Start(void)
78{
79 SYSCTL0->DSPSTALL = 0x0;
80}
81
82/*!
83 * @brief Stop DSP core.
84 */
85static inline void DSP_Stop(void)
86{
87 SYSCTL0->DSPSTALL = 0x1;
88}
89
90#if defined(__cplusplus)
91}
92#endif
93
94/*! @} */
95
96#endif /* _FSL_RESET_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.c
new file mode 100644
index 000000000..f8845bacc
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.c
@@ -0,0 +1,222 @@
1/*
2 * Copyright 2018-2020 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 *
7 */
8
9#include "fsl_iap.h"
10
11/* Component ID definition, used by tools. */
12#ifndef FSL_COMPONENT_ID
13#define FSL_COMPONENT_ID "platform.drivers.iap"
14#endif
15
16/*!
17 * @addtogroup rom_api
18 * @{
19 */
20
21/*******************************************************************************
22 * Definitions
23 ******************************************************************************/
24/*! @brief FLEXSPI Flash driver API Interface */
25typedef struct
26{
27 uint32_t version;
28 status_t (*init)(uint32_t instance, flexspi_nor_config_t *config);
29 status_t (*page_program)(uint32_t instance, flexspi_nor_config_t *config, uint32_t dstAddr, const uint32_t *src);
30 status_t (*erase_all)(uint32_t instance, flexspi_nor_config_t *config);
31 status_t (*erase)(uint32_t instance, flexspi_nor_config_t *config, uint32_t start, uint32_t length);
32 status_t (*erase_sector)(uint32_t instance, flexspi_nor_config_t *config, uint32_t address);
33 status_t (*erase_block)(uint32_t instance, flexspi_nor_config_t *config, uint32_t address);
34 status_t (*get_config)(uint32_t instance, flexspi_nor_config_t *config, serial_nor_config_option_t *option);
35 status_t (*read)(uint32_t instance, flexspi_nor_config_t *config, uint32_t *dst, uint32_t start, uint32_t bytes);
36 status_t (*xfer)(uint32_t instance, flexspi_xfer_t *xfer);
37 status_t (*update_lut)(uint32_t instance, uint32_t seqIndex, const uint32_t *lutBase, uint32_t numberOfSeq);
38 status_t (*set_clock_source)(uint32_t clockSrc);
39 void (*config_clock)(uint32_t instance, uint32_t freqOption, uint32_t sampleClkMode);
40} flexspi_nor_flash_driver_t;
41
42/*! @brief OTP driver API Interface */
43typedef struct
44{
45 status_t (*init)(uint32_t src_clk_freq);
46 status_t (*deinit)(void);
47 status_t (*fuse_read)(uint32_t addr, uint32_t *data);
48 status_t (*fuse_program)(uint32_t addr, uint32_t data, bool lock);
49 status_t (*crc_calc)(uint32_t *src, uint32_t numberOfWords, uint32_t *crcChecksum);
50 status_t (*reload)(void);
51 status_t (*crc_check)(uint32_t start_addr, uint32_t end_addr, uint32_t crc_addr);
52} ocotp_driver_t;
53
54/*!
55 * @brief Root of the bootloader API tree.
56 *
57 * An instance of this struct resides in read-only memory in the bootloader. It
58 * provides a user application access to APIs exported by the bootloader.
59 *
60 * @note The order of existing fields must not be changed.
61 */
62typedef struct BootloaderTree
63{
64 void (*runBootloader)(iap_boot_option_t *arg); /*!< Function to start the bootloader executing. */
65 uint32_t version; /*!< Bootloader version number. */
66 const char *copyright; /*!< Copyright string. */
67 const uint32_t reserved0;
68 const uint32_t reserved1;
69 const uint32_t reserved2;
70 const uint32_t reserved3;
71 const flexspi_nor_flash_driver_t *flexspiNorDriver; /*!< FlexSPI NOR FLASH Driver API. */
72 const ocotp_driver_t *otpDriver; /*!< OTP driver API. */
73 const uint32_t reserved4;
74} bootloader_tree_t;
75
76/*******************************************************************************
77 * Definitions
78 ******************************************************************************/
79#define ROM_API_TREE ((uint32_t *)FSL_ROM_API_BASE_ADDR)
80#define BOOTLOADER_API_TREE_POINTER ((bootloader_tree_t *)ROM_API_TREE)
81
82/*! Get pointer to flexspi/otp driver API table in ROM. */
83#define FLEXSPI_API_TREE BOOTLOADER_API_TREE_POINTER->flexspiNorDriver
84#define OTP_API_TREE BOOTLOADER_API_TREE_POINTER->otpDriver
85
86/*******************************************************************************
87 * Variables
88 ******************************************************************************/
89
90/*******************************************************************************
91 * runBootloader API
92 ******************************************************************************/
93void IAP_RunBootLoader(iap_boot_option_t *option)
94{
95 BOOTLOADER_API_TREE_POINTER->runBootloader(option);
96}
97
98/*******************************************************************************
99 * FlexSPI NOR driver
100 ******************************************************************************/
101status_t IAP_FlexspiNorInit(uint32_t instance, flexspi_nor_config_t *config)
102{
103 return FLEXSPI_API_TREE->init(instance, config);
104}
105
106status_t IAP_FlexspiNorPageProgram(uint32_t instance,
107 flexspi_nor_config_t *config,
108 uint32_t dstAddr,
109 const uint32_t *src)
110{
111 return FLEXSPI_API_TREE->page_program(instance, config, dstAddr, src);
112}
113
114status_t IAP_FlexspiNorEraseAll(uint32_t instance, flexspi_nor_config_t *config)
115{
116 return FLEXSPI_API_TREE->erase_all(instance, config);
117}
118
119status_t IAP_FlexspiNorErase(uint32_t instance, flexspi_nor_config_t *config, uint32_t start, uint32_t length)
120{
121 return FLEXSPI_API_TREE->erase(instance, config, start, length);
122}
123
124status_t IAP_FlexspiNorEraseSector(uint32_t instance, flexspi_nor_config_t *config, uint32_t address)
125{
126 return FLEXSPI_API_TREE->erase_sector(instance, config, address);
127}
128
129status_t IAP_FlexspiNorEraseBlock(uint32_t instance, flexspi_nor_config_t *config, uint32_t address)
130{
131 return FLEXSPI_API_TREE->erase_block(instance, config, address);
132}
133
134status_t IAP_FlexspiNorGetConfig(uint32_t instance, flexspi_nor_config_t *config, serial_nor_config_option_t *option)
135{
136 return FLEXSPI_API_TREE->get_config(instance, config, option);
137}
138
139status_t IAP_FlexspiNorRead(
140 uint32_t instance, flexspi_nor_config_t *config, uint32_t *dst, uint32_t start, uint32_t bytes)
141{
142 return FLEXSPI_API_TREE->read(instance, config, dst, start, bytes);
143}
144
145status_t IAP_FlexspiXfer(uint32_t instance, flexspi_xfer_t *xfer)
146{
147 return FLEXSPI_API_TREE->xfer(instance, xfer);
148}
149
150status_t IAP_FlexspiUpdateLut(uint32_t instance, uint32_t seqIndex, const uint32_t *lutBase, uint32_t numberOfSeq)
151{
152 return FLEXSPI_API_TREE->update_lut(instance, seqIndex, lutBase, numberOfSeq);
153}
154
155status_t IAP_FlexspiSetClockSource(uint32_t clockSrc)
156{
157 return FLEXSPI_API_TREE->set_clock_source(clockSrc);
158}
159
160void IAP_FlexspiConfigClock(uint32_t instance, uint32_t freqOption, uint32_t sampleClkMode)
161{
162 FLEXSPI_API_TREE->config_clock(instance, freqOption, sampleClkMode);
163}
164
165AT_QUICKACCESS_SECTION_CODE(status_t IAP_FlexspiNorAutoConfig(uint32_t instance,
166 flexspi_nor_config_t *config,
167 serial_nor_config_option_t *option))
168{
169 /* Wait until the FLEXSPI is idle */
170 register uint32_t delaycnt = 10000u;
171 status_t status;
172
173 while ((delaycnt--) != 0U)
174 {
175 }
176
177 status = FLEXSPI_API_TREE->get_config(instance, config, option);
178 if (status == kStatus_Success)
179 {
180 status = FLEXSPI_API_TREE->init(instance, config);
181 }
182
183 return status;
184}
185
186/*******************************************************************************
187 * OTP driver
188 ******************************************************************************/
189status_t IAP_OtpInit(uint32_t src_clk_freq)
190{
191 return OTP_API_TREE->init(src_clk_freq);
192}
193
194status_t IAP_OtpDeinit(void)
195{
196 return OTP_API_TREE->deinit();
197}
198
199status_t IAP_OtpFuseRead(uint32_t addr, uint32_t *data)
200{
201 return OTP_API_TREE->fuse_read(addr, data);
202}
203
204status_t IAP_OtpFuseProgram(uint32_t addr, uint32_t data, bool lock)
205{
206 return OTP_API_TREE->fuse_program(addr, data, lock);
207}
208
209status_t IAP_OtpCrcCalc(uint32_t *src, uint32_t numberOfWords, uint32_t *crcChecksum)
210{
211 return OTP_API_TREE->crc_calc(src, numberOfWords, crcChecksum);
212}
213
214status_t IAP_OtpShadowRegisterReload(void)
215{
216 return OTP_API_TREE->reload();
217}
218
219status_t IAP_OtpCrcCheck(uint32_t start_addr, uint32_t end_addr, uint32_t crc_addr)
220{
221 return OTP_API_TREE->crc_check(start_addr, end_addr, crc_addr);
222}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.h
new file mode 100644
index 000000000..3726c9609
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_iap.h
@@ -0,0 +1,726 @@
1/*
2 * Copyright 2018-2020 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef __FSL_IAP_H_
9#define __FSL_IAP_H_
10
11#include "fsl_common.h"
12/*!
13 * @addtogroup IAP_driver
14 * @{
15 */
16
17/*! @file */
18
19/*******************************************************************************
20 * Definitions
21 ******************************************************************************/
22/*! @name Driver version */
23/*@{*/
24/*! @brief IAP driver version 2.1.1. */
25#define FSL_IAP_DRIVER_VERSION (MAKE_VERSION(2, 1, 1))
26/*@}*/
27
28/*!
29 * @addtogroup iap_flexspi_driver
30 * @{
31 */
32
33/*! @brief FlexSPI LUT command */
34#define NOR_CMD_INDEX_READ CMD_INDEX_READ /*!< 0 */
35#define NOR_CMD_INDEX_READSTATUS CMD_INDEX_READSTATUS /*!< 1 */
36#define NOR_CMD_INDEX_WRITEENABLE CMD_INDEX_WRITEENABLE /*!< 2 */
37#define NOR_CMD_INDEX_ERASESECTOR 3 /*!< 3 */
38#define NOR_CMD_INDEX_PAGEPROGRAM CMD_INDEX_WRITE /*!< 4 */
39#define NOR_CMD_INDEX_CHIPERASE 5 /*!< 5 */
40#define NOR_CMD_INDEX_DUMMY 6 /*!< 6 */
41#define NOR_CMD_INDEX_ERASEBLOCK 7 /*!< 7 */
42
43#define NOR_CMD_LUT_SEQ_IDX_READ \
44 CMD_LUT_SEQ_IDX_READ /*!< 0 READ LUT sequence id in lookupTable stored in config block */
45#define NOR_CMD_LUT_SEQ_IDX_READSTATUS \
46 CMD_LUT_SEQ_IDX_READSTATUS /*!< 1 Read Status LUT sequence id in lookupTable stored in config block */
47#define NOR_CMD_LUT_SEQ_IDX_READSTATUS_XPI \
48 2 /*!< 2 Read status DPI/QPI/OPI sequence id in lookupTable stored in config block */
49#define NOR_CMD_LUT_SEQ_IDX_WRITEENABLE \
50 CMD_LUT_SEQ_IDX_WRITEENABLE /*!< 3 Write Enable sequence id in lookupTable stored in config block */
51#define NOR_CMD_LUT_SEQ_IDX_WRITEENABLE_XPI \
52 4 /*!< 4 Write Enable DPI/QPI/OPI sequence id in lookupTable stored in config block */
53#define NOR_CMD_LUT_SEQ_IDX_ERASESECTOR 5 /*!< 5 Erase Sector sequence id in lookupTable stored in config block */
54#define NOR_CMD_LUT_SEQ_IDX_ERASEBLOCK 8 /*!< 8 Erase Block sequence id in lookupTable stored in config block */
55#define NOR_CMD_LUT_SEQ_IDX_PAGEPROGRAM \
56 CMD_LUT_SEQ_IDX_WRITE /*!< 9 Program sequence id in lookupTable stored in config block */
57#define NOR_CMD_LUT_SEQ_IDX_CHIPERASE 11 /*!< 11 Chip Erase sequence in lookupTable id stored in config block */
58#define NOR_CMD_LUT_SEQ_IDX_READ_SFDP 13 /*!< 13 Read SFDP sequence in lookupTable id stored in config block */
59#define NOR_CMD_LUT_SEQ_IDX_RESTORE_NOCMD \
60 14 /*!< 14 Restore 0-4-4/0-8-8 mode sequence id in lookupTable stored in config block */
61#define NOR_CMD_LUT_SEQ_IDX_EXIT_NOCMD \
62 15 /*!< 15 Exit 0-4-4/0-8-8 mode sequence id in lookupTable stored in config blobk */
63
64/*!
65 * @name FlexSPI status.
66 * @{
67 */
68/*! @brief FlexSPI Driver status group. */
69enum
70{
71 kStatusGroup_FlexSPI = 60,
72 kStatusGroup_FlexSPINOR = 201,
73};
74
75/*! @brief FlexSPI Driver status. */
76enum _flexspi_status
77{
78 kStatus_FLEXSPI_Success = MAKE_STATUS(kStatusGroup_Generic, 0), /*!< API is executed successfully*/
79 kStatus_FLEXSPI_Fail = MAKE_STATUS(kStatusGroup_Generic, 1), /*!< API is executed fails*/
80 kStatus_FLEXSPI_InvalidArgument = MAKE_STATUS(kStatusGroup_Generic, 4), /*!< Invalid argument*/
81 kStatus_FLEXSPI_SequenceExecutionTimeout =
82 MAKE_STATUS(kStatusGroup_FlexSPI, 0), /*!< The FlexSPI Sequence Execution timeout*/
83 kStatus_FLEXSPI_InvalidSequence = MAKE_STATUS(kStatusGroup_FlexSPI, 1), /*!< The FlexSPI LUT sequence invalid*/
84 kStatus_FLEXSPI_DeviceTimeout = MAKE_STATUS(kStatusGroup_FlexSPI, 2), /*!< The FlexSPI device timeout*/
85 kStatus_FLEXSPINOR_ProgramFail =
86 MAKE_STATUS(kStatusGroup_FlexSPINOR, 0), /*!< Status for Page programming failure */
87 kStatus_FLEXSPINOR_EraseSectorFail =
88 MAKE_STATUS(kStatusGroup_FlexSPINOR, 1), /*!< Status for Sector Erase failure */
89 kStatus_FLEXSPINOR_EraseAllFail = MAKE_STATUS(kStatusGroup_FlexSPINOR, 2), /*!< Status for Chip Erase failure */
90 kStatus_FLEXSPINOR_WaitTimeout = MAKE_STATUS(kStatusGroup_FlexSPINOR, 3), /*!< Status for timeout */
91 kStatus_FLEXSPINOR_NotSupported = MAKE_STATUS(kStatusGroup_FlexSPINOR, 4), /* Status for PageSize overflow */
92 kStatus_FLEXSPINOR_WriteAlignmentError =
93 MAKE_STATUS(kStatusGroup_FlexSPINOR, 5), /*!< Status for Alignement error */
94 kStatus_FLEXSPINOR_CommandFailure =
95 MAKE_STATUS(kStatusGroup_FlexSPINOR, 6), /*!< Status for Erase/Program Verify Error */
96 kStatus_FLEXSPINOR_SFDP_NotFound = MAKE_STATUS(kStatusGroup_FlexSPINOR, 7), /*!< Status for SFDP read failure */
97 kStatus_FLEXSPINOR_Unsupported_SFDP_Version =
98 MAKE_STATUS(kStatusGroup_FlexSPINOR, 8), /*!< Status for Unrecognized SFDP version */
99 kStatus_FLEXSPINOR_Flash_NotFound =
100 MAKE_STATUS(kStatusGroup_FlexSPINOR, 9), /*!< Status for Flash detection failure */
101 kStatus_FLEXSPINOR_DTRRead_DummyProbeFailed =
102 MAKE_STATUS(kStatusGroup_FlexSPINOR, 10), /*!< Status for DDR Read dummy probe failure */
103};
104/*! @} */
105
106/*! @brief Flash Configuration Option0 device_type. */
107enum
108{
109 kSerialNorCfgOption_Tag = 0x0c,
110 kSerialNorCfgOption_DeviceType_ReadSFDP_SDR = 0,
111 kSerialNorCfgOption_DeviceType_ReadSFDP_DDR = 1,
112 kSerialNorCfgOption_DeviceType_HyperFLASH1V8 = 2,
113 kSerialNorCfgOption_DeviceType_HyperFLASH3V0 = 3,
114 kSerialNorCfgOption_DeviceType_MacronixOctalDDR = 4,
115 kSerialNorCfgOption_DeviceType_MacronixOctalSDR = 5, /* For RT600 devcies only. */
116 kSerialNorCfgOption_DeviceType_MicronOctalDDR = 6,
117 kSerialNorCfgOption_DeviceType_MicronOctalSDR = 7, /* For RT600 devcies only. */
118 kSerialNorCfgOption_DeviceType_AdestoOctalDDR = 8,
119 kSerialNorCfgOption_DeviceType_AdestoOctalSDR = 9, /* For RT600 devcies only. */
120};
121
122/*! @brief Flash Configuration Option0 quad_mode_setting. */
123enum
124{
125 kSerialNorQuadMode_NotConfig = 0,
126 kSerialNorQuadMode_StatusReg1_Bit6 = 1,
127 kSerialNorQuadMode_StatusReg2_Bit1 = 2,
128 kSerialNorQuadMode_StatusReg2_Bit7 = 3,
129 kSerialNorQuadMode_StatusReg2_Bit1_0x31 = 4,
130};
131
132/*! @brief Flash Configuration Option0 misc_mode. */
133enum
134{
135 kSerialNorEnhanceMode_Disabled = 0,
136 kSerialNorEnhanceMode_0_4_4_Mode = 1,
137 kSerialNorEnhanceMode_0_8_8_Mode = 2,
138 kSerialNorEnhanceMode_DataOrderSwapped = 3,
139 kSerialNorEnhanceMode_2ndPinMux = 4,
140};
141
142/*! @brief FLEXSPI_RESET_PIN boot configurations in OTP */
143enum
144{
145 kFlashResetLogic_Disabled = 0,
146 kFlashResetLogic_ResetPin = 1,
147 kFlashResetLogic_JedecHwReset = 2,
148};
149
150/*! @brief Flash Configuration Option1 flash_connection. */
151enum
152{
153 kSerialNorConnection_SinglePortA,
154 kSerialNorConnection_Parallel,
155 kSerialNorConnection_SinglePortB,
156 kSerialNorConnection_BothPorts
157};
158
159/*! @brief Serial NOR Configuration Option */
160typedef struct _serial_nor_config_option
161{
162 union
163 {
164 struct
165 {
166 uint32_t max_freq : 4; /*!< Maximum supported Frequency */
167 uint32_t misc_mode : 4; /*!< miscellaneous mode */
168 uint32_t quad_mode_setting : 4; /*!< Quad mode setting */
169 uint32_t cmd_pads : 4; /*!< Command pads */
170 uint32_t query_pads : 4; /*!< SFDP read pads */
171 uint32_t device_type : 4; /*!< Device type */
172 uint32_t option_size : 4; /*!< Option size, in terms of uint32_t, size = (option_size + 1) * 4 */
173 uint32_t tag : 4; /*!< Tag, must be 0x0E */
174 } B;
175 uint32_t U;
176 } option0;
177
178 union
179 {
180 struct
181 {
182 uint32_t dummy_cycles : 8; /*!< Dummy cycles before read */
183 uint32_t status_override : 8; /*!< Override status register value during device mode configuration */
184 uint32_t pinmux_group : 4; /*!< The pinmux group selection */
185 uint32_t dqs_pinmux_group : 4; /*!< The DQS Pinmux Group Selection */
186 uint32_t drive_strength : 4; /*!< The Drive Strength of FlexSPI Pads */
187 uint32_t flash_connection : 4; /*!< Flash connection option: 0 - Single Flash connected to port A, 1 - */
188 /*! Parallel mode, 2 - Single Flash connected to Port B */
189 } B;
190 uint32_t U;
191 } option1;
192
193} serial_nor_config_option_t;
194
195/*! @brief Flash Run Context */
196typedef union
197{
198 struct
199 {
200 uint8_t por_mode;
201 uint8_t current_mode;
202 uint8_t exit_no_cmd_sequence;
203 uint8_t restore_sequence;
204 } B;
205 uint32_t U;
206} flash_run_context_t;
207
208/*!@brief Flash Device Mode Configuration Sequence */
209enum
210{
211 kRestoreSequence_None = 0,
212 kRestoreSequence_HW_Reset = 1,
213 kRestoreSequence_4QPI_FF = 2,
214 kRestoreSequence_5QPI_FF = 3,
215 kRestoreSequence_8QPI_FF = 4,
216 kRestoreSequence_Send_F0 = 5,
217 kRestoreSequence_Send_66_99 = 6,
218 kRestoreSequence_Send_6699_9966 = 7,
219 kRestoreSequence_Send_06_FF = 8, /* Adesto EcoXIP */
220};
221
222/*!@brief Flash Config Mode Definition */
223enum
224{
225 kFlashInstMode_ExtendedSpi = 0x00,
226 kFlashInstMode_0_4_4_SDR = 0x01,
227 kFlashInstMode_0_4_4_DDR = 0x02,
228 kFlashInstMode_QPI_SDR = 0x41,
229 kFlashInstMode_QPI_DDR = 0x42,
230 kFlashInstMode_OPI_SDR = 0x81, /* For RT600 devices only. */
231 kFlashInstMode_OPI_DDR = 0x82,
232};
233
234/*!@brief Flash Device Type Definition */
235enum
236{
237 kFlexSpiDeviceType_SerialNOR = 1, /*!< Flash devices are Serial NOR */
238 kFlexSpiDeviceType_SerialNAND = 2, /*!< Flash devices are Serial NAND */
239 kFlexSpiDeviceType_SerialRAM = 3, /*!< Flash devices are Serial RAM/HyperFLASH */
240 kFlexSpiDeviceType_MCP_NOR_NAND = 0x12, /*!< Flash device is MCP device, A1 is Serial NOR, A2 is Serial NAND */
241 kFlexSpiDeviceType_MCP_NOR_RAM = 0x13, /*!< Flash deivce is MCP device, A1 is Serial NOR, A2 is Serial RAMs */
242};
243
244/*!@brief Flash Pad Definitions */
245enum
246{
247 kSerialFlash_1Pad = 1,
248 kSerialFlash_2Pads = 2,
249 kSerialFlash_4Pads = 4,
250 kSerialFlash_8Pads = 8,
251};
252
253/*!@brief FlexSPI LUT Sequence structure */
254typedef struct _lut_sequence
255{
256 uint8_t seqNum; /*!< Sequence Number, valid number: 1-16 */
257 uint8_t seqId; /*!< Sequence Index, valid number: 0-15 */
258 uint16_t reserved;
259} flexspi_lut_seq_t;
260
261/*!@brief Flash Configuration Command Type */
262enum
263{
264 kDeviceConfigCmdType_Generic, /*!< Generic command, for example: configure dummy cycles, drive strength, etc */
265 kDeviceConfigCmdType_QuadEnable, /*!< Quad Enable command */
266 kDeviceConfigCmdType_Spi2Xpi, /*!< Switch from SPI to DPI/QPI/OPI mode */
267 kDeviceConfigCmdType_Xpi2Spi, /*!< Switch from DPI/QPI/OPI to SPI mode */
268 kDeviceConfigCmdType_Spi2NoCmd, /*!< Switch to 0-4-4/0-8-8 mode */
269 kDeviceConfigCmdType_Reset, /*!< Reset device command */
270};
271
272/*!@brief FlexSPI Dll Time Block */
273typedef struct
274{
275 uint8_t time_100ps; /* Data valid time, in terms of 100ps */
276 uint8_t delay_cells; /* Data valid time, in terms of delay cells */
277} flexspi_dll_time_t;
278
279/*!@brief FlexSPI Memory Configuration Block */
280typedef struct _FlexSPIConfig
281{
282 uint32_t tag; /*!< [0x000-0x003] Tag, fixed value 0x42464346UL */
283 uint32_t version; /*!< [0x004-0x007] Version,[31:24] -'V', [23:16] - Major, [15:8] - Minor, [7:0] - bugfix */
284 uint32_t reserved0; /*!< [0x008-0x00b] Reserved for future use */
285 uint8_t readSampleClkSrc; /*!< [0x00c-0x00c] Read Sample Clock Source, valid value: 0/1/3 */
286 uint8_t csHoldTime; /*!< [0x00d-0x00d] CS hold time, default value: 3 */
287 uint8_t csSetupTime; /*!< [0x00e-0x00e] CS setup time, default value: 3 */
288 uint8_t columnAddressWidth; /*!< [0x00f-0x00f] Column Address with, for HyperBus protocol, it is fixed to 3, For */
289 /*! Serial NAND, need to refer to datasheet */
290 uint8_t deviceModeCfgEnable; /*!< [0x010-0x010] Device Mode Configure enable flag, 1 - Enable, 0 - Disable */
291 uint8_t
292 deviceModeType; /*!< [0x011-0x011] Specify the configuration command type:Quad Enable, DPI/QPI/OPI switch, */
293 /*! Generic configuration, etc. */
294 uint16_t waitTimeCfgCommands; /*!< [0x012-0x013] Wait time for all configuration commands, unit: 100us, Used for */
295 /*! DPI/QPI/OPI switch or reset command */
296 flexspi_lut_seq_t
297 deviceModeSeq; /*!< [0x014-0x017] Device mode sequence info, [7:0] - LUT sequence id, [15:8] - LUt */
298 /*! sequence number, [31:16] Reserved */
299 uint32_t deviceModeArg; /*!< [0x018-0x01b] Argument/Parameter for device configuration */
300 uint8_t configCmdEnable; /*!< [0x01c-0x01c] Configure command Enable Flag, 1 - Enable, 0 - Disable */
301 uint8_t configModeType[3]; /*!< [0x01d-0x01f] Configure Mode Type, similar as deviceModeTpe */
302 flexspi_lut_seq_t
303 configCmdSeqs[3]; /*!< [0x020-0x02b] Sequence info for Device Configuration command, similar as deviceModeSeq */
304 uint32_t reserved1; /*!< [0x02c-0x02f] Reserved for future use */
305 uint32_t configCmdArgs[3]; /*!< [0x030-0x03b] Arguments/Parameters for device Configuration commands */
306 uint32_t reserved2; /*!< [0x03c-0x03f] Reserved for future use */
307 uint32_t
308 controllerMiscOption; /*!< [0x040-0x043] Controller Misc Options, see Misc feature bit definitions for more */
309 /*! details */
310 uint8_t deviceType; /*!< [0x044-0x044] Device Type: See Flash Type Definition for more details */
311 uint8_t sflashPadType; /*!< [0x045-0x045] Serial Flash Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal */
312 uint8_t serialClkFreq; /*!< [0x046-0x046] Serial Flash Frequencey, device specific definitions, See System Boot */
313 /*! Chapter for more details */
314 uint8_t
315 lutCustomSeqEnable; /*!< [0x047-0x047] LUT customization Enable, it is required if the program/erase cannot */
316 /*! be done using 1 LUT sequence, currently, only applicable to HyperFLASH */
317 uint32_t reserved3[2]; /*!< [0x048-0x04f] Reserved for future use */
318 uint32_t sflashA1Size; /*!< [0x050-0x053] Size of Flash connected to A1 */
319 uint32_t sflashA2Size; /*!< [0x054-0x057] Size of Flash connected to A2 */
320 uint32_t sflashB1Size; /*!< [0x058-0x05b] Size of Flash connected to B1 */
321 uint32_t sflashB2Size; /*!< [0x05c-0x05f] Size of Flash connected to B2 */
322 uint32_t csPadSettingOverride; /*!< [0x060-0x063] CS pad setting override value */
323 uint32_t sclkPadSettingOverride; /*!< [0x064-0x067] SCK pad setting override value */
324 uint32_t dataPadSettingOverride; /*!< [0x068-0x06b] data pad setting override value */
325 uint32_t dqsPadSettingOverride; /*!< [0x06c-0x06f] DQS pad setting override value */
326 uint32_t timeoutInMs; /*!< [0x070-0x073] Timeout threshold for read status command */
327 uint32_t commandInterval; /*!< [0x074-0x077] CS deselect interval between two commands */
328 flexspi_dll_time_t dataValidTime[2]; /*!< [0x078-0x07b] CLK edge to data valid time for PORT A and PORT B */
329 uint16_t busyOffset; /*!< [0x07c-0x07d] Busy offset, valid value: 0-31 */
330 uint16_t
331 busyBitPolarity; /*!< [0x07e-0x07f] Busy flag polarity, 0 - busy flag is 1 when flash device is busy, 1 - */
332 /*! busy flag is 0 when flash device is busy */
333 uint32_t lookupTable[64]; /*!< [0x080-0x17f] Lookup table holds Flash command sequences */
334 flexspi_lut_seq_t lutCustomSeq[12]; /*!< [0x180-0x1af] Customizable LUT Sequences */
335 uint32_t reserved4[4]; /*!< [0x1b0-0x1bf] Reserved for future use */
336} flexspi_mem_config_t;
337
338/*!@brief FlexSPI Operation Type */
339typedef enum _FlexSPIOperationType
340{
341 kFlexSpiOperation_Command = 0, /*!< FlexSPI operation: Only command, both TX and */
342 /*! RX buffer are ignored. */
343 kFlexSpiOperation_Config = 1, /*!< FlexSPI operation: Configure device mode, the */
344 /*! TX FIFO size is fixed in LUT. */
345 kFlexSpiOperation_Write = 2, /*!< FlexSPI operation: Write, only TX buffer is */
346 /*! effective */
347 kFlexSpiOperation_Read = 3, /*!< FlexSPI operation: Read, only Rx Buffer is */
348 /*! effective. */
349 kFlexSpiOperation_End = kFlexSpiOperation_Read,
350} flexspi_operation_t;
351
352/*!@brief FlexSPI Transfer Context */
353typedef struct _FlexSpiXfer
354{
355 flexspi_operation_t operation; /*!< FlexSPI operation */
356 uint32_t baseAddress; /*!< FlexSPI operation base address */
357 uint32_t seqId; /*!< Sequence Id */
358 uint32_t seqNum; /*!< Sequence Number */
359 bool isParallelModeEnable; /*!< Is a parallel transfer */
360 uint32_t *txBuffer; /*!< Tx buffer */
361 uint32_t txSize; /*!< Tx size in bytes */
362 uint32_t *rxBuffer; /*!< Rx buffer */
363 uint32_t rxSize; /*!< Rx size in bytes */
364} flexspi_xfer_t;
365
366/*!@brief Serial NOR configuration block */
367typedef struct _flexspi_nor_config
368{
369 flexspi_mem_config_t memConfig; /*!< Common memory configuration info via FlexSPI */
370 uint32_t pageSize; /*!< Page size of Serial NOR */
371 uint32_t sectorSize; /*!< Sector size of Serial NOR */
372 uint8_t ipcmdSerialClkFreq; /*!< Clock frequency for IP command */
373 uint8_t isUniformBlockSize; /*!< Sector/Block size is the same */
374 uint8_t isDataOrderSwapped; /*!< Data order (D0, D1, D2, D3) is swapped (D1,D0, D3, D2) */
375 uint8_t reserved0[1]; /*!< Reserved for future use */
376 uint8_t serialNorType; /*!< Serial NOR Flash type: 0/1/2/3 */
377 uint8_t needExitNoCmdMode; /*!< Need to exit NoCmd mode before other IP command */
378 uint8_t halfClkForNonReadCmd; /*!< Half the Serial Clock for non-read command: true/false */
379 uint8_t needRestoreNoCmdMode; /*!< Need to Restore NoCmd mode after IP commmand execution */
380 uint32_t blockSize; /*!< Block size */
381 uint32_t flashStateCtx; /*!< Flash State Context */
382 uint32_t reserve2[10]; /*!< Reserved for future use */
383} flexspi_nor_config_t;
384/*! @} */
385
386/*!
387 * @addtogroup iap_otp_driver
388 * @{
389 */
390
391/*! @brief OTP Status Group */
392enum
393{
394 kStatusGroup_OtpGroup = 0x210,
395};
396
397/*! @brief OTP Error Status definitions */
398enum
399{
400 kStatus_OTP_InvalidAddress = MAKE_STATUS(kStatusGroup_OtpGroup, 1), /*!< Invalid OTP address */
401 kStatus_OTP_ProgramFail = MAKE_STATUS(kStatusGroup_OtpGroup, 2), /*!< Program Fail */
402 kStatus_OTP_CrcFail = MAKE_STATUS(kStatusGroup_OtpGroup, 3), /*!< CrcCheck Fail */
403 kStatus_OTP_Error = MAKE_STATUS(kStatusGroup_OtpGroup, 4), /*!< Errors happened during OTP operation */
404 kStatus_OTP_EccCheckFail = MAKE_STATUS(kStatusGroup_OtpGroup, 5), /*!< Ecc Check failed during OTP operation */
405 kStatus_OTP_Locked = MAKE_STATUS(kStatusGroup_OtpGroup, 6), /*!< OTP Fuse field has been locked */
406 kStatus_OTP_Timeout = MAKE_STATUS(kStatusGroup_OtpGroup, 7), /*!< OTP operation time out */
407 kStatus_OTP_CrcCheckPass = MAKE_STATUS(kStatusGroup_OtpGroup, 8), /*!< OTP CRC Check Pass */
408};
409/*! @} */
410
411/*!
412 * @addtogroup iap_boot_driver
413 * @{
414 */
415
416/*! @brief IAP boot option. */
417typedef struct _iap_boot_option
418{
419 union
420 {
421 struct
422 {
423 uint32_t reserved : 8; /*! reserved field. */
424 uint32_t bootImageIndex : 4; /*! FlexSPI boot image index for FlexSPI NOR flash. */
425 uint32_t instance : 4; /*! Only used when boot interface is FlexSPI/SD/MMC. */
426 uint32_t bootInterface : 4; /*! RT500: 0: USART 2: SPI 3: USB HID 4:FlexSPI 6:SD 7:MMC.
427 RT600: 0: USART 1: I2C 2: SPI 3: USB HID 4:FlexSPI 7:SD 8:MMC*/
428 uint32_t mode : 4; /* boot mode, 0: Master boot mode; 1: ISP boot */
429 uint32_t tag : 8; /*! tag, should always be "0xEB". */
430 } B;
431 uint32_t U;
432 } option;
433} iap_boot_option_t;
434
435/*! IAP boot option tag */
436#define IAP_BOOT_OPTION_TAG (0xEBU)
437/*! IAP boot option mode */
438#define IAP_BOOT_OPTION_MODE_MASTER (0U)
439#define IAP_BOOT_OPTION_MODE_ISP (1U)
440
441/*! @} */
442
443/*******************************************************************************
444 * API
445 ******************************************************************************/
446#if defined(__cplusplus)
447extern "C" {
448#endif
449
450/*!
451 * @addtogroup iap_boot_driver
452 * @{
453 */
454
455/*!
456 * @brief Invoke into ROM with specified boot parameters.
457 *
458 * @param option Boot parameters. Refer to #iap_boot_option_t.
459 */
460void IAP_RunBootLoader(iap_boot_option_t *option);
461/*! @} */
462
463/*!
464 * @addtogroup iap_flexspi_driver
465 * @{
466 */
467
468/*!
469 * @brief Initialize Serial NOR devices via FlexSPI.
470 *
471 * This function configures the FlexSPI controller with the arguments pointed by param config.
472 *
473 * @param instance FlexSPI controller instance, only support 0.
474 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
475 * @return The status flags. This is a member of the
476 * enumeration ::_flexspi_status
477 */
478status_t IAP_FlexspiNorInit(uint32_t instance, flexspi_nor_config_t *config);
479
480/*!
481 * @brief Program data to Serial NOR via FlexSPI.
482 *
483 * This function Program data to specified destination address.
484 *
485 * @param instance FlexSPI controller instance, only support 0.
486 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
487 * @param dstAddr The destination address to be programmed.
488 * @param src Points to the buffer which hold the data to be programmed.
489 * @return The status flags. This is a member of the
490 * enumeration ::_flexspi_status
491 */
492status_t IAP_FlexspiNorPageProgram(uint32_t instance,
493 flexspi_nor_config_t *config,
494 uint32_t dstAddr,
495 const uint32_t *src);
496
497/*!
498 * @brief Erase all the Serial NOR devices connected on FlexSPI.
499 *
500 * @param instance FlexSPI controller instance, only support 0.
501 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
502 * @return The status flags. This is a member of the
503 * enumeration ::_flexspi_status
504 */
505status_t IAP_FlexspiNorEraseAll(uint32_t instance, flexspi_nor_config_t *config);
506
507/*!
508 * @brief Erase Flash Region specified by address and length.
509 *
510 * @param instance FlexSPI controller instance, only support 0.
511 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
512 * @param start The start address to be erased.
513 * @param length The length to be erased.
514 * @return The status flags. This is a member of the
515 * enumeration ::_flexspi_status
516 */
517status_t IAP_FlexspiNorErase(uint32_t instance, flexspi_nor_config_t *config, uint32_t start, uint32_t length);
518
519/*!
520 * @brief Erase one sector specified by address.
521 *
522 * @param instance FlexSPI controller instance, only support 0.
523 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
524 * @param address The address of the sector to be erased.
525 * @return The status flags. This is a member of the
526 * enumeration ::_flexspi_status
527 */
528status_t IAP_FlexspiNorEraseSector(uint32_t instance, flexspi_nor_config_t *config, uint32_t address);
529
530/*!
531 * @brief Erase one block specified by address.
532 *
533 * @param instance FlexSPI controller instance, only support 0.
534 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
535 * @param address The address of the block to be erased.
536 * @return The status flags. This is a member of the
537 * enumeration ::_flexspi_status
538 */
539status_t IAP_FlexspiNorEraseBlock(uint32_t instance, flexspi_nor_config_t *config, uint32_t address);
540
541/*!
542 * @brief Get FlexSPI NOR Configuration Block based on specified option.
543 *
544 * @param instance FlexSPI controller instance, only support 0.
545 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
546 * @param option The Flash Configuration Option block. Refer to #serial_nor_config_option_t.
547 * @return The status flags. This is a member of the
548 * enumeration ::_flexspi_status
549 */
550status_t IAP_FlexspiNorGetConfig(uint32_t instance, flexspi_nor_config_t *config, serial_nor_config_option_t *option);
551
552/*!
553 * @brief Read data from Flexspi NOR Flash.
554 *
555 * @param instance FlexSPI controller instance, only support 0.
556 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
557 * @param dst Buffer address used to store the read data.
558 * @param start The Read address.
559 * @param bytes The Read size
560 * @return The status flags. This is a member of the
561 * enumeration ::_flexspi_status
562 */
563status_t IAP_FlexspiNorRead(
564 uint32_t instance, flexspi_nor_config_t *config, uint32_t *dst, uint32_t start, uint32_t bytes);
565
566/*!
567 * @brief Get FlexSPI Xfer data.
568 *
569 * @param instance FlexSPI controller instance, only support 0.
570 * @param xfer The FlexSPI Transfer Context block. Refer to #flexspi_xfer_t.
571 * @return The status flags. This is a member of the
572 * enumeration ::_flexspi_status
573 */
574status_t IAP_FlexspiXfer(uint32_t instance, flexspi_xfer_t *xfer);
575
576/*!
577 * @brief Update FlexSPI Lookup table.
578 *
579 * @param instance FlexSPI controller instance, only support 0.
580 * @param seqIndex The index of FlexSPI LUT to be updated.
581 * @param lutBase Points to the buffer which hold the LUT data to be programmed.
582 * @param numberOfSeq The number of LUT seq that need to be updated.
583 * @return The status flags. This is a member of the
584 * enumeration ::_flexspi_status
585 */
586status_t IAP_FlexspiUpdateLut(uint32_t instance, uint32_t seqIndex, const uint32_t *lutBase, uint32_t numberOfSeq);
587
588/*!
589 * @brief Set the clock source for FlexSPI.
590 *
591 * @param clockSrc Clock source for flexspi interface.
592 * @return The status flags. This is a member of the
593 * enumeration ::_flexspi_status
594 */
595status_t IAP_FlexspiSetClockSource(uint32_t clockSrc);
596
597/*!
598 * @brief Configure the flexspi interface clock frequency and data sample mode.
599 *
600 * @param instance FlexSPI controller instance, only support 0.
601 * @param freqOption FlexSPI interface clock frequency selection.
602 * @param sampleClkMode FlexSPI controller data sample mode.
603 * @return The status flags. This is a member of the
604 * enumeration ::_flexspi_status
605 */
606void IAP_FlexspiConfigClock(uint32_t instance, uint32_t freqOption, uint32_t sampleClkMode);
607
608/*!
609 * @brief Configure flexspi nor automatically.
610 *
611 * @param instance FlexSPI controller instance, only support 0.
612 * @param config The Flash configuration block. Refer to #flexspi_nor_config_t.
613 * @param option The Flash Configuration Option block. Refer to #serial_nor_config_option_t.
614 * @return The status flags. This is a member of the
615 * enumeration ::_flexspi_status
616 */
617#if defined(DOXYGEN_OUTPUT) && DOXYGEN_OUTPUT
618status_t IAP_FlexspiNorAutoConfig(uint32_t instance, flexspi_nor_config_t *config, serial_nor_config_option_t *option);
619#else
620AT_QUICKACCESS_SECTION_CODE(status_t IAP_FlexspiNorAutoConfig(uint32_t instance,
621 flexspi_nor_config_t *config,
622 serial_nor_config_option_t *option));
623#endif
624/*! @} */
625
626/*!
627 * @addtogroup iap_otp_driver
628 * @{
629 */
630
631/*!
632 * @brief Initialize OTP controller
633 *
634 * This function enables OTP Controller clock.
635 *
636 * @param src_clk_freq The Frequency of the source clock of OTP controller
637 * @return kStatus_Success
638 */
639status_t IAP_OtpInit(uint32_t src_clk_freq);
640
641/*!
642 * @brief De-Initialize OTP controller
643 *
644 * This functin disables OTP Controller Clock.
645 * @return kStatus_Success
646 */
647status_t IAP_OtpDeinit(void);
648
649/*!
650 * @brief Read Fuse value from OTP Fuse Block
651 *
652 * This function read fuse data from OTP Fuse block to specified data buffer.
653 *
654 * @param addr Fuse address
655 * @param data Buffer to hold the data read from OTP Fuse block
656 * @return kStatus_Success - Data read from OTP Fuse block successfully
657 * kStatus_InvalidArgument - data pointer is invalid
658 * kStatus_OTP_EccCheckFail - Ecc Check Failed
659 * kStatus_OTP_Error - Other Errors
660 */
661status_t IAP_OtpFuseRead(uint32_t addr, uint32_t *data);
662
663/*!
664 * @brief Program value to OTP Fuse block
665 *
666 * This function program data to specified OTP Fuse address.
667 *
668 * @param addr Fuse address
669 * @param data data to be programmed into OTP Fuse block
670 * @param lock lock the fuse field or not
671 * @return kStatus_Success - Data has been programmed into OTP Fuse block successfully
672 * kStatus_OTP_ProgramFail - Fuse programming failed
673 * kStatus_OTP_Locked - The address to be programmed into is locked
674 * kStatus_OTP_Error - Other Errors
675 */
676status_t IAP_OtpFuseProgram(uint32_t addr, uint32_t data, bool lock);
677
678/*!
679 * @brief Reload all shadow registers from OTP fuse block
680 *
681 * This function reloads all the shadow registers from OTP Fuse block
682 *
683 * @return kStatus_Success - Shadow registers' reloadding succeeded.
684 * kStatus_OTP_EccCheckFail - Ecc Check Failed
685 * kStatus_OTP_Error - Other Errors
686 */
687status_t IAP_OtpShadowRegisterReload(void);
688
689/*!
690 * @brief Do CRC Check via OTP controller
691 *
692 * This function checks whether data in specified fuse address ranges match the crc value in the specified CRC address
693 * and return the actual crc value as needed.
694 *
695 * @param start_addr Start address of selected Fuse address range
696 * @param end_addr End address of selected Fuse address range
697 * @param crc_addr Address that hold CRC data
698 *
699 * @return kStatus_Success CRC check succeeded, CRC value matched.
700 * kStatus_InvalidArgument - Invalid Argument
701 * kStatus_OTP_EccCheckFail Ecc Check Failed
702 * kStatus_OTP_CrcFail CRC Check Failed
703 */
704status_t IAP_OtpCrcCheck(uint32_t start_addr, uint32_t end_addr, uint32_t crc_addr);
705
706/*!
707 * @brief Calculate the CRC checksum for specified data for OTP
708 *
709 * This function calculates the CRC checksum for specified data for OTP
710 *
711 * @param src the source address of data
712 * @param numberOfWords number of Fuse words
713 * @param crcChecksum Buffer to store the CRC checksum
714 *
715 * @return kStatus_Success CRC checksum is computed successfully.
716 * kStatus_InvalidArgument - Invalid Argument
717 */
718status_t IAP_OtpCrcCalc(uint32_t *src, uint32_t numberOfWords, uint32_t *crcChecksum);
719/*! @} */
720#if defined(__cplusplus)
721}
722#endif
723
724/*! @}*/
725
726#endif /* __FSL_IAP_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_inputmux_connections.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_inputmux_connections.h
new file mode 100644
index 000000000..8578ed239
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_inputmux_connections.h
@@ -0,0 +1,540 @@
1/*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2016-2019, NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _FSL_INPUTMUX_CONNECTIONS_
10#define _FSL_INPUTMUX_CONNECTIONS_
11
12/*******************************************************************************
13 * Definitions
14 ******************************************************************************/
15/* Component ID definition, used by tools. */
16#ifndef FSL_COMPONENT_ID
17#define FSL_COMPONENT_ID "platform.drivers.inputmux_connections"
18#endif
19
20/*!
21 * @addtogroup inputmux_driver
22 * @{
23 */
24
25/*! @brief Periphinmux IDs */
26#define SCT0_PMUX_ID 0x00U
27#define SHSGPIO_PMUX_ID 0x80U
28#define PINTSEL_PMUX_ID 0x100U
29#define DSP_INT_PMUX_ID 0x140U
30#define DMA0_ITRIG_PMUX_ID 0x200U
31#define DMA0_OTRIG_PMUX_ID 0x300U
32#define DMA1_ITRIG_PMUX_ID 0x400U
33#define DMA1_OTRIG_PMUX_ID 0x500U
34#define CT32BIT0_CAP_PMUX_ID 0x600U
35#define CT32BIT1_CAP_PMUX_ID 0x610U
36#define CT32BIT2_CAP_PMUX_ID 0x620U
37#define CT32BIT3_CAP_PMUX_ID 0x630U
38#define CT32BIT4_CAP_PMUX_ID 0x640U
39#define FREQMEAS_PMUX_ID 0x700U
40#define DMA0_REQ_ENA0_ID 0x740U
41#define DMA1_REQ_ENA0_ID 0x760U
42#define DMA0_ITRIG_EN0_ID 0x780U
43#define DMA1_ITRIG_EN0_ID 0x7A0U
44#define ENA_SHIFT 8U
45#define PMUX_SHIFT 20U
46
47/*! @brief INPUTMUX connections type */
48typedef enum _inputmux_connection_t
49{
50 /*!< SCT INMUX. */
51 kINPUTMUX_Sct0PinInp0ToSct0 = 0U + (SCT0_PMUX_ID << PMUX_SHIFT),
52 kINPUTMUX_Sct0PinInp1ToSct0 = 1U + (SCT0_PMUX_ID << PMUX_SHIFT),
53 kINPUTMUX_Sct0PinInp2ToSct0 = 2U + (SCT0_PMUX_ID << PMUX_SHIFT),
54 kINPUTMUX_Sct0PinInp3ToSct0 = 3U + (SCT0_PMUX_ID << PMUX_SHIFT),
55 kINPUTMUX_Sct0PinInp4ToSct0 = 4U + (SCT0_PMUX_ID << PMUX_SHIFT),
56 kINPUTMUX_Sct0PinInp5ToSct0 = 5U + (SCT0_PMUX_ID << PMUX_SHIFT),
57 kINPUTMUX_Sct0PinInp6ToSct0 = 6U + (SCT0_PMUX_ID << PMUX_SHIFT),
58 kINPUTMUX_Sct0PinInp7ToSct0 = 7U + (SCT0_PMUX_ID << PMUX_SHIFT),
59 kINPUTMUX_Ctimer0Mat0ToSct0 = 8U + (SCT0_PMUX_ID << PMUX_SHIFT),
60 kINPUTMUX_Ctimer1Mat0ToSct0 = 9U + (SCT0_PMUX_ID << PMUX_SHIFT),
61 kINPUTMUX_Ctimer2Mat0ToSct0 = 10U + (SCT0_PMUX_ID << PMUX_SHIFT),
62 kINPUTMUX_Ctimer3Mat0ToSct0 = 11U + (SCT0_PMUX_ID << PMUX_SHIFT),
63 kINPUTMUX_Ctimer4Mat0ToSct0 = 12U + (SCT0_PMUX_ID << PMUX_SHIFT),
64 kINPUTMUX_AdcIrqToSct0 = 13U + (SCT0_PMUX_ID << PMUX_SHIFT),
65 kINPUTMUX_GpioIntBmatchToSct0 = 14U + (SCT0_PMUX_ID << PMUX_SHIFT),
66 kINPUTMUX_Usb1FrameToggleToSct0 = 15U + (SCT0_PMUX_ID << PMUX_SHIFT),
67 kINPUTMUX_Cmp0OutToSct0 = 16U + (SCT0_PMUX_ID << PMUX_SHIFT),
68 kINPUTMUX_SharedI2s0SclkToSct0 = 17U + (SCT0_PMUX_ID << PMUX_SHIFT),
69 kINPUTMUX_SharedI2s1SclkToSct0 = 18U + (SCT0_PMUX_ID << PMUX_SHIFT),
70 kINPUTMUX_SharedI2s0WsToSct0 = 19U + (SCT0_PMUX_ID << PMUX_SHIFT),
71 kINPUTMUX_SharedI2s1WsToSct0 = 20U + (SCT0_PMUX_ID << PMUX_SHIFT),
72 kINPUTMUX_MclkToSct0 = 21U + (SCT0_PMUX_ID << PMUX_SHIFT),
73 kINPUTMUX_ArmTxevToSct0 = 22U + (SCT0_PMUX_ID << PMUX_SHIFT),
74 kINPUTMUX_DebugHaltedToSct0 = 23U + (SCT0_PMUX_ID << PMUX_SHIFT),
75
76 /*!< Pin Interrupt. */
77 kINPUTMUX_GpioPort0Pin0ToPintsel = 0U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
78 kINPUTMUX_GpioPort0Pin1ToPintsel = 1U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
79 kINPUTMUX_GpioPort0Pin2ToPintsel = 2U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
80 kINPUTMUX_GpioPort0Pin3ToPintsel = 3U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
81 kINPUTMUX_GpioPort0Pin4ToPintsel = 4U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
82 kINPUTMUX_GpioPort0Pin5ToPintsel = 5U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
83 kINPUTMUX_GpioPort0Pin6ToPintsel = 6U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
84 kINPUTMUX_GpioPort0Pin7ToPintsel = 7U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
85 kINPUTMUX_GpioPort0Pin8ToPintsel = 8U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
86 kINPUTMUX_GpioPort0Pin9ToPintsel = 9U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
87 kINPUTMUX_GpioPort0Pin10ToPintsel = 10U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
88 kINPUTMUX_GpioPort0Pin11ToPintsel = 11U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
89 kINPUTMUX_GpioPort0Pin12ToPintsel = 12U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
90 kINPUTMUX_GpioPort0Pin13ToPintsel = 13U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
91 kINPUTMUX_GpioPort0Pin14ToPintsel = 14U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
92 kINPUTMUX_GpioPort0Pin15ToPintsel = 15U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
93 kINPUTMUX_GpioPort0Pin16ToPintsel = 16U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
94 kINPUTMUX_GpioPort0Pin17ToPintsel = 17U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
95 kINPUTMUX_GpioPort0Pin18ToPintsel = 18U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
96 kINPUTMUX_GpioPort0Pin19ToPintsel = 19U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
97 kINPUTMUX_GpioPort0Pin20ToPintsel = 20U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
98 kINPUTMUX_GpioPort0Pin21ToPintsel = 21U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
99 kINPUTMUX_GpioPort0Pin22ToPintsel = 22U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
100 kINPUTMUX_GpioPort0Pin23ToPintsel = 23U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
101 kINPUTMUX_GpioPort0Pin24ToPintsel = 24U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
102 kINPUTMUX_GpioPort0Pin25ToPintsel = 25U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
103 kINPUTMUX_GpioPort0Pin26ToPintsel = 26U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
104 kINPUTMUX_GpioPort0Pin27ToPintsel = 27U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
105 kINPUTMUX_GpioPort0Pin28ToPintsel = 28U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
106 kINPUTMUX_GpioPort0Pin29ToPintsel = 29U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
107 kINPUTMUX_GpioPort0Pin30ToPintsel = 30U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
108 kINPUTMUX_GpioPort0Pin31ToPintsel = 31U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
109 kINPUTMUX_GpioPort1Pin0ToPintsel = 32U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
110 kINPUTMUX_GpioPort1Pin1ToPintsel = 33U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
111 kINPUTMUX_GpioPort1Pin2ToPintsel = 34U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
112 kINPUTMUX_GpioPort1Pin3ToPintsel = 35U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
113 kINPUTMUX_GpioPort1Pin4ToPintsel = 36U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
114 kINPUTMUX_GpioPort1Pin5ToPintsel = 37U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
115 kINPUTMUX_GpioPort1Pin6ToPintsel = 38U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
116 kINPUTMUX_GpioPort1Pin7ToPintsel = 39U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
117 kINPUTMUX_GpioPort1Pin8ToPintsel = 40U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
118 kINPUTMUX_GpioPort1Pin9ToPintsel = 41U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
119 kINPUTMUX_GpioPort1Pin10ToPintsel = 42U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
120 kINPUTMUX_GpioPort1Pin11ToPintsel = 43U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
121 kINPUTMUX_GpioPort1Pin12ToPintsel = 44U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
122 kINPUTMUX_GpioPort1Pin13ToPintsel = 45U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
123 kINPUTMUX_GpioPort1Pin14ToPintsel = 46U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
124 kINPUTMUX_GpioPort1Pin15ToPintsel = 47U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
125 kINPUTMUX_GpioPort1Pin16ToPintsel = 48U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
126 kINPUTMUX_GpioPort1Pin17ToPintsel = 49U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
127 kINPUTMUX_GpioPort1Pin18ToPintsel = 50U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
128 kINPUTMUX_GpioPort1Pin19ToPintsel = 51U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
129 kINPUTMUX_GpioPort1Pin20ToPintsel = 52U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
130 kINPUTMUX_GpioPort1Pin21ToPintsel = 53U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
131 kINPUTMUX_GpioPort1Pin22ToPintsel = 54U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
132 kINPUTMUX_GpioPort1Pin23ToPintsel = 55U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
133 kINPUTMUX_GpioPort1Pin24ToPintsel = 56U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
134 kINPUTMUX_GpioPort1Pin25ToPintsel = 57U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
135 kINPUTMUX_GpioPort1Pin26ToPintsel = 58U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
136 kINPUTMUX_GpioPort1Pin27ToPintsel = 59U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
137 kINPUTMUX_GpioPort1Pin28ToPintsel = 60U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
138 kINPUTMUX_GpioPort1Pin29ToPintsel = 61U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
139 kINPUTMUX_GpioPort1Pin30ToPintsel = 62U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
140 kINPUTMUX_GpioPort1Pin31ToPintsel = 63U + (PINTSEL_PMUX_ID << PMUX_SHIFT),
141
142 /*!< DSP Interrupt. */
143 kINPUTMUX_Flexcomm0ToDspInterrupt = 0U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
144 kINPUTMUX_Flexcomm1ToDspInterrupt = 1U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
145 kINPUTMUX_Flexcomm2ToDspInterrupt = 2U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
146 kINPUTMUX_Flexcomm3ToDspInterrupt = 3U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
147 kINPUTMUX_Flexcomm4ToDspInterrupt = 4U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
148 kINPUTMUX_Flexcomm5ToDspInterrupt = 5U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
149 kINPUTMUX_Flexcomm6ToDspInterrupt = 6U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
150 kINPUTMUX_Flexcomm7ToDspInterrupt = 7U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
151 kINPUTMUX_GpioInt0ToDspInterrupt = 8U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
152 kINPUTMUX_GpioInt1ToDspInterrupt = 9U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
153 kINPUTMUX_GpioInt2ToDspInterrupt = 10U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
154 kINPUTMUX_GpioInt3ToDspInterrupt = 11U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
155 kINPUTMUX_GpioInt4ToDspInterrupt = 12U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
156 kINPUTMUX_GpioInt5ToDspInterrupt = 13U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
157 kINPUTMUX_GpioInt6ToDspInterrupt = 14U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
158 kINPUTMUX_GpioInt7ToDspInterrupt = 15U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
159 kINPUTMUX_NsHsGpioInt0ToDspInterrupt = 16U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
160 kINPUTMUX_NsHsGpioInt1ToDspInterrupt = 17U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
161 kINPUTMUX_Wdt1ToDspInterrupt = 18U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
162 kINPUTMUX_Dmac0ToDspInterrupt = 19U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
163 kINPUTMUX_Dmac1ToDspInterrupt = 20U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
164 kINPUTMUX_MuBToDspInterrupt = 21U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
165 kINPUTMUX_Utick0ToDspInterrupt = 22U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
166 kINPUTMUX_Mrt0ToDspInterrupt = 23U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
167 kINPUTMUX_OsEventTimerToDspInterrupt = 24U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
168 kINPUTMUX_Ctimer0ToDspInterrupt = 25U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
169 kINPUTMUX_Ctimer1ToDspInterrupt = 26U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
170 kINPUTMUX_Ctimer2ToDspInterrupt = 27U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
171 kINPUTMUX_Ctimer3ToDspInterrupt = 28U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
172 kINPUTMUX_Ctimer4ToDspInterrupt = 29U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
173 kINPUTMUX_RtcToDspInterrupt = 30U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
174 kINPUTMUX_I3c0ToDspInterrupt = 31U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
175 kINPUTMUX_Dmic0ToDspInterrupt = 32U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
176 kINPUTMUX_Hwvad0ToDspInterrupt = 33U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
177 kINPUTMUX_FlexspiToDspInterrupt = 34U + (DSP_INT_PMUX_ID << PMUX_SHIFT),
178
179 /*!< Frequency measure. */
180 kINPUTMUX_XtalinToFreqmeas = 0U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
181 kINPUTMUX_SfroToFreqmeas = 1U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
182 kINPUTMUX_FfroToFreqmeas = 2U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
183 kINPUTMUX_LposcToFreqmeas = 3U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
184 kINPUTMUX_Rtc32KhzOscToFreqmeas = 4U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
185 kINPUTMUX_MainSysClkToFreqmeas = 5U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
186 kINPUTMUX_FreqmeGpioClkToFreqmeas = 6U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
187
188 /*!< CTmier0 capture input mux. */
189 kINPUTMUX_CtInp0ToTimer0CaptureChannels = 0U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
190 kINPUTMUX_CtInp1ToTimer0CaptureChannels = 1U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
191 kINPUTMUX_CtInp2ToTimer0CaptureChannels = 2U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
192 kINPUTMUX_CtInp3ToTimer0CaptureChannels = 3U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
193 kINPUTMUX_CtInp4ToTimer0CaptureChannels = 4U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
194 kINPUTMUX_CtInp5ToTimer0CaptureChannels = 5U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
195 kINPUTMUX_CtInp6ToTimer0CaptureChannels = 6U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
196 kINPUTMUX_CtInp7ToTimer0CaptureChannels = 7U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
197 kINPUTMUX_CtInp8ToTimer0CaptureChannels = 8U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
198 kINPUTMUX_CtInp9ToTimer0CaptureChannels = 9U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
199 kINPUTMUX_CtInp10ToTimer0CaptureChannels = 10U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
200 kINPUTMUX_CtInp11ToTimer0CaptureChannels = 11U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
201 kINPUTMUX_CtInp12ToTimer0CaptureChannels = 12U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
202 kINPUTMUX_CtInp13ToTimer0CaptureChannels = 13U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
203 kINPUTMUX_CtInp14ToTimer0CaptureChannels = 14U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
204 kINPUTMUX_CtInp15ToTimer0CaptureChannels = 15U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
205 kINPUTMUX_SharedI2s0WsToTimer0CaptureChannels = 16U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
206 kINPUTMUX_SharedI2s1WsToTimer0CaptureChannels = 17U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
207 kINPUTMUX_Usb1FrameToggleToTimer0CaptureChannels = 18U + (CT32BIT0_CAP_PMUX_ID << PMUX_SHIFT),
208
209 /*!< CTmier1 capture input mux. */
210 kINPUTMUX_CtInp0ToTimer1CaptureChannels = 0U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
211 kINPUTMUX_CtInp1ToTimer1CaptureChannels = 1U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
212 kINPUTMUX_CtInp2ToTimer1CaptureChannels = 2U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
213 kINPUTMUX_CtInp3ToTimer1CaptureChannels = 3U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
214 kINPUTMUX_CtInp4ToTimer1CaptureChannels = 4U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
215 kINPUTMUX_CtInp5ToTimer1CaptureChannels = 5U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
216 kINPUTMUX_CtInp6ToTimer1CaptureChannels = 6U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
217 kINPUTMUX_CtInp7ToTimer1CaptureChannels = 7U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
218 kINPUTMUX_CtInp8ToTimer1CaptureChannels = 8U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
219 kINPUTMUX_CtInp9ToTimer1CaptureChannels = 9U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
220 kINPUTMUX_CtInp10ToTimer1CaptureChannels = 10U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
221 kINPUTMUX_CtInp11ToTimer1CaptureChannels = 11U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
222 kINPUTMUX_CtInp12ToTimer1CaptureChannels = 12U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
223 kINPUTMUX_CtInp13ToTimer1CaptureChannels = 13U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
224 kINPUTMUX_CtInp14ToTimer1CaptureChannels = 14U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
225 kINPUTMUX_CtInp15ToTimer1CaptureChannels = 15U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
226 kINPUTMUX_SharedI2s0WsToTimer1CaptureChannels = 16U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
227 kINPUTMUX_SharedI2s1WsToTimer1CaptureChannels = 17U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
228 kINPUTMUX_Usb1FrameToggleToTimer1CaptureChannels = 18U + (CT32BIT1_CAP_PMUX_ID << PMUX_SHIFT),
229
230 /*!< CTmier2 capture input mux. */
231 kINPUTMUX_CtInp0ToTimer2CaptureChannels = 0U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
232 kINPUTMUX_CtInp1ToTimer2CaptureChannels = 1U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
233 kINPUTMUX_CtInp2ToTimer2CaptureChannels = 2U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
234 kINPUTMUX_CtInp3ToTimer2CaptureChannels = 3U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
235 kINPUTMUX_CtInp4ToTimer2CaptureChannels = 4U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
236 kINPUTMUX_CtInp5ToTimer2CaptureChannels = 5U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
237 kINPUTMUX_CtInp6ToTimer2CaptureChannels = 6U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
238 kINPUTMUX_CtInp7ToTimer2CaptureChannels = 7U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
239 kINPUTMUX_CtInp8ToTimer2CaptureChannels = 8U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
240 kINPUTMUX_CtInp9ToTimer2CaptureChannels = 9U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
241 kINPUTMUX_CtInp10ToTimer2CaptureChannels = 10U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
242 kINPUTMUX_CtInp11ToTimer2CaptureChannels = 11U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
243 kINPUTMUX_CtInp12ToTimer2CaptureChannels = 12U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
244 kINPUTMUX_CtInp13ToTimer2CaptureChannels = 13U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
245 kINPUTMUX_CtInp14ToTimer2CaptureChannels = 14U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
246 kINPUTMUX_CtInp15ToTimer2CaptureChannels = 15U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
247 kINPUTMUX_SharedI2s0WsToTimer2CaptureChannels = 16U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
248 kINPUTMUX_SharedI2s1WsToTimer2CaptureChannels = 17U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
249 kINPUTMUX_Usb1FrameToggleToTimer2CaptureChannels = 18U + (CT32BIT2_CAP_PMUX_ID << PMUX_SHIFT),
250
251 /*!< CTmier3 capture input mux. */
252 kINPUTMUX_CtInp0ToTimer3CaptureChannels = 0U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
253 kINPUTMUX_CtInp1ToTimer3CaptureChannels = 1U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
254 kINPUTMUX_CtInp2ToTimer3CaptureChannels = 2U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
255 kINPUTMUX_CtInp3ToTimer3CaptureChannels = 3U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
256 kINPUTMUX_CtInp4ToTimer3CaptureChannels = 4U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
257 kINPUTMUX_CtInp5ToTimer3CaptureChannels = 5U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
258 kINPUTMUX_CtInp6ToTimer3CaptureChannels = 6U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
259 kINPUTMUX_CtInp7ToTimer3CaptureChannels = 7U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
260 kINPUTMUX_CtInp8ToTimer3CaptureChannels = 8U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
261 kINPUTMUX_CtInp9ToTimer3CaptureChannels = 9U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
262 kINPUTMUX_CtInp10ToTimer3CaptureChannels = 10U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
263 kINPUTMUX_CtInp11ToTimer3CaptureChannels = 11U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
264 kINPUTMUX_CtInp12ToTimer3CaptureChannels = 12U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
265 kINPUTMUX_CtInp13ToTimer3CaptureChannels = 13U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
266 kINPUTMUX_CtInp14ToTimer3CaptureChannels = 14U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
267 kINPUTMUX_CtInp15ToTimer3CaptureChannels = 15U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
268 kINPUTMUX_SharedI2s0WsToTimer3CaptureChannels = 16U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
269 kINPUTMUX_SharedI2s1WsToTimer3CaptureChannels = 17U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
270 kINPUTMUX_Usb1FrameToggleToTimer3CaptureChannels = 18U + (CT32BIT3_CAP_PMUX_ID << PMUX_SHIFT),
271
272 /*!< CTmier4 capture input mux. */
273 kINPUTMUX_CtInp0ToTimer4CaptureChannels = 0U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
274 kINPUTMUX_CtInp1ToTimer4CaptureChannels = 1U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
275 kINPUTMUX_CtInp2ToTimer4CaptureChannels = 2U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
276 kINPUTMUX_CtInp3ToTimer4CaptureChannels = 3U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
277 kINPUTMUX_CtInp4ToTimer4CaptureChannels = 4U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
278 kINPUTMUX_CtInp5ToTimer4CaptureChannels = 5U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
279 kINPUTMUX_CtInp6ToTimer4CaptureChannels = 6U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
280 kINPUTMUX_CtInp7ToTimer4CaptureChannels = 7U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
281 kINPUTMUX_CtInp8ToTimer4CaptureChannels = 8U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
282 kINPUTMUX_CtInp9ToTimer4CaptureChannels = 9U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
283 kINPUTMUX_CtInp10ToTimer4CaptureChannels = 10U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
284 kINPUTMUX_CtInp11ToTimer4CaptureChannels = 11U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
285 kINPUTMUX_CtInp12ToTimer4CaptureChannels = 12U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
286 kINPUTMUX_CtInp13ToTimer4CaptureChannels = 13U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
287 kINPUTMUX_CtInp14ToTimer4CaptureChannels = 14U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
288 kINPUTMUX_CtInp15ToTimer4CaptureChannels = 15U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
289 kINPUTMUX_SharedI2s0WsToTimer4CaptureChannels = 16U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
290 kINPUTMUX_SharedI2s1WsToTimer4CaptureChannels = 17U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
291 kINPUTMUX_Usb1FrameToggleToTimer4CaptureChannels = 18U + (CT32BIT4_CAP_PMUX_ID << PMUX_SHIFT),
292
293 /*!< DMA0 ITRIG. */
294 kINPUTMUX_NsGpioPint0Int0ToDma0 = 0U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
295 kINPUTMUX_NsGpioPint0Int1ToDma0 = 1U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
296 kINPUTMUX_NsGpioPint0Int2ToDma0 = 2U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
297 kINPUTMUX_NsGpioPint0Int3ToDma0 = 3U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
298 kINPUTMUX_Ctimer0M0ToDma0 = 4U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
299 kINPUTMUX_Ctimer0M1ToDma0 = 5U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
300 kINPUTMUX_Ctimer1M0ToDma0 = 6U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
301 kINPUTMUX_Ctimer1M1ToDma0 = 7U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
302 kINPUTMUX_Ctimer2M0ToDma0 = 8U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
303 kINPUTMUX_Ctimer2M1ToDma0 = 9U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
304 kINPUTMUX_Ctimer3M0ToDma0 = 10U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
305 kINPUTMUX_Ctimer3M1ToDma0 = 11U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
306 kINPUTMUX_Ctimer4M0ToDma0 = 12U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
307 kINPUTMUX_Ctimer4M1ToDma0 = 13U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
308 kINPUTMUX_Dma0TrigOutAToDma0 = 14U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
309 kINPUTMUX_Dma0TrigOutBToDma0 = 15U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
310 kINPUTMUX_Dma0TrigOutCToDma0 = 16U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
311 kINPUTMUX_Dma0TrigOutDToDma0 = 17U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
312 kINPUTMUX_Sct0Dmac0ToDma0 = 18U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
313 kINPUTMUX_Sct0Dmac1ToDma0 = 19U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
314 kINPUTMUX_HashCryptOutToDma0 = 20U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
315 kINPUTMUX_AcmpToDma0 = 21U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
316 kINPUTMUX_AdcToDma0 = 24U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
317 kINPUTMUX_FlexspiRxToDma0 = 28U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
318 kINPUTMUX_FlexspiTxToDma0 = 29U + (DMA0_ITRIG_PMUX_ID << PMUX_SHIFT),
319
320 /*!< DMA1 ITRIG. */
321 kINPUTMUX_NsGpioPint0Int0ToDma1 = 0U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
322 kINPUTMUX_NsGpioPint0Int1ToDma1 = 1U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
323 kINPUTMUX_NsGpioPint0Int2ToDma1 = 2U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
324 kINPUTMUX_NsGpioPint0Int3ToDma1 = 3U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
325 kINPUTMUX_Ctimer0M0ToDma1 = 4U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
326 kINPUTMUX_Ctimer0M1ToDma1 = 5U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
327 kINPUTMUX_Ctimer1M0ToDma1 = 6U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
328 kINPUTMUX_Ctimer1M1ToDma1 = 7U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
329 kINPUTMUX_Ctimer2M0ToDma1 = 8U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
330 kINPUTMUX_Ctimer2M1ToDma1 = 9U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
331 kINPUTMUX_Ctimer3M0ToDma1 = 10U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
332 kINPUTMUX_Ctimer3M1ToDma1 = 11U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
333 kINPUTMUX_Ctimer4M0ToDma1 = 12U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
334 kINPUTMUX_Ctimer4M1ToDma1 = 13U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
335 kINPUTMUX_Dma1TrigOutAToDma1 = 14U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
336 kINPUTMUX_Dma1TrigOutBToDma1 = 15U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
337 kINPUTMUX_Dma1TrigOutCToDma1 = 16U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
338 kINPUTMUX_Dma1TrigOutDToDma1 = 17U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
339 kINPUTMUX_Sct0Dmac0ToDma1 = 18U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
340 kINPUTMUX_Sct0Dmac1ToDma1 = 19U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
341 kINPUTMUX_HashCryptOutToDma1 = 20U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
342 kINPUTMUX_AcmpToDma1 = 21U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
343 kINPUTMUX_AdcToDma1 = 24U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
344 kINPUTMUX_FlexspiRxToDma1 = 28U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
345 kINPUTMUX_FlexspiTxToDma1 = 29U + (DMA1_ITRIG_PMUX_ID << PMUX_SHIFT),
346
347 /*!< DMA0 OTRIG. */
348 kINPUTMUX_Dma0OtrigChannel0ToTriginChannels = 0U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
349 kINPUTMUX_Dma0OtrigChannel1ToTriginChannels = 1U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
350 kINPUTMUX_Dma0OtrigChannel2ToTriginChannels = 2U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
351 kINPUTMUX_Dma0OtrigChannel3ToTriginChannels = 3U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
352 kINPUTMUX_Dma0OtrigChannel4ToTriginChannels = 4U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
353 kINPUTMUX_Dma0OtrigChannel5ToTriginChannels = 5U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
354 kINPUTMUX_Dma0OtrigChannel6ToTriginChannels = 6U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
355 kINPUTMUX_Dma0OtrigChannel7ToTriginChannels = 7U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
356 kINPUTMUX_Dma0OtrigChannel8ToTriginChannels = 8U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
357 kINPUTMUX_Dma0OtrigChannel9ToTriginChannels = 9U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
358 kINPUTMUX_Dma0OtrigChannel10ToTriginChannels = 10U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
359 kINPUTMUX_Dma0OtrigChannel11ToTriginChannels = 11U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
360 kINPUTMUX_Dma0OtrigChannel12ToTriginChannels = 12U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
361 kINPUTMUX_Dma0OtrigChannel13ToTriginChannels = 13U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
362 kINPUTMUX_Dma0OtrigChannel14ToTriginChannels = 14U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
363 kINPUTMUX_Dma0OtrigChannel15ToTriginChannels = 15U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
364 kINPUTMUX_Dma0OtrigChannel16ToTriginChannels = 16U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
365 kINPUTMUX_Dma0OtrigChannel17ToTriginChannels = 17U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
366 kINPUTMUX_Dma0OtrigChannel18ToTriginChannels = 18U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
367 kINPUTMUX_Dma0OtrigChannel19ToTriginChannels = 19U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
368 kINPUTMUX_Dma0OtrigChannel20ToTriginChannels = 20U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
369 kINPUTMUX_Dma0OtrigChannel21ToTriginChannels = 21U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
370 kINPUTMUX_Dma0OtrigChannel22ToTriginChannels = 22U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
371 kINPUTMUX_Dma0OtrigChannel23ToTriginChannels = 23U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
372 kINPUTMUX_Dma0OtrigChannel24ToTriginChannels = 24U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
373 kINPUTMUX_Dma0OtrigChannel25ToTriginChannels = 25U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
374 kINPUTMUX_Dma0OtrigChannel26ToTriginChannels = 26U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
375 kINPUTMUX_Dma0OtrigChannel27ToTriginChannels = 27U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
376 kINPUTMUX_Dma0OtrigChannel28ToTriginChannels = 28U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
377 kINPUTMUX_Dma0OtrigChannel29ToTriginChannels = 29U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
378 kINPUTMUX_Dma0OtrigChannel30ToTriginChannels = 30U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
379 kINPUTMUX_Dma0OtrigChannel31ToTriginChannels = 31U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
380 kINPUTMUX_Dma0OtrigChannel32ToTriginChannels = 32U + (DMA0_OTRIG_PMUX_ID << PMUX_SHIFT),
381
382 /*!< DMA1 OTRIG. */
383 kINPUTMUX_Dma1OtrigChannel0ToTriginChannels = 0U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
384 kINPUTMUX_Dma1OtrigChannel1ToTriginChannels = 1U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
385 kINPUTMUX_Dma1OtrigChannel2ToTriginChannels = 2U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
386 kINPUTMUX_Dma1OtrigChannel3ToTriginChannels = 3U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
387 kINPUTMUX_Dma1OtrigChannel4ToTriginChannels = 4U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
388 kINPUTMUX_Dma1OtrigChannel5ToTriginChannels = 5U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
389 kINPUTMUX_Dma1OtrigChannel6ToTriginChannels = 6U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
390 kINPUTMUX_Dma1OtrigChannel7ToTriginChannels = 7U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
391 kINPUTMUX_Dma1OtrigChannel8ToTriginChannels = 8U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
392 kINPUTMUX_Dma1OtrigChannel9ToTriginChannels = 9U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
393 kINPUTMUX_Dma1OtrigChannel10ToTriginChannels = 10U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
394 kINPUTMUX_Dma1OtrigChannel11ToTriginChannels = 11U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
395 kINPUTMUX_Dma1OtrigChannel12ToTriginChannels = 12U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
396 kINPUTMUX_Dma1OtrigChannel13ToTriginChannels = 13U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
397 kINPUTMUX_Dma1OtrigChannel14ToTriginChannels = 14U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
398 kINPUTMUX_Dma1OtrigChannel15ToTriginChannels = 15U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
399 kINPUTMUX_Dma1OtrigChannel16ToTriginChannels = 16U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
400 kINPUTMUX_Dma1OtrigChannel17ToTriginChannels = 17U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
401 kINPUTMUX_Dma1OtrigChannel18ToTriginChannels = 18U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
402 kINPUTMUX_Dma1OtrigChannel19ToTriginChannels = 19U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
403 kINPUTMUX_Dma1OtrigChannel20ToTriginChannels = 20U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
404 kINPUTMUX_Dma1OtrigChannel21ToTriginChannels = 21U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
405 kINPUTMUX_Dma1OtrigChannel22ToTriginChannels = 22U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
406 kINPUTMUX_Dma1OtrigChannel23ToTriginChannels = 23U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
407 kINPUTMUX_Dma1OtrigChannel24ToTriginChannels = 24U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
408 kINPUTMUX_Dma1OtrigChannel25ToTriginChannels = 25U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
409 kINPUTMUX_Dma1OtrigChannel26ToTriginChannels = 26U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
410 kINPUTMUX_Dma1OtrigChannel27ToTriginChannels = 27U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
411 kINPUTMUX_Dma1OtrigChannel28ToTriginChannels = 28U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
412 kINPUTMUX_Dma1OtrigChannel29ToTriginChannels = 29U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
413 kINPUTMUX_Dma1OtrigChannel30ToTriginChannels = 30U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
414 kINPUTMUX_Dma1OtrigChannel31ToTriginChannels = 31U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
415 kINPUTMUX_Dma1OtrigChannel32ToTriginChannels = 32U + (DMA1_OTRIG_PMUX_ID << PMUX_SHIFT),
416} inputmux_connection_t;
417/*! @brief INPUTMUX signal enable/disable type */
418typedef enum _inputmux_signal_t
419{
420 /*!< DMA0 input trigger source enable. */
421 kINPUTMUX_Dmac0InputTriggerPint0Ena = 0U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
422 kINPUTMUX_Dmac0InputTriggerPint1Ena = 1U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
423 kINPUTMUX_Dmac0InputTriggerPint2Ena = 2U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
424 kINPUTMUX_Dmac0InputTriggerPint3Ena = 3U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
425 kINPUTMUX_Dmac0InputTriggerCtimer0M0Ena = 4U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
426 kINPUTMUX_Dmac0InputTriggerCtimer0M1Ena = 5U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
427 kINPUTMUX_Dmac0InputTriggerCtimer1M0Ena = 6U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
428 kINPUTMUX_Dmac0InputTriggerCtimer1M1Ena = 7U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
429 kINPUTMUX_Dmac0InputTriggerCtimer2M0Ena = 8U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
430 kINPUTMUX_Dmac0InputTriggerCtimer2M1Ena = 9U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
431 kINPUTMUX_Dmac0InputTriggerCtimer3M0Ena = 10U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
432 kINPUTMUX_Dmac0InputTriggerCtimer3M1Ena = 11U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
433 kINPUTMUX_Dmac0InputTriggerCtimer4M0Ena = 12U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
434 kINPUTMUX_Dmac0InputTriggerCtimer4M1Ena = 13U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
435 kINPUTMUX_Dmac0InputTriggerDma0OutAEna = 14U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
436 kINPUTMUX_Dmac0InputTriggerDma0OutBEna = 15U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
437 kINPUTMUX_Dmac0InputTriggerDma0OutCEna = 16U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
438 kINPUTMUX_Dmac0InputTriggerDma0OutDEna = 17U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
439 kINPUTMUX_Dmac0InputTriggerSctDmac0Ena = 18U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
440 kINPUTMUX_Dmac0InputTriggerSctDmac1Ena = 19U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
441 kINPUTMUX_Dmac0InputTriggerHashOutEna = 20U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
442 kINPUTMUX_Dmac0InputTriggerAcmpEna = 21U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
443 kINPUTMUX_Dmac0InputTriggerAdcEna = 24U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
444 kINPUTMUX_Dmac0InputTriggerFlexspiRxEna = 28U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
445 kINPUTMUX_Dmac0InputTriggerFlexspiTxEna = 29U + (DMA0_ITRIG_EN0_ID << ENA_SHIFT),
446
447 /*!< DMA1 input trigger source enable. */
448 kINPUTMUX_Dmac1InputTriggerPint0Ena = 0U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
449 kINPUTMUX_Dmac1InputTriggerPint1Ena = 1U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
450 kINPUTMUX_Dmac1InputTriggerPint2Ena = 2U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
451 kINPUTMUX_Dmac1InputTriggerPint3Ena = 3U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
452 kINPUTMUX_Dmac1InputTriggerCtimer0M0Ena = 4U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
453 kINPUTMUX_Dmac1InputTriggerCtimer0M1Ena = 5U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
454 kINPUTMUX_Dmac1InputTriggerCtimer1M0Ena = 6U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
455 kINPUTMUX_Dmac1InputTriggerCtimer1M1Ena = 7U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
456 kINPUTMUX_Dmac1InputTriggerCtimer2M0Ena = 8U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
457 kINPUTMUX_Dmac1InputTriggerCtimer2M1Ena = 9U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
458 kINPUTMUX_Dmac1InputTriggerCtimer3M0Ena = 10U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
459 kINPUTMUX_Dmac1InputTriggerCtimer3M1Ena = 11U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
460 kINPUTMUX_Dmac1InputTriggerCtimer4M0Ena = 12U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
461 kINPUTMUX_Dmac1InputTriggerCtimer4M1Ena = 13U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
462 kINPUTMUX_Dmac1InputTriggerDma1OutAEna = 14U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
463 kINPUTMUX_Dmac1InputTriggerDma1OutBEna = 15U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
464 kINPUTMUX_Dmac1InputTriggerDma1OutCEna = 16U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
465 kINPUTMUX_Dmac1InputTriggerDma1OutDEna = 17U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
466 kINPUTMUX_Dmac1InputTriggerSctDmac0Ena = 18U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
467 kINPUTMUX_Dmac1InputTriggerSctDmac1Ena = 19U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
468 kINPUTMUX_Dmac1InputTriggerHashOutEna = 20U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
469 kINPUTMUX_Dmac1InputTriggerAcmpEna = 21U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
470 kINPUTMUX_Dmac1InputTriggerAdcEna = 24U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
471 kINPUTMUX_Dmac1InputTriggerFlexspiRxEna = 28U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
472 kINPUTMUX_Dmac1InputTriggerFlexspiTxEna = 29U + (DMA1_ITRIG_EN0_ID << ENA_SHIFT),
473
474 /*!< DMA0 REQ signal. */
475 kINPUTMUX_Flexcomm0RxToDmac0Ch0RequestEna = 0U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
476 kINPUTMUX_Flexcomm0TxToDmac0Ch1RequestEna = 1U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
477 kINPUTMUX_Flexcomm1RxToDmac0Ch2RequestEna = 2U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
478 kINPUTMUX_Flexcomm1TxToDmac0Ch3RequestEna = 3U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
479 kINPUTMUX_Flexcomm2RxToDmac0Ch4RequestEna = 4U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
480 kINPUTMUX_Flexcomm2TxToDmac0Ch5RequestEna = 5U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
481 kINPUTMUX_Flexcomm3RxToDmac0Ch6RequestEna = 6U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
482 kINPUTMUX_Flexcomm3TxToDmac0Ch7RequestEna = 7U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
483 kINPUTMUX_Flexcomm4RxToDmac0Ch8RequestEna = 8U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
484 kINPUTMUX_Flexcomm4TxToDmac0Ch9RequestEna = 9U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
485 kINPUTMUX_Flexcomm5RxToDmac0Ch10RequestEna = 10U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
486 kINPUTMUX_Flexcomm5TxToDmac0Ch11RequestEna = 11U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
487 kINPUTMUX_Flexcomm6RxToDmac0Ch12RequestEna = 12U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
488 kINPUTMUX_Flexcomm6TxToDmac0Ch13RequestEna = 13U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
489 kINPUTMUX_Flexcomm7RxToDmac0Ch14RequestEna = 14U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
490 kINPUTMUX_Flexcomm7TxToDmac0Ch15RequestEna = 15U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
491 kINPUTMUX_Dmic0Ch0ToDmac0Ch16RequestEna = 16U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
492 kINPUTMUX_Dmic0Ch1ToDmac0Ch17RequestEna = 17U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
493 kINPUTMUX_Dmic0Ch2ToDmac0Ch18RequestEna = 18U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
494 kINPUTMUX_Dmic0Ch3ToDmac0Ch19RequestEna = 19U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
495 kINPUTMUX_Dmic0Ch4ToDmac0Ch20RequestEna = 20U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
496 kINPUTMUX_Dmic0Ch5ToDmac0Ch21RequestEna = 21U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
497 kINPUTMUX_Dmic0Ch6ToDmac0Ch22RequestEna = 22U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
498 kINPUTMUX_Dmic0Ch7ToDmac0Ch23RequestEna = 23U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
499 kINPUTMUX_I3c0RxToDmac0Ch24RequestEna = 24U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
500 kINPUTMUX_I3c0TxToDmac0Ch25RequestEna = 25U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
501 kINPUTMUX_Flexcomm14RxToDmac0Ch26RequestEna = 26U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
502 kINPUTMUX_Flexcomm14TxToDmac0Ch27RequestEna = 27U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
503 kINPUTMUX_HashCryptToDmac0Ch30RequestEna = 30U + (DMA0_REQ_ENA0_ID << ENA_SHIFT),
504
505 /*!< DMA1 REQ signal. */
506 kINPUTMUX_Flexcomm0RxToDmac1Ch0RequestEna = 0U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
507 kINPUTMUX_Flexcomm0TxToDmac1Ch1RequestEna = 1U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
508 kINPUTMUX_Flexcomm1RxToDmac1Ch2RequestEna = 2U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
509 kINPUTMUX_Flexcomm1TxToDmac1Ch3RequestEna = 3U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
510 kINPUTMUX_Flexcomm2RxToDmac1Ch4RequestEna = 4U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
511 kINPUTMUX_Flexcomm2TxToDmac1Ch5RequestEna = 5U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
512 kINPUTMUX_Flexcomm3RxToDmac1Ch6RequestEna = 6U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
513 kINPUTMUX_Flexcomm3TxToDmac1Ch7RequestEna = 7U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
514 kINPUTMUX_Flexcomm4RxToDmac1Ch8RequestEna = 8U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
515 kINPUTMUX_Flexcomm4TxToDmac1Ch9RequestEna = 9U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
516 kINPUTMUX_Flexcomm5RxToDmac1Ch10RequestEna = 10U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
517 kINPUTMUX_Flexcomm5TxToDmac1Ch11RequestEna = 11U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
518 kINPUTMUX_Flexcomm6RxToDmac1Ch12RequestEna = 12U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
519 kINPUTMUX_Flexcomm6TxToDmac1Ch13RequestEna = 13U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
520 kINPUTMUX_Flexcomm7RxToDmac1Ch14RequestEna = 14U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
521 kINPUTMUX_Flexcomm7TxToDmac1Ch15RequestEna = 15U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
522 kINPUTMUX_Dmic0Ch0ToDmac1Ch16RequestEna = 16U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
523 kINPUTMUX_Dmic0Ch1ToDmac1Ch17RequestEna = 17U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
524 kINPUTMUX_Dmic0Ch2ToDmac1Ch18RequestEna = 18U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
525 kINPUTMUX_Dmic0Ch3ToDmac1Ch19RequestEna = 19U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
526 kINPUTMUX_Dmic0Ch4ToDmac1Ch20RequestEna = 20U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
527 kINPUTMUX_Dmic0Ch5ToDmac1Ch21RequestEna = 21U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
528 kINPUTMUX_Dmic0Ch6ToDmac1Ch22RequestEna = 22U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
529 kINPUTMUX_Dmic0Ch7ToDmac1Ch23RequestEna = 23U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
530 kINPUTMUX_I3c0RxToDmac1Ch24RequestEna = 24U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
531 kINPUTMUX_I3c0TxToDmac1Ch25RequestEna = 25U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
532 kINPUTMUX_Flexcomm14RxToDmac1Ch26RequestEna = 26U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
533 kINPUTMUX_Flexcomm14TxToDmac1Ch27RequestEna = 27U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
534 kINPUTMUX_HashCryptToDmac1Ch30RequestEna = 30U + (DMA1_REQ_ENA0_ID << ENA_SHIFT),
535
536} inputmux_signal_t;
537
538/*@}*/
539
540#endif /* _FSL_INPUTMUX_CONNECTIONS_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.c
new file mode 100644
index 000000000..5afa516bc
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.c
@@ -0,0 +1,1087 @@
1/*
2 * Copyright 2018-2020, NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7#include "fsl_common.h"
8#include "fsl_power.h"
9
10/*******************************************************************************
11 * Variables
12 ******************************************************************************/
13AT_QUICKACCESS_SECTION_DATA(static uint32_t oscSettlingTime);
14AT_QUICKACCESS_SECTION_DATA(static uint32_t pmicVddcoreRecoveryTime);
15AT_QUICKACCESS_SECTION_DATA(static uint32_t lvdChangeFlag);
16
17#define MEGA (1000000U)
18
19const uint32_t powerLowCm33FreqLevel[2][3] = {
20 /* For part 0C - 85C */
21 {220U * MEGA, 150U * MEGA, 70U * MEGA},
22 /* For part -20C - 85C */
23 {215U * MEGA, 140U * MEGA, 60U * MEGA}};
24
25const uint32_t powerLowDspFreqLevel[2][3] = {
26 /* For part 0C - 85C */
27 {375U * MEGA, 260U * MEGA, 115U * MEGA},
28 /* For part -20C - 85C */
29 {355U * MEGA, 235U * MEGA, 95U * MEGA}};
30
31const uint32_t powerFullCm33FreqLevel[2][5] = {
32 /* For part 0C - 85C */
33 {300U * MEGA, 275U * MEGA, 210U * MEGA, 140U * MEGA, 65U * MEGA},
34 /* For part -20C - 85C */
35 {300U * MEGA, 270U * MEGA, 200U * MEGA, 135U * MEGA, 50U * MEGA}};
36
37const uint32_t powerFullDspFreqLevel[2][5] = {
38 /* For part 0C - 85C */
39 {600U * MEGA, 480U * MEGA, 300U * MEGA, 195U * MEGA, 70U * MEGA},
40 /* For part -20C - 85C */
41 {550U * MEGA, 440U * MEGA, 285U * MEGA, 170U * MEGA, 55U * MEGA}};
42
43static const uint32_t powerLdoVoltLevel[5] = {
44 0x32U, /* 1.13V */
45 0x26U, /* 1.0V */
46 0x1DU, /* 0.9V */
47 0x13U, /* 0.8V */
48 0x0AU, /* 0.7V */
49};
50
51/*******************************************************************************
52 * Definitions
53 ******************************************************************************/
54/* Component ID definition, used by tools. */
55#ifndef FSL_COMPONENT_ID
56#define FSL_COMPONENT_ID "platform.drivers.power"
57#endif
58
59#define PCFG0_XBB_MASK (SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK | SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK)
60
61/* DeepSleep PDSLEEP0 */
62#define PCFG0_DEEP_SLEEP \
63 (SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK | SYSCTL0_PDSLEEPCFG0_VDDCOREREG_LP_MASK | \
64 SYSCTL0_PDSLEEPCFG0_PMCREF_LP_MASK | SYSCTL0_PDSLEEPCFG0_HVD1V8_PD_MASK | SYSCTL0_PDSLEEPCFG0_PORCORE_LP_MASK | \
65 SYSCTL0_PDSLEEPCFG0_LVDCORE_LP_MASK | SYSCTL0_PDSLEEPCFG0_HVDCORE_PD_MASK | SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK | \
66 SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK | SYSCTL0_PDSLEEPCFG0_SYSXTAL_PD_MASK | SYSCTL0_PDSLEEPCFG0_LPOSC_PD_MASK | \
67 SYSCTL0_PDSLEEPCFG0_SFRO_PD_MASK | SYSCTL0_PDSLEEPCFG0_FFRO_PD_MASK | SYSCTL0_PDSLEEPCFG0_SYSPLLLDO_PD_MASK | \
68 SYSCTL0_PDSLEEPCFG0_SYSPLLANA_PD_MASK | SYSCTL0_PDSLEEPCFG0_AUDPLLLDO_PD_MASK | \
69 SYSCTL0_PDSLEEPCFG0_AUDPLLANA_PD_MASK | SYSCTL0_PDSLEEPCFG0_ADC_PD_MASK | SYSCTL0_PDSLEEPCFG0_ADC_LP_MASK | \
70 SYSCTL0_PDSLEEPCFG0_ADCTEMPSNS_PD_MASK | SYSCTL0_PDSLEEPCFG0_ACMP_PD_MASK | \
71 SYSCTL0_PDSLEEPCFG0_HSPAD0_VDET_LP_MASK | SYSCTL0_PDSLEEPCFG0_HSPAD0_REF_PD_MASK | \
72 SYSCTL0_PDSLEEPCFG0_HSPAD2_VDET_LP_MASK | SYSCTL0_PDSLEEPCFG0_HSPAD2_REF_PD_MASK)
73
74/* DeepSleep PDSLEEP1 */
75#define PCFG1_DEEP_SLEEP \
76 (SYSCTL0_PDSLEEPCFG1_PQ_SRAM_APD_MASK | SYSCTL0_PDSLEEPCFG1_PQ_SRAM_PPD_MASK | \
77 SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD_MASK | SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD_MASK | \
78 SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_APD_MASK | SYSCTL0_PDSLEEPCFG1_USBHS_SRAM_PPD_MASK | \
79 SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_APD_MASK | SYSCTL0_PDSLEEPCFG1_USDHC0_SRAM_PPD_MASK | \
80 SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_APD_MASK | SYSCTL0_PDSLEEPCFG1_USDHC1_SRAM_PPD_MASK | \
81 SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_APD_MASK | SYSCTL0_PDSLEEPCFG1_CASPER_SRAM_PPD_MASK | \
82 SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_APD_MASK | SYSCTL0_PDSLEEPCFG1_DSPCACHE_REGF_PPD_MASK | \
83 SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_APD_MASK | SYSCTL0_PDSLEEPCFG1_DSPTCM_REGF_PPD_MASK | \
84 SYSCTL0_PDSLEEPCFG1_ROM_PD_MASK | SYSCTL0_PDSLEEPCFG1_SRAM_SLEEP_MASK)
85
86/* DeepSleep PDSLEEP2 */
87#define PCFG2_DEEP_SLEEP 0x3FFFFFFFU
88
89/* DeepSleep PDSLEEP3 */
90#define PCFG3_DEEP_SLEEP 0x3FFFFFFFU
91
92/*System PLL PFD mask*/
93#define SYSPLL0PFD_PFD_MASK \
94 (CLKCTL0_SYSPLL0PFD_PFD0_MASK | CLKCTL0_SYSPLL0PFD_PFD1_MASK | CLKCTL0_SYSPLL0PFD_PFD2_MASK | \
95 CLKCTL0_SYSPLL0PFD_PFD3_MASK)
96#define SYSPLL0PFD_PFD_CLKRDY_MASK \
97 (CLKCTL0_SYSPLL0PFD_PFD0_CLKRDY_MASK | CLKCTL0_SYSPLL0PFD_PFD1_CLKRDY_MASK | CLKCTL0_SYSPLL0PFD_PFD2_CLKRDY_MASK | \
98 CLKCTL0_SYSPLL0PFD_PFD3_CLKRDY_MASK)
99#define SYSPLL0PFD_PFD_CLKGATE_MASK \
100 (CLKCTL0_SYSPLL0PFD_PFD0_CLKGATE_MASK | CLKCTL0_SYSPLL0PFD_PFD1_CLKGATE_MASK | \
101 CLKCTL0_SYSPLL0PFD_PFD2_CLKGATE_MASK | CLKCTL0_SYSPLL0PFD_PFD3_CLKGATE_MASK)
102
103/*Audio PLL PFD mask*/
104#define AUDIOPLL0PFD_PFD_MASK \
105 (CLKCTL1_AUDIOPLL0PFD_PFD0_MASK | CLKCTL1_AUDIOPLL0PFD_PFD1_MASK | CLKCTL1_AUDIOPLL0PFD_PFD2_MASK | \
106 CLKCTL1_AUDIOPLL0PFD_PFD3_MASK)
107#define AUDIOPLL0PFD_PFD_CLKRDY_MASK \
108 (CLKCTL1_AUDIOPLL0PFD_PFD0_CLKRDY_MASK | CLKCTL1_AUDIOPLL0PFD_PFD1_CLKRDY_MASK | \
109 CLKCTL1_AUDIOPLL0PFD_PFD2_CLKRDY_MASK | CLKCTL1_AUDIOPLL0PFD_PFD3_CLKRDY_MASK)
110#define AUDIOPLL0PFD_PFD_CLKGATE_MASK \
111 (CLKCTL1_AUDIOPLL0PFD_PFD0_CLKGATE_MASK | CLKCTL1_AUDIOPLL0PFD_PFD1_CLKGATE_MASK | \
112 CLKCTL1_AUDIOPLL0PFD_PFD2_CLKGATE_MASK | CLKCTL1_AUDIOPLL0PFD_PFD3_CLKGATE_MASK)
113
114#define IS_SYSPLL_ON(pdruncfg) \
115 (((pdruncfg) & (SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK)) == 0U)
116#define IS_AUDPLL_ON(pdruncfg) \
117 (((pdruncfg) & (SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK)) == 0U)
118
119/* CPU running at 12 or 15 MHz, max 15 instructions per us, each loop includes 4 instructions. max 4 loops per us. */
120#define US2LOOP(x) ((x) * ((CLKCTL0->FFROCTL0 & CLKCTL0_FFROCTL0_TRIM_RANGE_MASK) == 0U ? 3U : 4U))
121/* Calculate the microsecond period with the maximum CPU frequency 300MHz. */
122#define US2FASTLOOP(x) ((x)*300U / 4U)
123
124#define IS_XIP_FLEXSPI() \
125 ((((uint32_t)POWER_ApplyPD >= 0x08000000U) && ((uint32_t)POWER_ApplyPD < 0x10000000U)) || \
126 (((uint32_t)POWER_ApplyPD >= 0x18000000U) && ((uint32_t)POWER_ApplyPD < 0x20000000U)))
127#define FLEXSPI_DLL_LOCK_RETRY (10U)
128
129#define PMC_DECREASE_LVD_LEVEL_IF_HIGHER_THAN(level) \
130 do \
131 { \
132 if (((PMC->LVDCORECTRL & PMC_LVDCORECTRL_LVDCORELVL_MASK) >> PMC_LVDCORECTRL_LVDCORELVL_SHIFT) > \
133 ((uint32_t)(level))) \
134 { \
135 PMC->LVDCORECTRL = PMC_LVDCORECTRL_LVDCORELVL(kLvdFallingTripVol_720); \
136 } \
137 } while (false)
138
139#define PMC_REG(off) (*((volatile uint32_t *)(void *)PMC + (off) / 4))
140
141#define PMU_MIN_CLOCK_MHZ (13U)
142/* Turn on all partitions in parallel.
143 * Be cautious to change the PMC_MEM_SEQ_NUM. To save code size, countPartitionSwitches() counted with 0x3F.
144 */
145#define PMC_MEM_SEQ_NUM (0x3FU)
146
147/*******************************************************************************
148 * Codes
149 ******************************************************************************/
150/*!
151 * @brief Configure bias voltage level and enable/disable pull-down.
152 *
153 * This function change the RBB&FBB voltage level and RBB pull-down.
154 */
155AT_QUICKACCESS_SECTION_CODE(static void POWER_SetBiasConfig(void))
156{
157 if (PMC_REG(0x20) != 0x04040808U)
158 {
159 PMC_REG(0x20) = 0x04040808U;
160 }
161 if (PMC->SLEEPCTRL != PMC_SLEEPCTRL_CORELVL(0xA))
162 {
163 /* Deep sleep core voltage 0.7V */
164 PMC->SLEEPCTRL = PMC_SLEEPCTRL_CORELVL(0xA);
165 }
166}
167
168static uint32_t POWER_CalcVoltLevel(const uint32_t *freqLevels, uint32_t num, uint32_t freq)
169{
170 uint32_t i;
171 uint32_t volt;
172
173 for (i = 0U; i < num; i++)
174 {
175 if (freq > freqLevels[i])
176 {
177 break;
178 }
179 }
180
181 if (i == 0U) /* Frequency exceed max supported */
182 {
183 volt = POWER_INVALID_VOLT_LEVEL;
184 }
185 else
186 {
187 volt = powerLdoVoltLevel[i + ARRAY_SIZE(powerLdoVoltLevel) - num - 1U];
188 }
189
190 return volt;
191}
192
193void POWER_DisableLVD(void)
194{
195 if ((PMC->CTRL & (PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK)) != 0U)
196 {
197 lvdChangeFlag = PMC->CTRL & (PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
198 PMC->CTRL &= ~(PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
199 }
200}
201
202void POWER_RestoreLVD(void)
203{
204 PMC->CTRL |= lvdChangeFlag & (PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
205 lvdChangeFlag = 0;
206}
207
208/**
209 * @brief API to update XTAL oscillator settling time .
210 * @param osc_delay : OSC stabilization time in unit of microsecond
211 */
212void POWER_UpdateOscSettlingTime(uint32_t osc_delay)
213{
214 oscSettlingTime = osc_delay;
215}
216
217/**
218 * @brief API to update on-board PMIC vddcore recovery time.
219 * @param pmic_delay : PMIC stabilization time in unit of microsecond
220 */
221void POWER_UpdatePmicRecoveryTime(uint32_t pmic_delay)
222{
223 pmicVddcoreRecoveryTime = pmic_delay;
224}
225
226/**
227 * @brief API to apply updated PMC PDRUNCFG bits in the Sysctl0.
228 */
229void POWER_ApplyPD(void)
230{
231 /* Cannot set APPLYCFG when ACTIVEFSM is 1 */
232 while ((PMC->STATUS & PMC_STATUS_ACTIVEFSM_MASK) != 0U)
233 {
234 }
235 PMC->CTRL |= PMC_CTRL_APPLYCFG_MASK;
236 /* Wait all PMC finite state machines finished. */
237 while ((PMC->STATUS & PMC_STATUS_ACTIVEFSM_MASK) != 0U)
238 {
239 }
240}
241
242/**
243 * @brief Clears the PMC event flags state.
244 * @param statusMask : A bitmask of event flags that are to be cleared.
245 */
246void POWER_ClearEventFlags(uint32_t statusMask)
247{
248 PMC->FLAGS = statusMask;
249}
250
251/**
252 * @brief Get the PMC event flags state.
253 * @return PMC FLAGS register value
254 */
255uint32_t POWER_GetEventFlags(void)
256{
257 return PMC->FLAGS;
258}
259
260/**
261 * @brief Enable the PMC interrupt requests.
262 * @param interruptMask : A bitmask of of interrupts to enable.
263 */
264void POWER_EnableInterrupts(uint32_t interruptMask)
265{
266 PMC->CTRL |= interruptMask;
267}
268
269/**
270 * @brief Disable the PMC interrupt requests.
271 * @param interruptMask : A bitmask of of interrupts to disable.
272 */
273void POWER_DisableInterrupts(uint32_t interruptMask)
274{
275 PMC->CTRL &= ~interruptMask;
276}
277
278/**
279 * @brief Set the PMC analog buffer for references or ATX2.
280 * @param enable : Set true to enable analog buffer for references or ATX2, false to disable.
281 */
282void POWER_SetAnalogBuffer(bool enable)
283{
284 if (enable)
285 {
286 PMC->CTRL |= PMC_CTRL_BUFEN_MASK;
287 }
288 else
289 {
290 PMC->CTRL &= ~PMC_CTRL_BUFEN_MASK;
291 }
292}
293
294/*!
295 * @brief Configure pad voltage level. Wide voltage range cost more power due to enabled voltage detector.
296 *
297 * NOTE: BE CAUTIOUS TO CALL THIS API. IF THE PAD SUPPLY IS BEYOND THE SET RANGE, SILICON MIGHT BE DAMAGED.
298 *
299 * @param config pad voltage range configuration.
300 */
301void POWER_SetPadVolRange(const power_pad_vrange_t *config)
302{
303 PMC->PADVRANGE = (*((const uint32_t *)(const void *)config)) & 0x3FU;
304}
305
306/**
307 * @brief PMC Enter Rbb mode function call
308 * @return nothing
309 */
310
311void POWER_EnterRbb(void)
312{
313 uint32_t pmsk;
314 bool irqEnabled;
315 uint32_t pmc_ctrl;
316 pmsk = __get_PRIMASK();
317 __disable_irq();
318 POWER_SetBiasConfig();
319 SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
320 irqEnabled = NVIC_GetEnableIRQ(PMC_PMIC_IRQn) != 0U;
321 /* MAINCLK_SHUTOFF=1, RBB_PD=0 */
322 SYSCTL0->PDSLEEPCFG0 =
323 (SYSCTL0->PDRUNCFG0 | SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK) & ~SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK;
324 SYSCTL0->PDSLEEPCFG1 = SYSCTL0->PDRUNCFG1;
325 SYSCTL0->PDSLEEPCFG2 = SYSCTL0->PDRUNCFG2;
326 SYSCTL0->PDSLEEPCFG3 = SYSCTL0->PDRUNCFG3;
327 SYSCTL0->PDWAKECFG = SYSCTL0_PDWAKECFG_RBBKEEPST_MASK;
328 /* Add PMC count delay before auto wakeup (clocked by the PMC 16MHz oscillator) */
329 PMC->AUTOWKUP = 0x800;
330 /* Disable LVD core reset and eanbel PMC auto wakeup interrupt */
331 pmc_ctrl = PMC->CTRL;
332 PMC->CTRL = (pmc_ctrl | PMC_CTRL_AUTOWKEN_MASK) & ~(PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
333 SYSCTL0->STARTEN1_SET = 1UL << ((uint32_t)PMC_PMIC_IRQn - 32U);
334 if (!irqEnabled)
335 {
336 NVIC_EnableIRQ(PMC_PMIC_IRQn);
337 }
338 __WFI();
339 /* Restore PMC setting, clear interrupt flag */
340 PMC->CTRL = pmc_ctrl;
341 PMC->FLAGS = PMC_FLAGS_AUTOWKF_MASK;
342 SYSCTL0->STARTEN1_CLR = 1UL << ((uint32_t)PMC_PMIC_IRQn - 32U);
343 SYSCTL0->PDWAKECFG = 0;
344 NVIC_ClearPendingIRQ(PMC_PMIC_IRQn);
345 if (!irqEnabled)
346 {
347 /* Recover NVIC state. */
348 NVIC_DisableIRQ(PMC_PMIC_IRQn);
349 }
350 SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
351 __set_PRIMASK(pmsk);
352}
353/**
354 * @brief PMC Enter Fbb mode function call
355 * @return nothing
356 */
357
358void POWER_EnterFbb(void)
359{
360 uint32_t pmsk;
361 bool irqEnabled;
362 uint32_t pmc_ctrl;
363 pmsk = __get_PRIMASK();
364 __disable_irq();
365 POWER_SetBiasConfig();
366 SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
367 irqEnabled = NVIC_GetEnableIRQ(PMC_PMIC_IRQn) != 0U;
368 /* MAINCLK_SHUTOFF=1, FBB_PD=0 */
369 SYSCTL0->PDSLEEPCFG0 =
370 (SYSCTL0->PDRUNCFG0 | SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK) & ~SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK;
371 SYSCTL0->PDSLEEPCFG1 = SYSCTL0->PDRUNCFG1;
372 SYSCTL0->PDSLEEPCFG2 = SYSCTL0->PDRUNCFG2;
373 SYSCTL0->PDSLEEPCFG3 = SYSCTL0->PDRUNCFG3;
374 SYSCTL0->PDWAKECFG = SYSCTL0_PDWAKECFG_FBBKEEPST_MASK;
375 /* Add PMC count delay before auto wakeup (clocked by the PMC 16MHz oscillator) */
376 PMC->AUTOWKUP = 0x800;
377 /* Disable LVD core reset and eanbel PMC auto wakeup interrupt */
378 pmc_ctrl = PMC->CTRL;
379 PMC->CTRL = (pmc_ctrl | PMC_CTRL_AUTOWKEN_MASK) & ~(PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
380 SYSCTL0->STARTEN1_SET = 1UL << ((uint32_t)PMC_PMIC_IRQn - 32U);
381 if (!irqEnabled)
382 {
383 NVIC_EnableIRQ(PMC_PMIC_IRQn);
384 }
385 __WFI();
386 /* Restore PMC setting, clear interrupt flag */
387 PMC->CTRL = pmc_ctrl;
388 PMC->FLAGS = PMC_FLAGS_AUTOWKF_MASK;
389 SYSCTL0->STARTEN1_CLR = 1UL << ((uint32_t)PMC_PMIC_IRQn - 32U);
390 SYSCTL0->PDWAKECFG = 0;
391 NVIC_ClearPendingIRQ(PMC_PMIC_IRQn);
392 if (!irqEnabled)
393 {
394 /* Recover NVIC state. */
395 NVIC_DisableIRQ(PMC_PMIC_IRQn);
396 }
397 SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
398 __set_PRIMASK(pmsk);
399}
400/**
401 * @brief PMC exit Rbb & Fbb mode function call
402 * @return nothing
403 */
404
405void POWER_EnterNbb(void)
406{
407 uint32_t pmsk;
408 bool irqEnabled;
409 uint32_t pmc_ctrl;
410 pmsk = __get_PRIMASK();
411 __disable_irq();
412 SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
413 irqEnabled = NVIC_GetEnableIRQ(PMC_PMIC_IRQn) != 0U;
414 /* MAINCLK_SHUTOFF=1, RBB_PD=1 FBB_PD=1 */
415 SYSCTL0->PDSLEEPCFG0 = SYSCTL0->PDRUNCFG0 | SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK |
416 SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK | SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK;
417 SYSCTL0->PDSLEEPCFG1 = SYSCTL0->PDRUNCFG1;
418 SYSCTL0->PDSLEEPCFG2 = SYSCTL0->PDRUNCFG2;
419 SYSCTL0->PDSLEEPCFG3 = SYSCTL0->PDRUNCFG3;
420 SYSCTL0->PDWAKECFG = SYSCTL0_PDWAKECFG_RBBKEEPST_MASK | SYSCTL0_PDWAKECFG_FBBKEEPST_MASK;
421 /* Add PMC count delay before auto wakeup (clocked by the PMC 16MHz oscillator) */
422 PMC->AUTOWKUP = 0x800;
423 /* Disable LVD core reset and eanbel PMC auto wakeup interrupt */
424 pmc_ctrl = PMC->CTRL;
425 PMC->CTRL = (pmc_ctrl | PMC_CTRL_AUTOWKEN_MASK) & ~(PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
426 SYSCTL0->STARTEN1_SET = 1UL << ((uint32_t)PMC_PMIC_IRQn - 32U);
427 if (!irqEnabled)
428 {
429 NVIC_EnableIRQ(PMC_PMIC_IRQn);
430 }
431 __WFI();
432 /* Restore PMC setting, clear interrupt flag */
433 PMC->CTRL = pmc_ctrl;
434 PMC->FLAGS = PMC_FLAGS_AUTOWKF_MASK;
435 SYSCTL0->STARTEN1_CLR = 1UL << ((uint32_t)PMC_PMIC_IRQn - 32U);
436 SYSCTL0->PDWAKECFG = 0;
437 NVIC_ClearPendingIRQ(PMC_PMIC_IRQn);
438 if (!irqEnabled)
439 {
440 /* Recover NVIC state. */
441 NVIC_DisableIRQ(PMC_PMIC_IRQn);
442 }
443 SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
444 __set_PRIMASK(pmsk);
445}
446
447/**
448 * @brief PMC set Ldo volatage function call
449 * @return true for success.
450 */
451bool POWER_SetLdoVoltageForFreq(power_part_temp_range_t tempRange,
452 power_volt_op_range_t voltOpRange,
453 uint32_t cm33Freq,
454 uint32_t dspFreq)
455{
456 uint32_t pmsk;
457 uint32_t idx = (uint32_t)tempRange;
458 uint32_t cm33Volt, dspVolt, volt;
459 bool ret;
460
461 pmsk = __get_PRIMASK();
462 __disable_irq();
463
464 /* Enter FBB mode first */
465 if (POWER_GetBodyBiasMode(kCfg_Run) != kPmu_Fbb)
466 {
467 POWER_EnterFbb();
468 }
469
470 if (voltOpRange == kVoltOpLowRange)
471 {
472 cm33Volt = POWER_CalcVoltLevel(&powerLowCm33FreqLevel[idx][0], 3U, cm33Freq);
473 dspVolt = POWER_CalcVoltLevel(&powerLowDspFreqLevel[idx][0], 3U, dspFreq);
474 }
475 else
476 {
477 cm33Volt = POWER_CalcVoltLevel(&powerFullCm33FreqLevel[idx][0], 5U, cm33Freq);
478 dspVolt = POWER_CalcVoltLevel(&powerFullDspFreqLevel[idx][0], 5U, dspFreq);
479 }
480 volt = MAX(cm33Volt, dspVolt);
481 ret = volt != POWER_INVALID_VOLT_LEVEL;
482
483 if (ret)
484 {
485 if (volt < 0x13U) /* < 0.8V */
486 {
487 POWER_DisableLVD();
488 }
489 else
490 {
491 if (volt < 0x1DU) /* < 0.9V */
492 {
493 PMC_DECREASE_LVD_LEVEL_IF_HIGHER_THAN(kLvdFallingTripVol_795);
494 }
495 else if (volt < 0x26U) /* < 1.0V */
496 {
497 PMC_DECREASE_LVD_LEVEL_IF_HIGHER_THAN(kLvdFallingTripVol_885);
498 }
499 else
500 {
501 /* Do nothing */
502 }
503 }
504
505 /* Configure vddcore voltage value */
506 PMC->RUNCTRL = volt;
507 POWER_ApplyPD();
508
509 if (volt >= 0x13U) /* >= 0.8V */
510 {
511 POWER_RestoreLVD();
512 }
513 }
514
515 __set_PRIMASK(pmsk);
516
517 return ret;
518}
519
520void POWER_SetLvdFallingTripVoltage(power_lvd_falling_trip_vol_val_t volt)
521{
522 PMC->LVDCORECTRL = PMC_LVDCORECTRL_LVDCORELVL(volt);
523 POWER_ApplyPD();
524}
525
526power_lvd_falling_trip_vol_val_t POWER_GetLvdFallingTripVoltage(void)
527{
528 return (power_lvd_falling_trip_vol_val_t)(uint32_t)((PMC->LVDCORECTRL & PMC_LVDCORECTRL_LVDCORELVL_MASK) >>
529 PMC_LVDCORECTRL_LVDCORELVL_SHIFT);
530}
531
532AT_QUICKACCESS_SECTION_CODE(static void delay(uint32_t count))
533{
534 uint32_t i = 0U;
535 for (i = 0U; i < count; ++i)
536 {
537 __NOP();
538 }
539}
540
541AT_QUICKACCESS_SECTION_CODE(static void deinitXip(void))
542{
543 if (IS_XIP_FLEXSPI())
544 { /* FlexSPI */
545 /* Wait until FLEXSPI is not busy */
546 while (!(((FLEXSPI->STS0 & FLEXSPI_STS0_ARBIDLE_MASK) != 0U) &&
547 ((FLEXSPI->STS0 & FLEXSPI_STS0_SEQIDLE_MASK) != 0U)))
548 {
549 }
550 /* Disable module. */
551 FLEXSPI->MCR0 |= FLEXSPI_MCR0_MDIS_MASK;
552 /* Disable clock. */
553 CLKCTL0->PSCCTL0_CLR = CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK_MASK;
554 }
555}
556
557AT_QUICKACCESS_SECTION_CODE(static void initFlexSPI(FLEXSPI_Type *base))
558{
559 uint32_t status;
560 uint32_t lastStatus;
561 uint32_t retry;
562 uint32_t mask = 0;
563
564 /* Enable FLEXSPI module */
565 base->MCR0 &= ~FLEXSPI_MCR0_MDIS_MASK;
566
567 base->MCR0 |= FLEXSPI_MCR0_SWRESET_MASK;
568 while ((base->MCR0 & FLEXSPI_MCR0_SWRESET_MASK) != 0U)
569 {
570 }
571
572 /* Need to wait DLL locked if DLL enabled */
573 if (0U != (base->DLLCR[0] & FLEXSPI_DLLCR_DLLEN_MASK))
574 {
575 lastStatus = base->STS2;
576 retry = FLEXSPI_DLL_LOCK_RETRY;
577 /* Flash on port A */
578 if (((base->FLSHCR0[0] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0U) ||
579 ((base->FLSHCR0[1] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0U))
580 {
581 mask |= FLEXSPI_STS2_AREFLOCK_MASK | FLEXSPI_STS2_ASLVLOCK_MASK;
582 }
583 /* Flash on port B */
584 if (((base->FLSHCR0[2] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0U) ||
585 ((base->FLSHCR0[3] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0U))
586 {
587 mask |= FLEXSPI_STS2_BREFLOCK_MASK | FLEXSPI_STS2_BSLVLOCK_MASK;
588 }
589 /* Wait slave delay line locked and slave reference delay line locked. */
590 do
591 {
592 status = base->STS2;
593 if ((status & mask) == mask)
594 {
595 /* Locked */
596 retry = 100;
597 break;
598 }
599 else if (status == lastStatus)
600 {
601 /* Same delay cell number in calibration */
602 retry--;
603 }
604 else
605 {
606 retry = FLEXSPI_DLL_LOCK_RETRY;
607 lastStatus = status;
608 }
609 } while (retry > 0U);
610 /* According to ERR011377, need to delay at least 100 NOPs to ensure the DLL is locked. */
611 for (; retry > 0U; retry--)
612 {
613 __NOP();
614 }
615 }
616}
617
618AT_QUICKACCESS_SECTION_CODE(static void initXip(void))
619{
620 if (IS_XIP_FLEXSPI())
621 { /* FlexSPI */
622 /* Enable FLEXSPI clock again */
623 CLKCTL0->PSCCTL0_SET = CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK_MASK;
624 /* Re-enable FLEXSPI module */
625 initFlexSPI(FLEXSPI);
626 }
627}
628
629AT_QUICKACCESS_SECTION_CODE(static uint32_t countPartitionSwitches(uint32_t numPerSwitch))
630{
631 (void)numPerSwitch;
632
633 /* All partitions are turned on in parallel */
634 return 1U;
635}
636
637AT_QUICKACCESS_SECTION_CODE(static uint32_t POWER_CalculateSafetyCount(void))
638{
639 uint32_t ns = 0U;
640 bool flag;
641 uint32_t temp, groups, switches;
642
643 ns += 200U; /* PMU clock startup */
644 ns += 2000U / PMU_MIN_CLOCK_MHZ; /* Wakeup sync */
645 ns += 1000U / PMU_MIN_CLOCK_MHZ; /* Senquencer start */
646 /* Bandgap to HP mode */
647 flag = ((SYSCTL0->PDSLEEPCFG0 & 0x10017D0U) == 0x10017D0U);
648 ns += (flag ? 7000UL : 1000UL) / PMU_MIN_CLOCK_MHZ + (flag ? 9000UL : 0UL);
649
650 if (pmicVddcoreRecoveryTime == 0U)
651 {
652 /* Application uses internal LDO */
653 flag = (SYSCTL0->PDSLEEPCFG0 & 0x10U) == 0x10U;
654 ns += (flag ? 47000UL : 1000UL) / PMU_MIN_CLOCK_MHZ + (flag ? 1000UL : 0UL); /* Core Regulator LP to HP */
655 switches = (PMC->RUNCTRL & PMC_RUNCTRL_CORELVL_MASK) - (PMC->SLEEPCTRL & PMC_SLEEPCTRL_CORELVL_MASK);
656 ns += (switches * 32000U + 1000U) / PMU_MIN_CLOCK_MHZ + switches * 600U; /* Core Regulator Voltage adj */
657 ns += ((SYSCTL0->PDRUNCFG0 & 0x10U) == 0x10U ? 43000UL : 1000UL) / PMU_MIN_CLOCK_MHZ; /* Core Regulator mode */
658 }
659 else
660 {
661 /* Application uses on-board PMIC */
662 ns += 2000U / PMU_MIN_CLOCK_MHZ;
663 if (pmicVddcoreRecoveryTime != PMIC_VDDCORE_RECOVERY_TIME_IGNORE)
664 {
665 /* Application uses on-board PMIC */
666 ns += (((SYSCTL0->PDSLEEPCFG0 & 0x200U) == 0x200U) ? 39000U : 1300U) +
667 pmicVddcoreRecoveryTime * 1000U; /* PMIC vddcore recovery */
668 }
669 }
670
671 ns += 1000U / PMU_MIN_CLOCK_MHZ; /* ISO disable */
672
673 flag = (SYSCTL0->PDSLEEPCFG0 & 0x800U) == 0U;
674 ns += (flag ? 6000U : (((SYSCTL0->PDSLEEPCFG0 & 0x1000U) == 0U) ? 88000U : 1000U)) / PMU_MIN_CLOCK_MHZ +
675 (flag ? 26000U : 0U); /* Body Bias disable */
676
677 /* SRAM power switches */
678 groups = (41U + PMC_MEM_SEQ_NUM - 1U) / PMC_MEM_SEQ_NUM;
679 switches = countPartitionSwitches(PMC_MEM_SEQ_NUM);
680 ns += (1000U + 47000U * switches +
681 (((SYSCTL0->PDSLEEPCFG1 & (1UL << 31)) != 0U) ? 8000U : 1000U) * (groups - switches)) /
682 PMU_MIN_CLOCK_MHZ;
683
684 ns += 1000U / PMU_MIN_CLOCK_MHZ; /* Monitor change */
685
686 /* Body Bias change */
687 if (((SYSCTL0->PDRUNCFG0 & 0x800U) == 0U) ||
688 (((SYSCTL0->PDSLEEPCFG0 & 0x800U) == 0U) && ((SYSCTL0->PDWAKECFG & SYSCTL0_PDWAKECFG_RBBKEEPST_MASK) != 0U)))
689 {
690 temp = 5000U;
691 ns += 251000U;
692 }
693 else if (((SYSCTL0->PDRUNCFG0 & 0x1000U) == 0U) ||
694 (((SYSCTL0->PDSLEEPCFG0 & 0x1000U) == 0U) &&
695 ((SYSCTL0->PDWAKECFG & SYSCTL0_PDWAKECFG_FBBKEEPST_MASK) != 0U)))
696 {
697 temp = 312000U;
698 }
699 else
700 {
701 temp = 1000U;
702 }
703 ns += temp / PMU_MIN_CLOCK_MHZ;
704
705 ns += 1000U / PMU_MIN_CLOCK_MHZ; /* ISO change */
706
707 /* Bandgap mode */
708 if (((SYSCTL0->PDRUNCFG0 & 0x10017D0U) == 0x10017D0U) &&
709 (((SYSCTL0->PDSLEEPCFG0 & 0x1000U) == 0x1000U) ||
710 (SYSCTL0->PDWAKECFG & SYSCTL0_PDWAKECFG_FBBKEEPST_MASK) == 0U))
711 {
712 ns += 7000U / PMU_MIN_CLOCK_MHZ + 50U;
713 }
714 else
715 {
716 ns += 1000U / PMU_MIN_CLOCK_MHZ;
717 }
718
719 /* FFRO/4 = 12 or 15MHz depending on trim range. */
720 temp = (CLKCTL0->FFROCTL0 & CLKCTL0_FFROCTL0_TRIM_RANGE_MASK) == 0U ? 12U : 15U;
721 return (ns * temp + 999U) / 1000U;
722}
723
724/**
725 * @brief PMC Sleep function call
726 * @return nothing
727 */
728
729void POWER_EnterSleep(void)
730{
731 uint32_t pmsk;
732 pmsk = __get_PRIMASK();
733 __disable_irq();
734 SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
735 __WFI();
736 __set_PRIMASK(pmsk);
737}
738
739/**
740 * @brief PMC Deep Sleep function call
741 * @return nothing
742 */
743
744void POWER_EnterDeepSleep(const uint32_t exclude_from_pd[4])
745{
746 uint32_t cpu_div;
747 uint32_t mainclk_sel[2];
748 uint32_t dspclk_sel[2];
749 uint32_t pmsk = __get_PRIMASK();
750 uint32_t pll_need_pd;
751 uint32_t pll_need_rst[2];
752 uint32_t pfd_need_gate[2];
753 bool dsp_state = false;
754 bool ffro_state = true;
755 uint32_t pmc_ctrl;
756
757 __disable_irq();
758 POWER_SetBiasConfig();
759 SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
760
761 mainclk_sel[0] = CLKCTL0->MAINCLKSELA;
762 mainclk_sel[1] = CLKCTL0->MAINCLKSELB;
763 dspclk_sel[0] = CLKCTL1->DSPCPUCLKSELA;
764 dspclk_sel[1] = CLKCTL1->DSPCPUCLKSELB;
765 cpu_div = CLKCTL0->SYSCPUAHBCLKDIV;
766
767 /* Power on mask bit correspond modules during Deep Sleep mode*/
768 SYSCTL0->PDSLEEPCFG0 = (PCFG0_DEEP_SLEEP & ~exclude_from_pd[0]) |
769 (SYSCTL0->PDRUNCFG0 & ~exclude_from_pd[0] &
770 ~(SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_MASK | SYSCTL0_PDSLEEPCFG0_PMIC_MODE1_MASK));
771 SYSCTL0->PDSLEEPCFG1 = (PCFG1_DEEP_SLEEP & ~exclude_from_pd[1]) | (SYSCTL0->PDRUNCFG1 & ~exclude_from_pd[1]);
772 SYSCTL0->PDSLEEPCFG2 = (PCFG2_DEEP_SLEEP & ~exclude_from_pd[2]) | (SYSCTL0->PDRUNCFG2 & ~exclude_from_pd[2]);
773 SYSCTL0->PDSLEEPCFG3 = (PCFG3_DEEP_SLEEP & ~exclude_from_pd[3]) | (SYSCTL0->PDRUNCFG3 & ~exclude_from_pd[3]);
774
775 /* Configuration PMC to respond changes on pdruncfg[2:1] (PMIC mode select pin values) like below:
776 * 0b00 run mode, all supplies on.
777 * 0b01 deep sleep mode, all supplies on.
778 * 0b10 deep powerdown mode, vddcore off.
779 * 0b11 full deep powerdown mode vdd1v8 and vddcore off. */
780 PMC->PMICCFG = 0x73U;
781 /* Set PMIC mode pin as 0b01 to let PMC turn on vdd1v8 and vddcore*/
782 SYSCTL0->PDSLEEPCFG0 |= SYSCTL0_PDSLEEPCFG0_PMIC_MODE0(1) | SYSCTL0_PDSLEEPCFG0_PMIC_MODE1(0);
783
784 /* Stall DSP if shut off main clock*/
785 if (((SYSCTL0->PDSLEEPCFG0 & SYSCTL0_PDSLEEPCFG0_MAINCLK_SHUTOFF_MASK) != 0U) && (SYSCTL0->DSPSTALL == 0U))
786 {
787 SYSCTL0->DSPSTALL = SYSCTL0_DSPSTALL_DSPSTALL_MASK;
788 dsp_state = true;
789 }
790 /* Clear all event flags before enter deep sleep */
791 PMC->FLAGS = PMC->FLAGS;
792 /* Turn on all memory partitions simultaneously. */
793 PMC->MEMSEQCTRL = (PMC->MEMSEQCTRL & ~PMC_MEMSEQCTRL_MEMSEQNUM_MASK) | PMC_MEMSEQCTRL_MEMSEQNUM(PMC_MEM_SEQ_NUM);
794
795 /* Disable LVD core reset. */
796 pmc_ctrl = PMC->CTRL;
797 PMC->CTRL = pmc_ctrl & ~(PMC_CTRL_LVDCORERE_MASK | PMC_CTRL_LVDCOREIE_MASK);
798
799 /* Make sure ffro clock be power up*/
800 if ((SYSCTL0->PDRUNCFG0 & SYSCTL0_PDRUNCFG0_FFRO_PD_MASK) != 0U)
801 {
802 SYSCTL0->PDRUNCFG0_CLR = SYSCTL0_PDRUNCFG0_CLR_FFRO_PD_MASK;
803 ffro_state = false;
804 /* Delay at least 32us */
805 delay(US2FASTLOOP(32U));
806 }
807
808 /* Workaround for artf704338 */
809 if ((SYSCTL0->PDSLEEPCFG0 & SYSCTL0_PDSLEEPCFG0_FFRO_PD_MASK) == 0U)
810 {
811 /* Main clock source FFRO remains on in deep sleep */
812 SYSCTL0->MAINCLKSAFETY = POWER_CalculateSafetyCount();
813 }
814 else
815 {
816 SYSCTL0->MAINCLKSAFETY = 0U;
817 }
818
819 /* Deinit FlexSPI interface in case XIP */
820 deinitXip();
821 /* Let CPU/DSP run on ffro/4 before enter Deep Sleep mode*/
822 CLKCTL0->MAINCLKSELA = CLKCTL0_MAINCLKSELA_SEL(0);
823 CLKCTL0->MAINCLKSELB = CLKCTL0_MAINCLKSELB_SEL(0);
824 CLKCTL1->DSPCPUCLKSELA = CLKCTL1_DSPCPUCLKSELA_SEL(0);
825 CLKCTL1->DSPCPUCLKSELB = CLKCTL1_DSPCPUCLKSELB_SEL(0);
826 CLKCTL0->SYSCPUAHBCLKDIV = 0;
827 while ((CLKCTL0->SYSCPUAHBCLKDIV & CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG_MASK) != 0U)
828 {
829 }
830
831 /* PLL power down should not rely on PD_SLEEP_CFG auto loading.*/
832 pll_need_pd = (SYSCTL0->PDRUNCFG0 ^ SYSCTL0->PDSLEEPCFG0) &
833 (SYSCTL0_PDRUNCFG0_SYSPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_SYSPLLANA_PD_MASK |
834 SYSCTL0_PDRUNCFG0_AUDPLLLDO_PD_MASK | SYSCTL0_PDRUNCFG0_AUDPLLANA_PD_MASK);
835 pll_need_rst[0] =
836 IS_SYSPLL_ON(pll_need_pd) ? 0U : (CLKCTL0_SYSPLL0CTL0_RESET_MASK | CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK);
837 pll_need_rst[1] = IS_AUDPLL_ON(pll_need_pd) ?
838 0U :
839 (CLKCTL1_AUDIOPLL0CTL0_RESET_MASK | CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK);
840 pfd_need_gate[0] = IS_SYSPLL_ON(pll_need_pd) ? 0U : ((~CLKCTL0->SYSPLL0PFD) & SYSPLL0PFD_PFD_CLKGATE_MASK);
841 pfd_need_gate[1] = IS_AUDPLL_ON(pll_need_pd) ? 0U : ((~CLKCTL1->AUDIOPLL0PFD) & AUDIOPLL0PFD_PFD_CLKGATE_MASK);
842 /* Disable the PFD clock output first. */
843 CLKCTL0->SYSPLL0PFD |= pfd_need_gate[0];
844 CLKCTL1->AUDIOPLL0PFD |= pfd_need_gate[1];
845 /* Set the PLL RESET and HOLDRINGOFF_ENA bits. */
846 CLKCTL0->SYSPLL0CTL0 |= pll_need_rst[0];
847 CLKCTL1->AUDIOPLL0CTL0 |= pll_need_rst[1];
848 /* Power down the PLLs */
849 SYSCTL0->PDRUNCFG0_SET = pll_need_pd;
850
851 /* Enter deep sleep mode */
852 __WFI();
853
854 /* Wait OSC clock stable */
855 if (((SYSCTL0->PDRUNCFG0 ^ SYSCTL0->PDSLEEPCFG0) & SYSCTL0_PDRUNCFG0_SYSXTAL_PD_MASK) != 0U)
856 {
857 delay(US2LOOP(oscSettlingTime));
858 }
859
860 /* Restore PLL state*/
861 if (pll_need_pd != 0U)
862 {
863 /* Power up the PLLs */
864 SYSCTL0->PDRUNCFG0_CLR = pll_need_pd;
865 /* Delay (CLKCTL0-> SYSPLL0LOCKTIMEDIV2 / 2) us */
866 delay(US2LOOP((CLKCTL0->SYSPLL0LOCKTIMEDIV2 & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 2U));
867
868 /* Clear System & Audio PLL reset with hold ring off enable*/
869 CLKCTL0->SYSPLL0CTL0 &= ~(pll_need_rst[0] & CLKCTL0_SYSPLL0CTL0_RESET_MASK);
870 CLKCTL1->AUDIOPLL0CTL0 &= ~(pll_need_rst[1] & CLKCTL1_AUDIOPLL0CTL0_RESET_MASK);
871 /* Delay (CLKCTL0-> SYSPLL0LOCKTIMEDIV2 / 6) us */
872 delay(US2LOOP((CLKCTL0->SYSPLL0LOCKTIMEDIV2 & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 6U));
873
874 /* Clear System PLL HOLDRINGOFF_ENA*/
875 CLKCTL0->SYSPLL0CTL0 &= ~(pll_need_rst[0] & CLKCTL0_SYSPLL0CTL0_HOLDRINGOFF_ENA_MASK);
876 /* Clear Audio PLL HOLDRINGOFF_ENA*/
877 CLKCTL1->AUDIOPLL0CTL0 &= ~(pll_need_rst[1] & CLKCTL1_AUDIOPLL0CTL0_HOLDRINGOFF_ENA_MASK);
878 /* Make sure PLL's output is stable, delay (CLKCTL0-> SYSPLL0LOCKTIMEDIV2 / 3) us */
879 delay(US2LOOP((CLKCTL0->SYSPLL0LOCKTIMEDIV2 & CLKCTL0_SYSPLL0LOCKTIMEDIV2_LOCKTIMEDIV2_MASK) / 3U));
880
881 if (pfd_need_gate[0] != 0U)
882 {
883 /* Clear ready status flag and restore PFD output status. */
884 CLKCTL0->SYSPLL0PFD &= ~pfd_need_gate[0];
885 /* Wait for output becomes stable. */
886 while ((CLKCTL0->SYSPLL0PFD & SYSPLL0PFD_PFD_CLKRDY_MASK) != (pfd_need_gate[0] >> 1U))
887 {
888 }
889 }
890
891 if (pfd_need_gate[1] != 0U)
892 {
893 /* Clear ready status flag and restore PFD output status. */
894 CLKCTL1->AUDIOPLL0PFD &= ~pfd_need_gate[1];
895 /* Wait for output becomes stable. */
896 while ((CLKCTL1->AUDIOPLL0PFD & AUDIOPLL0PFD_PFD_CLKRDY_MASK) != (pfd_need_gate[1] >> 1U))
897 {
898 }
899 }
900 }
901
902 /* Restore CPU DIV clock configure*/
903 CLKCTL0->SYSCPUAHBCLKDIV = cpu_div;
904 while ((CLKCTL0->SYSCPUAHBCLKDIV & CLKCTL0_SYSCPUAHBCLKDIV_REQFLAG_MASK) != 0U)
905 {
906 }
907 /* Restore CPU/DSP clock configure*/
908 CLKCTL0->MAINCLKSELA = mainclk_sel[0] & CLKCTL0_MAINCLKSELA_SEL_MASK;
909 CLKCTL0->MAINCLKSELB = mainclk_sel[1] & CLKCTL0_MAINCLKSELB_SEL_MASK;
910 CLKCTL1->DSPCPUCLKSELA = dspclk_sel[0] & CLKCTL1_DSPCPUCLKSELA_SEL_MASK;
911 CLKCTL1->DSPCPUCLKSELB = dspclk_sel[1] & CLKCTL1_DSPCPUCLKSELB_SEL_MASK;
912
913 /* Restore ffro clock state*/
914 if (!ffro_state)
915 {
916 SYSCTL0->PDRUNCFG0_SET = SYSCTL0_PDRUNCFG0_SET_FFRO_PD_MASK;
917 }
918 /* Init FlexSPI in case XIP */
919 initXip();
920
921 /* Restore PMC LVD core reset setting */
922 PMC->CTRL = pmc_ctrl;
923
924 /* Restore DSP stall status */
925 if (dsp_state)
926 {
927 SYSCTL0->DSPSTALL &= ~SYSCTL0_DSPSTALL_DSPSTALL_MASK;
928 }
929
930 SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
931 __set_PRIMASK(pmsk);
932}
933
934/**
935 * @brief PMC Deep Sleep Power Down function call
936 * @return nothing
937 */
938
939void POWER_EnterDeepPowerDown(const uint32_t exclude_from_pd[4])
940{
941 uint32_t state;
942
943 state = DisableGlobalIRQ();
944 POWER_EnableDeepSleep();
945
946 /* Set mask bit before enter Deep Power Down mode.*/
947 SYSCTL0->PDSLEEPCFG0 |= (~exclude_from_pd[0] & PCFG0_DEEP_SLEEP);
948 SYSCTL0->PDSLEEPCFG1 |= (~exclude_from_pd[1] & PCFG1_DEEP_SLEEP);
949 SYSCTL0->PDSLEEPCFG2 |= (~exclude_from_pd[2] & PCFG2_DEEP_SLEEP);
950 SYSCTL0->PDSLEEPCFG3 |= (~exclude_from_pd[3] & PCFG3_DEEP_SLEEP);
951
952 /* Set DEEPPD bit in PDSLEEPCFG0*/
953 SYSCTL0->PDSLEEPCFG0 |= SYSCTL0_PDSLEEPCFG0_DEEP_PD_MASK;
954 /* Configuration PMC to respond changes on pdruncfg[2:1] (PMIC mode select pin values) like below:
955 * 0b00 run mode, all supplies on.
956 * 0b01 deep sleep mode, all supplies on.
957 * 0b10 deep powerdown mode, vddcore off.
958 * 0b11 full deep powerdown mode vdd1v8 and vddcore off. */
959 PMC->PMICCFG = 0x73U;
960 /* Set PMIC mode pin as 0b10 to let PMC trun off VDDCORE */
961 POWER_SetPmicMode(0x2U, kCfg_Sleep);
962 /* Clear all event flags before enter deep powerdown */
963 PMC->FLAGS = PMC->FLAGS;
964 /* Enter deep powerdown mode */
965 __WFI();
966
967 /* Note that this code is never reached because we re-boot */
968 EnableGlobalIRQ(state);
969}
970
971/**
972 * @brief PMC Full Deep Sleep Power Down function call
973 * @return nothing
974 */
975
976void POWER_EnterFullDeepPowerDown(const uint32_t exclude_from_pd[4])
977{
978 uint32_t state;
979
980 state = DisableGlobalIRQ();
981 POWER_EnableDeepSleep();
982
983 /* Set mask bit before enter Full Deep Power Down mode.*/
984 SYSCTL0->PDSLEEPCFG0 |= (~exclude_from_pd[0] & PCFG0_DEEP_SLEEP);
985 SYSCTL0->PDSLEEPCFG1 |= (~exclude_from_pd[1] & PCFG1_DEEP_SLEEP);
986 SYSCTL0->PDSLEEPCFG2 |= (~exclude_from_pd[2] & PCFG2_DEEP_SLEEP);
987 SYSCTL0->PDSLEEPCFG3 |= (~exclude_from_pd[3] & PCFG3_DEEP_SLEEP);
988
989 /* Set DEEPPD bit in PDSLEEPCFG0*/
990 SYSCTL0->PDSLEEPCFG0 |= SYSCTL0_PDSLEEPCFG0_DEEP_PD_MASK;
991 /* Configuration PMC to respond changes on pdruncfg[2:1] (PMIC mode select pin values) like below:
992 * 0b00 run mode, all supplies on.
993 * 0b01 deep sleep mode, all supplies on.
994 * 0b10 deep powerdown mode, vddcore off.
995 * 0b11 full deep powerdown mode vdd1v8 and vddcore off. */
996 PMC->PMICCFG = 0x73U;
997 /* Set PMIC mode pin as 0b11 to let PMC trun off VDDCORE and VDD1V8*/
998 POWER_SetPmicMode(0x3U, kCfg_Sleep);
999 /* Clear all event flags before enter full deep powerdown */
1000 PMC->FLAGS = PMC->FLAGS;
1001 /* Enter full deep powerdown mode */
1002 __WFI();
1003
1004 /* Note that this code is never reached because we re-boot */
1005 EnableGlobalIRQ(state);
1006}
1007
1008/* Enter Power mode */
1009void POWER_EnterPowerMode(power_mode_cfg_t mode, const uint32_t exclude_from_pd[4])
1010{
1011 switch (mode)
1012 {
1013 case kPmu_Sleep:
1014 POWER_EnterSleep();
1015 break;
1016
1017 case kPmu_Deep_Sleep:
1018 POWER_EnterDeepSleep(exclude_from_pd);
1019 break;
1020
1021 case kPmu_Deep_PowerDown:
1022 POWER_EnterDeepPowerDown(exclude_from_pd);
1023 break;
1024
1025 case kPmu_Full_Deep_PowerDown:
1026 POWER_EnterFullDeepPowerDown(exclude_from_pd);
1027 break;
1028
1029 default:
1030 assert(false);
1031 break;
1032 }
1033}
1034
1035void POWER_SetPmicMode(uint32_t mode, pmic_mode_reg_t reg)
1036{
1037 __disable_irq();
1038
1039 SYSCTL0_TUPLE_REG(reg) =
1040 (SYSCTL0_TUPLE_REG(reg) & ~(SYSCTL0_PDRUNCFG0_PMIC_MODE1_MASK | SYSCTL0_PDRUNCFG0_PMIC_MODE0_MASK)) |
1041 (mode << SYSCTL0_PDRUNCFG0_PMIC_MODE0_SHIFT);
1042
1043 __enable_irq();
1044}
1045
1046void EnableDeepSleepIRQ(IRQn_Type interrupt)
1047{
1048 uint32_t intNumber = (uint32_t)interrupt;
1049
1050 if (intNumber >= 32U)
1051 {
1052 /* enable interrupt wake up in the STARTEN1 register */
1053 SYSCTL0->STARTEN1_SET = 1UL << (intNumber - 32U);
1054 }
1055 else
1056 {
1057 /* enable interrupt wake up in the STARTEN0 register */
1058 SYSCTL0->STARTEN0_SET = 1UL << intNumber;
1059 }
1060 /* also enable interrupt at NVIC */
1061 (void)EnableIRQ(interrupt);
1062}
1063
1064void DisableDeepSleepIRQ(IRQn_Type interrupt)
1065{
1066 uint32_t intNumber = (uint32_t)interrupt;
1067
1068 /* also disable interrupt at NVIC */
1069 (void)DisableIRQ(interrupt);
1070
1071 if (intNumber >= 32U)
1072 {
1073 /* disable interrupt wake up in the STARTEN1 register */
1074 SYSCTL0->STARTEN1_CLR = 1UL << (intNumber - 32U);
1075 }
1076 else
1077 {
1078 /* disable interrupt wake up in the STARTEN0 register */
1079 SYSCTL0->STARTEN0_CLR = 1UL << intNumber;
1080 }
1081}
1082
1083/* Get power lib version */
1084uint32_t POWER_GetLibVersion(void)
1085{
1086 return FSL_POWER_DRIVER_VERSION;
1087}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.h
new file mode 100644
index 000000000..ca124d6b0
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_power.h
@@ -0,0 +1,579 @@
1/*
2 * Copyright 2018, NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7#ifndef _FSL_POWER_H_
8#define _FSL_POWER_H_
9
10#include "fsl_common.h"
11
12/*!
13 * @addtogroup power
14 * @{
15 */
16/*******************************************************************************
17 * Definitions
18 ******************************************************************************/
19
20/*! @name Driver version */
21/*@{*/
22/*! @brief power driver version 2.3.0. */
23#define FSL_POWER_DRIVER_VERSION (MAKE_VERSION(2UL, 3UL, 0UL))
24/*@}*/
25
26#define MAKE_PD_BITS(reg, slot) (((reg) << 8) | (slot))
27#define SYSCTL0_PDRCFGSET_REG(x) (*((volatile uint32_t *)((uint32_t)(&(SYSCTL0->PDRUNCFG0_SET)) + ((x) << 2U))))
28#define SYSCTL0_PDRCFGCLR_REG(x) (*((volatile uint32_t *)((uint32_t)(&(SYSCTL0->PDRUNCFG0_CLR)) + ((x) << 2U))))
29#define PDRCFG0 0x0U
30#define PDRCFG1 0x1U
31#define PDRCFG2 0x2U
32#define PDRCFG3 0x3U
33
34/*! PMIC is used but vddcore supply is always above LVD threshold. */
35#define PMIC_VDDCORE_RECOVERY_TIME_IGNORE (0xFFFFFFFFU)
36
37/*! Invalid voltage level. */
38#define POWER_INVALID_VOLT_LEVEL (0xFFFFFFFFU)
39/**
40 * @brief PMC event flags.
41 *
42 * @note These enums are meant to be OR'd together to form a bit mask.
43 */
44enum _pmc_interrupt
45{
46 kPMC_INT_LVDCORE = PMC_CTRL_LVDCOREIE_MASK, /*!< Vddcore Low-Voltage Detector Interrupt Enable. */
47 kPMC_INT_HVDCORE = PMC_CTRL_HVDCOREIE_MASK, /*!< Vddcore High-Voltage Detector Interrupt Enable. */
48 kPMC_INT_HVD1V8 = PMC_CTRL_HVD1V8IE_MASK, /*!< Vdd1v8 High-Voltage Detector Interrupt Enable. */
49 kPMC_INT_AUTOWK = PMC_CTRL_AUTOWKEN_MASK, /*!< PMC automatic wakeup enable and interrupt enable. */
50 kPMC_INT_INTRPAD =
51 PMC_CTRL_INTRPADEN_MASK /*!< Interrupt pad deep powerdown and deep sleep wake up & interrupt enable. */
52};
53
54/**
55 * @brief PMC event flags.
56 *
57 * @note These enums are meant to be OR'd together to form a bit mask.
58 */
59enum _pmc_event_flags
60{
61 kPMC_FLAGS_PORCORE = PMC_FLAGS_PORCOREF_MASK, /*!< POR triggered by the vddcore POR monitor (0 = no, 1 = yes). */
62 kPMC_FLAGS_POR1V8 =
63 PMC_FLAGS_POR1V8F_MASK, /*!< vdd1v8 power on event detected since last cleared(0 = no, 1 = yes). */
64 kPMC_FLAGS_PORAO18 =
65 PMC_FLAGS_PORAO18F_MASK, /*!< vdd_ao18 power on event detected since last cleared (0 = no, 1 = yes). */
66 kPMC_FLAGS_LVDCORE =
67 PMC_FLAGS_LVDCOREF_MASK, /*!< LVD tripped since last time this bit was cleared (0 = no, 1 = yes). */
68 kPMC_FLAGS_HVDCORE =
69 PMC_FLAGS_HVDCOREF_MASK, /*!< HVD tripped since last time this bit was cleared (0 = no, 1 = yes). */
70 kPMC_FLAGS_HVD1V8 =
71 PMC_FLAGS_HVD1V8F_MASK, /*!< vdd1v8 HVD tripped since last time this bit was cleared (0 = no, 1 = yes). */
72 kPMC_FLAGS_RTC =
73 PMC_FLAGS_RTCF_MASK, /*!< RTC wakeup detected since last time flag was cleared (0 = no, 1 = yes). */
74 kPMC_FLAGS_AUTOWK =
75 PMC_FLAGS_AUTOWKF_MASK, /*!< PMC Auto wakeup caused a deep sleep wakeup and interrupt (0 = no, 1 = yes). */
76 kPMC_FLAGS_INTNPADF = PMC_FLAGS_INTNPADF_MASK, /*!< Pad interrupt caused a wakeup or interrupt event since the last
77 time this flag was cleared (0 = no, 1 = yes). */
78 kPMC_FLAGS_RESETNPAD = PMC_FLAGS_RESETNPADF_MASK, /*!< Reset pad wakeup caused a wakeup or reset event since the
79 last time this bit was cleared. (0 = no, 1 = yes). */
80 kPMC_FLAGS_DEEPPD = PMC_FLAGS_DEEPPDF_MASK /*!< Deep powerdown was entered since the last time this flag was cleared
81 (0 = no, 1 = yes). */
82};
83
84typedef enum pd_bits
85{
86 kPDRUNCFG_PMC_MODE0 = MAKE_PD_BITS(PDRCFG0, 1U),
87 kPDRUNCFG_PMC_MODE1 = MAKE_PD_BITS(PDRCFG0, 2U),
88 kPDRUNCFG_LP_VDD_COREREG = MAKE_PD_BITS(PDRCFG0, 4U),
89 kPDRUNCFG_LP_PMCREF = MAKE_PD_BITS(PDRCFG0, 6U),
90 kPDRUNCFG_PD_HVD1V8 = MAKE_PD_BITS(PDRCFG0, 7U),
91 kPDRUNCFG_LP_PORCORE = MAKE_PD_BITS(PDRCFG0, 8U),
92 kPDRUNCFG_LP_LVDCORE = MAKE_PD_BITS(PDRCFG0, 9U),
93 kPDRUNCFG_PD_HVDCORE = MAKE_PD_BITS(PDRCFG0, 10U),
94 kPDRUNCFG_PD_SYSXTAL = MAKE_PD_BITS(PDRCFG0, 13U),
95 kPDRUNCFG_PD_LPOSC = MAKE_PD_BITS(PDRCFG0, 14U),
96 kPDRUNCFG_PD_SFRO = MAKE_PD_BITS(PDRCFG0, 15U),
97 kPDRUNCFG_PD_FFRO = MAKE_PD_BITS(PDRCFG0, 16U),
98 kPDRUNCFG_PD_SYSPLL_LDO = MAKE_PD_BITS(PDRCFG0, 17U),
99 kPDRUNCFG_PD_SYSPLL_ANA = MAKE_PD_BITS(PDRCFG0, 18U),
100 kPDRUNCFG_PD_AUDPLL_LDO = MAKE_PD_BITS(PDRCFG0, 19U),
101 kPDRUNCFG_PD_AUDPLL_ANA = MAKE_PD_BITS(PDRCFG0, 20U),
102 kPDRUNCFG_PD_ADC = MAKE_PD_BITS(PDRCFG0, 21U),
103 kPDRUNCFG_LP_ADC = MAKE_PD_BITS(PDRCFG0, 22U),
104 kPDRUNCFG_PD_ADC_TEMPSNS = MAKE_PD_BITS(PDRCFG0, 23U),
105 kPDRUNCFG_PD_ACMP = MAKE_PD_BITS(PDRCFG0, 25U),
106 kPDRUNCFG_LP_HSPAD_VDET = MAKE_PD_BITS(PDRCFG0, 28U),
107 kPDRUNCFG_PD_HSPAD_REF = MAKE_PD_BITS(PDRCFG0, 29U),
108
109 kPDRUNCFG_APD_PQ_SRAM = MAKE_PD_BITS(PDRCFG1, 0U),
110 kPDRUNCFG_PPD_PQ_SRAM = MAKE_PD_BITS(PDRCFG1, 1U),
111 kPDRUNCFG_APD_FLEXSPI_SRAM = MAKE_PD_BITS(PDRCFG1, 2U),
112 kPDRUNCFG_PPD_FLEXSPI_SRAM = MAKE_PD_BITS(PDRCFG1, 3U),
113 kPDRUNCFG_APD_USBHS_SRAM = MAKE_PD_BITS(PDRCFG1, 4U),
114 kPDRUNCFG_PPD_USBHS_SRAM = MAKE_PD_BITS(PDRCFG1, 5U),
115 kPDRUNCFG_APD_USDHC0_SRAM = MAKE_PD_BITS(PDRCFG1, 6U),
116 kPDRUNCFG_PPD_USDHC0_SRAM = MAKE_PD_BITS(PDRCFG1, 7U),
117 kPDRUNCFG_APD_USDHC1_SRAM = MAKE_PD_BITS(PDRCFG1, 8U),
118 kPDRUNCFG_PPD_USDHC1_SRAM = MAKE_PD_BITS(PDRCFG1, 9U),
119 kPDRUNCFG_APD_CASPER_SRAM = MAKE_PD_BITS(PDRCFG1, 10U),
120 kPDRUNCFG_PPD_CASPER_SRAM = MAKE_PD_BITS(PDRCFG1, 11U),
121 kPDRUNCFG_APD_DSP_CACHE_REGF = MAKE_PD_BITS(PDRCFG1, 24U),
122 kPDRUNCFG_PPD_DSP_CACHE_REGF = MAKE_PD_BITS(PDRCFG1, 25U),
123 kPDRUNCFG_APD_DSP_TCM_REGF = MAKE_PD_BITS(PDRCFG1, 26U),
124 kPDRUNCFG_PPD_DSP_TCM_REGF = MAKE_PD_BITS(PDRCFG1, 27U),
125 kPDRUNCFG_PD_ROM = MAKE_PD_BITS(PDRCFG1, 28U),
126 kPDRUNCFG_SRAM_SLEEP = MAKE_PD_BITS(PDRCFG1, 31U),
127
128 kPDRUNCFG_APD_SRAM_IF0 = MAKE_PD_BITS(PDRCFG2, 0U),
129 kPDRUNCFG_APD_SRAM_IF1 = MAKE_PD_BITS(PDRCFG2, 1U),
130 kPDRUNCFG_APD_SRAM_IF2 = MAKE_PD_BITS(PDRCFG2, 2U),
131 kPDRUNCFG_APD_SRAM_IF3 = MAKE_PD_BITS(PDRCFG2, 3U),
132 kPDRUNCFG_APD_SRAM_IF4 = MAKE_PD_BITS(PDRCFG2, 4U),
133 kPDRUNCFG_APD_SRAM_IF5 = MAKE_PD_BITS(PDRCFG2, 5U),
134 kPDRUNCFG_APD_SRAM_IF6 = MAKE_PD_BITS(PDRCFG2, 6U),
135 kPDRUNCFG_APD_SRAM_IF7 = MAKE_PD_BITS(PDRCFG2, 7U),
136 kPDRUNCFG_APD_SRAM_IF8 = MAKE_PD_BITS(PDRCFG2, 8U),
137 kPDRUNCFG_APD_SRAM_IF9 = MAKE_PD_BITS(PDRCFG2, 9U),
138 kPDRUNCFG_APD_SRAM_IF10 = MAKE_PD_BITS(PDRCFG2, 10U),
139 kPDRUNCFG_APD_SRAM_IF11 = MAKE_PD_BITS(PDRCFG2, 11U),
140 kPDRUNCFG_APD_SRAM_IF12 = MAKE_PD_BITS(PDRCFG2, 12U),
141 kPDRUNCFG_APD_SRAM_IF13 = MAKE_PD_BITS(PDRCFG2, 13U),
142 kPDRUNCFG_APD_SRAM_IF14 = MAKE_PD_BITS(PDRCFG2, 14U),
143 kPDRUNCFG_APD_SRAM_IF15 = MAKE_PD_BITS(PDRCFG2, 15U),
144 kPDRUNCFG_APD_SRAM_IF16 = MAKE_PD_BITS(PDRCFG2, 16U),
145 kPDRUNCFG_APD_SRAM_IF17 = MAKE_PD_BITS(PDRCFG2, 17U),
146 kPDRUNCFG_APD_SRAM_IF18 = MAKE_PD_BITS(PDRCFG2, 18U),
147 kPDRUNCFG_APD_SRAM_IF19 = MAKE_PD_BITS(PDRCFG2, 19U),
148 kPDRUNCFG_APD_SRAM_IF20 = MAKE_PD_BITS(PDRCFG2, 20U),
149 kPDRUNCFG_APD_SRAM_IF21 = MAKE_PD_BITS(PDRCFG2, 21U),
150 kPDRUNCFG_APD_SRAM_IF22 = MAKE_PD_BITS(PDRCFG2, 22U),
151 kPDRUNCFG_APD_SRAM_IF23 = MAKE_PD_BITS(PDRCFG2, 23U),
152 kPDRUNCFG_APD_SRAM_IF24 = MAKE_PD_BITS(PDRCFG2, 24U),
153 kPDRUNCFG_APD_SRAM_IF25 = MAKE_PD_BITS(PDRCFG2, 25U),
154 kPDRUNCFG_APD_SRAM_IF26 = MAKE_PD_BITS(PDRCFG2, 26U),
155 kPDRUNCFG_APD_SRAM_IF27 = MAKE_PD_BITS(PDRCFG2, 27U),
156 kPDRUNCFG_APD_SRAM_IF28 = MAKE_PD_BITS(PDRCFG2, 28U),
157 kPDRUNCFG_APD_SRAM_IF29 = MAKE_PD_BITS(PDRCFG2, 29U),
158
159 kPDRUNCFG_PPD_SRAM_IF0 = MAKE_PD_BITS(PDRCFG3, 0U),
160 kPDRUNCFG_PPD_SRAM_IF1 = MAKE_PD_BITS(PDRCFG3, 1U),
161 kPDRUNCFG_PPD_SRAM_IF2 = MAKE_PD_BITS(PDRCFG3, 2U),
162 kPDRUNCFG_PPD_SRAM_IF3 = MAKE_PD_BITS(PDRCFG3, 3U),
163 kPDRUNCFG_PPD_SRAM_IF4 = MAKE_PD_BITS(PDRCFG3, 4U),
164 kPDRUNCFG_PPD_SRAM_IF5 = MAKE_PD_BITS(PDRCFG3, 5U),
165 kPDRUNCFG_PPD_SRAM_IF6 = MAKE_PD_BITS(PDRCFG3, 6U),
166 kPDRUNCFG_PPD_SRAM_IF7 = MAKE_PD_BITS(PDRCFG3, 7U),
167 kPDRUNCFG_PPD_SRAM_IF8 = MAKE_PD_BITS(PDRCFG3, 8U),
168 kPDRUNCFG_PPD_SRAM_IF9 = MAKE_PD_BITS(PDRCFG3, 9U),
169 kPDRUNCFG_PPD_SRAM_IF10 = MAKE_PD_BITS(PDRCFG3, 10U),
170 kPDRUNCFG_PPD_SRAM_IF11 = MAKE_PD_BITS(PDRCFG3, 11U),
171 kPDRUNCFG_PPD_SRAM_IF12 = MAKE_PD_BITS(PDRCFG3, 12U),
172 kPDRUNCFG_PPD_SRAM_IF13 = MAKE_PD_BITS(PDRCFG3, 13U),
173 kPDRUNCFG_PPD_SRAM_IF14 = MAKE_PD_BITS(PDRCFG3, 14U),
174 kPDRUNCFG_PPD_SRAM_IF15 = MAKE_PD_BITS(PDRCFG3, 15U),
175 kPDRUNCFG_PPD_SRAM_IF16 = MAKE_PD_BITS(PDRCFG3, 16U),
176 kPDRUNCFG_PPD_SRAM_IF17 = MAKE_PD_BITS(PDRCFG3, 17U),
177 kPDRUNCFG_PPD_SRAM_IF18 = MAKE_PD_BITS(PDRCFG3, 18U),
178 kPDRUNCFG_PPD_SRAM_IF19 = MAKE_PD_BITS(PDRCFG3, 19U),
179 kPDRUNCFG_PPD_SRAM_IF20 = MAKE_PD_BITS(PDRCFG3, 20U),
180 kPDRUNCFG_PPD_SRAM_IF21 = MAKE_PD_BITS(PDRCFG3, 21U),
181 kPDRUNCFG_PPD_SRAM_IF22 = MAKE_PD_BITS(PDRCFG3, 22U),
182 kPDRUNCFG_PPD_SRAM_IF23 = MAKE_PD_BITS(PDRCFG3, 23U),
183 kPDRUNCFG_PPD_SRAM_IF24 = MAKE_PD_BITS(PDRCFG3, 24U),
184 kPDRUNCFG_PPD_SRAM_IF25 = MAKE_PD_BITS(PDRCFG3, 25U),
185 kPDRUNCFG_PPD_SRAM_IF26 = MAKE_PD_BITS(PDRCFG3, 26U),
186 kPDRUNCFG_PPD_SRAM_IF27 = MAKE_PD_BITS(PDRCFG3, 27U),
187 kPDRUNCFG_PPD_SRAM_IF28 = MAKE_PD_BITS(PDRCFG3, 28U),
188 kPDRUNCFG_PPD_SRAM_IF29 = MAKE_PD_BITS(PDRCFG3, 29U),
189 /*
190 This enum member has no practical meaning,it is used to avoid MISRA issue,
191 user should not trying to use it.
192 */
193 kPDRUNCFG_ForceUnsigned = (int)0x80000000U,
194} pd_bit_t;
195
196/*! @brief Power mode configuration API parameter */
197typedef enum _power_mode_config
198{
199 kPmu_Sleep = 0U,
200 kPmu_Deep_Sleep = 1U,
201 kPmu_Deep_PowerDown = 2U,
202 kPmu_Full_Deep_PowerDown = 3U,
203} power_mode_cfg_t;
204
205/*! @brief Body Bias mode definition */
206typedef enum _body_bias_mode
207{
208 kPmu_Fbb = 0x01U, /* Forward Body Bias Mode. */
209 kPmu_Rbb = 0x02U, /* Reverse Body Bias Mode. */
210 kPmu_Nbb = 0x03U, /* Normal Body Bias Mode. */
211} body_bias_mode_t;
212
213/*! @brief PMIC mode pin configuration API parameter */
214#define SYSCTL0_TUPLE_REG(reg) (*((volatile uint32_t *)(((uint32_t)(SYSCTL0)) + (((uint32_t)(reg)) & 0xFFFU))))
215typedef enum _pmic_mode_reg
216{
217 kCfg_Run = 0x610,
218 kCfg_Sleep = 0x600,
219} pmic_mode_reg_t;
220
221/*!
222 * @brief pad voltage range value.
223 */
224typedef enum _power_pad_vrange_val
225{
226 kPadVol_171_360 = 0U, /*!< Voltage from 1.71V to 3.60V. */
227 kPadVol_171_198 = 1U, /*!< Voltage from 1.71V to 1.98V. */
228 kPadVol_300_360 = 2U, /*!< Voltage from 3.00V to 3.60V. */
229} power_pad_vrange_val_t;
230
231/*!
232 * @brief pad voltage range configuration.
233 */
234typedef struct _power_pad_vrange
235{
236 uint32_t Vdde0Range : 2; /*!< VDDE0 voltage range for VDDIO_0. @ref power_pad_vrange_val_t */
237 uint32_t Vdde1Range : 2; /*!< VDDE1 voltage range for VDDIO_1. @ref power_pad_vrange_val_t */
238 uint32_t Vdde2Range : 2; /*!< VDDE2 voltage range for VDDIO_2. @ref power_pad_vrange_val_t */
239 uint32_t : 26; /*!< Reserved. */
240} power_pad_vrange_t;
241
242/*!
243 * @brief LVD falling trip voltage value.
244 */
245typedef enum _power_lvd_falling_trip_vol_val
246{
247 kLvdFallingTripVol_720 = 0U, /*!< Voltage 720mV. */
248 kLvdFallingTripVol_735 = 1U, /*!< Voltage 735mV. */
249 kLvdFallingTripVol_750 = 2U, /*!< Voltage 750mV. */
250 kLvdFallingTripVol_765 = 3U, /*!< Voltage 765mV. */
251 kLvdFallingTripVol_780 = 4U, /*!< Voltage 780mV. */
252 kLvdFallingTripVol_795 = 5U, /*!< Voltage 795mV. */
253 kLvdFallingTripVol_810 = 6U, /*!< Voltage 810mV. */
254 kLvdFallingTripVol_825 = 7U, /*!< Voltage 825mV. */
255 kLvdFallingTripVol_840 = 8U, /*!< Voltage 840mV. */
256 kLvdFallingTripVol_855 = 9U, /*!< Voltage 855mV. */
257 kLvdFallingTripVol_870 = 10U, /*!< Voltage 870mV. */
258 kLvdFallingTripVol_885 = 11U, /*!< Voltage 885mV. */
259 kLvdFallingTripVol_900 = 12U, /*!< Voltage 900mV. */
260 kLvdFallingTripVol_915 = 13U, /*!< Voltage 915mV. */
261 kLvdFallingTripVol_930 = 14U, /*!< Voltage 930mV. */
262 kLvdFallingTripVol_945 = 15U, /*!< Voltage 945mV. */
263} power_lvd_falling_trip_vol_val_t;
264
265/*!
266 * @brief Part temperature range.
267 */
268typedef enum _power_part_temp_range
269{
270 kPartTemp_0C_P85C = 0U, /*!< Part temp range 0C - 85C. */
271 kPartTemp_N20C_P85C = 1U, /*!< Part temp range -20C - 85C. */
272} power_part_temp_range_t;
273
274/*!
275 * @brief Voltage operation range.
276 */
277typedef enum _power_volt_op_range
278{
279 kVoltOpLowRange = 0U, /*!< Voltage operation range is (0.7V, 0.8V, 0.9V).
280 Maximum supported CM33 frequency is 220MHz for 0C-85C part and 215MHz for -20C-85C part.
281 Maximum supported DSP frequency is 375MHz for 0C-85C part and 355MHz for -20C-85C part. */
282 kVoltOpFullRange = 1U, /*!< Voltage operation range is (0.7V, 0.8V, 0.9V, 1.0V, 1.13V). This range can support full
283 CM33/DSP speed clarified in Data Sheet. */
284} power_volt_op_range_t;
285
286/*! Frequency levels defined in power library. */
287extern const uint32_t powerLowCm33FreqLevel[2][3];
288extern const uint32_t powerLowDspFreqLevel[2][3];
289extern const uint32_t powerFullCm33FreqLevel[2][5];
290extern const uint32_t powerFullDspFreqLevel[2][5];
291
292/*******************************************************************************
293 * API
294 ******************************************************************************/
295
296#ifdef __cplusplus
297extern "C" {
298#endif
299
300/*!
301 * @brief API to enable PDRUNCFG bit in the Sysctl0. Note that enabling the bit powers down the peripheral
302 *
303 * @param en peripheral for which to enable the PDRUNCFG bit
304 */
305static inline void POWER_EnablePD(pd_bit_t en)
306{
307 /* PDRUNCFGSET */
308 SYSCTL0_PDRCFGSET_REG(((uint32_t)en) >> 8UL) = (1UL << (((uint32_t)en) & 0xFFU));
309}
310
311/*!
312 * @brief API to disable PDRUNCFG bit in the Sysctl0. Note that disabling the bit powers up the peripheral
313 *
314 * @param en peripheral for which to disable the PDRUNCFG bit
315 */
316static inline void POWER_DisablePD(pd_bit_t en)
317{
318 /* PDRUNCFGCLR */
319 SYSCTL0_PDRCFGCLR_REG(((uint32_t)en) >> 8UL) = (1UL << (((uint32_t)en) & 0xFFU));
320}
321
322/*!
323 * @brief API to enable deep sleep bit in the ARM Core.
324 */
325static inline void POWER_EnableDeepSleep(void)
326{
327 SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
328}
329
330/*!
331 * @brief API to disable deep sleep bit in the ARM Core.
332 */
333static inline void POWER_DisableDeepSleep(void)
334{
335 SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk;
336}
337
338/**
339 * @brief API to update XTAL oscillator settling time .
340 * @param osc_delay : OSC stabilization time in unit of microsecond
341 */
342void POWER_UpdateOscSettlingTime(uint32_t osc_delay);
343
344/**
345 * @brief API to update on-board PMIC vddcore recovery time.
346 *
347 * NOTE: If LDO is used instead of PMIC, don't call it. Otherwise it must be called to allow power library to well
348 * handle the deep sleep process.
349 *
350 * @param pmic_delay : PMIC stabilization time in unit of microsecond, or PMIC_VDDCORE_RECOVERY_TIME_IGNORE if not
351 * care.
352 */
353void POWER_UpdatePmicRecoveryTime(uint32_t pmic_delay);
354
355/*!
356 * @brief API to apply updated PMC PDRUNCFG bits in the Sysctl0.
357 */
358void POWER_ApplyPD(void);
359
360/**
361 * @brief Clears the PMC event flags state.
362 * @param statusMask : A bitmask of event flags that are to be cleared.
363 */
364void POWER_ClearEventFlags(uint32_t statusMask);
365
366/**
367 * @brief Get the PMC event flags state.
368 * @return PMC FLAGS register value
369 */
370uint32_t POWER_GetEventFlags(void);
371
372/**
373 * @brief Enable the PMC interrupt requests.
374 * @param interruptMask : A bitmask of of interrupts to enable.
375 */
376void POWER_EnableInterrupts(uint32_t interruptMask);
377
378/**
379 * @brief Disable the PMC interrupt requests.
380 * @param interruptMask : A bitmask of of interrupts to disable.
381 */
382void POWER_DisableInterrupts(uint32_t interruptMask);
383
384/**
385 * @brief Set the PMC analog buffer for references or ATX2.
386 * @param enable : Set to true to enable analog buffer for references or ATX2, false to disable.
387 */
388void POWER_SetAnalogBuffer(bool enable);
389
390/**
391 * @brief Get PMIC_MODE pins configure value.
392 * @param reg : PDSLEEPCFG0 or PDRUNCFG0 register offset
393 * @return PMIC_MODE pins value in PDSLEEPCFG0
394 */
395static inline uint32_t POWER_GetPmicMode(pmic_mode_reg_t reg)
396{
397 uint32_t mode = (uint32_t)reg;
398
399 return ((SYSCTL0_TUPLE_REG(mode) & (SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_MASK | SYSCTL0_PDSLEEPCFG0_PMIC_MODE1_MASK)) >>
400 SYSCTL0_PDSLEEPCFG0_PMIC_MODE0_SHIFT);
401}
402
403/**
404 * @brief Get RBB/FBB bit value.
405 * @param reg : PDSLEEPCFG0 or PDRUNCFG0 register offset
406 * @return Current body bias mode
407 */
408static inline body_bias_mode_t POWER_GetBodyBiasMode(pmic_mode_reg_t reg)
409{
410 uint32_t mode = (uint32_t)reg;
411 uint32_t bbMode = (SYSCTL0_TUPLE_REG(mode) & (SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK | SYSCTL0_PDSLEEPCFG0_FBB_PD_MASK)) >>
412 SYSCTL0_PDSLEEPCFG0_RBB_PD_SHIFT;
413
414 return (body_bias_mode_t)bbMode;
415}
416
417/*!
418 * @brief Configure pad voltage level. Wide voltage range cost more power due to enabled voltage detector.
419 *
420 * NOTE: BE CAUTIOUS TO CALL THIS API. IF THE PAD SUPPLY IS BEYOND THE SET RANGE, SILICON MIGHT BE DAMAGED.
421 *
422 * @param config pad voltage range configuration.
423 */
424void POWER_SetPadVolRange(const power_pad_vrange_t *config);
425
426/**
427 * @brief PMC Enter Rbb mode function call
428 */
429#if defined(DOXYGEN_OUTPUT) && DOXYGEN_OUTPUT
430void POWER_EnterRbb(void);
431#else
432AT_QUICKACCESS_SECTION_CODE(void POWER_EnterRbb(void));
433#endif
434
435/**
436 * @brief PMC Enter Fbb mode function call
437 */
438#if defined(DOXYGEN_OUTPUT) && DOXYGEN_OUTPUT
439void POWER_EnterFbb(void);
440#else
441AT_QUICKACCESS_SECTION_CODE(void POWER_EnterFbb(void));
442#endif
443
444/**
445 * @brief PMC exit Rbb & Fbb mode function call
446 */
447#if defined(DOXYGEN_OUTPUT) && DOXYGEN_OUTPUT
448void POWER_EnterNbb(void);
449#else
450AT_QUICKACCESS_SECTION_CODE(void POWER_EnterNbb(void));
451#endif
452
453/**
454 * @brief PMC Set Ldo volatage for particular frequency.
455 * NOTE: The API is only valid when MAINPLLCLKDIV[7:0] and DSPPLLCLKDIV[7:0] are 0.
456 * If LVD falling trip voltage is higher than the required core voltage for particular frequency,
457 * LVD voltage will be decreased to safe level to avoid unexpected LVD reset or interrupt event.
458 * @param tempRange : part temperature range
459 * @param voltOpRange : voltage operation range.
460 * @param cm33Freq : CM33 CPU clock frequency value
461 * @param dspFreq : DSP CPU clock frequency value
462 * @return true for success and false for CPU frequency out of specified voltOpRange.
463 */
464bool POWER_SetLdoVoltageForFreq(power_part_temp_range_t tempRange,
465 power_volt_op_range_t voltOpRange,
466 uint32_t cm33Freq,
467 uint32_t dspFreq);
468
469/*!
470 * @brief Set vddcore low voltage detection falling trip voltage.
471 * @param volt target LVD voltage to set.
472 */
473void POWER_SetLvdFallingTripVoltage(power_lvd_falling_trip_vol_val_t volt);
474
475/**
476 * @brief Get current vddcore low voltage detection falling trip voltage.
477 * @return Current LVD voltage.
478 */
479power_lvd_falling_trip_vol_val_t POWER_GetLvdFallingTripVoltage(void);
480
481/**
482 * @brief Disable low voltage detection, no reset or interrupt is triggered when vddcore voltage drops below
483 * threshold.
484 * NOTE: This API is for internal use only. Application should not touch it.
485 */
486void POWER_DisableLVD(void);
487
488/**
489 * @brief Restore low voltage detection setting.
490 * NOTE: This API is for internal use only. Application should not touch it.
491 */
492void POWER_RestoreLVD(void);
493
494/**
495 * @brief Set PMIC_MODE pins configure value.
496 * @param mode : PMIC MODE pin value
497 * @param reg : PDSLEEPCFG0 or PDRUNCFG0 register offset
498 * @return PMIC_MODE pins value in PDSLEEPCFG0
499 */
500void POWER_SetPmicMode(uint32_t mode, pmic_mode_reg_t reg);
501
502/**
503 * @brief Configures and enters in SLEEP low power mode
504 */
505void POWER_EnterSleep(void);
506
507/**
508 * @brief PMC Deep Sleep function call
509 * @param exclude_from_pd Bit mask of the PDRUNCFG0 ~ PDRUNCFG3 that needs to be powered on during Deep Sleep mode
510 * selected.
511 */
512#if defined(DOXYGEN_OUTPUT) && DOXYGEN_OUTPUT
513void POWER_EnterDeepSleep(const uint32_t exclude_from_pd[4]);
514#else
515AT_QUICKACCESS_SECTION_CODE(void POWER_EnterDeepSleep(const uint32_t exclude_from_pd[4]));
516#endif
517
518/**
519 * @brief PMC Deep Power Down function call
520 * @param exclude_from_pd Bit mask of the PDRUNCFG0 ~ PDRUNCFG3 that needs to be powered on during Deep Power Down
521 * mode selected.
522 */
523void POWER_EnterDeepPowerDown(const uint32_t exclude_from_pd[4]);
524
525/**
526 * @brief PMC Full Deep Power Down function call
527 * @param exclude_from_pd Bit mask of the PDRUNCFG0 ~ PDRUNCFG3 that needs to be powered on during Full Deep Power
528 * Down mode selected.
529 */
530void POWER_EnterFullDeepPowerDown(const uint32_t exclude_from_pd[4]);
531
532/*!
533 * @brief Power Library API to enter different power mode.
534 *
535 * @param mode Power mode to enter.
536 * @param exclude_from_pd Bit mask of the PDRUNCFG0 ~ PDRUNCFG3 that needs to be powered on during power mode selected.
537 */
538void POWER_EnterPowerMode(power_mode_cfg_t mode, const uint32_t exclude_from_pd[4]);
539
540/*!
541 * @brief Enable specific interrupt for wake-up from deep-sleep mode.
542 * Enable the interrupt for wake-up from deep sleep mode.
543 * Some interrupts are typically used in sleep mode only and will not occur during
544 * deep-sleep mode because relevant clocks are stopped. However, it is possible to enable
545 * those clocks (significantly increasing power consumption in the reduced power mode),
546 * making these wake-ups possible.
547 * @note This function also enables the interrupt in the NVIC (EnableIRQ() is called internally).
548 * @param interrupt The IRQ number.
549 */
550void EnableDeepSleepIRQ(IRQn_Type interrupt);
551
552/*!
553 * @brief Disable specific interrupt for wake-up from deep-sleep mode.
554 * Disable the interrupt for wake-up from deep sleep mode.
555 * Some interrupts are typically used in sleep mode only and will not occur during
556 * deep-sleep mode because relevant clocks are stopped. However, it is possible to enable
557 * those clocks (significantly increasing power consumption in the reduced power mode),
558 * making these wake-ups possible.
559 * @note This function also disables the interrupt in the NVIC (DisableIRQ() is called internally).
560 * @param interrupt The IRQ number.
561 */
562void DisableDeepSleepIRQ(IRQn_Type interrupt);
563
564/*!
565 * @brief Power Library API to return the library version.
566 *
567 * @return version number of the power library
568 */
569uint32_t POWER_GetLibVersion(void);
570
571#ifdef __cplusplus
572}
573#endif
574
575/**
576 * @}
577 */
578
579#endif /* _FSL_POWER_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.c
new file mode 100644
index 000000000..138b7db1b
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.c
@@ -0,0 +1,164 @@
1/*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2016, NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#include "fsl_common.h"
10#include "fsl_reset.h"
11
12/*******************************************************************************
13 * Definitions
14 ******************************************************************************/
15/* Component ID definition, used by tools. */
16#ifndef FSL_COMPONENT_ID
17#define FSL_COMPONENT_ID "platform.drivers.reset"
18#endif
19
20/*******************************************************************************
21 * Variables
22 ******************************************************************************/
23
24/*******************************************************************************
25 * Prototypes
26 ******************************************************************************/
27
28/*******************************************************************************
29 * Code
30 ******************************************************************************/
31
32/*!
33 * brief Assert reset to peripheral.
34 *
35 * Asserts reset signal to specified peripheral module.
36 *
37 * param peripheral Assert reset to this peripheral. The enum argument contains encoding of reset register
38 * and reset bit position in the reset register.
39 */
40void RESET_SetPeripheralReset(reset_ip_name_t peripheral)
41{
42 const uint32_t regIndex = ((uint32_t)peripheral & 0x0000FF00u) >> 8;
43 const uint32_t bitPos = ((uint32_t)peripheral & 0x000000FFu);
44 const uint32_t bitMask = 1UL << bitPos;
45
46 assert(bitPos < 32u);
47
48 switch (regIndex)
49 {
50 case RST_CTL0_PSCCTL0:
51 RSTCTL0->PRSTCTL0_SET = bitMask;
52 while (0u == (RSTCTL0->PRSTCTL0 & bitMask))
53 {
54 }
55 break;
56 case RST_CTL0_PSCCTL1:
57 RSTCTL0->PRSTCTL1_SET = bitMask;
58 while (0u == (RSTCTL0->PRSTCTL1 & bitMask))
59 {
60 }
61 break;
62 case RST_CTL0_PSCCTL2:
63 RSTCTL0->PRSTCTL2_SET = bitMask;
64 while (0u == (RSTCTL0->PRSTCTL2 & bitMask))
65 {
66 }
67 break;
68 case RST_CTL1_PSCCTL0:
69 RSTCTL1->PRSTCTL0_SET = bitMask;
70 while (0u == (RSTCTL1->PRSTCTL0 & bitMask))
71 {
72 }
73 break;
74 case RST_CTL1_PSCCTL1:
75 RSTCTL1->PRSTCTL1_SET = bitMask;
76 while (0u == (RSTCTL1->PRSTCTL1 & bitMask))
77 {
78 }
79 break;
80 case RST_CTL1_PSCCTL2:
81 RSTCTL1->PRSTCTL2_SET = bitMask;
82 while (0u == (RSTCTL1->PRSTCTL2 & bitMask))
83 {
84 }
85 break;
86 default:
87 /* Added comments to prevent the violation of MISRA C-2012 rule. */
88 break;
89 }
90}
91
92/*!
93 * brief Clear reset to peripheral.
94 *
95 * Clears reset signal to specified peripheral module, allows it to operate.
96 *
97 * param peripheral Clear reset to this peripheral. The enum argument contains encoding of reset register
98 * and reset bit position in the reset register.
99 */
100void RESET_ClearPeripheralReset(reset_ip_name_t peripheral)
101{
102 const uint32_t regIndex = ((uint32_t)peripheral & 0x0000FF00u) >> 8;
103 const uint32_t bitPos = ((uint32_t)peripheral & 0x000000FFu);
104 const uint32_t bitMask = 1UL << bitPos;
105
106 assert(bitPos < 32u);
107
108 switch (regIndex)
109 {
110 case RST_CTL0_PSCCTL0:
111 RSTCTL0->PRSTCTL0_CLR = bitMask;
112 while (bitMask == (RSTCTL0->PRSTCTL0 & bitMask))
113 {
114 }
115 break;
116 case RST_CTL0_PSCCTL1:
117 RSTCTL0->PRSTCTL1_CLR = bitMask;
118 while (bitMask == (RSTCTL0->PRSTCTL1 & bitMask))
119 {
120 }
121 break;
122 case RST_CTL0_PSCCTL2:
123 RSTCTL0->PRSTCTL2_CLR = bitMask;
124 while (bitMask == (RSTCTL0->PRSTCTL2 & bitMask))
125 {
126 }
127 break;
128 case RST_CTL1_PSCCTL0:
129 RSTCTL1->PRSTCTL0_CLR = bitMask;
130 while (bitMask == (RSTCTL1->PRSTCTL0 & bitMask))
131 {
132 }
133 break;
134 case RST_CTL1_PSCCTL1:
135 RSTCTL1->PRSTCTL1_CLR = bitMask;
136 while (bitMask == (RSTCTL1->PRSTCTL1 & bitMask))
137 {
138 }
139 break;
140 case RST_CTL1_PSCCTL2:
141 RSTCTL1->PRSTCTL2_CLR = bitMask;
142 while (bitMask == (RSTCTL1->PRSTCTL2 & bitMask))
143 {
144 }
145 break;
146 default:
147 /* Added comments to prevent the violation of MISRA C-2012 rule. */
148 break;
149 }
150}
151
152/*!
153 * brief Reset peripheral module.
154 *
155 * Reset peripheral module.
156 *
157 * param peripheral Peripheral to reset. The enum argument contains encoding of reset register
158 * and reset bit position in the reset register.
159 */
160void RESET_PeripheralReset(reset_ip_name_t peripheral)
161{
162 RESET_SetPeripheralReset(peripheral);
163 RESET_ClearPeripheralReset(peripheral);
164}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.h
new file mode 100644
index 000000000..f4bc14268
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/drivers/fsl_reset.h
@@ -0,0 +1,232 @@
1/*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2016 - 2018, NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _FSL_RESET_H_
10#define _FSL_RESET_H_
11
12#include <assert.h>
13#include <stdbool.h>
14#include <stdint.h>
15#include <string.h>
16#include "fsl_device_registers.h"
17
18/*!
19 * @addtogroup reset
20 * @{
21 */
22
23/*******************************************************************************
24 * Definitions
25 ******************************************************************************/
26
27/*! @name Driver version */
28/*@{*/
29/*! @brief reset driver version 2.1.1. */
30#define FSL_RESET_DRIVER_VERSION (MAKE_VERSION(2, 1, 1))
31/*@}*/
32
33/*!
34 * @brief Reset control registers index
35 */
36#define RST_CTL0_PSCCTL0 0
37#define RST_CTL0_PSCCTL1 1
38#define RST_CTL0_PSCCTL2 2
39#define RST_CTL1_PSCCTL0 3
40#define RST_CTL1_PSCCTL1 4
41#define RST_CTL1_PSCCTL2 5
42/*!
43 * @brief Enumeration for peripheral reset control bits
44 *
45 * Defines the enumeration for peripheral reset control bits in RSTCLTx registers
46 */
47typedef enum _RSTCTL_RSTn
48{
49 kDSP_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 1U, /**< DSP reset control */
50 kPOWERQUAD_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 8U, /**< POWERQUAD reset control */
51 kCASPER_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 9U, /**< CASPER reset control */
52 kHASHCRYPT_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 10U, /**< HASHCRYPT reset control */
53 kPUF_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 11U, /**< Physical unclonable function reset control */
54 kRNG_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 12U, /**< Random number generator (RNG) reset control */
55 kFLEXSPI_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 16U, /**< FLEXSPI reset control */
56 kUSBHS_PHY_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 20U, /**< High speed USB PHY reset control */
57 kUSBHS_DEVICE_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 21U, /**< High speed USB Device reset control */
58 kUSBHS_HOST_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 22U, /**< High speed USB Host reset control */
59 kUSBHS_SRAM_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 23U, /**< High speed USB SRAM reset control */
60 kSCT_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL0 << 8) | 24U, /**< Standard ctimers reset control */
61
62 kSDIO0_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL1 << 8) | 2U, /**< SDIO0 reset control */
63 kSDIO1_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL1 << 8) | 3U, /**< SDIO1 reset control */
64 kACMP0_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL1 << 8) | 15U, /**< Grouped interrupt (PINT) reset control. */
65 kADC0_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL1 << 8) | 16U, /**< ADC0 reset control */
66 kSHSGPIO0_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL1 << 8) | 24U, /**< Security HSGPIO 0 reset control */
67
68 kUTICK0_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL2 << 8) | 0U, /**< Micro-tick timer reset control */
69 kWWDT0_RST_SHIFT_RSTn = (RST_CTL0_PSCCTL2 << 8) | 1U, /**< Windowed Watchdog timer 0 reset control */
70
71 kFC0_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 8U, /**< Flexcomm Interface 0 reset control */
72 kFC1_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 9U, /**< Flexcomm Interface 1 reset control */
73 kFC2_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 10U, /**< Flexcomm Interface 2 reset control */
74 kFC3_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 11U, /**< Flexcomm Interface 3 reset control */
75 kFC4_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 12U, /**< Flexcomm Interface 4 reset control */
76 kFC5_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 13U, /**< Flexcomm Interface 5 reset control */
77 kFC6_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 14U, /**< Flexcomm Interface 6 reset control */
78 kFC7_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 15U, /**< Flexcomm Interface 7 reset control */
79 kFC14_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 22U, /**< Flexcomm Interface 14 reset control */
80 kFC15_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 23U, /**< Flexcomm Interface 15 reset control */
81 kDMIC_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 24U, /**< Digital microphone interface reset control */
82 kOSEVENT_TIMER_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL0 << 8) | 27U, /**< Osevent Timer reset control */
83
84 kHSGPIO0_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 0U, /**< HSGPIO 0 reset control */
85 kHSGPIO1_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 1U, /**< HSGPIO 1 reset control */
86 kHSGPIO2_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 2U, /**< HSGPIO 2 reset control */
87 kHSGPIO3_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 3U, /**< HSGPIO 3 reset control */
88 kHSGPIO4_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 4U, /**< HSGPIO 4 reset control */
89 kHSGPIO5_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 5U, /**< HSGPIO 5 reset control */
90 kHSGPIO6_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 6U, /**< HSGPIO 6 reset control */
91 kHSGPIO7_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 7U, /**< HSGPIO 7 reset control */
92 kCRC_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 16U, /**< CRC reset control */
93 kDMAC0_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 23U, /**< DMA Controller 0 reset control */
94 kDMAC1_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 24U, /**< DMA Controller 1 reset control */
95 kMU_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 28U, /**< Message Unit reset control */
96 kSEMA_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 29U, /**< Semaphore reset control */
97 kFREQME_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL1 << 8) | 31U, /**< Frequency Measure reset control */
98
99 kCT32B0_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 0U, /**< CT32B0 reset control */
100 kCT32B1_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 1U, /**< CT32B1 reset control */
101 kCT32B2_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 2U, /**< CT32B3 reset control */
102 kCT32B3_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 3U, /**< CT32B4 reset control */
103 kCT32B4_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 4U, /**< CT32B4 reset control */
104 kMRT0_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 8U, /**< Multi-rate timer (MRT) reset control */
105 kWWDT1_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 10U, /**< Windowed Watchdog timer 1 reset control */
106 kI3C0_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 16U, /**< I3C reset control */
107 kPINT_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 30U, /**< GPIO Pin interrupt reset control */
108 kINPUTMUX_RST_SHIFT_RSTn = (RST_CTL1_PSCCTL2 << 8) | 31U, /**< Peripheral input muxes reset control */
109} RSTCTL_RSTn_t;
110
111/** Array initializers with peripheral reset bits **/
112#define ADC_RSTS \
113 { \
114 kADC0_RST_SHIFT_RSTn \
115 } /* Reset bits for ADC peripheral */
116#define CRC_RSTS \
117 { \
118 kCRC_RST_SHIFT_RSTn \
119 } /* Reset bits for CRC peripheral */
120#define DMA_RSTS_N \
121 { \
122 kDMAC0_RST_SHIFT_RSTn, kDMAC1_RST_SHIFT_RSTn \
123 } /* Reset bits for DMA peripheral */
124#define DMIC_RSTS \
125 { \
126 kDMIC_RST_SHIFT_RSTn \
127 } /* Reset bits for ADC peripheral */
128#define FLEXCOMM_RSTS \
129 { \
130 kFC0_RST_SHIFT_RSTn, kFC1_RST_SHIFT_RSTn, kFC2_RST_SHIFT_RSTn, kFC3_RST_SHIFT_RSTn, kFC4_RST_SHIFT_RSTn, \
131 kFC5_RST_SHIFT_RSTn, kFC6_RST_SHIFT_RSTn, kFC7_RST_SHIFT_RSTn, kFC14_RST_SHIFT_RSTn, kFC15_RST_SHIFT_RSTn \
132 } /* Reset bits for FLEXCOMM peripheral */
133#define GPIO_RSTS_N \
134 { \
135 kHSGPIO0_RST_SHIFT_RSTn, kHSGPIO1_RST_SHIFT_RSTn, kHSGPIO2_RST_SHIFT_RSTn, kHSGPIO3_RST_SHIFT_RSTn, \
136 kHSGPIO4_RST_SHIFT_RSTn, kHSGPIO5_RST_SHIFT_RSTn, kHSGPIO6_RST_SHIFT_RSTn, kHSGPIO7_RST_SHIFT_RSTn \
137 } /* Reset bits for GPIO peripheral */
138#define I3C_RSTS \
139 { \
140 kI3C0_RST_SHIFT_RSTn \
141 } /* Reset bits for I3C peripheral */
142#define INPUTMUX_RSTS \
143 { \
144 kINPUTMUX_RST_SHIFT_RSTn \
145 } /* Reset bits for INPUTMUX peripheral */
146#define MRT_RSTS \
147 { \
148 kMRT0_RST_SHIFT_RSTn \
149 } /* Reset bits for MRT peripheral */
150#define PINT_RSTS \
151 { \
152 kGPIOINTCTL_RST_SHIFT_RSTn \
153 } /* Reset bits for PINT peripheral */
154#define SCT_RSTS \
155 { \
156 kSCT_RST_SHIFT_RSTn \
157 } /* Reset bits for SCT peripheral */
158#define CTIMER_RSTS \
159 { \
160 kCT32B0_RST_SHIFT_RSTn, kCT32B1_RST_SHIFT_RSTn, kCT32B2_RST_SHIFT_RSTn, kCT32B3_RST_SHIFT_RSTn, \
161 kCT32B4_RST_SHIFT_RSTn \
162 } /* Reset bits for TIMER peripheral */
163#define USB_RSTS \
164 { \
165 kUSB_RST_SHIFT_RSTn \
166 } /* Reset bits for USB peripheral */
167#define USDHC_RSTS \
168 { \
169 kSDIO0_RST_SHIFT_RSTn, kSDIO1_RST_SHIFT_RSTn \
170 } /* Reset bits for SDIO peripheral */
171#define UTICK_RSTS \
172 { \
173 kUTICK0_RST_SHIFT_RSTn \
174 } /* Reset bits for UTICK peripheral */
175#define WWDT_RSTS \
176 { \
177 kWWDT0_RST_SHIFT_RSTn, kWWDT1_RST_SHIFT_RSTn \
178 } /* Reset bits for WWDT peripheral */
179#define OSTIMER_RSTS \
180 { \
181 kOSEVENT_TIMER_RST_SHIFT_RSTn \
182 } /* Reset bits for OSTIMER peripheral */
183
184/*!
185 * @brief IP reset handle
186 */
187typedef RSTCTL_RSTn_t reset_ip_name_t;
188
189/*******************************************************************************
190 * API
191 ******************************************************************************/
192#if defined(__cplusplus)
193extern "C" {
194#endif
195
196/*!
197 * @brief Assert reset to peripheral.
198 *
199 * Asserts reset signal to specified peripheral module.
200 *
201 * @param peripheral Assert reset to this peripheral. The enum argument contains encoding of reset register
202 * and reset bit position in the reset register.
203 */
204void RESET_SetPeripheralReset(reset_ip_name_t peripheral);
205
206/*!
207 * @brief Clear reset to peripheral.
208 *
209 * Clears reset signal to specified peripheral module, allows it to operate.
210 *
211 * @param peripheral Clear reset to this peripheral. The enum argument contains encoding of reset register
212 * and reset bit position in the reset register.
213 */
214void RESET_ClearPeripheralReset(reset_ip_name_t peripheral);
215
216/*!
217 * @brief Reset peripheral module.
218 *
219 * Reset peripheral module.
220 *
221 * @param peripheral Peripheral to reset. The enum argument contains encoding of reset register
222 * and reset bit position in the reset register.
223 */
224void RESET_PeripheralReset(reset_ip_name_t peripheral);
225
226#if defined(__cplusplus)
227}
228#endif
229
230/*! @} */
231
232#endif /* _FSL_RESET_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/fsl_device_registers.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/fsl_device_registers.h
new file mode 100644
index 000000000..95c1dd26e
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/fsl_device_registers.h
@@ -0,0 +1,44 @@
1/*
2 * Copyright 2014-2016 Freescale Semiconductor, Inc.
3 * Copyright 2016-2019 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 *
8 */
9
10#ifndef __FSL_DEVICE_REGISTERS_H__
11#define __FSL_DEVICE_REGISTERS_H__
12
13/*
14 * Include the cpu specific register header files.
15 *
16 * The CPU macro should be declared in the project or makefile.
17 */
18#if (defined(CPU_MIMXRT685SFAWBR_cm33) || defined(CPU_MIMXRT685SFFOB_cm33) || defined(CPU_MIMXRT685SFVKB_cm33))
19
20#define MIMXRT685S_cm33_SERIES
21
22/* CMSIS-style register definitions */
23#include "MIMXRT685S_cm33.h"
24/* CPU specific feature definitions */
25#include "MIMXRT685S_cm33_features.h"
26
27#elif (defined(CPU_MIMXRT685SFAWBR_dsp) || defined(CPU_MIMXRT685SFFOB_dsp) || defined(CPU_MIMXRT685SFVKB_dsp))
28
29#define MIMXRT685S_dsp_SERIES
30
31/* CMSIS-style register definitions */
32#include "MIMXRT685S_dsp.h"
33/* CPU specific feature definitions */
34#include "MIMXRT685S_dsp_features.h"
35
36#else
37#error "No valid CPU defined!"
38#endif
39
40#endif /* __FSL_DEVICE_REGISTERS_H__ */
41
42/*******************************************************************************
43 * EOF
44 ******************************************************************************/
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash.ld
new file mode 100644
index 000000000..f6f8f62f0
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash.ld
@@ -0,0 +1,244 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compiler: GNU C Compiler
8** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
9** Version: rev. 1.0, 2018-06-19
10** Build: b201029
11**
12** Abstract:
13** Linker file for the GNU C Compiler
14**
15** Copyright 2016 Freescale Semiconductor, Inc.
16** Copyright 2016-2020 NXP
17** All rights reserved.
18**
19** SPDX-License-Identifier: BSD-3-Clause
20**
21** http: www.nxp.com
22** mail: [email protected]
23**
24** ###################################################################
25*/
26
27
28
29/* Entry Point */
30ENTRY(Reset_Handler)
31
32HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
33STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
34M_VECTOR_RAM_SIZE = DEFINED(__ram_vector_table__) ? 0x00000130 : 0;
35
36/* Specify the memory areas */
37/* The SRAM region [0x10000-0x1BFFF] is reserved for ROM code. */
38/* The SRAM region [0x0-0xFFFF], [0x1C000-0x1FFFF] is reserved for app-specific use cases. */
39/* The SRAM region [0x20000-0x7FFFF] is reserved for Non-cached shared memory between M33 and DSP. */
40MEMORY
41{
42 m_flash_config (RX) : ORIGIN = 0x08000400, LENGTH = 0x00000200
43 m_interrupts (RX) : ORIGIN = 0x08001000, LENGTH = 0x00000130
44 m_text (RX) : ORIGIN = 0x08001130, LENGTH = 0x001FEED0
45 m_data (RW) : ORIGIN = 0x20080000, LENGTH = 0x00180000
46 m_usb_sram (RW) : ORIGIN = 0x40140000, LENGTH = 0x00004000
47}
48
49/* Define output sections */
50SECTIONS
51{
52 .flash_config :
53 {
54 . = ALIGN(4);
55 __FLASH_BASE = .;
56 KEEP(* (.flash_conf)) /* flash config section */
57 . = ALIGN(4);
58 } > m_flash_config
59
60 /* The startup code goes first into internal ram */
61 .interrupts :
62 {
63 . = ALIGN(4);
64 __VECTOR_TABLE = .;
65 __Vectors = .;
66 KEEP(*(.isr_vector)) /* Startup code */
67 . = ALIGN(4);
68 } > m_interrupts
69
70 /* The program code and other data goes into internal ram */
71 .text :
72 {
73 . = ALIGN(4);
74 *(.text) /* .text sections (code) */
75 *(.text*) /* .text* sections (code) */
76 *(.rodata) /* .rodata sections (constants, strings, etc.) */
77 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
78 *(.glue_7) /* glue arm to thumb code */
79 *(.glue_7t) /* glue thumb to arm code */
80 *(.eh_frame)
81 KEEP (*(.init))
82 KEEP (*(.fini))
83 . = ALIGN(4);
84 } > m_text
85
86 .ARM.extab :
87 {
88 *(.ARM.extab* .gnu.linkonce.armextab.*)
89 } > m_text
90
91 .ARM :
92 {
93 __exidx_start = .;
94 *(.ARM.exidx*)
95 __exidx_end = .;
96 } > m_text
97
98 .ctors :
99 {
100 __CTOR_LIST__ = .;
101 /* gcc uses crtbegin.o to find the start of
102 the constructors, so we make sure it is
103 first. Because this is a wildcard, it
104 doesn't matter if the user does not
105 actually link against crtbegin.o; the
106 linker won't look for a file to match a
107 wildcard. The wildcard also means that it
108 doesn't matter which directory crtbegin.o
109 is in. */
110 KEEP (*crtbegin.o(.ctors))
111 KEEP (*crtbegin?.o(.ctors))
112 /* We don't want to include the .ctor section from
113 from the crtend.o file until after the sorted ctors.
114 The .ctor section from the crtend file contains the
115 end of ctors marker and it must be last */
116 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
117 KEEP (*(SORT(.ctors.*)))
118 KEEP (*(.ctors))
119 __CTOR_END__ = .;
120 } > m_text
121
122 .dtors :
123 {
124 __DTOR_LIST__ = .;
125 KEEP (*crtbegin.o(.dtors))
126 KEEP (*crtbegin?.o(.dtors))
127 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
128 KEEP (*(SORT(.dtors.*)))
129 KEEP (*(.dtors))
130 __DTOR_END__ = .;
131 } > m_text
132
133 .preinit_array :
134 {
135 PROVIDE_HIDDEN (__preinit_array_start = .);
136 KEEP (*(.preinit_array*))
137 PROVIDE_HIDDEN (__preinit_array_end = .);
138 } > m_text
139
140 .init_array :
141 {
142 PROVIDE_HIDDEN (__init_array_start = .);
143 KEEP (*(SORT(.init_array.*)))
144 KEEP (*(.init_array*))
145 PROVIDE_HIDDEN (__init_array_end = .);
146 } > m_text
147
148 .fini_array :
149 {
150 PROVIDE_HIDDEN (__fini_array_start = .);
151 KEEP (*(SORT(.fini_array.*)))
152 KEEP (*(.fini_array*))
153 PROVIDE_HIDDEN (__fini_array_end = .);
154 } > m_text
155
156 __etext = .; /* define a global symbol at end of code */
157 __DATA_ROM = .; /* Symbol is used by startup for data initialization */
158
159 .interrupts_ram :
160 {
161 . = ALIGN(4);
162 __VECTOR_RAM__ = .;
163 __interrupts_ram_start__ = .; /* Create a global symbol at data start */
164 *(.m_interrupts_ram) /* This is a user defined section */
165 . += M_VECTOR_RAM_SIZE;
166 . = ALIGN(4);
167 __interrupts_ram_end__ = .; /* Define a global symbol at data end */
168 } > m_data
169
170 __VECTOR_RAM = DEFINED(__ram_vector_table__) ? __VECTOR_RAM__ : ORIGIN(m_interrupts);
171 __RAM_VECTOR_TABLE_SIZE_BYTES = DEFINED(__ram_vector_table__) ? (__interrupts_ram_end__ - __interrupts_ram_start__) : 0x0;
172
173 .data : AT(__DATA_ROM)
174 {
175 . = ALIGN(4);
176 __DATA_RAM = .;
177 __data_start__ = .; /* create a global symbol at data start */
178 *(CodeQuickAccess) /* CodeQuickAccess sections */
179 *(DataQuickAccess) /* DataQuickAccess sections */
180 *(.data) /* .data sections */
181 *(.data*) /* .data* sections */
182 KEEP(*(.jcr*))
183 . = ALIGN(4);
184 __data_end__ = .; /* define a global symbol at data end */
185 } > m_data
186
187 __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
188 text_end = ORIGIN(m_text) + LENGTH(m_text);
189 ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data")
190 _image_size = __DATA_END - __VECTOR_TABLE;
191
192 /* Uninitialized data section */
193 .bss :
194 {
195 /* This is used by the startup in order to initialize the .bss section */
196 . = ALIGN(4);
197 __START_BSS = .;
198 __bss_start__ = .;
199 *(.bss)
200 *(.bss*)
201 *(COMMON)
202 . = ALIGN(4);
203 __bss_end__ = .;
204 __END_BSS = .;
205 } > m_data
206
207 .heap :
208 {
209 . = ALIGN(8);
210 __end__ = .;
211 PROVIDE(end = .);
212 __HeapBase = .;
213 . += HEAP_SIZE;
214 __HeapLimit = .;
215 __heap_limit = .; /* Add for _sbrk */
216 } > m_data
217
218 .stack :
219 {
220 . = ALIGN(8);
221 . += STACK_SIZE;
222 } > m_data
223
224 m_usb_bdt (NOLOAD) :
225 {
226 . = ALIGN(512);
227 *(m_usb_bdt)
228 } > m_usb_sram
229
230 m_usb_global (NOLOAD) :
231 {
232 *(m_usb_global)
233 } > m_usb_sram
234
235 /* Initializes stack on the end of block */
236 __StackTop = ORIGIN(m_data) + LENGTH(m_data);
237 __StackLimit = __StackTop - STACK_SIZE;
238 PROVIDE(__stack = __StackTop);
239
240 .ARM.attributes 0 : { *(.ARM.attributes) }
241
242 ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
243}
244
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_ns.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_ns.ld
new file mode 100644
index 000000000..ec2de44a7
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_ns.ld
@@ -0,0 +1,235 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compiler: GNU C Compiler
8** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
9** Version: rev. 1.0, 2018-06-19
10** Build: b201029
11**
12** Abstract:
13** Linker file for the GNU C Compiler
14**
15** Copyright 2016 Freescale Semiconductor, Inc.
16** Copyright 2016-2020 NXP
17** All rights reserved.
18**
19** SPDX-License-Identifier: BSD-3-Clause
20**
21** http: www.nxp.com
22** mail: [email protected]
23**
24** ###################################################################
25*/
26
27
28
29/* Entry Point */
30ENTRY(Reset_Handler)
31
32HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
33STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
34M_VECTOR_RAM_SIZE = DEFINED(__ram_vector_table__) ? 0x00000130 : 0;
35
36/* Specify the memory areas */
37/* The SRAM region [0x10000-0x1BFFF] is reserved for ROM code. */
38/* The SRAM region [0x0-0xFFFF], [0x1C000-0x1FFFF] is reserved for app-specific use cases. */
39/* The SRAM region [0x20000-0x7FFFF] is reserved for Non-cached shared memory between M33 and DSP. */
40MEMORY
41{
42 m_interrupts (RX) : ORIGIN = 0x08100000, LENGTH = 0x00000130
43 m_text (RX) : ORIGIN = 0x08100130, LENGTH = 0x000FFED0
44 m_data (RW) : ORIGIN = 0x20180000, LENGTH = 0x00080000
45 m_usb_sram (RW) : ORIGIN = 0x40140000, LENGTH = 0x00004000
46}
47
48/* Define output sections */
49SECTIONS
50{
51 /* The startup code goes first into internal ram */
52 .interrupts :
53 {
54 . = ALIGN(4);
55 __VECTOR_TABLE = .;
56 __Vectors = .;
57 KEEP(*(.isr_vector)) /* Startup code */
58 . = ALIGN(4);
59 } > m_interrupts
60
61 /* The program code and other data goes into internal ram */
62 .text :
63 {
64 . = ALIGN(4);
65 *(.text) /* .text sections (code) */
66 *(.text*) /* .text* sections (code) */
67 *(.rodata) /* .rodata sections (constants, strings, etc.) */
68 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
69 *(.glue_7) /* glue arm to thumb code */
70 *(.glue_7t) /* glue thumb to arm code */
71 *(.eh_frame)
72 KEEP (*(.init))
73 KEEP (*(.fini))
74 . = ALIGN(4);
75 } > m_text
76
77 .ARM.extab :
78 {
79 *(.ARM.extab* .gnu.linkonce.armextab.*)
80 } > m_text
81
82 .ARM :
83 {
84 __exidx_start = .;
85 *(.ARM.exidx*)
86 __exidx_end = .;
87 } > m_text
88
89 .ctors :
90 {
91 __CTOR_LIST__ = .;
92 /* gcc uses crtbegin.o to find the start of
93 the constructors, so we make sure it is
94 first. Because this is a wildcard, it
95 doesn't matter if the user does not
96 actually link against crtbegin.o; the
97 linker won't look for a file to match a
98 wildcard. The wildcard also means that it
99 doesn't matter which directory crtbegin.o
100 is in. */
101 KEEP (*crtbegin.o(.ctors))
102 KEEP (*crtbegin?.o(.ctors))
103 /* We don't want to include the .ctor section from
104 from the crtend.o file until after the sorted ctors.
105 The .ctor section from the crtend file contains the
106 end of ctors marker and it must be last */
107 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
108 KEEP (*(SORT(.ctors.*)))
109 KEEP (*(.ctors))
110 __CTOR_END__ = .;
111 } > m_text
112
113 .dtors :
114 {
115 __DTOR_LIST__ = .;
116 KEEP (*crtbegin.o(.dtors))
117 KEEP (*crtbegin?.o(.dtors))
118 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
119 KEEP (*(SORT(.dtors.*)))
120 KEEP (*(.dtors))
121 __DTOR_END__ = .;
122 } > m_text
123
124 .preinit_array :
125 {
126 PROVIDE_HIDDEN (__preinit_array_start = .);
127 KEEP (*(.preinit_array*))
128 PROVIDE_HIDDEN (__preinit_array_end = .);
129 } > m_text
130
131 .init_array :
132 {
133 PROVIDE_HIDDEN (__init_array_start = .);
134 KEEP (*(SORT(.init_array.*)))
135 KEEP (*(.init_array*))
136 PROVIDE_HIDDEN (__init_array_end = .);
137 } > m_text
138
139 .fini_array :
140 {
141 PROVIDE_HIDDEN (__fini_array_start = .);
142 KEEP (*(SORT(.fini_array.*)))
143 KEEP (*(.fini_array*))
144 PROVIDE_HIDDEN (__fini_array_end = .);
145 } > m_text
146
147 __etext = .; /* define a global symbol at end of code */
148 __DATA_ROM = .; /* Symbol is used by startup for data initialization */
149
150 .interrupts_ram :
151 {
152 . = ALIGN(4);
153 __VECTOR_RAM__ = .;
154 __interrupts_ram_start__ = .; /* Create a global symbol at data start */
155 *(.m_interrupts_ram) /* This is a user defined section */
156 . += M_VECTOR_RAM_SIZE;
157 . = ALIGN(4);
158 __interrupts_ram_end__ = .; /* Define a global symbol at data end */
159 } > m_data
160
161 __VECTOR_RAM = DEFINED(__ram_vector_table__) ? __VECTOR_RAM__ : ORIGIN(m_interrupts);
162 __RAM_VECTOR_TABLE_SIZE_BYTES = DEFINED(__ram_vector_table__) ? (__interrupts_ram_end__ - __interrupts_ram_start__) : 0x0;
163
164 .data : AT(__DATA_ROM)
165 {
166 . = ALIGN(4);
167 __DATA_RAM = .;
168 __data_start__ = .; /* create a global symbol at data start */
169 *(CodeQuickAccess) /* CodeQuickAccess sections */
170 *(DataQuickAccess) /* DataQuickAccess sections */
171 *(.data) /* .data sections */
172 *(.data*) /* .data* sections */
173 KEEP(*(.jcr*))
174 . = ALIGN(4);
175 __data_end__ = .; /* define a global symbol at data end */
176 } > m_data
177
178 __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
179 text_end = ORIGIN(m_text) + LENGTH(m_text);
180 ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data")
181 _image_size = __DATA_END - __VECTOR_TABLE;
182
183 /* Uninitialized data section */
184 .bss :
185 {
186 /* This is used by the startup in order to initialize the .bss section */
187 . = ALIGN(4);
188 __START_BSS = .;
189 __bss_start__ = .;
190 *(.bss)
191 *(.bss*)
192 *(COMMON)
193 . = ALIGN(4);
194 __bss_end__ = .;
195 __END_BSS = .;
196 } > m_data
197
198 .heap :
199 {
200 . = ALIGN(8);
201 __end__ = .;
202 PROVIDE(end = .);
203 __HeapBase = .;
204 . += HEAP_SIZE;
205 __HeapLimit = .;
206 __heap_limit = .; /* Add for _sbrk */
207 } > m_data
208
209 .stack :
210 {
211 . = ALIGN(8);
212 . += STACK_SIZE;
213 } > m_data
214
215 m_usb_bdt (NOLOAD) :
216 {
217 . = ALIGN(512);
218 *(m_usb_bdt)
219 } > m_usb_sram
220
221 m_usb_global (NOLOAD) :
222 {
223 *(m_usb_global)
224 } > m_usb_sram
225
226 /* Initializes stack on the end of block */
227 __StackTop = ORIGIN(m_data) + LENGTH(m_data);
228 __StackLimit = __StackTop - STACK_SIZE;
229 PROVIDE(__stack = __StackTop);
230
231 .ARM.attributes 0 : { *(.ARM.attributes) }
232
233 ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
234}
235
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_s.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_s.ld
new file mode 100644
index 000000000..dea23348b
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_flash_s.ld
@@ -0,0 +1,255 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compiler: GNU C Compiler
8** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
9** Version: rev. 1.0, 2018-06-19
10** Build: b201029
11**
12** Abstract:
13** Linker file for the GNU C Compiler
14**
15** Copyright 2016 Freescale Semiconductor, Inc.
16** Copyright 2016-2020 NXP
17** All rights reserved.
18**
19** SPDX-License-Identifier: BSD-3-Clause
20**
21** http: www.nxp.com
22** mail: [email protected]
23**
24** ###################################################################
25*/
26
27
28
29/* Entry Point */
30ENTRY(Reset_Handler)
31
32HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
33STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
34M_VECTOR_RAM_SIZE = DEFINED(__ram_vector_table__) ? 0x00000130 : 0;
35
36/* Specify the memory areas */
37/* The SRAM region [0x10000-0x1BFFF] is reserved for ROM code. */
38/* The SRAM region [0x0-0xFFFF], [0x1C000-0x1FFFF] is reserved for app-specific use cases. */
39/* The SRAM region [0x20000-0x7FFFF] is reserved for Non-cached shared memory between M33 and DSP. */
40MEMORY
41{
42 m_flash_config (RX) : ORIGIN = 0x18000400, LENGTH = 0x00000200
43 m_interrupts (RX) : ORIGIN = 0x18001000, LENGTH = 0x00000130
44 m_text (RX) : ORIGIN = 0x18001130, LENGTH = 0x000FECD0
45 m_veneer_table (RX) : ORIGIN = 0x180FFE00, LENGTH = 0x00000200
46 m_data (RW) : ORIGIN = 0x30140000, LENGTH = 0x00040000
47 m_usb_sram (RW) : ORIGIN = 0x50140000, LENGTH = 0x00004000
48}
49
50/* Define output sections */
51SECTIONS
52{
53 .flash_config :
54 {
55 . = ALIGN(4);
56 __FLASH_BASE = .;
57 KEEP(* (.flash_conf)) /* flash config section */
58 . = ALIGN(4);
59 } > m_flash_config
60
61 /* The startup code goes first into internal ram */
62 .interrupts :
63 {
64 . = ALIGN(4);
65 __VECTOR_TABLE = .;
66 __Vectors = .;
67 KEEP(*(.isr_vector)) /* Startup code */
68 . = ALIGN(4);
69 } > m_interrupts
70
71 /* The program code and other data goes into internal ram */
72 .text :
73 {
74 . = ALIGN(4);
75 *(.text) /* .text sections (code) */
76 *(.text*) /* .text* sections (code) */
77 *(.rodata) /* .rodata sections (constants, strings, etc.) */
78 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
79 *(.glue_7) /* glue arm to thumb code */
80 *(.glue_7t) /* glue thumb to arm code */
81 *(.eh_frame)
82 KEEP (*(.init))
83 KEEP (*(.fini))
84 . = ALIGN(4);
85 } > m_text
86
87 /* section for veneer table */
88 .gnu.sgstubs :
89 {
90 . = ALIGN(32);
91 _start_sg = .;
92 *(.gnu.sgstubs*)
93 . = ALIGN(32);
94 _end_sg = .;
95 } > m_veneer_table
96
97 .ARM.extab :
98 {
99 *(.ARM.extab* .gnu.linkonce.armextab.*)
100 } > m_text
101
102 .ARM :
103 {
104 __exidx_start = .;
105 *(.ARM.exidx*)
106 __exidx_end = .;
107 } > m_text
108
109 .ctors :
110 {
111 __CTOR_LIST__ = .;
112 /* gcc uses crtbegin.o to find the start of
113 the constructors, so we make sure it is
114 first. Because this is a wildcard, it
115 doesn't matter if the user does not
116 actually link against crtbegin.o; the
117 linker won't look for a file to match a
118 wildcard. The wildcard also means that it
119 doesn't matter which directory crtbegin.o
120 is in. */
121 KEEP (*crtbegin.o(.ctors))
122 KEEP (*crtbegin?.o(.ctors))
123 /* We don't want to include the .ctor section from
124 from the crtend.o file until after the sorted ctors.
125 The .ctor section from the crtend file contains the
126 end of ctors marker and it must be last */
127 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
128 KEEP (*(SORT(.ctors.*)))
129 KEEP (*(.ctors))
130 __CTOR_END__ = .;
131 } > m_text
132
133 .dtors :
134 {
135 __DTOR_LIST__ = .;
136 KEEP (*crtbegin.o(.dtors))
137 KEEP (*crtbegin?.o(.dtors))
138 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
139 KEEP (*(SORT(.dtors.*)))
140 KEEP (*(.dtors))
141 __DTOR_END__ = .;
142 } > m_text
143
144 .preinit_array :
145 {
146 PROVIDE_HIDDEN (__preinit_array_start = .);
147 KEEP (*(.preinit_array*))
148 PROVIDE_HIDDEN (__preinit_array_end = .);
149 } > m_text
150
151 .init_array :
152 {
153 PROVIDE_HIDDEN (__init_array_start = .);
154 KEEP (*(SORT(.init_array.*)))
155 KEEP (*(.init_array*))
156 PROVIDE_HIDDEN (__init_array_end = .);
157 } > m_text
158
159 .fini_array :
160 {
161 PROVIDE_HIDDEN (__fini_array_start = .);
162 KEEP (*(SORT(.fini_array.*)))
163 KEEP (*(.fini_array*))
164 PROVIDE_HIDDEN (__fini_array_end = .);
165 } > m_text
166
167 __etext = .; /* define a global symbol at end of code */
168 __DATA_ROM = .; /* Symbol is used by startup for data initialization */
169
170 .interrupts_ram :
171 {
172 . = ALIGN(4);
173 __VECTOR_RAM__ = .;
174 __interrupts_ram_start__ = .; /* Create a global symbol at data start */
175 *(.m_interrupts_ram) /* This is a user defined section */
176 . += M_VECTOR_RAM_SIZE;
177 . = ALIGN(4);
178 __interrupts_ram_end__ = .; /* Define a global symbol at data end */
179 } > m_data
180
181 __VECTOR_RAM = DEFINED(__ram_vector_table__) ? __VECTOR_RAM__ : ORIGIN(m_interrupts);
182 __RAM_VECTOR_TABLE_SIZE_BYTES = DEFINED(__ram_vector_table__) ? (__interrupts_ram_end__ - __interrupts_ram_start__) : 0x0;
183
184 .data : AT(__DATA_ROM)
185 {
186 . = ALIGN(4);
187 __DATA_RAM = .;
188 __data_start__ = .; /* create a global symbol at data start */
189 *(CodeQuickAccess) /* CodeQuickAccess sections */
190 *(DataQuickAccess) /* DataQuickAccess sections */
191 *(.data) /* .data sections */
192 *(.data*) /* .data* sections */
193 KEEP(*(.jcr*))
194 . = ALIGN(4);
195 __data_end__ = .; /* define a global symbol at data end */
196 } > m_data
197
198 __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
199 text_end = ORIGIN(m_text) + LENGTH(m_text);
200 ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data")
201 _image_size = __DATA_END - __VECTOR_TABLE;
202
203 /* Uninitialized data section */
204 .bss :
205 {
206 /* This is used by the startup in order to initialize the .bss section */
207 . = ALIGN(4);
208 __START_BSS = .;
209 __bss_start__ = .;
210 *(.bss)
211 *(.bss*)
212 *(COMMON)
213 . = ALIGN(4);
214 __bss_end__ = .;
215 __END_BSS = .;
216 } > m_data
217
218 .heap :
219 {
220 . = ALIGN(8);
221 __end__ = .;
222 PROVIDE(end = .);
223 __HeapBase = .;
224 . += HEAP_SIZE;
225 __HeapLimit = .;
226 __heap_limit = .; /* Add for _sbrk */
227 } > m_data
228
229 .stack :
230 {
231 . = ALIGN(8);
232 . += STACK_SIZE;
233 } > m_data
234
235 m_usb_bdt (NOLOAD) :
236 {
237 . = ALIGN(512);
238 *(m_usb_bdt)
239 } > m_usb_sram
240
241 m_usb_global (NOLOAD) :
242 {
243 *(m_usb_global)
244 } > m_usb_sram
245
246 /* Initializes stack on the end of block */
247 __StackTop = ORIGIN(m_data) + LENGTH(m_data);
248 __StackLimit = __StackTop - STACK_SIZE;
249 PROVIDE(__stack = __StackTop);
250
251 .ARM.attributes 0 : { *(.ARM.attributes) }
252
253 ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
254}
255
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram.ld
new file mode 100644
index 000000000..6337f93c9
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram.ld
@@ -0,0 +1,232 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compiler: GNU C Compiler
8** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
9** Version: rev. 1.0, 2018-06-19
10** Build: b201029
11**
12** Abstract:
13** Linker file for the GNU C Compiler
14**
15** Copyright 2016 Freescale Semiconductor, Inc.
16** Copyright 2016-2020 NXP
17** All rights reserved.
18**
19** SPDX-License-Identifier: BSD-3-Clause
20**
21** http: www.nxp.com
22** mail: [email protected]
23**
24** ###################################################################
25*/
26
27
28
29/* Entry Point */
30ENTRY(Reset_Handler)
31
32HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
33STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
34
35/* Specify the memory areas */
36/* The SRAM region [0x10000-0x1BFFF] is reserved for ROM code. */
37/* The SRAM region [0x0-0xFFFF], [0x1C000-0x1FFFF] is reserved for app-specific use cases. */
38/* The SRAM region [0x20000-0x7FFFF] is reserved for Non-cached shared memory between M33 and DSP. */
39MEMORY
40{
41 m_flash (RX) : ORIGIN = 0x08000000, LENGTH = 0x00200000
42 m_interrupts (RX) : ORIGIN = 0x00080000, LENGTH = 0x00000130
43 m_text (RX) : ORIGIN = 0x00080130, LENGTH = 0x000FFED0
44 m_data (RW) : ORIGIN = 0x20180000, LENGTH = 0x00080000
45 m_usb_sram (RW) : ORIGIN = 0x40140000, LENGTH = 0x00004000
46}
47
48/* Define output sections */
49SECTIONS
50{
51 .flash_config :
52 {
53 FILL(0x00)
54 __FLASH_BASE = .;
55 . = 0x400 ;
56 KEEP(* (.flash_conf)) /* flash config section */
57 . = 0x1000 ;
58 } > m_flash
59
60 /* The startup code goes first into internal ram */
61 .interrupts :
62 {
63 . = ALIGN(4);
64 __VECTOR_TABLE = .;
65 __Vectors = .;
66 KEEP(*(.isr_vector)) /* Startup code */
67 . = ALIGN(4);
68 } > m_interrupts AT> m_flash
69
70 /* The program code and other data goes into internal ram */
71 .text :
72 {
73 . = ALIGN(4);
74 *(.text) /* .text sections (code) */
75 *(.text*) /* .text* sections (code) */
76 *(.rodata) /* .rodata sections (constants, strings, etc.) */
77 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
78 *(.glue_7) /* glue arm to thumb code */
79 *(.glue_7t) /* glue thumb to arm code */
80 *(.eh_frame)
81 KEEP (*(.init))
82 KEEP (*(.fini))
83 . = ALIGN(4);
84 } > m_text AT> m_flash
85
86 .ARM.extab :
87 {
88 *(.ARM.extab* .gnu.linkonce.armextab.*)
89 } > m_text AT> m_flash
90
91 .ARM :
92 {
93 __exidx_start = .;
94 *(.ARM.exidx*)
95 __exidx_end = .;
96 } > m_text AT> m_flash
97
98 .ctors :
99 {
100 __CTOR_LIST__ = .;
101 /* gcc uses crtbegin.o to find the start of
102 the constructors, so we make sure it is
103 first. Because this is a wildcard, it
104 doesn't matter if the user does not
105 actually link against crtbegin.o; the
106 linker won't look for a file to match a
107 wildcard. The wildcard also means that it
108 doesn't matter which directory crtbegin.o
109 is in. */
110 KEEP (*crtbegin.o(.ctors))
111 KEEP (*crtbegin?.o(.ctors))
112 /* We don't want to include the .ctor section from
113 from the crtend.o file until after the sorted ctors.
114 The .ctor section from the crtend file contains the
115 end of ctors marker and it must be last */
116 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
117 KEEP (*(SORT(.ctors.*)))
118 KEEP (*(.ctors))
119 __CTOR_END__ = .;
120 } > m_text AT> m_flash
121
122 .dtors :
123 {
124 __DTOR_LIST__ = .;
125 KEEP (*crtbegin.o(.dtors))
126 KEEP (*crtbegin?.o(.dtors))
127 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
128 KEEP (*(SORT(.dtors.*)))
129 KEEP (*(.dtors))
130 __DTOR_END__ = .;
131 } > m_text AT> m_flash
132
133 .preinit_array :
134 {
135 PROVIDE_HIDDEN (__preinit_array_start = .);
136 KEEP (*(.preinit_array*))
137 PROVIDE_HIDDEN (__preinit_array_end = .);
138 } > m_text AT> m_flash
139
140 .init_array :
141 {
142 PROVIDE_HIDDEN (__init_array_start = .);
143 KEEP (*(SORT(.init_array.*)))
144 KEEP (*(.init_array*))
145 PROVIDE_HIDDEN (__init_array_end = .);
146 } > m_text AT> m_flash
147
148 .fini_array :
149 {
150 PROVIDE_HIDDEN (__fini_array_start = .);
151 KEEP (*(SORT(.fini_array.*)))
152 KEEP (*(.fini_array*))
153 PROVIDE_HIDDEN (__fini_array_end = .);
154 } > m_text AT> m_flash
155
156 __etext = .; /* define a global symbol at end of code */
157 __DATA_ROM = .; /* Symbol is used by startup for data initialization */
158
159 __VECTOR_RAM = ORIGIN(m_interrupts);
160 __RAM_VECTOR_TABLE_SIZE_BYTES = 0x0;
161
162 .data :
163 {
164 . = ALIGN(4);
165 __DATA_RAM = .;
166 __data_start__ = .; /* create a global symbol at data start */
167 *(CodeQuickAccess) /* CodeQuickAccess sections */
168 *(DataQuickAccess) /* DataQuickAccess sections */
169 *(.data) /* .data sections */
170 *(.data*) /* .data* sections */
171 KEEP(*(.jcr*))
172 . = ALIGN(4);
173 __data_end__ = .; /* define a global symbol at data end */
174 } > m_data AT> m_flash
175
176 __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
177 _image_size = __DATA_END - __VECTOR_TABLE;
178 ASSERT(_image_size <= LENGTH(m_flash), "region m_flash overflowed with text and data")
179
180 /* Uninitialized data section */
181 .bss :
182 {
183 /* This is used by the startup in order to initialize the .bss section */
184 . = ALIGN(4);
185 __START_BSS = .;
186 __bss_start__ = .;
187 *(.bss)
188 *(.bss*)
189 *(COMMON)
190 . = ALIGN(4);
191 __bss_end__ = .;
192 __END_BSS = .;
193 } > m_data
194
195 .heap :
196 {
197 . = ALIGN(8);
198 __end__ = .;
199 PROVIDE(end = .);
200 __HeapBase = .;
201 . += HEAP_SIZE;
202 __HeapLimit = .;
203 __heap_limit = .; /* Add for _sbrk */
204 } > m_data
205
206 .stack :
207 {
208 . = ALIGN(8);
209 . += STACK_SIZE;
210 } > m_data
211
212 m_usb_bdt (NOLOAD) :
213 {
214 . = ALIGN(512);
215 *(m_usb_bdt)
216 } > m_usb_sram
217
218 m_usb_global (NOLOAD) :
219 {
220 *(m_usb_global)
221 } > m_usb_sram
222
223 /* Initializes stack on the end of block */
224 __StackTop = ORIGIN(m_data) + LENGTH(m_data);
225 __StackLimit = __StackTop - STACK_SIZE;
226 PROVIDE(__stack = __StackTop);
227
228 .ARM.attributes 0 : { *(.ARM.attributes) }
229
230 ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
231}
232
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_ns.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_ns.ld
new file mode 100644
index 000000000..6d1420d63
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_ns.ld
@@ -0,0 +1,223 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compiler: GNU C Compiler
8** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
9** Version: rev. 1.0, 2018-06-19
10** Build: b201029
11**
12** Abstract:
13** Linker file for the GNU C Compiler
14**
15** Copyright 2016 Freescale Semiconductor, Inc.
16** Copyright 2016-2020 NXP
17** All rights reserved.
18**
19** SPDX-License-Identifier: BSD-3-Clause
20**
21** http: www.nxp.com
22** mail: [email protected]
23**
24** ###################################################################
25*/
26
27
28
29/* Entry Point */
30ENTRY(Reset_Handler)
31
32HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
33STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
34
35/* Specify the memory areas */
36/* The SRAM region [0x10000-0x1BFFF] is reserved for ROM code. */
37/* The SRAM region [0x0-0xFFFF], [0x1C000-0x1FFFF] is reserved for app-specific use cases. */
38/* The SRAM region [0x20000-0x7FFFF] is reserved for Non-cached shared memory between M33 and DSP. */
39MEMORY
40{
41 m_flash_image (RX) : ORIGIN = 0x08041000, LENGTH = 0x00080000
42 m_interrupts (RX) : ORIGIN = 0x000C0000, LENGTH = 0x00000130
43 m_text (RX) : ORIGIN = 0x000C0130, LENGTH = 0x0007FED0
44 m_data (RW) : ORIGIN = 0x20180000, LENGTH = 0x00080000
45 m_usb_sram (RW) : ORIGIN = 0x40140000, LENGTH = 0x00004000
46}
47
48/* Define output sections */
49SECTIONS
50{
51 /* The startup code goes first into internal ram */
52 .interrupts :
53 {
54 . = ALIGN(4);
55 __VECTOR_TABLE = .;
56 __Vectors = .;
57 KEEP(*(.isr_vector)) /* Startup code */
58 . = ALIGN(4);
59 } > m_interrupts AT> m_flash_image
60
61 /* The program code and other data goes into internal ram */
62 .text :
63 {
64 . = ALIGN(4);
65 *(.text) /* .text sections (code) */
66 *(.text*) /* .text* sections (code) */
67 *(.rodata) /* .rodata sections (constants, strings, etc.) */
68 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
69 *(.glue_7) /* glue arm to thumb code */
70 *(.glue_7t) /* glue thumb to arm code */
71 *(.eh_frame)
72 KEEP (*(.init))
73 KEEP (*(.fini))
74 . = ALIGN(4);
75 } > m_text AT> m_flash_image
76
77 .ARM.extab :
78 {
79 *(.ARM.extab* .gnu.linkonce.armextab.*)
80 } > m_text AT> m_flash_image
81
82 .ARM :
83 {
84 __exidx_start = .;
85 *(.ARM.exidx*)
86 __exidx_end = .;
87 } > m_text AT> m_flash_image
88
89 .ctors :
90 {
91 __CTOR_LIST__ = .;
92 /* gcc uses crtbegin.o to find the start of
93 the constructors, so we make sure it is
94 first. Because this is a wildcard, it
95 doesn't matter if the user does not
96 actually link against crtbegin.o; the
97 linker won't look for a file to match a
98 wildcard. The wildcard also means that it
99 doesn't matter which directory crtbegin.o
100 is in. */
101 KEEP (*crtbegin.o(.ctors))
102 KEEP (*crtbegin?.o(.ctors))
103 /* We don't want to include the .ctor section from
104 from the crtend.o file until after the sorted ctors.
105 The .ctor section from the crtend file contains the
106 end of ctors marker and it must be last */
107 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
108 KEEP (*(SORT(.ctors.*)))
109 KEEP (*(.ctors))
110 __CTOR_END__ = .;
111 } > m_text AT> m_flash_image
112
113 .dtors :
114 {
115 __DTOR_LIST__ = .;
116 KEEP (*crtbegin.o(.dtors))
117 KEEP (*crtbegin?.o(.dtors))
118 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
119 KEEP (*(SORT(.dtors.*)))
120 KEEP (*(.dtors))
121 __DTOR_END__ = .;
122 } > m_text AT> m_flash_image
123
124 .preinit_array :
125 {
126 PROVIDE_HIDDEN (__preinit_array_start = .);
127 KEEP (*(.preinit_array*))
128 PROVIDE_HIDDEN (__preinit_array_end = .);
129 } > m_text AT> m_flash_image
130
131 .init_array :
132 {
133 PROVIDE_HIDDEN (__init_array_start = .);
134 KEEP (*(SORT(.init_array.*)))
135 KEEP (*(.init_array*))
136 PROVIDE_HIDDEN (__init_array_end = .);
137 } > m_text AT> m_flash_image
138
139 .fini_array :
140 {
141 PROVIDE_HIDDEN (__fini_array_start = .);
142 KEEP (*(SORT(.fini_array.*)))
143 KEEP (*(.fini_array*))
144 PROVIDE_HIDDEN (__fini_array_end = .);
145 } > m_text AT> m_flash_image
146
147 __etext = .; /* define a global symbol at end of code */
148 __DATA_ROM = .; /* Symbol is used by startup for data initialization */
149
150 __VECTOR_RAM = ORIGIN(m_interrupts);
151 __RAM_VECTOR_TABLE_SIZE_BYTES = 0x0;
152
153 .data :
154 {
155 . = ALIGN(4);
156 __DATA_RAM = .;
157 __data_start__ = .; /* create a global symbol at data start */
158 *(CodeQuickAccess) /* CodeQuickAccess sections */
159 *(DataQuickAccess) /* DataQuickAccess sections */
160 *(.data) /* .data sections */
161 *(.data*) /* .data* sections */
162 KEEP(*(.jcr*))
163 . = ALIGN(4);
164 __data_end__ = .; /* define a global symbol at data end */
165 } > m_data AT> m_flash_image
166
167 __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
168 _image_size = __DATA_END - __VECTOR_TABLE;
169 ASSERT(_image_size <= LENGTH(m_flash_image), "region m_flash_image overflowed with text and data")
170
171 /* Uninitialized data section */
172 .bss :
173 {
174 /* This is used by the startup in order to initialize the .bss section */
175 . = ALIGN(4);
176 __START_BSS = .;
177 __bss_start__ = .;
178 *(.bss)
179 *(.bss*)
180 *(COMMON)
181 . = ALIGN(4);
182 __bss_end__ = .;
183 __END_BSS = .;
184 } > m_data
185
186 .heap :
187 {
188 . = ALIGN(8);
189 __end__ = .;
190 PROVIDE(end = .);
191 __HeapBase = .;
192 . += HEAP_SIZE;
193 __HeapLimit = .;
194 __heap_limit = .; /* Add for _sbrk */
195 } > m_data
196
197 .stack :
198 {
199 . = ALIGN(8);
200 . += STACK_SIZE;
201 } > m_data
202
203 m_usb_bdt (NOLOAD) :
204 {
205 . = ALIGN(512);
206 *(m_usb_bdt)
207 } > m_usb_sram
208
209 m_usb_global (NOLOAD) :
210 {
211 *(m_usb_global)
212 } > m_usb_sram
213
214 /* Initializes stack on the end of block */
215 __StackTop = ORIGIN(m_data) + LENGTH(m_data);
216 __StackLimit = __StackTop - STACK_SIZE;
217 PROVIDE(__stack = __StackTop);
218
219 .ARM.attributes 0 : { *(.ARM.attributes) }
220
221 ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
222}
223
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_s.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_s.ld
new file mode 100644
index 000000000..31dc40ac0
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/MIMXRT685Sxxxx_cm33_ram_s.ld
@@ -0,0 +1,244 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compiler: GNU C Compiler
8** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
9** Version: rev. 1.0, 2018-06-19
10** Build: b201029
11**
12** Abstract:
13** Linker file for the GNU C Compiler
14**
15** Copyright 2016 Freescale Semiconductor, Inc.
16** Copyright 2016-2020 NXP
17** All rights reserved.
18**
19** SPDX-License-Identifier: BSD-3-Clause
20**
21** http: www.nxp.com
22** mail: [email protected]
23**
24** ###################################################################
25*/
26
27
28
29/* Entry Point */
30ENTRY(Reset_Handler)
31
32HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
33STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
34
35/* Specify the memory areas */
36/* The SRAM region [0x10000-0x1BFFF] is reserved for ROM code. */
37/* The SRAM region [0x0-0xFFFF], [0x1C000-0x1FFFF] is reserved for app-specific use cases. */
38/* The SRAM region [0x20000-0x7FFFF] is reserved for Non-cached shared memory between M33 and DSP. */
39MEMORY
40{
41 m_flash (RX) : ORIGIN = 0x18000000, LENGTH = 0x00041000
42 m_interrupts (RX) : ORIGIN = 0x10080000, LENGTH = 0x00000130
43 m_text (RX) : ORIGIN = 0x10080130, LENGTH = 0x0003FCD0
44 m_veneer_table (RX) : ORIGIN = 0x100BFE00, LENGTH = 0x00000200
45 m_data (RW) : ORIGIN = 0x30140000, LENGTH = 0x00040000
46 m_usb_sram (RW) : ORIGIN = 0x50140000, LENGTH = 0x00004000
47}
48
49/* Define output sections */
50SECTIONS
51{
52 .flash_config :
53 {
54 FILL(0x00)
55 __FLASH_BASE = .;
56 . = 0x400 ;
57 KEEP(* (.flash_conf)) /* flash config section */
58 . = 0x1000 ;
59 } > m_flash
60
61 /* The startup code goes first into internal ram */
62 .interrupts :
63 {
64 . = ALIGN(4);
65 __VECTOR_TABLE = .;
66 __Vectors = .;
67 KEEP(*(.isr_vector)) /* Startup code */
68 . = ALIGN(4);
69 } > m_interrupts AT> m_flash
70
71 /* The program code and other data goes into internal ram */
72 .text :
73 {
74 . = ALIGN(4);
75 *(.text) /* .text sections (code) */
76 *(.text*) /* .text* sections (code) */
77 *(.rodata) /* .rodata sections (constants, strings, etc.) */
78 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
79 *(.glue_7) /* glue arm to thumb code */
80 *(.glue_7t) /* glue thumb to arm code */
81 *(.eh_frame)
82 KEEP (*(.init))
83 KEEP (*(.fini))
84 . = ALIGN(4);
85 } > m_text AT> m_flash
86
87
88 .ARM.extab :
89 {
90 *(.ARM.extab* .gnu.linkonce.armextab.*)
91 } > m_text AT> m_flash
92
93 .ARM :
94 {
95 __exidx_start = .;
96 *(.ARM.exidx*)
97 __exidx_end = .;
98 } > m_text AT> m_flash
99
100 .ctors :
101 {
102 __CTOR_LIST__ = .;
103 /* gcc uses crtbegin.o to find the start of
104 the constructors, so we make sure it is
105 first. Because this is a wildcard, it
106 doesn't matter if the user does not
107 actually link against crtbegin.o; the
108 linker won't look for a file to match a
109 wildcard. The wildcard also means that it
110 doesn't matter which directory crtbegin.o
111 is in. */
112 KEEP (*crtbegin.o(.ctors))
113 KEEP (*crtbegin?.o(.ctors))
114 /* We don't want to include the .ctor section from
115 from the crtend.o file until after the sorted ctors.
116 The .ctor section from the crtend file contains the
117 end of ctors marker and it must be last */
118 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
119 KEEP (*(SORT(.ctors.*)))
120 KEEP (*(.ctors))
121 __CTOR_END__ = .;
122 } > m_text AT> m_flash
123
124 .dtors :
125 {
126 __DTOR_LIST__ = .;
127 KEEP (*crtbegin.o(.dtors))
128 KEEP (*crtbegin?.o(.dtors))
129 KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
130 KEEP (*(SORT(.dtors.*)))
131 KEEP (*(.dtors))
132 __DTOR_END__ = .;
133 } > m_text AT> m_flash
134
135 .preinit_array :
136 {
137 PROVIDE_HIDDEN (__preinit_array_start = .);
138 KEEP (*(.preinit_array*))
139 PROVIDE_HIDDEN (__preinit_array_end = .);
140 } > m_text AT> m_flash
141
142 .init_array :
143 {
144 PROVIDE_HIDDEN (__init_array_start = .);
145 KEEP (*(SORT(.init_array.*)))
146 KEEP (*(.init_array*))
147 PROVIDE_HIDDEN (__init_array_end = .);
148 } > m_text AT> m_flash
149
150 .fini_array :
151 {
152 PROVIDE_HIDDEN (__fini_array_start = .);
153 KEEP (*(SORT(.fini_array.*)))
154 KEEP (*(.fini_array*))
155 PROVIDE_HIDDEN (__fini_array_end = .);
156 } > m_text AT> m_flash
157
158 __etext = .; /* define a global symbol at end of code */
159 __DATA_ROM = .; /* Symbol is used by startup for data initialization */
160
161 __VECTOR_RAM = ORIGIN(m_interrupts);
162 __RAM_VECTOR_TABLE_SIZE_BYTES = 0x0;
163
164 .data :
165 {
166 . = ALIGN(4);
167 __DATA_RAM = .;
168 __data_start__ = .; /* create a global symbol at data start */
169 *(CodeQuickAccess) /* CodeQuickAccess sections */
170 *(DataQuickAccess) /* DataQuickAccess sections */
171 *(.data) /* .data sections */
172 *(.data*) /* .data* sections */
173 KEEP(*(.jcr*))
174 . = ALIGN(4);
175 __data_end__ = .; /* define a global symbol at data end */
176 } > m_data AT> m_flash
177
178 /* section for veneer table */
179 .gnu.sgstubs : AT(ORIGIN(m_flash) + 0x1000 + ORIGIN(m_veneer_table) - ORIGIN(m_interrupts))
180 {
181 . = ALIGN(32);
182 _start_sg = .;
183 *(.gnu.sgstubs*)
184 . = ALIGN(32);
185 _end_sg = .;
186 } > m_veneer_table
187
188 __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
189 _image_size = __DATA_END - __VECTOR_TABLE;
190 ASSERT(_image_size <= LENGTH(m_flash), "region m_flash overflowed with text and data")
191
192 /* Uninitialized data section */
193 .bss :
194 {
195 /* This is used by the startup in order to initialize the .bss section */
196 . = ALIGN(4);
197 __START_BSS = .;
198 __bss_start__ = .;
199 *(.bss)
200 *(.bss*)
201 *(COMMON)
202 . = ALIGN(4);
203 __bss_end__ = .;
204 __END_BSS = .;
205 } > m_data
206
207 .heap :
208 {
209 . = ALIGN(8);
210 __end__ = .;
211 PROVIDE(end = .);
212 __HeapBase = .;
213 . += HEAP_SIZE;
214 __HeapLimit = .;
215 __heap_limit = .; /* Add for _sbrk */
216 } > m_data
217
218 .stack :
219 {
220 . = ALIGN(8);
221 . += STACK_SIZE;
222 } > m_data
223
224 m_usb_bdt (NOLOAD) :
225 {
226 . = ALIGN(512);
227 *(m_usb_bdt)
228 } > m_usb_sram
229
230 m_usb_global (NOLOAD) :
231 {
232 *(m_usb_global)
233 } > m_usb_sram
234
235 /* Initializes stack on the end of block */
236 __StackTop = ORIGIN(m_data) + LENGTH(m_data);
237 __StackLimit = __StackTop - STACK_SIZE;
238 PROVIDE(__stack = __StackTop);
239
240 .ARM.attributes 0 : { *(.ARM.attributes) }
241
242 ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
243}
244
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S
new file mode 100644
index 000000000..5277719e3
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S
@@ -0,0 +1,888 @@
1/* --------------------------------------------------------------------------*/
2/* @file: startup_MIMXRT685S_cm33.s */
3/* @purpose: CMSIS Cortex-M33 Core Device Startup File */
4/* MIMXRT685S_cm33 */
5/* @version: 2.0 */
6/* @date: 2019-11-12 */
7/* --------------------------------------------------------------------------*/
8/* */
9/* Copyright 1997-2016 Freescale Semiconductor, Inc. */
10/* Copyright 2016-2020 NXP */
11/* All rights reserved. */
12/* */
13/* SPDX-License-Identifier: BSD-3-Clause */
14/*****************************************************************************/
15/* Version: GCC for ARM Embedded Processors */
16/*****************************************************************************/
17
18
19 .syntax unified
20 .arch armv8-m.main
21
22 .section .isr_vector, "a"
23 .align 2
24 .globl __isr_vector
25__isr_vector:
26 .long __StackTop /* Top of Stack */
27 .long Reset_Handler /* Reset Handler */
28 .long NMI_Handler /* NMI Handler*/
29 .long HardFault_Handler /* Hard Fault Handler*/
30 .long MemManage_Handler /* MPU Fault Handler*/
31 .long BusFault_Handler /* Bus Fault Handler*/
32 .long UsageFault_Handler /* Usage Fault Handler*/
33 .long SecureFault_Handler /* Secure Fault Handler*/
34#if (__ARM_FEATURE_CMSE & 0x2)
35 .long 0x180000 /* Image length*/
36#else
37 .long _image_size /* Image length*/
38#endif
39 .long 0 /* Reserved*/
40 .long 0 /* Reserved*/
41 .long SVC_Handler /* SVCall Handler*/
42 .long DebugMon_Handler /* Debug Monitor Handler*/
43 .long __isr_vector /* Image load address*/
44 .long PendSV_Handler /* PendSV Handler*/
45 .long SysTick_Handler /* SysTick Handler*/
46
47 /* External Interrupts */
48 .long WDT0_IRQHandler /* Windowed watchdog timer 0 (CM33 watchdog) */
49 .long DMA0_IRQHandler /* DMA controller 0 (secure or CM33 DMA) */
50 .long GPIO_INTA_IRQHandler /* GPIO interrupt A */
51 .long GPIO_INTB_IRQHandler /* GPIO interrupt B */
52 .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 int */
53 .long PIN_INT1_IRQHandler /* Pin interrupt 1 or pattern match engine slice 1 int */
54 .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 int */
55 .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 int */
56 .long UTICK0_IRQHandler /* Micro-tick Timer */
57 .long MRT0_IRQHandler /* Multi-Rate Timer */
58 .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0 */
59 .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1 */
60 .long SCT0_IRQHandler /* SCTimer/PWM */
61 .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3 */
62 .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S) */
63 .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S) */
64 .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S) */
65 .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S) */
66 .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S) */
67 .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S) */
68 .long FLEXCOMM14_IRQHandler /* Flexcomm Interface 14 (SPI only) */
69 .long FLEXCOMM15_IRQHandler /* Flexcomm Interface 15 (I2C only) */
70 .long ADC0_IRQHandler /* ADC0 */
71 .long Reserved39_IRQHandler /* Reserved interrupt */
72 .long ACMP_IRQHandler /* Analog comparator */
73 .long DMIC0_IRQHandler /* Digital microphone and DMIC subsystem */
74 .long Reserved42_IRQHandler /* Reserved interrupt */
75 .long HYPERVISOR_IRQHandler /* Hypervisor */
76 .long SECUREVIOLATION_IRQHandler /* Secure violation */
77 .long HWVAD0_IRQHandler /* Hardware Voice Activity Detector */
78 .long Reserved46_IRQHandler /* Reserved interrupt */
79 .long RNG_IRQHandler /* Random number Generator */
80 .long RTC_IRQHandler /* RTC alarm and wake-up */
81 .long DSPWAKE_IRQHandler /* Wake-up from DSP */
82 .long MU_A_IRQHandler /* Messaging Unit port A for CM33 */
83 .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */
84 .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */
85 .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */
86 .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */
87 .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2 */
88 .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4 */
89 .long OS_EVENT_IRQHandler /* OS event timer */
90 .long FLEXSPI_IRQHandler /* FLEXSPI interface */
91 .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S) */
92 .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S) */
93 .long USDHC0_IRQHandler /* USDHC0 (Enhanced SDHC) interrupt request */
94 .long USDHC1_IRQHandler /* USDHC1 (Enhanced SDHC) interrupt request */
95 .long SGPIO_INTA_IRQHandler /* Secure GPIO interrupt A */
96 .long SGPIO_INTB_IRQHandler /* Secure GPIO interrupt B */
97 .long I3C0_IRQHandler /* I3C interface 0 */
98 .long USB_IRQHandler /* High-speed USB device/host */
99 .long USB_WAKEUP_IRQHandler /* USB Activity Wake-up Interrupt */
100 .long WDT1_IRQHandler /* Windowed watchdog timer 1 (HiFi 4 watchdog) */
101 .long USBPHY_DCD_IRQHandler /* USBPHY DCD */
102 .long DMA1_IRQHandler /* DMA controller 1 (non-secure or HiFi 4 DMA) */
103 .long PUF_IRQHandler /* Physical Unclonable Function */
104 .long POWERQUAD_IRQHandler /* PowerQuad math coprocessor */
105 .long CASPER_IRQHandler /* Casper cryptographic coprocessor */
106 .long PMC_PMIC_IRQHandler /* Power management IC */
107 .long HASHCRYPT_IRQHandler /* Hash-AES unit */
108
109 .size __isr_vector, . - __isr_vector
110
111 .text
112 .thumb
113
114/* Reset Handler */
115 .thumb_func
116 .align 2
117 .globl Reset_Handler
118 .weak Reset_Handler
119 .type Reset_Handler, %function
120Reset_Handler:
121 cpsid i /* Mask interrupts */
122 .equ VTOR, 0xE000ED08
123 ldr r0, =VTOR
124 ldr r1, =__isr_vector
125 str r1, [r0]
126 ldr r2, [r1]
127 msr msp, r2
128 ldr R0, =__StackLimit
129 msr msplim, R0
130#ifndef __NO_SYSTEM_INIT
131 ldr r0,=SystemInit
132 blx r0
133#endif
134/* Loop to copy data from read only memory to RAM. The ranges
135 * of copy from/to are specified by following symbols evaluated in
136 * linker script.
137 * __etext: End of code section, i.e., begin of data sections to copy from.
138 * __data_start__/__data_end__: RAM address range that data should be
139 * copied to. Both must be aligned to 4 bytes boundary. */
140
141 ldr r1, =__etext
142 ldr r2, =__data_start__
143 ldr r3, =__data_end__
144
145#if 1
146/* Here are two copies of loop implemenations. First one favors code size
147 * and the second one favors performance. Default uses the first one.
148 * Change to "#if 0" to use the second one */
149.LC0:
150 cmp r2, r3
151 ittt lt
152 ldrlt r0, [r1], #4
153 strlt r0, [r2], #4
154 blt .LC0
155#else
156 subs r3, r2
157 ble .LC1
158.LC0:
159 subs r3, #4
160 ldr r0, [r1, r3]
161 str r0, [r2, r3]
162 bgt .LC0
163.LC1:
164#endif
165
166#ifdef __STARTUP_CLEAR_BSS
167/* This part of work usually is done in C library startup code. Otherwise,
168 * define this macro to enable it in this startup.
169 *
170 * Loop to zero out BSS section, which uses following symbols
171 * in linker script:
172 * __bss_start__: start of BSS section. Must align to 4
173 * __bss_end__: end of BSS section. Must align to 4
174 */
175 ldr r1, =__bss_start__
176 ldr r2, =__bss_end__
177
178 movs r0, 0
179.LC2:
180 cmp r1, r2
181 itt lt
182 strlt r0, [r1], #4
183 blt .LC2
184#endif /* __STARTUP_CLEAR_BSS */
185
186/* Add stack / heap initializaiton */
187 movs r0, 0
188 ldr r1, =__HeapBase
189 ldr r2, =__HeapLimit
190.LC3:
191 cmp r1, r2
192 itt lt
193 strlt r0, [r1], #4
194 blt .LC3
195
196 ldr r1, =__StackLimit
197 ldr r2, =__StackTop
198.LC4:
199 cmp r1, r2
200 itt lt
201 strlt r0, [r1], #4
202 blt .LC4
203/*End of stack / heap initializaiton */
204 cpsie i /* Unmask interrupts */
205
206#ifndef __START
207#define __START _start
208#endif
209#ifndef __ATOLLIC__
210 ldr r0,=__START
211 blx r0
212#else
213 ldr r0,=__libc_init_array
214 blx r0
215 ldr r0,=main
216 bx r0
217#endif
218 .pool
219 .size Reset_Handler, . - Reset_Handler
220
221 .align 1
222 .thumb_func
223 .weak DefaultISR
224 .type DefaultISR, %function
225DefaultISR:
226 b DefaultISR
227 .size DefaultISR, . - DefaultISR
228
229 .align 1
230 .thumb_func
231 .weak NMI_Handler
232 .type NMI_Handler, %function
233NMI_Handler:
234 ldr r0,=NMI_Handler
235 bx r0
236 .size NMI_Handler, . - NMI_Handler
237
238 .align 1
239 .thumb_func
240 .weak HardFault_Handler
241 .type HardFault_Handler, %function
242HardFault_Handler:
243 ldr r0,=HardFault_Handler
244 bx r0
245 .size HardFault_Handler, . - HardFault_Handler
246
247 .align 1
248 .thumb_func
249 .weak SVC_Handler
250 .type SVC_Handler, %function
251SVC_Handler:
252 ldr r0,=SVC_Handler
253 bx r0
254 .size SVC_Handler, . - SVC_Handler
255
256 .align 1
257 .thumb_func
258 .weak PendSV_Handler
259 .type PendSV_Handler, %function
260PendSV_Handler:
261 ldr r0,=PendSV_Handler
262 bx r0
263 .size PendSV_Handler, . - PendSV_Handler
264
265 .align 1
266 .thumb_func
267 .weak SysTick_Handler
268 .type SysTick_Handler, %function
269SysTick_Handler:
270 ldr r0,=SysTick_Handler
271 bx r0
272 .size SysTick_Handler, . - SysTick_Handler
273
274 .align 1
275 .thumb_func
276 .weak WDT0_IRQHandler
277 .type WDT0_IRQHandler, %function
278WDT0_IRQHandler:
279 ldr r0,=WDT0_DriverIRQHandler
280 bx r0
281 .size WDT0_IRQHandler, . - WDT0_IRQHandler
282
283 .align 1
284 .thumb_func
285 .weak DMA0_IRQHandler
286 .type DMA0_IRQHandler, %function
287DMA0_IRQHandler:
288 ldr r0,=DMA0_DriverIRQHandler
289 bx r0
290 .size DMA0_IRQHandler, . - DMA0_IRQHandler
291
292 .align 1
293 .thumb_func
294 .weak GPIO_INTA_IRQHandler
295 .type GPIO_INTA_IRQHandler, %function
296GPIO_INTA_IRQHandler:
297 ldr r0,=GPIO_INTA_DriverIRQHandler
298 bx r0
299 .size GPIO_INTA_IRQHandler, . - GPIO_INTA_IRQHandler
300
301 .align 1
302 .thumb_func
303 .weak GPIO_INTB_IRQHandler
304 .type GPIO_INTB_IRQHandler, %function
305GPIO_INTB_IRQHandler:
306 ldr r0,=GPIO_INTB_DriverIRQHandler
307 bx r0
308 .size GPIO_INTB_IRQHandler, . - GPIO_INTB_IRQHandler
309
310 .align 1
311 .thumb_func
312 .weak PIN_INT0_IRQHandler
313 .type PIN_INT0_IRQHandler, %function
314PIN_INT0_IRQHandler:
315 ldr r0,=PIN_INT0_DriverIRQHandler
316 bx r0
317 .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler
318
319 .align 1
320 .thumb_func
321 .weak PIN_INT1_IRQHandler
322 .type PIN_INT1_IRQHandler, %function
323PIN_INT1_IRQHandler:
324 ldr r0,=PIN_INT1_DriverIRQHandler
325 bx r0
326 .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler
327
328 .align 1
329 .thumb_func
330 .weak PIN_INT2_IRQHandler
331 .type PIN_INT2_IRQHandler, %function
332PIN_INT2_IRQHandler:
333 ldr r0,=PIN_INT2_DriverIRQHandler
334 bx r0
335 .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler
336
337 .align 1
338 .thumb_func
339 .weak PIN_INT3_IRQHandler
340 .type PIN_INT3_IRQHandler, %function
341PIN_INT3_IRQHandler:
342 ldr r0,=PIN_INT3_DriverIRQHandler
343 bx r0
344 .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler
345
346 .align 1
347 .thumb_func
348 .weak UTICK0_IRQHandler
349 .type UTICK0_IRQHandler, %function
350UTICK0_IRQHandler:
351 ldr r0,=UTICK0_DriverIRQHandler
352 bx r0
353 .size UTICK0_IRQHandler, . - UTICK0_IRQHandler
354
355 .align 1
356 .thumb_func
357 .weak MRT0_IRQHandler
358 .type MRT0_IRQHandler, %function
359MRT0_IRQHandler:
360 ldr r0,=MRT0_DriverIRQHandler
361 bx r0
362 .size MRT0_IRQHandler, . - MRT0_IRQHandler
363
364 .align 1
365 .thumb_func
366 .weak CTIMER0_IRQHandler
367 .type CTIMER0_IRQHandler, %function
368CTIMER0_IRQHandler:
369 ldr r0,=CTIMER0_DriverIRQHandler
370 bx r0
371 .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler
372
373 .align 1
374 .thumb_func
375 .weak CTIMER1_IRQHandler
376 .type CTIMER1_IRQHandler, %function
377CTIMER1_IRQHandler:
378 ldr r0,=CTIMER1_DriverIRQHandler
379 bx r0
380 .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler
381
382 .align 1
383 .thumb_func
384 .weak SCT0_IRQHandler
385 .type SCT0_IRQHandler, %function
386SCT0_IRQHandler:
387 ldr r0,=SCT0_DriverIRQHandler
388 bx r0
389 .size SCT0_IRQHandler, . - SCT0_IRQHandler
390
391 .align 1
392 .thumb_func
393 .weak CTIMER3_IRQHandler
394 .type CTIMER3_IRQHandler, %function
395CTIMER3_IRQHandler:
396 ldr r0,=CTIMER3_DriverIRQHandler
397 bx r0
398 .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler
399
400 .align 1
401 .thumb_func
402 .weak FLEXCOMM0_IRQHandler
403 .type FLEXCOMM0_IRQHandler, %function
404FLEXCOMM0_IRQHandler:
405 ldr r0,=FLEXCOMM0_DriverIRQHandler
406 bx r0
407 .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler
408
409 .align 1
410 .thumb_func
411 .weak FLEXCOMM1_IRQHandler
412 .type FLEXCOMM1_IRQHandler, %function
413FLEXCOMM1_IRQHandler:
414 ldr r0,=FLEXCOMM1_DriverIRQHandler
415 bx r0
416 .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler
417
418 .align 1
419 .thumb_func
420 .weak FLEXCOMM2_IRQHandler
421 .type FLEXCOMM2_IRQHandler, %function
422FLEXCOMM2_IRQHandler:
423 ldr r0,=FLEXCOMM2_DriverIRQHandler
424 bx r0
425 .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler
426
427 .align 1
428 .thumb_func
429 .weak FLEXCOMM3_IRQHandler
430 .type FLEXCOMM3_IRQHandler, %function
431FLEXCOMM3_IRQHandler:
432 ldr r0,=FLEXCOMM3_DriverIRQHandler
433 bx r0
434 .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler
435
436 .align 1
437 .thumb_func
438 .weak FLEXCOMM4_IRQHandler
439 .type FLEXCOMM4_IRQHandler, %function
440FLEXCOMM4_IRQHandler:
441 ldr r0,=FLEXCOMM4_DriverIRQHandler
442 bx r0
443 .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler
444
445 .align 1
446 .thumb_func
447 .weak FLEXCOMM5_IRQHandler
448 .type FLEXCOMM5_IRQHandler, %function
449FLEXCOMM5_IRQHandler:
450 ldr r0,=FLEXCOMM5_DriverIRQHandler
451 bx r0
452 .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler
453
454 .align 1
455 .thumb_func
456 .weak FLEXCOMM14_IRQHandler
457 .type FLEXCOMM14_IRQHandler, %function
458FLEXCOMM14_IRQHandler:
459 ldr r0,=FLEXCOMM14_DriverIRQHandler
460 bx r0
461 .size FLEXCOMM14_IRQHandler, . - FLEXCOMM14_IRQHandler
462
463 .align 1
464 .thumb_func
465 .weak FLEXCOMM15_IRQHandler
466 .type FLEXCOMM15_IRQHandler, %function
467FLEXCOMM15_IRQHandler:
468 ldr r0,=FLEXCOMM15_DriverIRQHandler
469 bx r0
470 .size FLEXCOMM15_IRQHandler, . - FLEXCOMM15_IRQHandler
471
472 .align 1
473 .thumb_func
474 .weak ADC0_IRQHandler
475 .type ADC0_IRQHandler, %function
476ADC0_IRQHandler:
477 ldr r0,=ADC0_DriverIRQHandler
478 bx r0
479 .size ADC0_IRQHandler, . - ADC0_IRQHandler
480
481 .align 1
482 .thumb_func
483 .weak Reserved39_IRQHandler
484 .type Reserved39_IRQHandler, %function
485Reserved39_IRQHandler:
486 ldr r0,=Reserved39_DriverIRQHandler
487 bx r0
488 .size Reserved39_IRQHandler, . - Reserved39_IRQHandler
489
490 .align 1
491 .thumb_func
492 .weak ACMP_IRQHandler
493 .type ACMP_IRQHandler, %function
494ACMP_IRQHandler:
495 ldr r0,=ACMP_DriverIRQHandler
496 bx r0
497 .size ACMP_IRQHandler, . - ACMP_IRQHandler
498
499 .align 1
500 .thumb_func
501 .weak DMIC0_IRQHandler
502 .type DMIC0_IRQHandler, %function
503DMIC0_IRQHandler:
504 ldr r0,=DMIC0_DriverIRQHandler
505 bx r0
506 .size DMIC0_IRQHandler, . - DMIC0_IRQHandler
507
508 .align 1
509 .thumb_func
510 .weak Reserved42_IRQHandler
511 .type Reserved42_IRQHandler, %function
512Reserved42_IRQHandler:
513 ldr r0,=Reserved42_DriverIRQHandler
514 bx r0
515 .size Reserved42_IRQHandler, . - Reserved42_IRQHandler
516
517 .align 1
518 .thumb_func
519 .weak HYPERVISOR_IRQHandler
520 .type HYPERVISOR_IRQHandler, %function
521HYPERVISOR_IRQHandler:
522 ldr r0,=HYPERVISOR_DriverIRQHandler
523 bx r0
524 .size HYPERVISOR_IRQHandler, . - HYPERVISOR_IRQHandler
525
526 .align 1
527 .thumb_func
528 .weak SECUREVIOLATION_IRQHandler
529 .type SECUREVIOLATION_IRQHandler, %function
530SECUREVIOLATION_IRQHandler:
531 ldr r0,=SECUREVIOLATION_DriverIRQHandler
532 bx r0
533 .size SECUREVIOLATION_IRQHandler, . - SECUREVIOLATION_IRQHandler
534
535 .align 1
536 .thumb_func
537 .weak HWVAD0_IRQHandler
538 .type HWVAD0_IRQHandler, %function
539HWVAD0_IRQHandler:
540 ldr r0,=HWVAD0_DriverIRQHandler
541 bx r0
542 .size HWVAD0_IRQHandler, . - HWVAD0_IRQHandler
543
544 .align 1
545 .thumb_func
546 .weak Reserved46_IRQHandler
547 .type Reserved46_IRQHandler, %function
548Reserved46_IRQHandler:
549 ldr r0,=Reserved46_DriverIRQHandler
550 bx r0
551 .size Reserved46_IRQHandler, . - Reserved46_IRQHandler
552
553 .align 1
554 .thumb_func
555 .weak RNG_IRQHandler
556 .type RNG_IRQHandler, %function
557RNG_IRQHandler:
558 ldr r0,=RNG_DriverIRQHandler
559 bx r0
560 .size RNG_IRQHandler, . - RNG_IRQHandler
561
562 .align 1
563 .thumb_func
564 .weak RTC_IRQHandler
565 .type RTC_IRQHandler, %function
566RTC_IRQHandler:
567 ldr r0,=RTC_DriverIRQHandler
568 bx r0
569 .size RTC_IRQHandler, . - RTC_IRQHandler
570
571 .align 1
572 .thumb_func
573 .weak DSPWAKE_IRQHandler
574 .type DSPWAKE_IRQHandler, %function
575DSPWAKE_IRQHandler:
576 ldr r0,=DSPWAKE_DriverIRQHandler
577 bx r0
578 .size DSPWAKE_IRQHandler, . - DSPWAKE_IRQHandler
579
580 .align 1
581 .thumb_func
582 .weak MU_A_IRQHandler
583 .type MU_A_IRQHandler, %function
584MU_A_IRQHandler:
585 ldr r0,=MU_A_DriverIRQHandler
586 bx r0
587 .size MU_A_IRQHandler, . - MU_A_IRQHandler
588
589 .align 1
590 .thumb_func
591 .weak PIN_INT4_IRQHandler
592 .type PIN_INT4_IRQHandler, %function
593PIN_INT4_IRQHandler:
594 ldr r0,=PIN_INT4_DriverIRQHandler
595 bx r0
596 .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler
597
598 .align 1
599 .thumb_func
600 .weak PIN_INT5_IRQHandler
601 .type PIN_INT5_IRQHandler, %function
602PIN_INT5_IRQHandler:
603 ldr r0,=PIN_INT5_DriverIRQHandler
604 bx r0
605 .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler
606
607 .align 1
608 .thumb_func
609 .weak PIN_INT6_IRQHandler
610 .type PIN_INT6_IRQHandler, %function
611PIN_INT6_IRQHandler:
612 ldr r0,=PIN_INT6_DriverIRQHandler
613 bx r0
614 .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler
615
616 .align 1
617 .thumb_func
618 .weak PIN_INT7_IRQHandler
619 .type PIN_INT7_IRQHandler, %function
620PIN_INT7_IRQHandler:
621 ldr r0,=PIN_INT7_DriverIRQHandler
622 bx r0
623 .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler
624
625 .align 1
626 .thumb_func
627 .weak CTIMER2_IRQHandler
628 .type CTIMER2_IRQHandler, %function
629CTIMER2_IRQHandler:
630 ldr r0,=CTIMER2_DriverIRQHandler
631 bx r0
632 .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler
633
634 .align 1
635 .thumb_func
636 .weak CTIMER4_IRQHandler
637 .type CTIMER4_IRQHandler, %function
638CTIMER4_IRQHandler:
639 ldr r0,=CTIMER4_DriverIRQHandler
640 bx r0
641 .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler
642
643 .align 1
644 .thumb_func
645 .weak OS_EVENT_IRQHandler
646 .type OS_EVENT_IRQHandler, %function
647OS_EVENT_IRQHandler:
648 ldr r0,=OS_EVENT_DriverIRQHandler
649 bx r0
650 .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler
651
652 .align 1
653 .thumb_func
654 .weak FLEXSPI_IRQHandler
655 .type FLEXSPI_IRQHandler, %function
656FLEXSPI_IRQHandler:
657 ldr r0,=FLEXSPI_DriverIRQHandler
658 bx r0
659 .size FLEXSPI_IRQHandler, . - FLEXSPI_IRQHandler
660
661 .align 1
662 .thumb_func
663 .weak FLEXCOMM6_IRQHandler
664 .type FLEXCOMM6_IRQHandler, %function
665FLEXCOMM6_IRQHandler:
666 ldr r0,=FLEXCOMM6_DriverIRQHandler
667 bx r0
668 .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler
669
670 .align 1
671 .thumb_func
672 .weak FLEXCOMM7_IRQHandler
673 .type FLEXCOMM7_IRQHandler, %function
674FLEXCOMM7_IRQHandler:
675 ldr r0,=FLEXCOMM7_DriverIRQHandler
676 bx r0
677 .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler
678
679 .align 1
680 .thumb_func
681 .weak USDHC0_IRQHandler
682 .type USDHC0_IRQHandler, %function
683USDHC0_IRQHandler:
684 ldr r0,=USDHC0_DriverIRQHandler
685 bx r0
686 .size USDHC0_IRQHandler, . - USDHC0_IRQHandler
687
688 .align 1
689 .thumb_func
690 .weak USDHC1_IRQHandler
691 .type USDHC1_IRQHandler, %function
692USDHC1_IRQHandler:
693 ldr r0,=USDHC1_DriverIRQHandler
694 bx r0
695 .size USDHC1_IRQHandler, . - USDHC1_IRQHandler
696
697 .align 1
698 .thumb_func
699 .weak SGPIO_INTA_IRQHandler
700 .type SGPIO_INTA_IRQHandler, %function
701SGPIO_INTA_IRQHandler:
702 ldr r0,=SGPIO_INTA_DriverIRQHandler
703 bx r0
704 .size SGPIO_INTA_IRQHandler, . - SGPIO_INTA_IRQHandler
705
706 .align 1
707 .thumb_func
708 .weak SGPIO_INTB_IRQHandler
709 .type SGPIO_INTB_IRQHandler, %function
710SGPIO_INTB_IRQHandler:
711 ldr r0,=SGPIO_INTB_DriverIRQHandler
712 bx r0
713 .size SGPIO_INTB_IRQHandler, . - SGPIO_INTB_IRQHandler
714
715 .align 1
716 .thumb_func
717 .weak I3C0_IRQHandler
718 .type I3C0_IRQHandler, %function
719I3C0_IRQHandler:
720 ldr r0,=I3C0_DriverIRQHandler
721 bx r0
722 .size I3C0_IRQHandler, . - I3C0_IRQHandler
723
724 .align 1
725 .thumb_func
726 .weak USB_IRQHandler
727 .type USB_IRQHandler, %function
728USB_IRQHandler:
729 ldr r0,=USB_DriverIRQHandler
730 bx r0
731 .size USB_IRQHandler, . - USB_IRQHandler
732
733 .align 1
734 .thumb_func
735 .weak USB_WAKEUP_IRQHandler
736 .type USB_WAKEUP_IRQHandler, %function
737USB_WAKEUP_IRQHandler:
738 ldr r0,=USB_WAKEUP_DriverIRQHandler
739 bx r0
740 .size USB_WAKEUP_IRQHandler, . - USB_WAKEUP_IRQHandler
741
742 .align 1
743 .thumb_func
744 .weak WDT1_IRQHandler
745 .type WDT1_IRQHandler, %function
746WDT1_IRQHandler:
747 ldr r0,=WDT1_DriverIRQHandler
748 bx r0
749 .size WDT1_IRQHandler, . - WDT1_IRQHandler
750
751 .align 1
752 .thumb_func
753 .weak USBPHY_DCD_IRQHandler
754 .type USBPHY_DCD_IRQHandler, %function
755USBPHY_DCD_IRQHandler:
756 ldr r0,=USBPHY_DCD_DriverIRQHandler
757 bx r0
758 .size USBPHY_DCD_IRQHandler, . - USBPHY_DCD_IRQHandler
759
760 .align 1
761 .thumb_func
762 .weak DMA1_IRQHandler
763 .type DMA1_IRQHandler, %function
764DMA1_IRQHandler:
765 ldr r0,=DMA1_DriverIRQHandler
766 bx r0
767 .size DMA1_IRQHandler, . - DMA1_IRQHandler
768
769 .align 1
770 .thumb_func
771 .weak PUF_IRQHandler
772 .type PUF_IRQHandler, %function
773PUF_IRQHandler:
774 ldr r0,=PUF_DriverIRQHandler
775 bx r0
776 .size PUF_IRQHandler, . - PUF_IRQHandler
777
778 .align 1
779 .thumb_func
780 .weak POWERQUAD_IRQHandler
781 .type POWERQUAD_IRQHandler, %function
782POWERQUAD_IRQHandler:
783 ldr r0,=POWERQUAD_DriverIRQHandler
784 bx r0
785 .size POWERQUAD_IRQHandler, . - POWERQUAD_IRQHandler
786
787 .align 1
788 .thumb_func
789 .weak CASPER_IRQHandler
790 .type CASPER_IRQHandler, %function
791CASPER_IRQHandler:
792 ldr r0,=CASPER_DriverIRQHandler
793 bx r0
794 .size CASPER_IRQHandler, . - CASPER_IRQHandler
795
796 .align 1
797 .thumb_func
798 .weak PMC_PMIC_IRQHandler
799 .type PMC_PMIC_IRQHandler, %function
800PMC_PMIC_IRQHandler:
801 ldr r0,=PMC_PMIC_DriverIRQHandler
802 bx r0
803 .size PMC_PMIC_IRQHandler, . - PMC_PMIC_IRQHandler
804
805 .align 1
806 .thumb_func
807 .weak HASHCRYPT_IRQHandler
808 .type HASHCRYPT_IRQHandler, %function
809HASHCRYPT_IRQHandler:
810 ldr r0,=HASHCRYPT_DriverIRQHandler
811 bx r0
812 .size HASHCRYPT_IRQHandler, . - HASHCRYPT_IRQHandler
813
814/* Macro to define default handlers. Default handler
815 * will be weak symbol and just dead loops. They can be
816 * overwritten by other handlers */
817 .macro def_irq_handler handler_name
818 .weak \handler_name
819 .set \handler_name, DefaultISR
820 .endm
821/* Exception Handlers */
822 def_irq_handler MemManage_Handler
823 def_irq_handler BusFault_Handler
824 def_irq_handler UsageFault_Handler
825 def_irq_handler SecureFault_Handler
826 def_irq_handler DebugMon_Handler
827 def_irq_handler WDT0_DriverIRQHandler
828 def_irq_handler DMA0_DriverIRQHandler
829 def_irq_handler GPIO_INTA_DriverIRQHandler
830 def_irq_handler GPIO_INTB_DriverIRQHandler
831 def_irq_handler PIN_INT0_DriverIRQHandler
832 def_irq_handler PIN_INT1_DriverIRQHandler
833 def_irq_handler PIN_INT2_DriverIRQHandler
834 def_irq_handler PIN_INT3_DriverIRQHandler
835 def_irq_handler UTICK0_DriverIRQHandler
836 def_irq_handler MRT0_DriverIRQHandler
837 def_irq_handler CTIMER0_DriverIRQHandler
838 def_irq_handler CTIMER1_DriverIRQHandler
839 def_irq_handler SCT0_DriverIRQHandler
840 def_irq_handler CTIMER3_DriverIRQHandler
841 def_irq_handler FLEXCOMM0_DriverIRQHandler
842 def_irq_handler FLEXCOMM1_DriverIRQHandler
843 def_irq_handler FLEXCOMM2_DriverIRQHandler
844 def_irq_handler FLEXCOMM3_DriverIRQHandler
845 def_irq_handler FLEXCOMM4_DriverIRQHandler
846 def_irq_handler FLEXCOMM5_DriverIRQHandler
847 def_irq_handler FLEXCOMM14_DriverIRQHandler
848 def_irq_handler FLEXCOMM15_DriverIRQHandler
849 def_irq_handler ADC0_DriverIRQHandler
850 def_irq_handler Reserved39_DriverIRQHandler
851 def_irq_handler ACMP_DriverIRQHandler
852 def_irq_handler DMIC0_DriverIRQHandler
853 def_irq_handler Reserved42_DriverIRQHandler
854 def_irq_handler HYPERVISOR_DriverIRQHandler
855 def_irq_handler SECUREVIOLATION_DriverIRQHandler
856 def_irq_handler HWVAD0_DriverIRQHandler
857 def_irq_handler Reserved46_DriverIRQHandler
858 def_irq_handler RNG_DriverIRQHandler
859 def_irq_handler RTC_DriverIRQHandler
860 def_irq_handler DSPWAKE_DriverIRQHandler
861 def_irq_handler MU_A_DriverIRQHandler
862 def_irq_handler PIN_INT4_DriverIRQHandler
863 def_irq_handler PIN_INT5_DriverIRQHandler
864 def_irq_handler PIN_INT6_DriverIRQHandler
865 def_irq_handler PIN_INT7_DriverIRQHandler
866 def_irq_handler CTIMER2_DriverIRQHandler
867 def_irq_handler CTIMER4_DriverIRQHandler
868 def_irq_handler OS_EVENT_DriverIRQHandler
869 def_irq_handler FLEXSPI_DriverIRQHandler
870 def_irq_handler FLEXCOMM6_DriverIRQHandler
871 def_irq_handler FLEXCOMM7_DriverIRQHandler
872 def_irq_handler USDHC0_DriverIRQHandler
873 def_irq_handler USDHC1_DriverIRQHandler
874 def_irq_handler SGPIO_INTA_DriverIRQHandler
875 def_irq_handler SGPIO_INTB_DriverIRQHandler
876 def_irq_handler I3C0_DriverIRQHandler
877 def_irq_handler USB_DriverIRQHandler
878 def_irq_handler USB_WAKEUP_DriverIRQHandler
879 def_irq_handler WDT1_DriverIRQHandler
880 def_irq_handler USBPHY_DCD_DriverIRQHandler
881 def_irq_handler DMA1_DriverIRQHandler
882 def_irq_handler PUF_DriverIRQHandler
883 def_irq_handler POWERQUAD_DriverIRQHandler
884 def_irq_handler CASPER_DriverIRQHandler
885 def_irq_handler PMC_PMIC_DriverIRQHandler
886 def_irq_handler HASHCRYPT_DriverIRQHandler
887
888 .end
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.c
new file mode 100644
index 000000000..83646e6c8
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.c
@@ -0,0 +1,758 @@
1//*****************************************************************************
2// MIMXRT685S_cm33 startup code for use with MCUXpresso IDE
3//
4// Version : 160420
5//*****************************************************************************
6//
7// Copyright 2016-2020 NXP
8// All rights reserved.
9//
10// SPDX-License-Identifier: BSD-3-Clause
11//*****************************************************************************
12
13#if defined (DEBUG)
14#pragma GCC push_options
15#pragma GCC optimize ("Og")
16#endif // (DEBUG)
17
18#if defined (__cplusplus)
19#ifdef __REDLIB__
20#error Redlib does not support C++
21#else
22//*****************************************************************************
23//
24// The entry point for the C++ library startup
25//
26//*****************************************************************************
27extern "C" {
28 extern void __libc_init_array(void);
29}
30#endif
31#endif
32
33#define WEAK __attribute__ ((weak))
34#define WEAK_AV __attribute__ ((weak, section(".after_vectors")))
35#define ALIAS(f) __attribute__ ((weak, alias (#f)))
36
37//*****************************************************************************
38#if defined (__cplusplus)
39extern "C" {
40#endif
41
42//*****************************************************************************
43// Variable to store CRP value in. Will be placed automatically
44// by the linker when "Enable Code Read Protect" selected.
45// See crp.h header for more information
46//*****************************************************************************
47//*****************************************************************************
48// Declaration of external SystemInit function
49//*****************************************************************************
50#if defined (__USE_CMSIS)
51extern void SystemInit(void);
52#endif // (__USE_CMSIS)
53
54//*****************************************************************************
55// Forward declaration of the core exception handlers.
56// When the application defines a handler (with the same name), this will
57// automatically take precedence over these weak definitions.
58// If your application is a C++ one, then any interrupt handlers defined
59// in C++ files within in your main application will need to have C linkage
60// rather than C++ linkage. To do this, make sure that you are using extern "C"
61// { .... } around the interrupt handler within your main application code.
62//*****************************************************************************
63 void ResetISR(void);
64WEAK void NMI_Handler(void);
65WEAK void HardFault_Handler(void);
66WEAK void MemManage_Handler(void);
67WEAK void BusFault_Handler(void);
68WEAK void UsageFault_Handler(void);
69WEAK void SecureFault_Handler(void);
70WEAK void SVC_Handler(void);
71WEAK void DebugMon_Handler(void);
72WEAK void PendSV_Handler(void);
73WEAK void SysTick_Handler(void);
74WEAK void IntDefaultHandler(void);
75
76//*****************************************************************************
77// Forward declaration of the application IRQ handlers. When the application
78// defines a handler (with the same name), this will automatically take
79// precedence over weak definitions below
80//*****************************************************************************
81WEAK void WDT0_IRQHandler(void);
82WEAK void DMA0_IRQHandler(void);
83WEAK void GPIO_INTA_IRQHandler(void);
84WEAK void GPIO_INTB_IRQHandler(void);
85WEAK void PIN_INT0_IRQHandler(void);
86WEAK void PIN_INT1_IRQHandler(void);
87WEAK void PIN_INT2_IRQHandler(void);
88WEAK void PIN_INT3_IRQHandler(void);
89WEAK void UTICK0_IRQHandler(void);
90WEAK void MRT0_IRQHandler(void);
91WEAK void CTIMER0_IRQHandler(void);
92WEAK void CTIMER1_IRQHandler(void);
93WEAK void SCT0_IRQHandler(void);
94WEAK void CTIMER3_IRQHandler(void);
95WEAK void FLEXCOMM0_IRQHandler(void);
96WEAK void FLEXCOMM1_IRQHandler(void);
97WEAK void FLEXCOMM2_IRQHandler(void);
98WEAK void FLEXCOMM3_IRQHandler(void);
99WEAK void FLEXCOMM4_IRQHandler(void);
100WEAK void FLEXCOMM5_IRQHandler(void);
101WEAK void FLEXCOMM14_IRQHandler(void);
102WEAK void FLEXCOMM15_IRQHandler(void);
103WEAK void ADC0_IRQHandler(void);
104WEAK void Reserved39_IRQHandler(void);
105WEAK void ACMP_IRQHandler(void);
106WEAK void DMIC0_IRQHandler(void);
107WEAK void Reserved42_IRQHandler(void);
108WEAK void HYPERVISOR_IRQHandler(void);
109WEAK void SECUREVIOLATION_IRQHandler(void);
110WEAK void HWVAD0_IRQHandler(void);
111WEAK void Reserved46_IRQHandler(void);
112WEAK void RNG_IRQHandler(void);
113WEAK void RTC_IRQHandler(void);
114WEAK void DSPWAKE_IRQHandler(void);
115WEAK void MU_A_IRQHandler(void);
116WEAK void PIN_INT4_IRQHandler(void);
117WEAK void PIN_INT5_IRQHandler(void);
118WEAK void PIN_INT6_IRQHandler(void);
119WEAK void PIN_INT7_IRQHandler(void);
120WEAK void CTIMER2_IRQHandler(void);
121WEAK void CTIMER4_IRQHandler(void);
122WEAK void OS_EVENT_IRQHandler(void);
123WEAK void FLEXSPI_IRQHandler(void);
124WEAK void FLEXCOMM6_IRQHandler(void);
125WEAK void FLEXCOMM7_IRQHandler(void);
126WEAK void USDHC0_IRQHandler(void);
127WEAK void USDHC1_IRQHandler(void);
128WEAK void SGPIO_INTA_IRQHandler(void);
129WEAK void SGPIO_INTB_IRQHandler(void);
130WEAK void I3C0_IRQHandler(void);
131WEAK void USB_IRQHandler(void);
132WEAK void USB_WAKEUP_IRQHandler(void);
133WEAK void WDT1_IRQHandler(void);
134WEAK void USBPHY_DCD_IRQHandler(void);
135WEAK void DMA1_IRQHandler(void);
136WEAK void PUF_IRQHandler(void);
137WEAK void POWERQUAD_IRQHandler(void);
138WEAK void CASPER_IRQHandler(void);
139WEAK void PMC_PMIC_IRQHandler(void);
140WEAK void HASHCRYPT_IRQHandler(void);
141
142//*****************************************************************************
143// Forward declaration of the driver IRQ handlers. These are aliased
144// to the IntDefaultHandler, which is a 'forever' loop. When the driver
145// defines a handler (with the same name), this will automatically take
146// precedence over these weak definitions
147//*****************************************************************************
148void WDT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
149void DMA0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
150void GPIO_INTA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
151void GPIO_INTB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
152void PIN_INT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
153void PIN_INT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
154void PIN_INT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
155void PIN_INT3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
156void UTICK0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
157void MRT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
158void CTIMER0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
159void CTIMER1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
160void SCT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
161void CTIMER3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
162void FLEXCOMM0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
163void FLEXCOMM1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
164void FLEXCOMM2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
165void FLEXCOMM3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
166void FLEXCOMM4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
167void FLEXCOMM5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
168void FLEXCOMM14_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
169void FLEXCOMM15_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
170void ADC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
171void Reserved39_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
172void ACMP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
173void DMIC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
174void Reserved42_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
175void HYPERVISOR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
176void SECUREVIOLATION_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
177void HWVAD0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
178void Reserved46_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
179void RNG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
180void RTC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
181void DSPWAKE_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
182void MU_A_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
183void PIN_INT4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
184void PIN_INT5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
185void PIN_INT6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
186void PIN_INT7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
187void CTIMER2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
188void CTIMER4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
189void OS_EVENT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
190void FLEXSPI_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
191void FLEXCOMM6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
192void FLEXCOMM7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
193void USDHC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
194void USDHC1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
195void SGPIO_INTA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
196void SGPIO_INTB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
197void I3C0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
198void USB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
199void USB_WAKEUP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
200void WDT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
201void USBPHY_DCD_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
202void DMA1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
203void PUF_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
204void POWERQUAD_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
205void CASPER_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
206void PMC_PMIC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
207void HASHCRYPT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
208
209//*****************************************************************************
210// The entry point for the application.
211// __main() is the entry point for Redlib based applications
212// main() is the entry point for Newlib based applications
213//*****************************************************************************
214#if defined (__REDLIB__)
215extern void __main(void);
216#endif
217extern int main(void);
218
219//*****************************************************************************
220// External declaration for the pointer to the stack top from the Linker Script
221//*****************************************************************************
222extern void _vStackTop(void);
223extern void _image_size(void);
224//*****************************************************************************
225// External declaration for the pointer to the stack base from the Linker Script
226//*****************************************************************************
227extern void _vStackBase(void);
228//*****************************************************************************
229// External declaration for image type and load address from Linker Script
230//*****************************************************************************
231WEAK extern void __imghdr_loadaddress();
232WEAK extern void __imghdr_imagetype();
233
234//*****************************************************************************
235#if defined (__cplusplus)
236} // extern "C"
237#endif
238//*****************************************************************************
239// The vector table.
240// This relies on the linker script to place at correct location in memory.
241//*****************************************************************************
242
243
244
245extern void (* const g_pfnVectors[])(void);
246extern void * __Vectors __attribute__ ((alias ("g_pfnVectors")));
247
248__attribute__ ((used, section(".isr_vector")))
249void (* const g_pfnVectors[])(void) = {
250 // Core Level - CM33
251 &_vStackTop, // The initial stack pointer
252 ResetISR, // The reset handler
253 NMI_Handler, // The NMI handler
254 HardFault_Handler, // The hard fault handler
255 MemManage_Handler, // The MPU fault handler
256 BusFault_Handler, // The bus fault handler
257 UsageFault_Handler, // The usage fault handler
258 SecureFault_Handler, // The secure fault handler
259#if (__ARM_FEATURE_CMSE & 0x2)
260 (void (*)())0x180000, // Image length
261#else
262 (void (*)())((unsigned)_image_size), // Image length
263#endif
264 __imghdr_imagetype, // Image type
265 0, // Reserved
266 SVC_Handler, // SVCall handler
267 DebugMon_Handler, // Debug monitor handler
268 (void (*)())g_pfnVectors, // Image load address
269 PendSV_Handler, // The PendSV handler
270 SysTick_Handler, // The SysTick handler
271
272 // Chip Level - MIMXRT685S_cm33
273 WDT0_IRQHandler, // 16: Windowed watchdog timer 0 (CM33 watchdog)
274 DMA0_IRQHandler, // 17: DMA controller 0 (secure or CM33 DMA)
275 GPIO_INTA_IRQHandler, // 18: GPIO interrupt A
276 GPIO_INTB_IRQHandler, // 19: GPIO interrupt B
277 PIN_INT0_IRQHandler, // 20: Pin interrupt 0 or pattern match engine slice 0 int
278 PIN_INT1_IRQHandler, // 21: Pin interrupt 1 or pattern match engine slice 1 int
279 PIN_INT2_IRQHandler, // 22: Pin interrupt 2 or pattern match engine slice 2 int
280 PIN_INT3_IRQHandler, // 23: Pin interrupt 3 or pattern match engine slice 3 int
281 UTICK0_IRQHandler, // 24: Micro-tick Timer
282 MRT0_IRQHandler, // 25: Multi-Rate Timer
283 CTIMER0_IRQHandler, // 26: Standard counter/timer CTIMER0
284 CTIMER1_IRQHandler, // 27: Standard counter/timer CTIMER1
285 SCT0_IRQHandler, // 28: SCTimer/PWM
286 CTIMER3_IRQHandler, // 29: Standard counter/timer CTIMER3
287 FLEXCOMM0_IRQHandler, // 30: Flexcomm Interface 0 (USART, SPI, I2C, I2S)
288 FLEXCOMM1_IRQHandler, // 31: Flexcomm Interface 1 (USART, SPI, I2C, I2S)
289 FLEXCOMM2_IRQHandler, // 32: Flexcomm Interface 2 (USART, SPI, I2C, I2S)
290 FLEXCOMM3_IRQHandler, // 33: Flexcomm Interface 3 (USART, SPI, I2C, I2S)
291 FLEXCOMM4_IRQHandler, // 34: Flexcomm Interface 4 (USART, SPI, I2C, I2S)
292 FLEXCOMM5_IRQHandler, // 35: Flexcomm Interface 5 (USART, SPI, I2C, I2S)
293 FLEXCOMM14_IRQHandler, // 36: Flexcomm Interface 14 (SPI only)
294 FLEXCOMM15_IRQHandler, // 37: Flexcomm Interface 15 (I2C only)
295 ADC0_IRQHandler, // 38: ADC0
296 Reserved39_IRQHandler, // 39: Reserved interrupt
297 ACMP_IRQHandler, // 40: Analog comparator
298 DMIC0_IRQHandler, // 41: Digital microphone and DMIC subsystem
299 Reserved42_IRQHandler, // 42: Reserved interrupt
300 HYPERVISOR_IRQHandler, // 43: Hypervisor
301 SECUREVIOLATION_IRQHandler, // 44: Secure violation
302 HWVAD0_IRQHandler, // 45: Hardware Voice Activity Detector
303 Reserved46_IRQHandler, // 46: Reserved interrupt
304 RNG_IRQHandler, // 47: Random number Generator
305 RTC_IRQHandler, // 48: RTC alarm and wake-up
306 DSPWAKE_IRQHandler, // 49: Wake-up from DSP
307 MU_A_IRQHandler, // 50: Messaging Unit port A for CM33
308 PIN_INT4_IRQHandler, // 51: Pin interrupt 4 or pattern match engine slice 4 int
309 PIN_INT5_IRQHandler, // 52: Pin interrupt 5 or pattern match engine slice 5 int
310 PIN_INT6_IRQHandler, // 53: Pin interrupt 6 or pattern match engine slice 6 int
311 PIN_INT7_IRQHandler, // 54: Pin interrupt 7 or pattern match engine slice 7 int
312 CTIMER2_IRQHandler, // 55: Standard counter/timer CTIMER2
313 CTIMER4_IRQHandler, // 56: Standard counter/timer CTIMER4
314 OS_EVENT_IRQHandler, // 57: OS event timer
315 FLEXSPI_IRQHandler, // 58: FLEXSPI interface
316 FLEXCOMM6_IRQHandler, // 59: Flexcomm Interface 6 (USART, SPI, I2C, I2S)
317 FLEXCOMM7_IRQHandler, // 60: Flexcomm Interface 7 (USART, SPI, I2C, I2S)
318 USDHC0_IRQHandler, // 61: USDHC0 (Enhanced SDHC) interrupt request
319 USDHC1_IRQHandler, // 62: USDHC1 (Enhanced SDHC) interrupt request
320 SGPIO_INTA_IRQHandler, // 63: Secure GPIO interrupt A
321 SGPIO_INTB_IRQHandler, // 64: Secure GPIO interrupt B
322 I3C0_IRQHandler, // 65: I3C interface 0
323 USB_IRQHandler, // 66: High-speed USB device/host
324 USB_WAKEUP_IRQHandler, // 67: USB Activity Wake-up Interrupt
325 WDT1_IRQHandler, // 68: Windowed watchdog timer 1 (HiFi 4 watchdog)
326 USBPHY_DCD_IRQHandler, // 69: USBPHY DCD
327 DMA1_IRQHandler, // 70: DMA controller 1 (non-secure or HiFi 4 DMA)
328 PUF_IRQHandler, // 71: Physical Unclonable Function
329 POWERQUAD_IRQHandler, // 72: PowerQuad math coprocessor
330 CASPER_IRQHandler, // 73: Casper cryptographic coprocessor
331 PMC_PMIC_IRQHandler, // 74: Power management IC
332 HASHCRYPT_IRQHandler, // 75: Hash-AES unit
333
334
335}; /* End of g_pfnVectors */
336
337#if defined(ENABLE_RAM_VECTOR_TABLE)
338extern void * __VECTOR_TABLE __attribute__ ((alias ("g_pfnVectors")));
339void (* __VECTOR_RAM[sizeof(g_pfnVectors) / 4])(void) __attribute__((aligned(128)));
340unsigned int __RAM_VECTOR_TABLE_SIZE_BYTES = sizeof(g_pfnVectors);
341#endif
342
343//*****************************************************************************
344// Functions to carry out the initialization of RW and BSS data sections. These
345// are written as separate functions rather than being inlined within the
346// ResetISR() function in order to cope with MCUs with multiple banks of
347// memory.
348//*****************************************************************************
349__attribute__ ((section(".after_vectors.init_data")))
350void data_init(unsigned int romstart, unsigned int start, unsigned int len) {
351 unsigned int *pulDest = (unsigned int*) start;
352 unsigned int *pulSrc = (unsigned int*) romstart;
353 unsigned int loop;
354 for (loop = 0; loop < len; loop = loop + 4)
355 *pulDest++ = *pulSrc++;
356}
357
358__attribute__ ((section(".after_vectors.init_bss")))
359void bss_init(unsigned int start, unsigned int len) {
360 unsigned int *pulDest = (unsigned int*) start;
361 unsigned int loop;
362 for (loop = 0; loop < len; loop = loop + 4)
363 *pulDest++ = 0;
364}
365
366//*****************************************************************************
367// The following symbols are constructs generated by the linker, indicating
368// the location of various points in the "Global Section Table". This table is
369// created by the linker via the Code Red managed linker script mechanism. It
370// contains the load address, execution address and length of each RW data
371// section and the execution and length of each BSS (zero initialized) section.
372//*****************************************************************************
373extern unsigned int __data_section_table;
374extern unsigned int __data_section_table_end;
375extern unsigned int __bss_section_table;
376extern unsigned int __bss_section_table_end;
377
378//*****************************************************************************
379// Reset entry point for your code.
380// Sets up a simple runtime environment and initializes the C/C++
381// library.
382//*****************************************************************************
383__attribute__ ((section(".after_vectors.reset")))
384void ResetISR(void) {
385
386 // Disable interrupts
387 __asm volatile ("cpsid i");
388
389 // Config VTOR & MSPLIM register
390 __asm volatile ("LDR R0, =0xE000ED08 \n"
391 "STR %0, [R0] \n"
392 "LDR R1, [%0] \n"
393 "MSR MSP, R1 \n"
394 "MSR MSPLIM, %1 \n"
395 :
396 : "r"(g_pfnVectors), "r"(_vStackBase)
397 : "r0", "r1");
398
399#if defined (__USE_CMSIS)
400// If __USE_CMSIS defined, then call CMSIS SystemInit code
401 SystemInit();
402
403#endif // (__USE_CMSIS)
404
405 //
406 // Copy the data sections from flash to SRAM.
407 //
408 unsigned int LoadAddr, ExeAddr, SectionLen;
409 unsigned int *SectionTableAddr;
410
411 // Load base address of Global Section Table
412 SectionTableAddr = &__data_section_table;
413
414 // Copy the data sections from flash to SRAM.
415 while (SectionTableAddr < &__data_section_table_end) {
416 LoadAddr = *SectionTableAddr++;
417 ExeAddr = *SectionTableAddr++;
418 SectionLen = *SectionTableAddr++;
419 data_init(LoadAddr, ExeAddr, SectionLen);
420 }
421
422 // At this point, SectionTableAddr = &__bss_section_table;
423 // Zero fill the bss segment
424 while (SectionTableAddr < &__bss_section_table_end) {
425 ExeAddr = *SectionTableAddr++;
426 SectionLen = *SectionTableAddr++;
427 bss_init(ExeAddr, SectionLen);
428 }
429
430
431#if defined (__cplusplus)
432 //
433 // Call C++ library initialisation
434 //
435 __libc_init_array();
436#endif
437
438 // Reenable interrupts
439 __asm volatile ("cpsie i");
440
441#if defined (__REDLIB__)
442 // Call the Redlib library, which in turn calls main()
443 __main();
444#else
445 main();
446#endif
447
448 //
449 // main() shouldn't return, but if it does, we'll just enter an infinite loop
450 //
451 while (1) {
452 ;
453 }
454}
455
456//*****************************************************************************
457// Default core exception handlers. Override the ones here by defining your own
458// handler routines in your application code.
459//*****************************************************************************
460WEAK_AV void NMI_Handler(void)
461{ while(1) {}
462}
463
464WEAK_AV void HardFault_Handler(void)
465{ while(1) {}
466}
467
468WEAK_AV void MemManage_Handler(void)
469{ while(1) {}
470}
471
472WEAK_AV void BusFault_Handler(void)
473{ while(1) {}
474}
475
476WEAK_AV void UsageFault_Handler(void)
477{ while(1) {}
478}
479
480WEAK_AV void SecureFault_Handler(void)
481{ while(1) {}
482}
483
484WEAK_AV void SVC_Handler(void)
485{ while(1) {}
486}
487
488WEAK_AV void DebugMon_Handler(void)
489{ while(1) {}
490}
491
492WEAK_AV void PendSV_Handler(void)
493{ while(1) {}
494}
495
496WEAK_AV void SysTick_Handler(void)
497{ while(1) {}
498}
499
500//*****************************************************************************
501// Processor ends up here if an unexpected interrupt occurs or a specific
502// handler is not present in the application code.
503//*****************************************************************************
504WEAK_AV void IntDefaultHandler(void)
505{ while(1) {}
506}
507
508//*****************************************************************************
509// Default application exception handlers. Override the ones here by defining
510// your own handler routines in your application code. These routines call
511// driver exception handlers or IntDefaultHandler() if no driver exception
512// handler is included.
513//*****************************************************************************
514WEAK void WDT0_IRQHandler(void)
515{ WDT0_DriverIRQHandler();
516}
517
518WEAK void DMA0_IRQHandler(void)
519{ DMA0_DriverIRQHandler();
520}
521
522WEAK void GPIO_INTA_IRQHandler(void)
523{ GPIO_INTA_DriverIRQHandler();
524}
525
526WEAK void GPIO_INTB_IRQHandler(void)
527{ GPIO_INTB_DriverIRQHandler();
528}
529
530WEAK void PIN_INT0_IRQHandler(void)
531{ PIN_INT0_DriverIRQHandler();
532}
533
534WEAK void PIN_INT1_IRQHandler(void)
535{ PIN_INT1_DriverIRQHandler();
536}
537
538WEAK void PIN_INT2_IRQHandler(void)
539{ PIN_INT2_DriverIRQHandler();
540}
541
542WEAK void PIN_INT3_IRQHandler(void)
543{ PIN_INT3_DriverIRQHandler();
544}
545
546WEAK void UTICK0_IRQHandler(void)
547{ UTICK0_DriverIRQHandler();
548}
549
550WEAK void MRT0_IRQHandler(void)
551{ MRT0_DriverIRQHandler();
552}
553
554WEAK void CTIMER0_IRQHandler(void)
555{ CTIMER0_DriverIRQHandler();
556}
557
558WEAK void CTIMER1_IRQHandler(void)
559{ CTIMER1_DriverIRQHandler();
560}
561
562WEAK void SCT0_IRQHandler(void)
563{ SCT0_DriverIRQHandler();
564}
565
566WEAK void CTIMER3_IRQHandler(void)
567{ CTIMER3_DriverIRQHandler();
568}
569
570WEAK void FLEXCOMM0_IRQHandler(void)
571{ FLEXCOMM0_DriverIRQHandler();
572}
573
574WEAK void FLEXCOMM1_IRQHandler(void)
575{ FLEXCOMM1_DriverIRQHandler();
576}
577
578WEAK void FLEXCOMM2_IRQHandler(void)
579{ FLEXCOMM2_DriverIRQHandler();
580}
581
582WEAK void FLEXCOMM3_IRQHandler(void)
583{ FLEXCOMM3_DriverIRQHandler();
584}
585
586WEAK void FLEXCOMM4_IRQHandler(void)
587{ FLEXCOMM4_DriverIRQHandler();
588}
589
590WEAK void FLEXCOMM5_IRQHandler(void)
591{ FLEXCOMM5_DriverIRQHandler();
592}
593
594WEAK void FLEXCOMM14_IRQHandler(void)
595{ FLEXCOMM14_DriverIRQHandler();
596}
597
598WEAK void FLEXCOMM15_IRQHandler(void)
599{ FLEXCOMM15_DriverIRQHandler();
600}
601
602WEAK void ADC0_IRQHandler(void)
603{ ADC0_DriverIRQHandler();
604}
605
606WEAK void Reserved39_IRQHandler(void)
607{ Reserved39_DriverIRQHandler();
608}
609
610WEAK void ACMP_IRQHandler(void)
611{ ACMP_DriverIRQHandler();
612}
613
614WEAK void DMIC0_IRQHandler(void)
615{ DMIC0_DriverIRQHandler();
616}
617
618WEAK void Reserved42_IRQHandler(void)
619{ Reserved42_DriverIRQHandler();
620}
621
622WEAK void HYPERVISOR_IRQHandler(void)
623{ HYPERVISOR_DriverIRQHandler();
624}
625
626WEAK void SECUREVIOLATION_IRQHandler(void)
627{ SECUREVIOLATION_DriverIRQHandler();
628}
629
630WEAK void HWVAD0_IRQHandler(void)
631{ HWVAD0_DriverIRQHandler();
632}
633
634WEAK void Reserved46_IRQHandler(void)
635{ Reserved46_DriverIRQHandler();
636}
637
638WEAK void RNG_IRQHandler(void)
639{ RNG_DriverIRQHandler();
640}
641
642WEAK void RTC_IRQHandler(void)
643{ RTC_DriverIRQHandler();
644}
645
646WEAK void DSPWAKE_IRQHandler(void)
647{ DSPWAKE_DriverIRQHandler();
648}
649
650WEAK void MU_A_IRQHandler(void)
651{ MU_A_DriverIRQHandler();
652}
653
654WEAK void PIN_INT4_IRQHandler(void)
655{ PIN_INT4_DriverIRQHandler();
656}
657
658WEAK void PIN_INT5_IRQHandler(void)
659{ PIN_INT5_DriverIRQHandler();
660}
661
662WEAK void PIN_INT6_IRQHandler(void)
663{ PIN_INT6_DriverIRQHandler();
664}
665
666WEAK void PIN_INT7_IRQHandler(void)
667{ PIN_INT7_DriverIRQHandler();
668}
669
670WEAK void CTIMER2_IRQHandler(void)
671{ CTIMER2_DriverIRQHandler();
672}
673
674WEAK void CTIMER4_IRQHandler(void)
675{ CTIMER4_DriverIRQHandler();
676}
677
678WEAK void OS_EVENT_IRQHandler(void)
679{ OS_EVENT_DriverIRQHandler();
680}
681
682WEAK void FLEXSPI_IRQHandler(void)
683{ FLEXSPI_DriverIRQHandler();
684}
685
686WEAK void FLEXCOMM6_IRQHandler(void)
687{ FLEXCOMM6_DriverIRQHandler();
688}
689
690WEAK void FLEXCOMM7_IRQHandler(void)
691{ FLEXCOMM7_DriverIRQHandler();
692}
693
694WEAK void USDHC0_IRQHandler(void)
695{ USDHC0_DriverIRQHandler();
696}
697
698WEAK void USDHC1_IRQHandler(void)
699{ USDHC1_DriverIRQHandler();
700}
701
702WEAK void SGPIO_INTA_IRQHandler(void)
703{ SGPIO_INTA_DriverIRQHandler();
704}
705
706WEAK void SGPIO_INTB_IRQHandler(void)
707{ SGPIO_INTB_DriverIRQHandler();
708}
709
710WEAK void I3C0_IRQHandler(void)
711{ I3C0_DriverIRQHandler();
712}
713
714WEAK void USB_IRQHandler(void)
715{ USB_DriverIRQHandler();
716}
717
718WEAK void USB_WAKEUP_IRQHandler(void)
719{ USB_WAKEUP_DriverIRQHandler();
720}
721
722WEAK void WDT1_IRQHandler(void)
723{ WDT1_DriverIRQHandler();
724}
725
726WEAK void USBPHY_DCD_IRQHandler(void)
727{ USBPHY_DCD_DriverIRQHandler();
728}
729
730WEAK void DMA1_IRQHandler(void)
731{ DMA1_DriverIRQHandler();
732}
733
734WEAK void PUF_IRQHandler(void)
735{ PUF_DriverIRQHandler();
736}
737
738WEAK void POWERQUAD_IRQHandler(void)
739{ POWERQUAD_DriverIRQHandler();
740}
741
742WEAK void CASPER_IRQHandler(void)
743{ CASPER_DriverIRQHandler();
744}
745
746WEAK void PMC_PMIC_IRQHandler(void)
747{ PMC_PMIC_DriverIRQHandler();
748}
749
750WEAK void HASHCRYPT_IRQHandler(void)
751{ HASHCRYPT_DriverIRQHandler();
752}
753
754//*****************************************************************************
755
756#if defined (DEBUG)
757#pragma GCC pop_options
758#endif // (DEBUG)
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.cpp b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.cpp
new file mode 100644
index 000000000..83646e6c8
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/mcuxpresso/startup_mimxrt685s.cpp
@@ -0,0 +1,758 @@
1//*****************************************************************************
2// MIMXRT685S_cm33 startup code for use with MCUXpresso IDE
3//
4// Version : 160420
5//*****************************************************************************
6//
7// Copyright 2016-2020 NXP
8// All rights reserved.
9//
10// SPDX-License-Identifier: BSD-3-Clause
11//*****************************************************************************
12
13#if defined (DEBUG)
14#pragma GCC push_options
15#pragma GCC optimize ("Og")
16#endif // (DEBUG)
17
18#if defined (__cplusplus)
19#ifdef __REDLIB__
20#error Redlib does not support C++
21#else
22//*****************************************************************************
23//
24// The entry point for the C++ library startup
25//
26//*****************************************************************************
27extern "C" {
28 extern void __libc_init_array(void);
29}
30#endif
31#endif
32
33#define WEAK __attribute__ ((weak))
34#define WEAK_AV __attribute__ ((weak, section(".after_vectors")))
35#define ALIAS(f) __attribute__ ((weak, alias (#f)))
36
37//*****************************************************************************
38#if defined (__cplusplus)
39extern "C" {
40#endif
41
42//*****************************************************************************
43// Variable to store CRP value in. Will be placed automatically
44// by the linker when "Enable Code Read Protect" selected.
45// See crp.h header for more information
46//*****************************************************************************
47//*****************************************************************************
48// Declaration of external SystemInit function
49//*****************************************************************************
50#if defined (__USE_CMSIS)
51extern void SystemInit(void);
52#endif // (__USE_CMSIS)
53
54//*****************************************************************************
55// Forward declaration of the core exception handlers.
56// When the application defines a handler (with the same name), this will
57// automatically take precedence over these weak definitions.
58// If your application is a C++ one, then any interrupt handlers defined
59// in C++ files within in your main application will need to have C linkage
60// rather than C++ linkage. To do this, make sure that you are using extern "C"
61// { .... } around the interrupt handler within your main application code.
62//*****************************************************************************
63 void ResetISR(void);
64WEAK void NMI_Handler(void);
65WEAK void HardFault_Handler(void);
66WEAK void MemManage_Handler(void);
67WEAK void BusFault_Handler(void);
68WEAK void UsageFault_Handler(void);
69WEAK void SecureFault_Handler(void);
70WEAK void SVC_Handler(void);
71WEAK void DebugMon_Handler(void);
72WEAK void PendSV_Handler(void);
73WEAK void SysTick_Handler(void);
74WEAK void IntDefaultHandler(void);
75
76//*****************************************************************************
77// Forward declaration of the application IRQ handlers. When the application
78// defines a handler (with the same name), this will automatically take
79// precedence over weak definitions below
80//*****************************************************************************
81WEAK void WDT0_IRQHandler(void);
82WEAK void DMA0_IRQHandler(void);
83WEAK void GPIO_INTA_IRQHandler(void);
84WEAK void GPIO_INTB_IRQHandler(void);
85WEAK void PIN_INT0_IRQHandler(void);
86WEAK void PIN_INT1_IRQHandler(void);
87WEAK void PIN_INT2_IRQHandler(void);
88WEAK void PIN_INT3_IRQHandler(void);
89WEAK void UTICK0_IRQHandler(void);
90WEAK void MRT0_IRQHandler(void);
91WEAK void CTIMER0_IRQHandler(void);
92WEAK void CTIMER1_IRQHandler(void);
93WEAK void SCT0_IRQHandler(void);
94WEAK void CTIMER3_IRQHandler(void);
95WEAK void FLEXCOMM0_IRQHandler(void);
96WEAK void FLEXCOMM1_IRQHandler(void);
97WEAK void FLEXCOMM2_IRQHandler(void);
98WEAK void FLEXCOMM3_IRQHandler(void);
99WEAK void FLEXCOMM4_IRQHandler(void);
100WEAK void FLEXCOMM5_IRQHandler(void);
101WEAK void FLEXCOMM14_IRQHandler(void);
102WEAK void FLEXCOMM15_IRQHandler(void);
103WEAK void ADC0_IRQHandler(void);
104WEAK void Reserved39_IRQHandler(void);
105WEAK void ACMP_IRQHandler(void);
106WEAK void DMIC0_IRQHandler(void);
107WEAK void Reserved42_IRQHandler(void);
108WEAK void HYPERVISOR_IRQHandler(void);
109WEAK void SECUREVIOLATION_IRQHandler(void);
110WEAK void HWVAD0_IRQHandler(void);
111WEAK void Reserved46_IRQHandler(void);
112WEAK void RNG_IRQHandler(void);
113WEAK void RTC_IRQHandler(void);
114WEAK void DSPWAKE_IRQHandler(void);
115WEAK void MU_A_IRQHandler(void);
116WEAK void PIN_INT4_IRQHandler(void);
117WEAK void PIN_INT5_IRQHandler(void);
118WEAK void PIN_INT6_IRQHandler(void);
119WEAK void PIN_INT7_IRQHandler(void);
120WEAK void CTIMER2_IRQHandler(void);
121WEAK void CTIMER4_IRQHandler(void);
122WEAK void OS_EVENT_IRQHandler(void);
123WEAK void FLEXSPI_IRQHandler(void);
124WEAK void FLEXCOMM6_IRQHandler(void);
125WEAK void FLEXCOMM7_IRQHandler(void);
126WEAK void USDHC0_IRQHandler(void);
127WEAK void USDHC1_IRQHandler(void);
128WEAK void SGPIO_INTA_IRQHandler(void);
129WEAK void SGPIO_INTB_IRQHandler(void);
130WEAK void I3C0_IRQHandler(void);
131WEAK void USB_IRQHandler(void);
132WEAK void USB_WAKEUP_IRQHandler(void);
133WEAK void WDT1_IRQHandler(void);
134WEAK void USBPHY_DCD_IRQHandler(void);
135WEAK void DMA1_IRQHandler(void);
136WEAK void PUF_IRQHandler(void);
137WEAK void POWERQUAD_IRQHandler(void);
138WEAK void CASPER_IRQHandler(void);
139WEAK void PMC_PMIC_IRQHandler(void);
140WEAK void HASHCRYPT_IRQHandler(void);
141
142//*****************************************************************************
143// Forward declaration of the driver IRQ handlers. These are aliased
144// to the IntDefaultHandler, which is a 'forever' loop. When the driver
145// defines a handler (with the same name), this will automatically take
146// precedence over these weak definitions
147//*****************************************************************************
148void WDT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
149void DMA0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
150void GPIO_INTA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
151void GPIO_INTB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
152void PIN_INT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
153void PIN_INT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
154void PIN_INT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
155void PIN_INT3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
156void UTICK0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
157void MRT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
158void CTIMER0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
159void CTIMER1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
160void SCT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
161void CTIMER3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
162void FLEXCOMM0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
163void FLEXCOMM1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
164void FLEXCOMM2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
165void FLEXCOMM3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
166void FLEXCOMM4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
167void FLEXCOMM5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
168void FLEXCOMM14_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
169void FLEXCOMM15_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
170void ADC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
171void Reserved39_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
172void ACMP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
173void DMIC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
174void Reserved42_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
175void HYPERVISOR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
176void SECUREVIOLATION_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
177void HWVAD0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
178void Reserved46_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
179void RNG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
180void RTC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
181void DSPWAKE_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
182void MU_A_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
183void PIN_INT4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
184void PIN_INT5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
185void PIN_INT6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
186void PIN_INT7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
187void CTIMER2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
188void CTIMER4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
189void OS_EVENT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
190void FLEXSPI_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
191void FLEXCOMM6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
192void FLEXCOMM7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
193void USDHC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
194void USDHC1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
195void SGPIO_INTA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
196void SGPIO_INTB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
197void I3C0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
198void USB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
199void USB_WAKEUP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
200void WDT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
201void USBPHY_DCD_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
202void DMA1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
203void PUF_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
204void POWERQUAD_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
205void CASPER_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
206void PMC_PMIC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
207void HASHCRYPT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
208
209//*****************************************************************************
210// The entry point for the application.
211// __main() is the entry point for Redlib based applications
212// main() is the entry point for Newlib based applications
213//*****************************************************************************
214#if defined (__REDLIB__)
215extern void __main(void);
216#endif
217extern int main(void);
218
219//*****************************************************************************
220// External declaration for the pointer to the stack top from the Linker Script
221//*****************************************************************************
222extern void _vStackTop(void);
223extern void _image_size(void);
224//*****************************************************************************
225// External declaration for the pointer to the stack base from the Linker Script
226//*****************************************************************************
227extern void _vStackBase(void);
228//*****************************************************************************
229// External declaration for image type and load address from Linker Script
230//*****************************************************************************
231WEAK extern void __imghdr_loadaddress();
232WEAK extern void __imghdr_imagetype();
233
234//*****************************************************************************
235#if defined (__cplusplus)
236} // extern "C"
237#endif
238//*****************************************************************************
239// The vector table.
240// This relies on the linker script to place at correct location in memory.
241//*****************************************************************************
242
243
244
245extern void (* const g_pfnVectors[])(void);
246extern void * __Vectors __attribute__ ((alias ("g_pfnVectors")));
247
248__attribute__ ((used, section(".isr_vector")))
249void (* const g_pfnVectors[])(void) = {
250 // Core Level - CM33
251 &_vStackTop, // The initial stack pointer
252 ResetISR, // The reset handler
253 NMI_Handler, // The NMI handler
254 HardFault_Handler, // The hard fault handler
255 MemManage_Handler, // The MPU fault handler
256 BusFault_Handler, // The bus fault handler
257 UsageFault_Handler, // The usage fault handler
258 SecureFault_Handler, // The secure fault handler
259#if (__ARM_FEATURE_CMSE & 0x2)
260 (void (*)())0x180000, // Image length
261#else
262 (void (*)())((unsigned)_image_size), // Image length
263#endif
264 __imghdr_imagetype, // Image type
265 0, // Reserved
266 SVC_Handler, // SVCall handler
267 DebugMon_Handler, // Debug monitor handler
268 (void (*)())g_pfnVectors, // Image load address
269 PendSV_Handler, // The PendSV handler
270 SysTick_Handler, // The SysTick handler
271
272 // Chip Level - MIMXRT685S_cm33
273 WDT0_IRQHandler, // 16: Windowed watchdog timer 0 (CM33 watchdog)
274 DMA0_IRQHandler, // 17: DMA controller 0 (secure or CM33 DMA)
275 GPIO_INTA_IRQHandler, // 18: GPIO interrupt A
276 GPIO_INTB_IRQHandler, // 19: GPIO interrupt B
277 PIN_INT0_IRQHandler, // 20: Pin interrupt 0 or pattern match engine slice 0 int
278 PIN_INT1_IRQHandler, // 21: Pin interrupt 1 or pattern match engine slice 1 int
279 PIN_INT2_IRQHandler, // 22: Pin interrupt 2 or pattern match engine slice 2 int
280 PIN_INT3_IRQHandler, // 23: Pin interrupt 3 or pattern match engine slice 3 int
281 UTICK0_IRQHandler, // 24: Micro-tick Timer
282 MRT0_IRQHandler, // 25: Multi-Rate Timer
283 CTIMER0_IRQHandler, // 26: Standard counter/timer CTIMER0
284 CTIMER1_IRQHandler, // 27: Standard counter/timer CTIMER1
285 SCT0_IRQHandler, // 28: SCTimer/PWM
286 CTIMER3_IRQHandler, // 29: Standard counter/timer CTIMER3
287 FLEXCOMM0_IRQHandler, // 30: Flexcomm Interface 0 (USART, SPI, I2C, I2S)
288 FLEXCOMM1_IRQHandler, // 31: Flexcomm Interface 1 (USART, SPI, I2C, I2S)
289 FLEXCOMM2_IRQHandler, // 32: Flexcomm Interface 2 (USART, SPI, I2C, I2S)
290 FLEXCOMM3_IRQHandler, // 33: Flexcomm Interface 3 (USART, SPI, I2C, I2S)
291 FLEXCOMM4_IRQHandler, // 34: Flexcomm Interface 4 (USART, SPI, I2C, I2S)
292 FLEXCOMM5_IRQHandler, // 35: Flexcomm Interface 5 (USART, SPI, I2C, I2S)
293 FLEXCOMM14_IRQHandler, // 36: Flexcomm Interface 14 (SPI only)
294 FLEXCOMM15_IRQHandler, // 37: Flexcomm Interface 15 (I2C only)
295 ADC0_IRQHandler, // 38: ADC0
296 Reserved39_IRQHandler, // 39: Reserved interrupt
297 ACMP_IRQHandler, // 40: Analog comparator
298 DMIC0_IRQHandler, // 41: Digital microphone and DMIC subsystem
299 Reserved42_IRQHandler, // 42: Reserved interrupt
300 HYPERVISOR_IRQHandler, // 43: Hypervisor
301 SECUREVIOLATION_IRQHandler, // 44: Secure violation
302 HWVAD0_IRQHandler, // 45: Hardware Voice Activity Detector
303 Reserved46_IRQHandler, // 46: Reserved interrupt
304 RNG_IRQHandler, // 47: Random number Generator
305 RTC_IRQHandler, // 48: RTC alarm and wake-up
306 DSPWAKE_IRQHandler, // 49: Wake-up from DSP
307 MU_A_IRQHandler, // 50: Messaging Unit port A for CM33
308 PIN_INT4_IRQHandler, // 51: Pin interrupt 4 or pattern match engine slice 4 int
309 PIN_INT5_IRQHandler, // 52: Pin interrupt 5 or pattern match engine slice 5 int
310 PIN_INT6_IRQHandler, // 53: Pin interrupt 6 or pattern match engine slice 6 int
311 PIN_INT7_IRQHandler, // 54: Pin interrupt 7 or pattern match engine slice 7 int
312 CTIMER2_IRQHandler, // 55: Standard counter/timer CTIMER2
313 CTIMER4_IRQHandler, // 56: Standard counter/timer CTIMER4
314 OS_EVENT_IRQHandler, // 57: OS event timer
315 FLEXSPI_IRQHandler, // 58: FLEXSPI interface
316 FLEXCOMM6_IRQHandler, // 59: Flexcomm Interface 6 (USART, SPI, I2C, I2S)
317 FLEXCOMM7_IRQHandler, // 60: Flexcomm Interface 7 (USART, SPI, I2C, I2S)
318 USDHC0_IRQHandler, // 61: USDHC0 (Enhanced SDHC) interrupt request
319 USDHC1_IRQHandler, // 62: USDHC1 (Enhanced SDHC) interrupt request
320 SGPIO_INTA_IRQHandler, // 63: Secure GPIO interrupt A
321 SGPIO_INTB_IRQHandler, // 64: Secure GPIO interrupt B
322 I3C0_IRQHandler, // 65: I3C interface 0
323 USB_IRQHandler, // 66: High-speed USB device/host
324 USB_WAKEUP_IRQHandler, // 67: USB Activity Wake-up Interrupt
325 WDT1_IRQHandler, // 68: Windowed watchdog timer 1 (HiFi 4 watchdog)
326 USBPHY_DCD_IRQHandler, // 69: USBPHY DCD
327 DMA1_IRQHandler, // 70: DMA controller 1 (non-secure or HiFi 4 DMA)
328 PUF_IRQHandler, // 71: Physical Unclonable Function
329 POWERQUAD_IRQHandler, // 72: PowerQuad math coprocessor
330 CASPER_IRQHandler, // 73: Casper cryptographic coprocessor
331 PMC_PMIC_IRQHandler, // 74: Power management IC
332 HASHCRYPT_IRQHandler, // 75: Hash-AES unit
333
334
335}; /* End of g_pfnVectors */
336
337#if defined(ENABLE_RAM_VECTOR_TABLE)
338extern void * __VECTOR_TABLE __attribute__ ((alias ("g_pfnVectors")));
339void (* __VECTOR_RAM[sizeof(g_pfnVectors) / 4])(void) __attribute__((aligned(128)));
340unsigned int __RAM_VECTOR_TABLE_SIZE_BYTES = sizeof(g_pfnVectors);
341#endif
342
343//*****************************************************************************
344// Functions to carry out the initialization of RW and BSS data sections. These
345// are written as separate functions rather than being inlined within the
346// ResetISR() function in order to cope with MCUs with multiple banks of
347// memory.
348//*****************************************************************************
349__attribute__ ((section(".after_vectors.init_data")))
350void data_init(unsigned int romstart, unsigned int start, unsigned int len) {
351 unsigned int *pulDest = (unsigned int*) start;
352 unsigned int *pulSrc = (unsigned int*) romstart;
353 unsigned int loop;
354 for (loop = 0; loop < len; loop = loop + 4)
355 *pulDest++ = *pulSrc++;
356}
357
358__attribute__ ((section(".after_vectors.init_bss")))
359void bss_init(unsigned int start, unsigned int len) {
360 unsigned int *pulDest = (unsigned int*) start;
361 unsigned int loop;
362 for (loop = 0; loop < len; loop = loop + 4)
363 *pulDest++ = 0;
364}
365
366//*****************************************************************************
367// The following symbols are constructs generated by the linker, indicating
368// the location of various points in the "Global Section Table". This table is
369// created by the linker via the Code Red managed linker script mechanism. It
370// contains the load address, execution address and length of each RW data
371// section and the execution and length of each BSS (zero initialized) section.
372//*****************************************************************************
373extern unsigned int __data_section_table;
374extern unsigned int __data_section_table_end;
375extern unsigned int __bss_section_table;
376extern unsigned int __bss_section_table_end;
377
378//*****************************************************************************
379// Reset entry point for your code.
380// Sets up a simple runtime environment and initializes the C/C++
381// library.
382//*****************************************************************************
383__attribute__ ((section(".after_vectors.reset")))
384void ResetISR(void) {
385
386 // Disable interrupts
387 __asm volatile ("cpsid i");
388
389 // Config VTOR & MSPLIM register
390 __asm volatile ("LDR R0, =0xE000ED08 \n"
391 "STR %0, [R0] \n"
392 "LDR R1, [%0] \n"
393 "MSR MSP, R1 \n"
394 "MSR MSPLIM, %1 \n"
395 :
396 : "r"(g_pfnVectors), "r"(_vStackBase)
397 : "r0", "r1");
398
399#if defined (__USE_CMSIS)
400// If __USE_CMSIS defined, then call CMSIS SystemInit code
401 SystemInit();
402
403#endif // (__USE_CMSIS)
404
405 //
406 // Copy the data sections from flash to SRAM.
407 //
408 unsigned int LoadAddr, ExeAddr, SectionLen;
409 unsigned int *SectionTableAddr;
410
411 // Load base address of Global Section Table
412 SectionTableAddr = &__data_section_table;
413
414 // Copy the data sections from flash to SRAM.
415 while (SectionTableAddr < &__data_section_table_end) {
416 LoadAddr = *SectionTableAddr++;
417 ExeAddr = *SectionTableAddr++;
418 SectionLen = *SectionTableAddr++;
419 data_init(LoadAddr, ExeAddr, SectionLen);
420 }
421
422 // At this point, SectionTableAddr = &__bss_section_table;
423 // Zero fill the bss segment
424 while (SectionTableAddr < &__bss_section_table_end) {
425 ExeAddr = *SectionTableAddr++;
426 SectionLen = *SectionTableAddr++;
427 bss_init(ExeAddr, SectionLen);
428 }
429
430
431#if defined (__cplusplus)
432 //
433 // Call C++ library initialisation
434 //
435 __libc_init_array();
436#endif
437
438 // Reenable interrupts
439 __asm volatile ("cpsie i");
440
441#if defined (__REDLIB__)
442 // Call the Redlib library, which in turn calls main()
443 __main();
444#else
445 main();
446#endif
447
448 //
449 // main() shouldn't return, but if it does, we'll just enter an infinite loop
450 //
451 while (1) {
452 ;
453 }
454}
455
456//*****************************************************************************
457// Default core exception handlers. Override the ones here by defining your own
458// handler routines in your application code.
459//*****************************************************************************
460WEAK_AV void NMI_Handler(void)
461{ while(1) {}
462}
463
464WEAK_AV void HardFault_Handler(void)
465{ while(1) {}
466}
467
468WEAK_AV void MemManage_Handler(void)
469{ while(1) {}
470}
471
472WEAK_AV void BusFault_Handler(void)
473{ while(1) {}
474}
475
476WEAK_AV void UsageFault_Handler(void)
477{ while(1) {}
478}
479
480WEAK_AV void SecureFault_Handler(void)
481{ while(1) {}
482}
483
484WEAK_AV void SVC_Handler(void)
485{ while(1) {}
486}
487
488WEAK_AV void DebugMon_Handler(void)
489{ while(1) {}
490}
491
492WEAK_AV void PendSV_Handler(void)
493{ while(1) {}
494}
495
496WEAK_AV void SysTick_Handler(void)
497{ while(1) {}
498}
499
500//*****************************************************************************
501// Processor ends up here if an unexpected interrupt occurs or a specific
502// handler is not present in the application code.
503//*****************************************************************************
504WEAK_AV void IntDefaultHandler(void)
505{ while(1) {}
506}
507
508//*****************************************************************************
509// Default application exception handlers. Override the ones here by defining
510// your own handler routines in your application code. These routines call
511// driver exception handlers or IntDefaultHandler() if no driver exception
512// handler is included.
513//*****************************************************************************
514WEAK void WDT0_IRQHandler(void)
515{ WDT0_DriverIRQHandler();
516}
517
518WEAK void DMA0_IRQHandler(void)
519{ DMA0_DriverIRQHandler();
520}
521
522WEAK void GPIO_INTA_IRQHandler(void)
523{ GPIO_INTA_DriverIRQHandler();
524}
525
526WEAK void GPIO_INTB_IRQHandler(void)
527{ GPIO_INTB_DriverIRQHandler();
528}
529
530WEAK void PIN_INT0_IRQHandler(void)
531{ PIN_INT0_DriverIRQHandler();
532}
533
534WEAK void PIN_INT1_IRQHandler(void)
535{ PIN_INT1_DriverIRQHandler();
536}
537
538WEAK void PIN_INT2_IRQHandler(void)
539{ PIN_INT2_DriverIRQHandler();
540}
541
542WEAK void PIN_INT3_IRQHandler(void)
543{ PIN_INT3_DriverIRQHandler();
544}
545
546WEAK void UTICK0_IRQHandler(void)
547{ UTICK0_DriverIRQHandler();
548}
549
550WEAK void MRT0_IRQHandler(void)
551{ MRT0_DriverIRQHandler();
552}
553
554WEAK void CTIMER0_IRQHandler(void)
555{ CTIMER0_DriverIRQHandler();
556}
557
558WEAK void CTIMER1_IRQHandler(void)
559{ CTIMER1_DriverIRQHandler();
560}
561
562WEAK void SCT0_IRQHandler(void)
563{ SCT0_DriverIRQHandler();
564}
565
566WEAK void CTIMER3_IRQHandler(void)
567{ CTIMER3_DriverIRQHandler();
568}
569
570WEAK void FLEXCOMM0_IRQHandler(void)
571{ FLEXCOMM0_DriverIRQHandler();
572}
573
574WEAK void FLEXCOMM1_IRQHandler(void)
575{ FLEXCOMM1_DriverIRQHandler();
576}
577
578WEAK void FLEXCOMM2_IRQHandler(void)
579{ FLEXCOMM2_DriverIRQHandler();
580}
581
582WEAK void FLEXCOMM3_IRQHandler(void)
583{ FLEXCOMM3_DriverIRQHandler();
584}
585
586WEAK void FLEXCOMM4_IRQHandler(void)
587{ FLEXCOMM4_DriverIRQHandler();
588}
589
590WEAK void FLEXCOMM5_IRQHandler(void)
591{ FLEXCOMM5_DriverIRQHandler();
592}
593
594WEAK void FLEXCOMM14_IRQHandler(void)
595{ FLEXCOMM14_DriverIRQHandler();
596}
597
598WEAK void FLEXCOMM15_IRQHandler(void)
599{ FLEXCOMM15_DriverIRQHandler();
600}
601
602WEAK void ADC0_IRQHandler(void)
603{ ADC0_DriverIRQHandler();
604}
605
606WEAK void Reserved39_IRQHandler(void)
607{ Reserved39_DriverIRQHandler();
608}
609
610WEAK void ACMP_IRQHandler(void)
611{ ACMP_DriverIRQHandler();
612}
613
614WEAK void DMIC0_IRQHandler(void)
615{ DMIC0_DriverIRQHandler();
616}
617
618WEAK void Reserved42_IRQHandler(void)
619{ Reserved42_DriverIRQHandler();
620}
621
622WEAK void HYPERVISOR_IRQHandler(void)
623{ HYPERVISOR_DriverIRQHandler();
624}
625
626WEAK void SECUREVIOLATION_IRQHandler(void)
627{ SECUREVIOLATION_DriverIRQHandler();
628}
629
630WEAK void HWVAD0_IRQHandler(void)
631{ HWVAD0_DriverIRQHandler();
632}
633
634WEAK void Reserved46_IRQHandler(void)
635{ Reserved46_DriverIRQHandler();
636}
637
638WEAK void RNG_IRQHandler(void)
639{ RNG_DriverIRQHandler();
640}
641
642WEAK void RTC_IRQHandler(void)
643{ RTC_DriverIRQHandler();
644}
645
646WEAK void DSPWAKE_IRQHandler(void)
647{ DSPWAKE_DriverIRQHandler();
648}
649
650WEAK void MU_A_IRQHandler(void)
651{ MU_A_DriverIRQHandler();
652}
653
654WEAK void PIN_INT4_IRQHandler(void)
655{ PIN_INT4_DriverIRQHandler();
656}
657
658WEAK void PIN_INT5_IRQHandler(void)
659{ PIN_INT5_DriverIRQHandler();
660}
661
662WEAK void PIN_INT6_IRQHandler(void)
663{ PIN_INT6_DriverIRQHandler();
664}
665
666WEAK void PIN_INT7_IRQHandler(void)
667{ PIN_INT7_DriverIRQHandler();
668}
669
670WEAK void CTIMER2_IRQHandler(void)
671{ CTIMER2_DriverIRQHandler();
672}
673
674WEAK void CTIMER4_IRQHandler(void)
675{ CTIMER4_DriverIRQHandler();
676}
677
678WEAK void OS_EVENT_IRQHandler(void)
679{ OS_EVENT_DriverIRQHandler();
680}
681
682WEAK void FLEXSPI_IRQHandler(void)
683{ FLEXSPI_DriverIRQHandler();
684}
685
686WEAK void FLEXCOMM6_IRQHandler(void)
687{ FLEXCOMM6_DriverIRQHandler();
688}
689
690WEAK void FLEXCOMM7_IRQHandler(void)
691{ FLEXCOMM7_DriverIRQHandler();
692}
693
694WEAK void USDHC0_IRQHandler(void)
695{ USDHC0_DriverIRQHandler();
696}
697
698WEAK void USDHC1_IRQHandler(void)
699{ USDHC1_DriverIRQHandler();
700}
701
702WEAK void SGPIO_INTA_IRQHandler(void)
703{ SGPIO_INTA_DriverIRQHandler();
704}
705
706WEAK void SGPIO_INTB_IRQHandler(void)
707{ SGPIO_INTB_DriverIRQHandler();
708}
709
710WEAK void I3C0_IRQHandler(void)
711{ I3C0_DriverIRQHandler();
712}
713
714WEAK void USB_IRQHandler(void)
715{ USB_DriverIRQHandler();
716}
717
718WEAK void USB_WAKEUP_IRQHandler(void)
719{ USB_WAKEUP_DriverIRQHandler();
720}
721
722WEAK void WDT1_IRQHandler(void)
723{ WDT1_DriverIRQHandler();
724}
725
726WEAK void USBPHY_DCD_IRQHandler(void)
727{ USBPHY_DCD_DriverIRQHandler();
728}
729
730WEAK void DMA1_IRQHandler(void)
731{ DMA1_DriverIRQHandler();
732}
733
734WEAK void PUF_IRQHandler(void)
735{ PUF_DriverIRQHandler();
736}
737
738WEAK void POWERQUAD_IRQHandler(void)
739{ POWERQUAD_DriverIRQHandler();
740}
741
742WEAK void CASPER_IRQHandler(void)
743{ CASPER_DriverIRQHandler();
744}
745
746WEAK void PMC_PMIC_IRQHandler(void)
747{ PMC_PMIC_DriverIRQHandler();
748}
749
750WEAK void HASHCRYPT_IRQHandler(void)
751{ HASHCRYPT_DriverIRQHandler();
752}
753
754//*****************************************************************************
755
756#if defined (DEBUG)
757#pragma GCC pop_options
758#endif // (DEBUG)
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.c
new file mode 100644
index 000000000..91d041609
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.c
@@ -0,0 +1,564 @@
1/*
2 * Copyright 2018 NXP
3 * All rights reserved.
4 *
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#include <stdint.h>
10#include "fsl_common.h"
11#include "fsl_debug_console.h"
12#include "board.h"
13#include "fsl_clock.h"
14#include "fsl_flexspi.h"
15#include "fsl_cache.h"
16#include "fsl_power.h"
17#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED
18#include "fsl_i2c.h"
19#endif /* SDK_I2C_BASED_COMPONENT_USED */
20#if defined BOARD_USE_CODEC
21#include "fsl_i3c.h"
22#endif
23
24/*******************************************************************************
25 * Definitions
26 ******************************************************************************/
27#define BOARD_FLEXSPI_DLL_LOCK_RETRY (10)
28#define BOARD_IS_XIP_FLEXSPI() \
29 ((((uint32_t)BOARD_InitDebugConsole >= 0x08000000U) && ((uint32_t)BOARD_InitDebugConsole < 0x10000000U)) || \
30 (((uint32_t)BOARD_InitDebugConsole >= 0x18000000U) && ((uint32_t)BOARD_InitDebugConsole < 0x20000000U)))
31/*******************************************************************************
32 * Variables
33 ******************************************************************************/
34static status_t flexspi_hyper_ram_write_mcr(FLEXSPI_Type *base, uint8_t regAddr, uint32_t *mrVal);
35static status_t flexspi_hyper_ram_get_mcr(FLEXSPI_Type *base, uint8_t regAddr, uint32_t *mrVal);
36static status_t flexspi_hyper_ram_reset(FLEXSPI_Type *base);
37/*******************************************************************************
38 * Code
39 ******************************************************************************/
40/* Initialize debug console. */
41void BOARD_InitDebugConsole(void)
42{
43 uint32_t uartClkSrcFreq;
44
45 /* attach FRG0 clock to FLEXCOMM0 (debug console) */
46 CLOCK_SetFRGClock(BOARD_DEBUG_UART_FRG_CLK);
47 CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
48
49 uartClkSrcFreq = BOARD_DEBUG_UART_CLK_FREQ;
50
51 DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE, uartClkSrcFreq);
52}
53
54static status_t flexspi_hyper_ram_write_mcr(FLEXSPI_Type *base, uint8_t regAddr, uint32_t *mrVal)
55{
56 flexspi_transfer_t flashXfer;
57 status_t status;
58
59 /* Write data */
60 flashXfer.deviceAddress = regAddr;
61 flashXfer.port = kFLEXSPI_PortA1;
62 flashXfer.cmdType = kFLEXSPI_Write;
63 flashXfer.SeqNumber = 1;
64 flashXfer.seqIndex = 3;
65 flashXfer.data = mrVal;
66 flashXfer.dataSize = 1;
67
68 status = FLEXSPI_TransferBlocking(base, &flashXfer);
69
70 return status;
71}
72
73static status_t flexspi_hyper_ram_get_mcr(FLEXSPI_Type *base, uint8_t regAddr, uint32_t *mrVal)
74{
75 flexspi_transfer_t flashXfer;
76 status_t status;
77
78 /* Read data */
79 flashXfer.deviceAddress = regAddr;
80 flashXfer.port = kFLEXSPI_PortA1;
81 flashXfer.cmdType = kFLEXSPI_Read;
82 flashXfer.SeqNumber = 1;
83 flashXfer.seqIndex = 2;
84 flashXfer.data = mrVal;
85 flashXfer.dataSize = 2;
86
87 status = FLEXSPI_TransferBlocking(base, &flashXfer);
88
89 return status;
90}
91
92static status_t flexspi_hyper_ram_reset(FLEXSPI_Type *base)
93{
94 flexspi_transfer_t flashXfer;
95 status_t status;
96
97 /* Write data */
98 flashXfer.deviceAddress = 0x0U;
99 flashXfer.port = kFLEXSPI_PortA1;
100 flashXfer.cmdType = kFLEXSPI_Command;
101 flashXfer.SeqNumber = 1;
102 flashXfer.seqIndex = 4;
103
104 status = FLEXSPI_TransferBlocking(base, &flashXfer);
105
106 if (status == kStatus_Success)
107 {
108 /* for loop of 50000 is about 1ms (@200 MHz CPU) */
109 for (uint32_t i = 2000000U; i > 0; i--)
110 {
111 __NOP();
112 }
113 }
114 return status;
115}
116
117/* Initialize psram. */
118status_t BOARD_InitPsRam(void)
119{
120 flexspi_device_config_t deviceconfig = {
121 .flexspiRootClk = 396000000, /* 396MHZ SPI serial clock, DDR serial clock 198M */
122 .isSck2Enabled = false,
123 .flashSize = 0x8000, /*64Mb/KByte*/
124 .CSIntervalUnit = kFLEXSPI_CsIntervalUnit1SckCycle,
125 .CSInterval = 5,
126 .CSHoldTime = 3,
127 .CSSetupTime = 3,
128 .dataValidTime = 1,
129 .columnspace = 0,
130 .enableWordAddress = false,
131 .AWRSeqIndex = 1,
132 .AWRSeqNumber = 1,
133 .ARDSeqIndex = 0,
134 .ARDSeqNumber = 1,
135 .AHBWriteWaitUnit = kFLEXSPI_AhbWriteWaitUnit2AhbCycle,
136 .AHBWriteWaitInterval = 0,
137 .enableWriteMask = true,
138 };
139
140 uint32_t customLUT[64] = {
141 /* Read Data */
142 [0] =
143 FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_8PAD, 0x20, kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_8PAD, 0x20),
144 [1] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_RWDS_DDR, kFLEXSPI_8PAD, 0x07, kFLEXSPI_Command_READ_DDR,
145 kFLEXSPI_8PAD, 0x04),
146
147 /* Write Data */
148 [4] =
149 FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_8PAD, 0xA0, kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_8PAD, 0x20),
150 [5] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_RWDS_DDR, kFLEXSPI_8PAD, 0x07, kFLEXSPI_Command_WRITE_DDR,
151 kFLEXSPI_8PAD, 0x04),
152
153 /* Read Register */
154 [8] =
155 FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_8PAD, 0x40, kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_8PAD, 0x20),
156 [9] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_RWDS_DDR, kFLEXSPI_8PAD, 0x07, kFLEXSPI_Command_READ_DDR,
157 kFLEXSPI_8PAD, 0x04),
158
159 /* Write Register */
160 [12] =
161 FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_8PAD, 0xC0, kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_8PAD, 0x20),
162 [13] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_WRITE_DDR, kFLEXSPI_8PAD, 0x08, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD,
163 0x00),
164
165 /* reset */
166 [16] =
167 FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_8PAD, 0xFF, kFLEXSPI_Command_DUMMY_SDR, kFLEXSPI_8PAD, 0x03),
168
169 };
170
171 uint32_t mr0mr1[1];
172 uint32_t mr4mr8[1];
173 uint32_t mr0Val[1];
174 uint32_t mr4Val[1];
175 uint32_t mr8Val[1];
176 flexspi_config_t config;
177 cache64_config_t cacheCfg;
178 status_t status = kStatus_Success;
179
180 POWER_DisablePD(kPDRUNCFG_APD_FLEXSPI_SRAM);
181 POWER_DisablePD(kPDRUNCFG_PPD_FLEXSPI_SRAM);
182 POWER_ApplyPD();
183
184 CLOCK_AttachClk(kAUX0_PLL_to_FLEXSPI_CLK);
185 CLOCK_SetClkDiv(kCLOCK_DivFlexspiClk, 1);
186
187 RESET_PeripheralReset(kFLEXSPI_RST_SHIFT_RSTn);
188 /* Explicitly enable FlexSPI clock for PSRAM loader case which need to set FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL. */
189 CLOCK_EnableClock(kCLOCK_Flexspi);
190
191 /* As cache depends on FlexSPI power and clock, cache must be initialized after FlexSPI power/clock is set */
192 CACHE64_GetDefaultConfig(&cacheCfg);
193 CACHE64_Init(CACHE64_POLSEL, &cacheCfg);
194#if BOARD_ENABLE_PSRAM_CACHE
195 CACHE64_EnableCache(CACHE64);
196#endif
197
198 /* Get FLEXSPI default settings and configure the flexspi. */
199 FLEXSPI_GetDefaultConfig(&config);
200
201 /* Init FLEXSPI. */
202 config.rxSampleClock = kFLEXSPI_ReadSampleClkExternalInputFromDqsPad;
203 /*Set AHB buffer size for reading data through AHB bus. */
204 config.ahbConfig.enableAHBPrefetch = true;
205 config.ahbConfig.enableAHBBufferable = true;
206 config.ahbConfig.enableAHBCachable = true;
207 config.ahbConfig.enableReadAddressOpt = true;
208 for (uint8_t i = 1; i < FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT - 1; i++)
209 {
210 config.ahbConfig.buffer[i].bufferSize = 0;
211 }
212 /* FlexSPI has total 1KB RX buffer.
213 * Set DMA0 master to use AHB Rx Buffer0.
214 */
215 config.ahbConfig.buffer[0].masterIndex = 4; /* DMA0 */
216 config.ahbConfig.buffer[0].bufferSize = 512; /* Allocate 512B bytes for DMA0 */
217 config.ahbConfig.buffer[0].enablePrefetch = true;
218 config.ahbConfig.buffer[0].priority = 0;
219 /* All other masters use last buffer with 512B bytes. */
220 config.ahbConfig.buffer[FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT - 1].bufferSize = 512;
221 config.enableCombination = true;
222 FLEXSPI_Init(BOARD_FLEXSPI_PSRAM, &config);
223
224 /* Configure flash settings according to serial flash feature. */
225 FLEXSPI_SetFlashConfig(BOARD_FLEXSPI_PSRAM, &deviceconfig, kFLEXSPI_PortA1);
226
227 /* Update LUT table. */
228 FLEXSPI_UpdateLUT(BOARD_FLEXSPI_PSRAM, 0, customLUT, ARRAY_SIZE(customLUT));
229
230 /* Do software reset. */
231 FLEXSPI_SoftwareReset(BOARD_FLEXSPI_PSRAM);
232
233 /* Reset hyper ram. */
234 status = flexspi_hyper_ram_reset(BOARD_FLEXSPI_PSRAM);
235 if (status != kStatus_Success)
236 {
237 return status;
238 }
239
240 status = flexspi_hyper_ram_get_mcr(BOARD_FLEXSPI_PSRAM, 0x0, mr0mr1);
241 if (status != kStatus_Success)
242 {
243 return status;
244 }
245
246 status = flexspi_hyper_ram_get_mcr(BOARD_FLEXSPI_PSRAM, 0x4, mr4mr8);
247 if (status != kStatus_Success)
248 {
249 return status;
250 }
251
252 /* Enable RBX, burst length set to 1K. - MR8 */
253 mr8Val[0] = (mr4mr8[0] & 0xFF00U) >> 8U;
254 mr8Val[0] = mr8Val[0] | 0x0F;
255 status = flexspi_hyper_ram_write_mcr(BOARD_FLEXSPI_PSRAM, 0x8, mr8Val);
256 if (status != kStatus_Success)
257 {
258 return status;
259 }
260
261 /* Set LC code to 0x04(LC=7, maximum frequency 200M) - MR0. */
262 mr0Val[0] = mr0mr1[0] & 0x00FFU;
263 mr0Val[0] = (mr0Val[0] & ~0x3C) | (4 << 2U);
264 status = flexspi_hyper_ram_write_mcr(BOARD_FLEXSPI_PSRAM, 0x0, mr0Val);
265 if (status != kStatus_Success)
266 {
267 return status;
268 }
269
270 /* Set WLC code to 0x01(WLC=7, maximum frequency 200M) - MR4. */
271 mr4Val[0] = mr4mr8[0] & 0x00FFU;
272 mr4Val[0] = (mr4Val[0] & ~0xE0) | (1 << 5U);
273 status = flexspi_hyper_ram_write_mcr(BOARD_FLEXSPI_PSRAM, 0x4, mr4Val);
274 if (status != kStatus_Success)
275 {
276 return status;
277 }
278
279 return status;
280}
281
282void BOARD_DeinitXip(FLEXSPI_Type *base)
283{
284 /* Wait until FLEXSPI is not busy */
285 while (!((base->STS0 & FLEXSPI_STS0_ARBIDLE_MASK) && (base->STS0 & FLEXSPI_STS0_SEQIDLE_MASK)))
286 {
287 }
288 /* Disable module during the reset procedure */
289 base->MCR0 |= FLEXSPI_MCR0_MDIS_MASK;
290}
291
292void BOARD_InitXip(FLEXSPI_Type *base)
293{
294 uint32_t status;
295 uint32_t lastStatus;
296 uint32_t retry;
297 uint32_t mask = 0;
298
299 /* Enable FLEXSPI module */
300 base->MCR0 &= ~FLEXSPI_MCR0_MDIS_MASK;
301
302 base->MCR0 |= FLEXSPI_MCR0_SWRESET_MASK;
303 while (base->MCR0 & FLEXSPI_MCR0_SWRESET_MASK)
304 {
305 }
306
307 /* Need to wait DLL locked if DLL enabled */
308 if (0U != (base->DLLCR[0] & FLEXSPI_DLLCR_DLLEN_MASK))
309 {
310 lastStatus = base->STS2;
311 retry = BOARD_FLEXSPI_DLL_LOCK_RETRY;
312 /* Flash on port A */
313 if ((base->FLSHCR0[0] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0 ||
314 (base->FLSHCR0[1] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0)
315 {
316 mask |= FLEXSPI_STS2_AREFLOCK_MASK | FLEXSPI_STS2_ASLVLOCK_MASK;
317 }
318 /* Flash on port B */
319 if ((base->FLSHCR0[2] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0 ||
320 (base->FLSHCR0[3] & FLEXSPI_FLSHCR0_FLSHSZ_MASK) > 0)
321 {
322 mask |= FLEXSPI_STS2_BREFLOCK_MASK | FLEXSPI_STS2_BSLVLOCK_MASK;
323 }
324 /* Wait slave delay line locked and slave reference delay line locked. */
325 do
326 {
327 status = base->STS2;
328 if ((status & mask) == mask)
329 {
330 /* Locked */
331 retry = 100;
332 break;
333 }
334 else if (status == lastStatus)
335 {
336 /* Same delay cell number in calibration */
337 retry--;
338 }
339 else
340 {
341 retry = BOARD_FLEXSPI_DLL_LOCK_RETRY;
342 lastStatus = status;
343 }
344 } while (retry > 0);
345 /* According to ERR011377, need to delay at least 100 NOPs to ensure the DLL is locked. */
346 for (; retry > 0U; retry--)
347 {
348 __NOP();
349 }
350 }
351}
352
353/* BOARD_SetFlexspiClock run in RAM used to configure FlexSPI clock source and divider when XIP. */
354void BOARD_SetFlexspiClock(uint32_t src, uint32_t divider)
355{
356 if (CLKCTL0->FLEXSPIFCLKSEL != CLKCTL0_FLEXSPIFCLKSEL_SEL(src) ||
357 (CLKCTL0->FLEXSPIFCLKDIV & CLKCTL0_FLEXSPIFCLKDIV_DIV_MASK) != (divider - 1))
358 {
359 if (BOARD_IS_XIP_FLEXSPI())
360 {
361 BOARD_DeinitXip(FLEXSPI);
362 }
363 /* Disable clock before changing clock source */
364 CLKCTL0->PSCCTL0_CLR = CLKCTL0_PSCCTL0_CLR_FLEXSPI_OTFAD_CLK_MASK;
365 /* Update flexspi clock. */
366 CLKCTL0->FLEXSPIFCLKSEL = CLKCTL0_FLEXSPIFCLKSEL_SEL(src);
367 CLKCTL0->FLEXSPIFCLKDIV |= CLKCTL0_FLEXSPIFCLKDIV_RESET_MASK; /* Reset the divider counter */
368 CLKCTL0->FLEXSPIFCLKDIV = CLKCTL0_FLEXSPIFCLKDIV_DIV(divider - 1);
369 while ((CLKCTL0->FLEXSPIFCLKDIV) & CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_MASK)
370 {
371 }
372 /* Enable FLEXSPI clock again */
373 CLKCTL0->PSCCTL0_SET = CLKCTL0_PSCCTL0_SET_FLEXSPI_OTFAD_CLK_MASK;
374 if (BOARD_IS_XIP_FLEXSPI())
375 {
376 BOARD_InitXip(FLEXSPI);
377 }
378 }
379}
380
381/* This function is used to change FlexSPI clock to a stable source before clock sources(Such as PLL and Main clock)
382 * updating in case XIP(execute code on FLEXSPI memory.) */
383void BOARD_FlexspiClockSafeConfig(void)
384{
385 /* Move FLEXSPI clock source from main clock to FFRO to avoid instruction/data fetch issue in XIP when
386 * updating PLL and main clock.
387 */
388 BOARD_SetFlexspiClock(3U, 1);
389}
390
391#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED
392void BOARD_I2C_Init(I2C_Type *base, uint32_t clkSrc_Hz)
393{
394 i2c_master_config_t i2cConfig = {0};
395
396 I2C_MasterGetDefaultConfig(&i2cConfig);
397 I2C_MasterInit(base, &i2cConfig, clkSrc_Hz);
398}
399
400status_t BOARD_I2C_Send(I2C_Type *base,
401 uint8_t deviceAddress,
402 uint32_t subAddress,
403 uint8_t subaddressSize,
404 uint8_t *txBuff,
405 uint8_t txBuffSize)
406{
407 i2c_master_transfer_t masterXfer;
408
409 /* Prepare transfer structure. */
410 masterXfer.slaveAddress = deviceAddress;
411 masterXfer.direction = kI2C_Write;
412 masterXfer.subaddress = subAddress;
413 masterXfer.subaddressSize = subaddressSize;
414 masterXfer.data = txBuff;
415 masterXfer.dataSize = txBuffSize;
416 masterXfer.flags = kI2C_TransferDefaultFlag;
417
418 return I2C_MasterTransferBlocking(base, &masterXfer);
419}
420
421status_t BOARD_I2C_Receive(I2C_Type *base,
422 uint8_t deviceAddress,
423 uint32_t subAddress,
424 uint8_t subaddressSize,
425 uint8_t *rxBuff,
426 uint8_t rxBuffSize)
427{
428 i2c_master_transfer_t masterXfer;
429
430 /* Prepare transfer structure. */
431 masterXfer.slaveAddress = deviceAddress;
432 masterXfer.subaddress = subAddress;
433 masterXfer.subaddressSize = subaddressSize;
434 masterXfer.data = rxBuff;
435 masterXfer.dataSize = rxBuffSize;
436 masterXfer.direction = kI2C_Read;
437 masterXfer.flags = kI2C_TransferDefaultFlag;
438
439 return I2C_MasterTransferBlocking(base, &masterXfer);
440}
441#endif
442
443#if defined BOARD_USE_CODEC
444void BOARD_I3C_Init(I3C_Type *base, uint32_t clkSrc_Hz)
445{
446 i3c_master_config_t i3cConfig;
447
448 I3C_MasterGetDefaultConfig(&i3cConfig);
449 I3C_MasterInit(base, &i3cConfig, clkSrc_Hz);
450}
451
452status_t BOARD_I3C_Send(I3C_Type *base,
453 uint8_t deviceAddress,
454 uint32_t subAddress,
455 uint8_t subaddressSize,
456 uint8_t *txBuff,
457 uint8_t txBuffSize)
458{
459 i3c_master_transfer_t masterXfer;
460
461 /* Prepare transfer structure. */
462 masterXfer.slaveAddress = deviceAddress;
463 masterXfer.direction = kI3C_Write;
464 masterXfer.busType = kI3C_TypeI2C;
465 masterXfer.subaddress = subAddress;
466 masterXfer.subaddressSize = subaddressSize;
467 masterXfer.data = txBuff;
468 masterXfer.dataSize = txBuffSize;
469 masterXfer.flags = kI3C_TransferDefaultFlag;
470
471 return I3C_MasterTransferBlocking(base, &masterXfer);
472}
473
474status_t BOARD_I3C_Receive(I3C_Type *base,
475 uint8_t deviceAddress,
476 uint32_t subAddress,
477 uint8_t subaddressSize,
478 uint8_t *rxBuff,
479 uint8_t rxBuffSize)
480{
481 i3c_master_transfer_t masterXfer;
482
483 /* Prepare transfer structure. */
484 masterXfer.slaveAddress = deviceAddress;
485 masterXfer.subaddress = subAddress;
486 masterXfer.subaddressSize = subaddressSize;
487 masterXfer.data = rxBuff;
488 masterXfer.dataSize = rxBuffSize;
489 masterXfer.direction = kI3C_Read;
490 masterXfer.busType = kI3C_TypeI2C;
491 masterXfer.flags = kI3C_TransferDefaultFlag;
492
493 return I3C_MasterTransferBlocking(base, &masterXfer);
494}
495
496void BOARD_Codec_I2C_Init(void)
497{
498#if BOARD_I3C_CODEC
499 BOARD_I3C_Init(BOARD_CODEC_I2C_BASEADDR, BOARD_CODEC_I2C_CLOCK_FREQ);
500#else
501 BOARD_I2C_Init(BOARD_CODEC_I2C_BASEADDR, BOARD_CODEC_I2C_CLOCK_FREQ);
502#endif
503}
504
505status_t BOARD_Codec_I2C_Send(
506 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, const uint8_t *txBuff, uint8_t txBuffSize)
507{
508#if BOARD_I3C_CODEC
509 return BOARD_I3C_Send(BOARD_CODEC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, (uint8_t *)txBuff,
510#else
511 return BOARD_I2C_Send(BOARD_CODEC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, (uint8_t *)txBuff,
512#endif
513 txBuffSize);
514}
515
516status_t BOARD_Codec_I2C_Receive(
517 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
518{
519#if BOARD_I3C_CODEC
520 return BOARD_I3C_Receive(BOARD_CODEC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, rxBuff, rxBuffSize);
521#else
522 return BOARD_I2C_Receive(BOARD_CODEC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, rxBuff, rxBuffSize);
523#endif
524}
525#endif
526
527#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED
528void BOARD_PMIC_I2C_Init(void)
529{
530 BOARD_I2C_Init(BOARD_PMIC_I2C_BASEADDR, BOARD_PMIC_I2C_CLOCK_FREQ);
531}
532
533status_t BOARD_PMIC_I2C_Send(
534 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, const uint8_t *txBuff, uint8_t txBuffSize)
535{
536 return BOARD_I2C_Send(BOARD_PMIC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, (uint8_t *)txBuff,
537 txBuffSize);
538}
539
540status_t BOARD_PMIC_I2C_Receive(
541 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
542{
543 return BOARD_I2C_Receive(BOARD_PMIC_I2C_BASEADDR, deviceAddress, subAddress, subAddressSize, rxBuff, rxBuffSize);
544}
545
546void BOARD_Accel_I2C_Init(void)
547{
548 BOARD_I2C_Init(BOARD_ACCEL_I2C_BASEADDR, BOARD_ACCEL_I2C_CLOCK_FREQ);
549}
550
551status_t BOARD_Accel_I2C_Send(uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint32_t txBuff)
552{
553 uint8_t data = (uint8_t)txBuff;
554
555 return BOARD_I2C_Send(BOARD_ACCEL_I2C_BASEADDR, deviceAddress, subAddress, subaddressSize, &data, 1);
556}
557
558status_t BOARD_Accel_I2C_Receive(
559 uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
560{
561 return BOARD_I2C_Receive(BOARD_ACCEL_I2C_BASEADDR, deviceAddress, subAddress, subaddressSize, rxBuff, rxBuffSize);
562}
563
564#endif /* SDK_I2C_BASED_COMPONENT_USED */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.h
new file mode 100644
index 000000000..b902f7913
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/board.h
@@ -0,0 +1,287 @@
1/*
2 * Copyright 2018-2019 NXP
3 * All rights reserved.
4 *
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _BOARD_H_
10#define _BOARD_H_
11
12#include "clock_config.h"
13#include "fsl_common.h"
14#include "fsl_reset.h"
15#include "fsl_gpio.h"
16
17/*******************************************************************************
18 * Definitions
19 ******************************************************************************/
20/*! @brief The board name */
21#define BOARD_NAME "MIMXRT685-EVK"
22#define BOARD_I3C_CODEC (1)
23
24/*! @brief The UART to use for debug messages. */
25#define BOARD_DEBUG_UART_TYPE kSerialPort_Uart
26#define BOARD_DEBUG_UART_BASEADDR (uint32_t) USART0
27#define BOARD_DEBUG_UART_INSTANCE 0U
28#define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetFlexCommClkFreq(0U)
29#define BOARD_DEBUG_UART_FRG_CLK \
30 (&(const clock_frg_clk_config_t){0, kCLOCK_FrgPllDiv, 255, 0}) /*!< Select FRG0 mux as frg_pll */
31#define BOARD_DEBUG_UART_CLK_ATTACH kFRG_to_FLEXCOMM0
32#define BOARD_DEBUG_UART_RST kFC0_RST_SHIFT_RSTn
33#define BOARD_DEBUG_UART_CLKSRC kCLOCK_Flexcomm0
34#define BOARD_UART_IRQ_HANDLER FLEXCOMM0_IRQHandler
35#define BOARD_UART_IRQ FLEXCOMM0_IRQn
36
37#ifndef BOARD_DEBUG_UART_BAUDRATE
38#define BOARD_DEBUG_UART_BAUDRATE 115200
39#endif /* BOARD_DEBUG_UART_BAUDRATE */
40
41#define BOARD_FLEXSPI_PSRAM FLEXSPI
42#ifndef BOARD_ENABLE_PSRAM_CACHE
43#define BOARD_ENABLE_PSRAM_CACHE 1
44#endif
45
46#if BOARD_I3C_CODEC
47#define BOARD_CODEC_I2C_BASEADDR I3C
48#define BOARD_CODEC_I2C_CLOCK_FREQ CLOCK_GetI3cClkFreq()
49#define BOARD_CODEC_I2C_INSTANCE 0
50#else
51#define BOARD_CODEC_I2C_BASEADDR I2C4
52#define BOARD_CODEC_I2C_CLOCK_FREQ CLOCK_GetFlexCommClkFreq(4U)
53#define BOARD_CODEC_I2C_INSTANCE 4
54#endif
55
56#define BOARD_PMIC_I2C_BASEADDR I2C15
57#define BOARD_PMIC_I2C_CLOCK_FREQ CLOCK_GetFlexCommClkFreq(15U)
58
59#define BOARD_ACCEL_I2C_BASEADDR I2C2
60#define BOARD_ACCEL_I2C_ADDR 0x1E
61#define BOARD_ACCEL_I2C_CLOCK_FREQ CLOCK_GetFlexCommClkFreq(2U)
62
63/* Board led color mapping */
64#define LOGIC_LED_ON 1U
65#define LOGIC_LED_OFF 0U
66
67#ifndef BOARD_LED_RED_GPIO
68#define BOARD_LED_RED_GPIO GPIO
69#endif
70#define BOARD_LED_RED_GPIO_PORT 0U
71#ifndef BOARD_LED_RED_GPIO_PIN
72#define BOARD_LED_RED_GPIO_PIN 31U
73#endif
74
75#ifndef BOARD_LED_GREEN_GPIO
76#define BOARD_LED_GREEN_GPIO GPIO
77#endif
78#define BOARD_LED_GREEN_GPIO_PORT 0U
79#ifndef BOARD_LED_GREEN_GPIO_PIN
80#define BOARD_LED_GREEN_GPIO_PIN 14U
81#endif
82#ifndef BOARD_LED_BLUE_GPIO
83#define BOARD_LED_BLUE_GPIO GPIO
84#endif
85#define BOARD_LED_BLUE_GPIO_PORT 0U
86#ifndef BOARD_LED_BLUE_GPIO_PIN
87#define BOARD_LED_BLUE_GPIO_PIN 26U
88#endif
89
90#define LED_RED_INIT(output) \
91 GPIO_PinInit(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, BOARD_LED_RED_GPIO_PIN, \
92 &(gpio_pin_config_t){kGPIO_DigitalOutput, (output)}) /*!< Enable target LED_RED */
93#define LED_RED_ON() \
94 GPIO_PortSet(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, \
95 1U << BOARD_LED_RED_GPIO_PIN) /*!< Turn on target LED_RED */
96#define LED_RED_OFF() \
97 GPIO_PortClear(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, \
98 1U << BOARD_LED_RED_GPIO_PIN) /*!< Turn off target LED_RED */
99#define LED_RED_TOGGLE() \
100 GPIO_PortToggle(BOARD_LED_RED_GPIO, BOARD_LED_RED_GPIO_PORT, \
101 1U << BOARD_LED_RED_GPIO_PIN) /*!< Toggle on target LED_RED */
102
103#define LED_GREEN_INIT(output) \
104 GPIO_PinInit(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, BOARD_LED_GREEN_GPIO_PIN, \
105 &(gpio_pin_config_t){kGPIO_DigitalOutput, (output)}) /*!< Enable target LED_GREEN */
106#define LED_GREEN_ON() \
107 GPIO_PortSet(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, \
108 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Turn on target LED_GREEN */
109#define LED_GREEN_OFF() \
110 GPIO_PortClear(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, \
111 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Turn off target LED_GREEN */
112#define LED_GREEN_TOGGLE() \
113 GPIO_PortToggle(BOARD_LED_GREEN_GPIO, BOARD_LED_GREEN_GPIO_PORT, \
114 1U << BOARD_LED_GREEN_GPIO_PIN) /*!< Toggle on target LED_GREEN */
115
116#define LED_BLUE_INIT(output) \
117 GPIO_PinInit(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, BOARD_LED_BLUE_GPIO_PIN, \
118 &(gpio_pin_config_t){kGPIO_DigitalOutput, (output)}) /*!< Enable target LED_BLUE */
119#define LED_BLUE_ON() \
120 GPIO_PortSet(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, \
121 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Turn on target LED_BLUE */
122#define LED_BLUE_OFF() \
123 GPIO_PortClear(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, \
124 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Turn off target LED_BLUE */
125#define LED_BLUE_TOGGLE() \
126 GPIO_PortToggle(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, \
127 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Toggle on target LED_BLUE */
128
129/* Board SW PIN */
130#ifndef BOARD_SW1_GPIO
131#define BOARD_SW1_GPIO GPIO
132#endif
133#define BOARD_SW1_GPIO_PORT 1U
134#ifndef BOARD_SW1_GPIO_PIN
135#define BOARD_SW1_GPIO_PIN 1U
136#endif
137
138#ifndef BOARD_SW2_GPIO
139#define BOARD_SW2_GPIO GPIO
140#endif
141#define BOARD_SW2_GPIO_PORT 0U
142#ifndef BOARD_SW2_GPIO_PIN
143#define BOARD_SW2_GPIO_PIN 10U
144#endif
145
146/* USDHC configuration */
147#define BOARD_SD_SUPPORT_180V (1)
148#define BOARD_USDHC_CD_GPIO_BASE GPIO
149#define BOARD_USDHC_CD_GPIO_PORT (2)
150#define BOARD_USDHC_CD_GPIO_PIN (9)
151#define BOARD_SD_POWER_RESET_GPIO (GPIO)
152#define BOARD_SD_POWER_RESET_GPIO_PORT (2)
153#define BOARD_SD_POWER_RESET_GPIO_PIN (10)
154
155/* Card detect handled by uSDHC, no GPIO interrupt */
156#define BOARD_SD_DETECT_TYPE kSDMMCHOST_DetectCardByHostCD
157#define BOARD_USDHC_CD_PORT_IRQ USDHC0_IRQn
158#define BOARD_USDHC_CD_STATUS() 0
159#define BOARD_USDHC_CD_INTERRUPT_STATUS() 0
160#define BOARD_USDHC_CD_CLEAR_INTERRUPT(flag)
161#define BOARD_USDHC_CD_GPIO_INIT()
162
163#define BOARD_HAS_SDCARD (1U)
164#define BOARD_USDHC_CARD_INSERT_CD_LEVEL (0U)
165
166#define BOARD_USDHC_MMCCARD_POWER_CONTROL_INIT()
167#define BOARD_USDHC_MMCCARD_POWER_CONTROL(state)
168#define BOARD_USDHC_SDCARD_POWER_CONTROL_INIT() \
169 { \
170 GPIO_PortInit(BOARD_SD_POWER_RESET_GPIO, BOARD_SD_POWER_RESET_GPIO_PORT); \
171 GPIO_PinInit(BOARD_SD_POWER_RESET_GPIO, BOARD_SD_POWER_RESET_GPIO_PORT, BOARD_SD_POWER_RESET_GPIO_PIN, \
172 &(gpio_pin_config_t){kGPIO_DigitalOutput, 0}); \
173 }
174
175#define BOARD_MMC_SUPPORT_8BIT_BUS 0
176
177#define BOARD_USDHC_SDCARD_POWER_CONTROL(state) \
178 (state ? \
179 GPIO_PortSet(BOARD_SD_POWER_RESET_GPIO, BOARD_SD_POWER_RESET_GPIO_PORT, 1 << BOARD_SD_POWER_RESET_GPIO_PIN) : \
180 GPIO_PortClear(BOARD_SD_POWER_RESET_GPIO, BOARD_SD_POWER_RESET_GPIO_PORT, \
181 1 << BOARD_SD_POWER_RESET_GPIO_PIN))
182
183#define BOARD_USDHC0_BASEADDR USDHC0
184
185#define BOARD_USDHC0_CLK_FREQ CLOCK_GetSdioClkFreq(0)
186
187#define BOARD_USDHC_SWITCH_VOLTAGE_FUNCTION 1U
188
189/* GT202 */
190#define BOARD_INITGT202SHIELD_PWRON_GPIO GPIO
191#define BOARD_INITGT202SHIELD_IRQ_GPIO GPIO
192#define BOARD_INITGT202SHIELD_PWRON_DIRECTION kGPIO_DigitalOutput
193#define BOARD_INITGT202SHIELD_IRQ_DIRECTION kGPIO_DigitalInput
194#define BOARD_INITGT202SHIELD_PWRON_PORT 1
195#define BOARD_INITGT202SHIELD_IRQ_PORT 1
196#define BOARD_INITGT202SHIELD_PWRON_GPIO_PIN 9
197#define BOARD_INITGT202SHIELD_IRQ_GPIO_PIN 8
198
199/* Silex2401 */
200#define BOARD_INITSILEX2401SHIELD_PWRON_GPIO GPIO
201#define BOARD_INITSILEX2401SHIELD_IRQ_GPIO GPIO
202#define BOARD_INITSILEX2401SHIELD_PWRON_DIRECTION kGPIO_DigitalOutput
203#define BOARD_INITSILEX2401SHIELD_IRQ_DIRECTION kGPIO_DigitalInput
204#define BOARD_INITSILEX2401SHIELD_PWRON_PORT 1
205#define BOARD_INITSILEX2401SHIELD_IRQ_PORT 0
206#define BOARD_INITSILEX2401SHIELD_PWRON_GPIO_PIN 0
207#define BOARD_INITSILEX2401SHIELD_IRQ_GPIO_PIN 28
208
209#define BOARD_SD_HOST_BASEADDR BOARD_USDHC0_BASEADDR
210#define BOARD_SD_HOST_CLK_FREQ BOARD_USDHC0_CLK_FREQ
211#define BOARD_SD_HOST_IRQ USDHC0_IRQn
212
213#define BOARD_SD_Pin_Config(speed, strength)
214
215/* USB PHY condfiguration */
216#define BOARD_USB_PHY_D_CAL (0x0CU)
217#define BOARD_USB_PHY_TXCAL45DP (0x06U)
218#define BOARD_USB_PHY_TXCAL45DM (0x06U)
219
220#define BOARD_FLASH_SIZE (0x4000000U)
221#if defined(__cplusplus)
222extern "C" {
223#endif /* __cplusplus */
224
225/*******************************************************************************
226 * API
227 ******************************************************************************/
228
229void BOARD_InitDebugConsole(void);
230status_t BOARD_InitPsRam(void);
231void BOARD_FlexspiClockSafeConfig(void);
232AT_QUICKACCESS_SECTION_CODE(void BOARD_SetFlexspiClock(uint32_t src, uint32_t divider));
233AT_QUICKACCESS_SECTION_CODE(void BOARD_DeinitXip(FLEXSPI_Type *base));
234AT_QUICKACCESS_SECTION_CODE(void BOARD_InitXip(FLEXSPI_Type *base));
235#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED
236void BOARD_I2C_Init(I2C_Type *base, uint32_t clkSrc_Hz);
237status_t BOARD_I2C_Send(I2C_Type *base,
238 uint8_t deviceAddress,
239 uint32_t subAddress,
240 uint8_t subaddressSize,
241 uint8_t *txBuff,
242 uint8_t txBuffSize);
243status_t BOARD_I2C_Receive(I2C_Type *base,
244 uint8_t deviceAddress,
245 uint32_t subAddress,
246 uint8_t subaddressSize,
247 uint8_t *rxBuff,
248 uint8_t rxBuffSize);
249#endif
250#if defined BOARD_USE_CODEC
251void BOARD_I3C_Init(I3C_Type *base, uint32_t clkSrc_Hz);
252status_t BOARD_I3C_Send(I3C_Type *base,
253 uint8_t deviceAddress,
254 uint32_t subAddress,
255 uint8_t subaddressSize,
256 uint8_t *txBuff,
257 uint8_t txBuffSize);
258status_t BOARD_I3C_Receive(I3C_Type *base,
259 uint8_t deviceAddress,
260 uint32_t subAddress,
261 uint8_t subaddressSize,
262 uint8_t *rxBuff,
263 uint8_t rxBuffSize);
264void BOARD_Codec_I2C_Init(void);
265status_t BOARD_Codec_I2C_Send(
266 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, const uint8_t *txBuff, uint8_t txBuffSize);
267status_t BOARD_Codec_I2C_Receive(
268 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize);
269#endif
270#if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED
271void BOARD_PMIC_I2C_Init(void);
272status_t BOARD_PMIC_I2C_Send(
273 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, const uint8_t *txBuff, uint8_t txBuffSize);
274status_t BOARD_PMIC_I2C_Receive(
275 uint8_t deviceAddress, uint32_t subAddress, uint8_t subAddressSize, uint8_t *rxBuff, uint8_t rxBuffSize);
276
277void BOARD_Accel_I2C_Init(void);
278status_t BOARD_Accel_I2C_Send(uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint32_t txBuff);
279status_t BOARD_Accel_I2C_Receive(
280 uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize);
281
282#endif /* SDK_I2C_BASED_COMPONENT_USED */
283#if defined(__cplusplus)
284}
285#endif /* __cplusplus */
286
287#endif /* _BOARD_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.c
new file mode 100644
index 000000000..e867c3b88
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.c
@@ -0,0 +1,199 @@
1/*
2 * Copyright 2019 NXP
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/***********************************************************************************************************************
8 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
9 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
10 **********************************************************************************************************************/
11/*
12 * How to set up clock using clock driver functions:
13 *
14 * 1. Setup clock sources.
15 *
16 * 2. Set up all selectors to provide selected clocks.
17 *
18 * 3. Set up all dividers.
19 */
20
21/* clang-format off */
22/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
23!!GlobalInfo
24product: Clocks v7.0
25processor: MIMXRT685S
26package_id: MIMXRT685SFVKB
27mcu_data: ksdk2_0
28processor_version: 0.0.2
29 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
30/* clang-format on */
31
32#include "fsl_power.h"
33#include "fsl_clock.h"
34#include "clock_config.h"
35
36/*******************************************************************************
37 * Definitions
38 ******************************************************************************/
39
40/*******************************************************************************
41 * Variables
42 ******************************************************************************/
43/* System clock frequency. */
44extern uint32_t SystemCoreClock;
45
46/*FUNCTION**********************************************************************
47 *
48 * Function Name : BOARD_FlexspiClockSafeConfig
49 * Description : FLEXSPI clock source safe configuration weak function.
50 * Called before clock source(Such as PLL, Main clock) configuration.
51 * Note : Users need override this function to change FLEXSPI clock source to stable source when executing
52 * code on FLEXSPI memory(XIP). If XIP, the function should runs in RAM and move the FLEXSPI clock
53 *source to an stable clock to avoid instruction/data fetch issue during clock updating.
54 *END**************************************************************************/
55__attribute__((weak)) void BOARD_FlexspiClockSafeConfig(void)
56{
57}
58
59/*FUNCTION**********************************************************************
60 *
61 * Function Name : BOARD_SetFlexspiClock
62 * Description : This function should be overridden if executing code on FLEXSPI memory(XIP).
63 * To Change FLEXSPI clock, should move to run from RAM and then configure FLEXSPI clock source.
64 * After the clock is changed and stable, move back to run on FLEXSPI.
65 * Param src : FLEXSPI clock source.
66 * Param divider : FLEXSPI clock divider.
67 *END**************************************************************************/
68__attribute__((weak)) void BOARD_SetFlexspiClock(uint32_t src, uint32_t divider)
69{
70 CLKCTL0->FLEXSPIFCLKSEL = CLKCTL0_FLEXSPIFCLKSEL_SEL(src);
71 CLKCTL0->FLEXSPIFCLKDIV |= CLKCTL0_FLEXSPIFCLKDIV_RESET_MASK; /* Reset the divider counter */
72 CLKCTL0->FLEXSPIFCLKDIV = CLKCTL0_FLEXSPIFCLKDIV_DIV(divider - 1);
73 while ((CLKCTL0->FLEXSPIFCLKDIV) & CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_MASK)
74 {
75 }
76}
77
78/*******************************************************************************
79 ************************ BOARD_InitBootClocks function ************************
80 ******************************************************************************/
81void BOARD_InitBootClocks(void)
82{
83 BOARD_BootClockRUN();
84}
85
86/*******************************************************************************
87 ********************** Configuration BOARD_BootClockRUN ***********************
88 ******************************************************************************/
89/* clang-format off */
90/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
91!!Configuration
92name: BOARD_BootClockRUN
93called_from_default_init: true
94outputs:
95- {id: FLEXSPI_clock.outFreq, value: 1900.8/19 MHz}
96- {id: LPOSC1M_clock.outFreq, value: 1 MHz}
97- {id: OSTIMER_clock.outFreq, value: 1 MHz}
98- {id: System_clock.outFreq, value: 4752/19 MHz}
99- {id: WAKE_32K_clock.outFreq, value: 31.25 kHz}
100settings:
101- {id: AUDIOPLL0_PFD0_CLK_GATE, value: Enabled}
102- {id: PLL0_PFD0_CLK_GATE, value: Enabled}
103- {id: PLL0_PFD2_CLK_GATE, value: Enabled}
104- {id: SYSCON.AUDIOPLL0CLKSEL.sel, value: SYSCON.SYSOSCBYPASS}
105- {id: SYSCON.AUDIOPLL0_PFD0_DIV.scale, value: '26', locked: true}
106- {id: SYSCON.AUDIOPLLCLKDIV.scale, value: '15', locked: true}
107- {id: SYSCON.AUDIO_PLL0_PFD0_MUL.scale, value: '18', locked: true}
108- {id: SYSCON.FLEXSPIFCLKDIV.scale, value: '5', locked: true}
109- {id: SYSCON.FLEXSPIFCLKSEL.sel, value: SYSCON.MAINPLLCLKDIV}
110- {id: SYSCON.FRGPLLCLKDIV.scale, value: '12', locked: true}
111- {id: SYSCON.MAINCLKSELB.sel, value: SYSCON.MAINPLLCLKDIV}
112- {id: SYSCON.PLL0.denom, value: '1'}
113- {id: SYSCON.PLL0.div, value: '22', locked: true}
114- {id: SYSCON.PLL0.num, value: '0'}
115- {id: SYSCON.PLL0_PFD0_DIV.scale, value: '19', locked: true}
116- {id: SYSCON.PLL0_PFD0_MUL.scale, value: '18', locked: true}
117- {id: SYSCON.PLL0_PFD2_DIV.scale, value: '24', locked: true}
118- {id: SYSCON.PLL0_PFD2_MUL.scale, value: '18', locked: true}
119- {id: SYSCON.PLL1.denom, value: '27000', locked: true}
120- {id: SYSCON.PLL1.div, value: '22'}
121- {id: SYSCON.PLL1.num, value: '5040', locked: true}
122- {id: SYSCON.SYSCPUAHBCLKDIV.scale, value: '2'}
123- {id: SYSCON.SYSPLL0CLKSEL.sel, value: SYSCON.SYSOSCBYPASS}
124- {id: SYSCON.SYSTICKFCLKSEL.sel, value: SYSCON.SYSTICKFCLKDIV}
125- {id: SYSCTL_PDRUNCFG_AUDIOPLL_CFG, value: 'No'}
126- {id: SYSCTL_PDRUNCFG_SYSPLL_CFG, value: 'No'}
127- {id: SYSCTL_PDRUNCFG_SYSXTAL_CFG, value: Power_up}
128- {id: XTAL_LP_Enable, value: LowPowerMode}
129sources:
130- {id: SYSCON.XTAL.outFreq, value: 24 MHz, enabled: true}
131 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
132/* clang-format on */
133
134/*******************************************************************************
135 * Variables for BOARD_BootClockRUN configuration
136 ******************************************************************************/
137const clock_sys_pll_config_t g_sysPllConfig_BOARD_BootClockRUN = {
138 .sys_pll_src = kCLOCK_SysPllXtalIn, /* OSC clock */
139 .numerator = 0, /* Numerator of the SYSPLL0 fractional loop divider isnull */
140 .denominator = 1, /* Denominator of the SYSPLL0 fractional loop divider isnull */
141 .sys_pll_mult = kCLOCK_SysPllMult22 /* Divide by 22 */
142};
143const clock_audio_pll_config_t g_audioPllConfig_BOARD_BootClockRUN = {
144 .audio_pll_src = kCLOCK_AudioPllXtalIn, /* OSC clock */
145 .numerator = 5040, /* Numerator of the SYSPLL0 fractional loop divider isnull */
146 .denominator = 27000, /* Denominator of the SYSPLL0 fractional loop divider isnull */
147 .audio_pll_mult = kCLOCK_AudioPllMult22 /* Divide by 22 */
148};
149/*******************************************************************************
150 * Code for BOARD_BootClockRUN configuration
151 ******************************************************************************/
152void BOARD_BootClockRUN(void)
153{
154 /* Configure LPOSC clock*/
155 POWER_DisablePD(kPDRUNCFG_PD_LPOSC); /* Power on LPOSC (1MHz) */
156 /* Configure FFRO clock */
157 POWER_DisablePD(kPDRUNCFG_PD_FFRO); /* Power on FFRO (48/60MHz) */
158 CLOCK_EnableFfroClk(kCLOCK_Ffro48M); /* Enable FFRO clock*/
159 /* Configure SFRO clock */
160 POWER_DisablePD(kPDRUNCFG_PD_SFRO); /* Power on SFRO (16MHz) */
161 CLOCK_EnableSfroClk(); /* Wait until SFRO stable */
162
163 /* Call function BOARD_FlexspiClockSafeConfig() to move FLEXSPI clock to a stable clock source to avoid
164 instruction/data fetch issue when updating PLL and Main clock if XIP(execute code on FLEXSPI memory). */
165 BOARD_FlexspiClockSafeConfig();
166
167 /* Let CPU run on ffro for safe switching */
168 CLOCK_AttachClk(kFFRO_to_MAIN_CLK);
169
170 /* Configure SYSOSC clock source */
171 POWER_DisablePD(kPDRUNCFG_PD_SYSXTAL); /* Power on SYSXTAL */
172 POWER_UpdateOscSettlingTime(BOARD_SYSOSC_SETTLING_US); /* Updated XTAL oscillator settling time */
173 CLOCK_EnableSysOscClk(true, true, BOARD_SYSOSC_SETTLING_US); /* Enable system OSC */
174 CLOCK_SetXtalFreq(BOARD_XTAL_SYS_CLK_HZ); /* Sets external XTAL OSC freq */
175
176 /* Configure SysPLL0 clock source */
177 CLOCK_InitSysPll(&g_sysPllConfig_BOARD_BootClockRUN);
178 CLOCK_InitSysPfd(kCLOCK_Pfd0, 19); /* Enable MAIN PLL clock */
179 CLOCK_InitSysPfd(kCLOCK_Pfd2, 24); /* Enable AUX0 PLL clock */
180
181 /* Configure Audio PLL clock source */
182 CLOCK_InitAudioPll(&g_audioPllConfig_BOARD_BootClockRUN);
183 CLOCK_InitAudioPfd(kCLOCK_Pfd0, 26); /* Enable Audio PLL clock */
184
185 CLOCK_SetClkDiv(kCLOCK_DivSysCpuAhbClk, 2U); /* Set SYSCPUAHBCLKDIV divider to value 2 */
186
187 /* Set up clock selectors - Attach clocks to the peripheries */
188 CLOCK_AttachClk(kMAIN_PLL_to_MAIN_CLK); /* Switch MAIN_CLK to MAIN_PLL */
189
190 /* Set up dividers */
191 CLOCK_SetClkDiv(kCLOCK_DivAudioPllClk, 15U); /* Set AUDIOPLLCLKDIV divider to value 15 */
192 CLOCK_SetClkDiv(kCLOCK_DivPllFrgClk, 12U); /* Set FRGPLLCLKDIV divider to value 12 */
193
194 /* Call weak function BOARD_SetFlexspiClock() to set user configured clock source/divider for FLEXSPI. */
195 BOARD_SetFlexspiClock(1U, 5U);
196
197 /*< Set SystemCoreClock variable. */
198 SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK;
199}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.h
new file mode 100644
index 000000000..16a15cb49
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/clock_config.h
@@ -0,0 +1,67 @@
1/*
2 * Copyright 2019 NXP
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/***********************************************************************************************************************
8 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
9 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
10 **********************************************************************************************************************/
11
12#ifndef _CLOCK_CONFIG_H_
13#define _CLOCK_CONFIG_H_
14
15#include "fsl_common.h"
16
17/*******************************************************************************
18 * Definitions
19 ******************************************************************************/
20#define BOARD_SYSOSC_SETTLING_US 260U /*!< Board System oscillator settling time in us */
21#define BOARD_XTAL32K_CLK_HZ 32768U /*!< Board xtal32K frequency in Hz */
22#define BOARD_XTAL_SYS_CLK_HZ 24000000U /*!< Board xtal frequency in Hz */
23
24/*******************************************************************************
25 ************************ BOARD_InitBootClocks function ************************
26 ******************************************************************************/
27
28#if defined(__cplusplus)
29extern "C" {
30#endif /* __cplusplus*/
31
32/*!
33 * @brief This function executes default configuration of clocks.
34 *
35 */
36void BOARD_InitBootClocks(void);
37
38#if defined(__cplusplus)
39}
40#endif /* __cplusplus*/
41
42/*******************************************************************************
43 ********************** Configuration BOARD_BootClockRUN ***********************
44 ******************************************************************************/
45/*******************************************************************************
46 * Definitions for BOARD_BootClockRUN configuration
47 ******************************************************************************/
48#define BOARD_BOOTCLOCKRUN_CORE_CLOCK 250105263U /*!< Core clock frequency: 250105263Hz */
49
50/*******************************************************************************
51 * API for BOARD_BootClockRUN configuration
52 ******************************************************************************/
53#if defined(__cplusplus)
54extern "C" {
55#endif /* __cplusplus*/
56
57/*!
58 * @brief This function executes configuration of clocks.
59 *
60 */
61void BOARD_BootClockRUN(void);
62
63#if defined(__cplusplus)
64}
65#endif /* __cplusplus*/
66
67#endif /* _CLOCK_CONFIG_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.c
new file mode 100644
index 000000000..afad03729
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.c
@@ -0,0 +1,60 @@
1/*
2 * Copyright 2019 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7/***********************************************************************************************************************
8 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
9 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
10 **********************************************************************************************************************/
11
12/* clang-format off */
13/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
14!!GlobalInfo
15product: Peripherals v7.0
16processor: MIMXRT685S
17package_id: MIMXRT685SFVKB
18mcu_data: ksdk2_0
19processor_version: 0.0.2
20functionalGroups:
21- name: BOARD_InitPeripherals
22 UUID: 44e9bc20-55d1-4382-a26e-52fdffe06327
23 called_from_default_init: true
24 selectedCore: cm33
25 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
26
27/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
28component:
29- type: 'system'
30- type_id: 'system_54b53072540eeeb8f8e9343e71f28176'
31- global_system_definitions: []
32 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
33
34/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
35component:
36- type: 'msg'
37- type_id: 'msg_6e2baaf3b97dbeef01c0043275f9a0e7'
38- global_messages: []
39 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/
40/* clang-format on */
41
42/***********************************************************************************************************************
43 * Included files
44 **********************************************************************************************************************/
45#include "peripherals.h"
46
47/***********************************************************************************************************************
48 * Initialization functions
49 **********************************************************************************************************************/
50void BOARD_InitPeripherals(void)
51{
52}
53
54/***********************************************************************************************************************
55 * BOARD_InitBootPeripherals function
56 **********************************************************************************************************************/
57void BOARD_InitBootPeripherals(void)
58{
59 BOARD_InitPeripherals();
60}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.h
new file mode 100644
index 000000000..628d92548
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/peripherals.h
@@ -0,0 +1,33 @@
1/*
2 * Copyright 2019 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7/***********************************************************************************************************************
8 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
9 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
10 **********************************************************************************************************************/
11
12#ifndef _PERIPHERALS_H_
13#define _PERIPHERALS_H_
14
15#if defined(__cplusplus)
16extern "C" {
17#endif /* __cplusplus */
18
19/***********************************************************************************************************************
20 * Initialization functions
21 **********************************************************************************************************************/
22void BOARD_InitPeripherals(void);
23
24/***********************************************************************************************************************
25 * BOARD_InitBootPeripherals function
26 **********************************************************************************************************************/
27void BOARD_InitBootPeripherals(void);
28
29#if defined(__cplusplus)
30}
31#endif
32
33#endif /* _PERIPHERALS_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.c
new file mode 100644
index 000000000..c9b82c29c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.c
@@ -0,0 +1,62 @@
1/*
2 * Copyright 2019 NXP.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8/***********************************************************************************************************************
9 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
10 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
11 **********************************************************************************************************************/
12
13/* clang-format off */
14/*
15 * TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
16!!GlobalInfo
17product: Pins v7.0
18processor: MIMXRT685S
19package_id: MIMXRT685SFVKB
20mcu_data: ksdk2_0
21processor_version: 0.0.2
22 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
23 */
24/* clang-format on */
25
26#include "fsl_common.h"
27#include "pin_mux.h"
28
29/* FUNCTION ************************************************************************************************************
30 *
31 * Function Name : BOARD_InitBootPins
32 * Description : Calls initialization functions.
33 *
34 * END ****************************************************************************************************************/
35void BOARD_InitBootPins(void)
36{
37 BOARD_InitPins();
38}
39
40/* clang-format off */
41/*
42 * TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
43BOARD_InitPins:
44- options: {callFromInitBoot: 'true', coreID: cm33, enableClock: 'true'}
45- pin_list: []
46 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
47 */
48/* clang-format on */
49
50/* FUNCTION ************************************************************************************************************
51 *
52 * Function Name : BOARD_InitPins
53 * Description : Configures pin routing and optionally pin electrical features.
54 *
55 * END ****************************************************************************************************************/
56/* Function assigned for the Cortex-M33 */
57void BOARD_InitPins(void)
58{
59}
60/***********************************************************************************************************************
61 * EOF
62 **********************************************************************************************************************/
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.h
new file mode 100644
index 000000000..8f8d72bc9
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/project_template/pin_mux.h
@@ -0,0 +1,52 @@
1/*
2 * Copyright 2019 NXP.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8/***********************************************************************************************************************
9 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
10 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
11 **********************************************************************************************************************/
12
13#ifndef _PIN_MUX_H_
14#define _PIN_MUX_H_
15
16/*!
17 * @addtogroup pin_mux
18 * @{
19 */
20
21/***********************************************************************************************************************
22 * API
23 **********************************************************************************************************************/
24
25#if defined(__cplusplus)
26extern "C" {
27#endif
28
29/*!
30 * @brief Calls initialization functions.
31 *
32 */
33void BOARD_InitBootPins(void);
34
35/*!
36 * @brief Configures pin routing and optionally pin electrical features.
37 *
38 */
39void BOARD_InitPins(void); /* Function assigned for the Cortex-M33 */
40
41#if defined(__cplusplus)
42}
43#endif
44
45/*!
46 * @}
47 */
48#endif /* _PIN_MUX_H_ */
49
50/***********************************************************************************************************************
51 * EOF
52 **********************************************************************************************************************/
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.c
new file mode 100644
index 000000000..65118041c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.c
@@ -0,0 +1,222 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compilers: GNU C Compiler
8** IAR ANSI C/C++ Compiler for ARM
9** Keil ARM C/C++ Compiler
10** MCUXpresso Compiler
11**
12** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
13** Version: rev. 2.0, 2019-11-12
14** Build: b201016
15**
16** Abstract:
17** Provides a system configuration function and a global variable that
18** contains the system frequency. It configures the device and initializes
19** the oscillator (PLL) that is part of the microcontroller device.
20**
21** Copyright 2016 Freescale Semiconductor, Inc.
22** Copyright 2016-2020 NXP
23** All rights reserved.
24**
25** SPDX-License-Identifier: BSD-3-Clause
26**
27** http: www.nxp.com
28** mail: [email protected]
29**
30** Revisions:
31** - rev. 1.0 (2018-06-19)
32** Initial version.
33** - rev. 2.0 (2019-11-12)
34** Base on rev 0.95 RM (B0 Header)
35**
36** ###################################################################
37*/
38
39/*!
40 * @file MIMXRT685S_cm33
41 * @version 2.0
42 * @date 2019-11-12
43 * @brief Device specific configuration file for MIMXRT685S_cm33 (implementation
44 * file)
45 *
46 * Provides a system configuration function and a global variable that contains
47 * the system frequency. It configures the device and initializes the oscillator
48 * (PLL) that is part of the microcontroller device.
49 */
50
51#include <stdint.h>
52#include "fsl_device_registers.h"
53
54
55#define SYSTEM_IS_XIP_FLEXSPI() \
56 ((((uint32_t)SystemCoreClockUpdate >= 0x08000000U) && ((uint32_t)SystemCoreClockUpdate < 0x10000000U)) || \
57 (((uint32_t)SystemCoreClockUpdate >= 0x18000000U) && ((uint32_t)SystemCoreClockUpdate < 0x20000000U)))
58
59/* Get OSC clock from SYSOSC_BYPASS */
60static uint32_t getOscClk(void)
61{
62 return (CLKCTL0->SYSOSCBYPASS == 0U) ? CLK_XTAL_OSC_CLK : ((CLKCTL0->SYSOSCBYPASS == 1U) ? CLK_EXT_CLKIN : 0U);
63}
64
65/* Get FFRO clock from FFROCTL0 setting */
66static uint32_t getFFroFreq(void)
67{
68 uint32_t freq = 0U;
69
70 switch (CLKCTL0->FFROCTL0 & CLKCTL0_FFROCTL0_TRIM_RANGE_MASK)
71 {
72 case CLKCTL0_FFROCTL0_TRIM_RANGE(0):
73 freq = CLK_FRO_48MHZ;
74 break;
75 case CLKCTL0_FFROCTL0_TRIM_RANGE(3):
76 freq = CLK_FRO_60MHZ;
77 break;
78 default:
79 freq = 0U;
80 break;
81 }
82 return freq;
83}
84
85
86
87/* ----------------------------------------------------------------------------
88 -- Core clock
89 ---------------------------------------------------------------------------- */
90
91uint32_t SystemCoreClock = DEFAULT_SYSTEM_CLOCK;
92
93/* ----------------------------------------------------------------------------
94 -- SystemInit()
95 ---------------------------------------------------------------------------- */
96
97__attribute__ ((weak)) void SystemInit (void) {
98#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1))
99 SCB->CPACR |= ((3UL << 10*2) | (3UL << 11*2)); /* set CP10, CP11 Full Access in Secure mode */
100 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
101 SCB_NS->CPACR |= ((3UL << 10*2) | (3UL << 11*2)); /* set CP10, CP11 Full Access in Non-secure mode */
102 #endif /* (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
103#endif /* ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) */
104
105 SCB->CPACR |= ((3UL << 0*2) | (3UL << 1*2)); /* set CP0, CP1 Full Access in Secure mode (enable PowerQuad) */
106
107#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
108 SCB_NS->CPACR |= ((3UL << 0*2) | (3UL << 1*2)); /* set CP0, CP1 Full Access in Non-secure mode (enable PowerQuad) */
109#endif /* (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
110
111 SCB->NSACR |= ((3UL << 0) | (3UL << 10)); /* enable CP0, CP1, CP10, CP11 Non-secure Access */
112
113 SYSCTL0->DSPSTALL = SYSCTL0_DSPSTALL_DSPSTALL_MASK;
114
115 if (SYSTEM_IS_XIP_FLEXSPI() && (CACHE64_POLSEL->POLSEL == 0U)) /* Enable cache to accelerate boot. */
116 {
117 /* set command to invalidate all ways and write GO bit to initiate command */
118 CACHE64->CCR = CACHE64_CTRL_CCR_INVW1_MASK | CACHE64_CTRL_CCR_INVW0_MASK;
119 CACHE64->CCR |= CACHE64_CTRL_CCR_GO_MASK;
120 /* Wait until the command completes */
121 while ((CACHE64->CCR & CACHE64_CTRL_CCR_GO_MASK) != 0U)
122 {
123 }
124 /* Enable cache, enable write buffer */
125 CACHE64->CCR = (CACHE64_CTRL_CCR_ENWRBUF_MASK | CACHE64_CTRL_CCR_ENCACHE_MASK);
126
127 /* Set whole FlexSPI0 space to write through. */
128 CACHE64_POLSEL->REG0_TOP = 0x07FFFC00U;
129 CACHE64_POLSEL->REG1_TOP = 0x0U;
130 CACHE64_POLSEL->POLSEL = 0x1U;
131
132 __ISB();
133 __DSB();
134 }
135
136 SystemInitHook();
137}
138
139/* ----------------------------------------------------------------------------
140 -- SystemCoreClockUpdate()
141 ---------------------------------------------------------------------------- */
142
143void SystemCoreClockUpdate (void) {
144
145 /* iMXRT6xx systemCoreClockUpdate */
146 uint32_t freq = 0U;
147 uint64_t freqTmp = 0U;
148
149 switch ((CLKCTL0->MAINCLKSELB) & CLKCTL0_MAINCLKSELB_SEL_MASK)
150 {
151 case CLKCTL0_MAINCLKSELB_SEL(0): /* MAINCLKSELA clock */
152 switch ((CLKCTL0->MAINCLKSELA) & CLKCTL0_MAINCLKSELA_SEL_MASK)
153 {
154 case CLKCTL0_MAINCLKSELA_SEL(0): /* FFRO clock (48/60m_irc) divider by 4 */
155 freq = getFFroFreq() / 4U;
156 break;
157 case CLKCTL0_MAINCLKSELA_SEL(1): /* OSC clock (clk_in) */
158 freq = getOscClk();
159 break;
160 case CLKCTL0_MAINCLKSELA_SEL(2): /* Low Power Oscillator Clock (1m_lposc) */
161 freq = CLK_LPOSC_1MHZ;
162 break;
163 case CLKCTL0_MAINCLKSELA_SEL(3): /* FFRO clock */
164 freq = getFFroFreq();
165 break;
166 default:
167 freq = 0U;
168 break;
169 }
170 break;
171 case CLKCTL0_MAINCLKSELB_SEL(1): /* SFRO clock */
172 freq = CLK_FRO_16MHZ;
173 break;
174 case CLKCTL0_MAINCLKSELB_SEL(2): /* Main System PLL clock */
175 switch ((CLKCTL0->SYSPLL0CLKSEL) & CLKCTL0_SYSPLL0CLKSEL_SEL_MASK)
176 {
177 case CLKCTL0_SYSPLL0CLKSEL_SEL(0): /* SFRO clock */
178 freq = CLK_FRO_16MHZ;
179 break;
180 case CLKCTL0_SYSPLL0CLKSEL_SEL(1): /* OSC clock (clk_in) */
181 freq = getOscClk();
182 break;
183 case CLKCTL0_SYSPLL0CLKSEL_SEL(2): /* FFRO clock (48/60m_irc) divider by 2 */
184 freq = getFFroFreq() / 2U;
185 break;
186 default:
187 freq = 0U;
188 break;
189 }
190
191 if (((CLKCTL0->SYSPLL0CTL0) & CLKCTL0_SYSPLL0CTL0_BYPASS_MASK) == 0U)
192 {
193 /* PLL output frequency = Fref * (DIV_SELECT + NUM/DENOM). */
194 freqTmp = ((uint64_t)freq * ((uint64_t)(CLKCTL0->SYSPLL0NUM))) / ((uint64_t)(CLKCTL0->SYSPLL0DENOM));
195 freq *= ((CLKCTL0->SYSPLL0CTL0) & CLKCTL0_SYSPLL0CTL0_MULT_MASK) >> CLKCTL0_SYSPLL0CTL0_MULT_SHIFT;
196 freq += (uint32_t)freqTmp;
197 freq = (uint32_t)((uint64_t)freq * 18U /
198 ((CLKCTL0->SYSPLL0PFD & CLKCTL0_SYSPLL0PFD_PFD0_MASK) >> CLKCTL0_SYSPLL0PFD_PFD0_SHIFT));
199 }
200 freq = freq / ((CLKCTL0->MAINPLLCLKDIV & CLKCTL0_MAINPLLCLKDIV_DIV_MASK) + 1U);
201 break;
202
203 case CLKCTL0_MAINCLKSELB_SEL(3): /* RTC 32KHz clock */
204 freq = CLK_RTC_32K_CLK;
205 break;
206
207 default:
208 freq = 0U;
209 break;
210 }
211
212 SystemCoreClock = freq / ((CLKCTL0->SYSCPUAHBCLKDIV & 0xffU) + 1U);
213
214}
215
216/* ----------------------------------------------------------------------------
217 -- SystemInitHook()
218 ---------------------------------------------------------------------------- */
219
220__attribute__ ((weak)) void SystemInitHook (void) {
221 /* Void implementation of the weak function. */
222}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.h
new file mode 100644
index 000000000..3393fe49b
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/system_MIMXRT685S_cm33.h
@@ -0,0 +1,119 @@
1/*
2** ###################################################################
3** Processors: MIMXRT685SFAWBR_cm33
4** MIMXRT685SFFOB_cm33
5** MIMXRT685SFVKB_cm33
6**
7** Compilers: GNU C Compiler
8** IAR ANSI C/C++ Compiler for ARM
9** Keil ARM C/C++ Compiler
10** MCUXpresso Compiler
11**
12** Reference manual: MIMXRT685 User manual Rev. 0.95 11 November 2019
13** Version: rev. 2.0, 2019-11-12
14** Build: b201016
15**
16** Abstract:
17** Provides a system configuration function and a global variable that
18** contains the system frequency. It configures the device and initializes
19** the oscillator (PLL) that is part of the microcontroller device.
20**
21** Copyright 2016 Freescale Semiconductor, Inc.
22** Copyright 2016-2020 NXP
23** All rights reserved.
24**
25** SPDX-License-Identifier: BSD-3-Clause
26**
27** http: www.nxp.com
28** mail: [email protected]
29**
30** Revisions:
31** - rev. 1.0 (2018-06-19)
32** Initial version.
33** - rev. 2.0 (2019-11-12)
34** Base on rev 0.95 RM (B0 Header)
35**
36** ###################################################################
37*/
38
39/*!
40 * @file MIMXRT685S_cm33
41 * @version 2.0
42 * @date 2019-11-12
43 * @brief Device specific configuration file for MIMXRT685S_cm33 (header file)
44 *
45 * Provides a system configuration function and a global variable that contains
46 * the system frequency. It configures the device and initializes the oscillator
47 * (PLL) that is part of the microcontroller device.
48 */
49
50#ifndef _SYSTEM_MIMXRT685S_cm33_H_
51#define _SYSTEM_MIMXRT685S_cm33_H_ /**< Symbol preventing repeated inclusion */
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57#include <stdint.h>
58
59
60#define DEFAULT_SYSTEM_CLOCK 12000000u /* Default System clock value */
61#ifndef CLK_XTAL_OSC_CLK
62#define CLK_XTAL_OSC_CLK 24000000u /* Default XTAL OSC clock */
63#endif
64#define CLK_RTC_32K_CLK 32768u /* RTC oscillator 32 kHz (32k_clk) */
65#define CLK_LPOSC_1MHZ 1000000u /* Low power oscillator 1 MHz (1m_lposc) */
66#define CLK_FRO_16MHZ 16000000u /* Slow FRO 16 MHz (fro_16m) */
67#define CLK_FRO_48MHZ 48000000u /* Fast FRO 48 MHz (fro_48m) */
68#define CLK_FRO_60MHZ 60000000u /* Fast FRO 60 MHz (fro_60m) */
69#ifndef CLK_EXT_CLKIN
70#define CLK_EXT_CLKIN 0u /* Default external CLKIN pin clock */
71#endif
72
73
74/**
75 * @brief System clock frequency (core clock)
76 *
77 * The system clock frequency supplied to the SysTick timer and the processor
78 * core clock. This variable can be used by the user application to setup the
79 * SysTick timer or configure other parameters. It may also be used by debugger to
80 * query the frequency of the debug timer or configure the trace clock speed
81 * SystemCoreClock is initialized with a correct predefined value.
82 */
83extern uint32_t SystemCoreClock;
84
85/**
86 * @brief Setup the microcontroller system.
87 *
88 * Typically this function configures the oscillator (PLL) that is part of the
89 * microcontroller device. For systems with variable clock speed it also updates
90 * the variable SystemCoreClock. SystemInit is called from startup_device file.
91 */
92void SystemInit (void);
93
94/**
95 * @brief Updates the SystemCoreClock variable.
96 *
97 * It must be called whenever the core clock is changed during program
98 * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates
99 * the current core clock.
100 */
101void SystemCoreClockUpdate (void);
102
103/**
104 * @brief SystemInit function hook.
105 *
106 * This weak function allows to call specific initialization code during the
107 * SystemInit() execution.This can be used when an application specific code needs
108 * to be called as close to the reset entry as possible (for example the Multicore
109 * Manager MCMGR_EarlyInit() function call).
110 * NOTE: No global r/w variables can be used in this hook function because the
111 * initialization of these variables happens after this function.
112 */
113void SystemInitHook (void);
114
115#ifdef __cplusplus
116}
117#endif
118
119#endif /* _SYSTEM_MIMXRT685S_cm33_H_ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/template/RTE_Device.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/template/RTE_Device.h
new file mode 100644
index 000000000..3af5df0b2
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/template/RTE_Device.h
@@ -0,0 +1,240 @@
1/*
2 * Copyright 2018 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef _RTE_DEVICE_H
9#define _RTE_DEVICE_H
10
11#include "pin_mux.h"
12
13/* UART Select, UART0-UART7. */
14/* User needs to provide the implementation of USARTX_GetFreq/USARTX_InitPins/USARTX_DeinitPins for the enabled USART
15 * instance. */
16#define RTE_USART0 0
17#define RTE_USART0_DMA_EN 0
18#define RTE_USART1 0
19#define RTE_USART1_DMA_EN 0
20#define RTE_USART2 0
21#define RTE_USART2_DMA_EN 0
22#define RTE_USART3 0
23#define RTE_USART3_DMA_EN 0
24#define RTE_USART4 0
25#define RTE_USART4_DMA_EN 0
26#define RTE_USART5 0
27#define RTE_USART5_DMA_EN 0
28#define RTE_USART6 0
29#define RTE_USART6_DMA_EN 0
30#define RTE_USART7 0
31#define RTE_USART7_DMA_EN 0
32
33/* USART configuration. */
34#define USART_RX_BUFFER_LEN 64
35#define USART0_RX_BUFFER_ENABLE 0
36#define USART1_RX_BUFFER_ENABLE 0
37#define USART2_RX_BUFFER_ENABLE 0
38#define USART3_RX_BUFFER_ENABLE 0
39#define USART4_RX_BUFFER_ENABLE 0
40#define USART5_RX_BUFFER_ENABLE 0
41#define USART6_RX_BUFFER_ENABLE 0
42#define USART7_RX_BUFFER_ENABLE 0
43
44#define RTE_USART0_PIN_INIT USART0_InitPins
45#define RTE_USART0_PIN_DEINIT USART0_DeinitPins
46#define RTE_USART0_DMA_TX_CH 1
47#define RTE_USART0_DMA_TX_DMA_BASE DMA0
48#define RTE_USART0_DMA_RX_CH 0
49#define RTE_USART0_DMA_RX_DMA_BASE DMA0
50
51#define RTE_USART1_PIN_INIT USART1_InitPins
52#define RTE_USART1_PIN_DEINIT USART1_DeinitPins
53#define RTE_USART1_DMA_TX_CH 3
54#define RTE_USART1_DMA_TX_DMA_BASE DMA0
55#define RTE_USART1_DMA_RX_CH 2
56#define RTE_USART1_DMA_RX_DMA_BASE DMA0
57
58#define RTE_USART2_PIN_INIT USART2_InitPins
59#define RTE_USART2_PIN_DEINIT USART2_DeinitPins
60#define RTE_USART2_DMA_TX_CH 5
61#define RTE_USART2_DMA_TX_DMA_BASE DMA0
62#define RTE_USART2_DMA_RX_CH 4
63#define RTE_USART2_DMA_RX_DMA_BASE DMA0
64
65#define RTE_USART3_PIN_INIT USART3_InitPins
66#define RTE_USART3_PIN_DEINIT USART3_DeinitPins
67#define RTE_USART3_DMA_TX_CH 7
68#define RTE_USART3_DMA_TX_DMA_BASE DMA0
69#define RTE_USART3_DMA_RX_CH 6
70#define RTE_USART3_DMA_RX_DMA_BASE DMA0
71
72#define RTE_USART4_PIN_INIT USART4_InitPins
73#define RTE_USART4_PIN_DEINIT USART4_DeinitPins
74#define RTE_USART4_DMA_TX_CH 9
75#define RTE_USART4_DMA_TX_DMA_BASE DMA0
76#define RTE_USART4_DMA_RX_CH 8
77#define RTE_USART4_DMA_RX_DMA_BASE DMA0
78
79#define RTE_USART5_PIN_INIT USART5_InitPins
80#define RTE_USART5_PIN_DEINIT USART5_DeinitPins
81#define RTE_USART5_DMA_TX_CH 11
82#define RTE_USART5_DMA_TX_DMA_BASE DMA0
83#define RTE_USART5_DMA_RX_CH 10
84#define RTE_USART5_DMA_RX_DMA_BASE DMA0
85
86#define RTE_USART6_PIN_INIT USART6_InitPins
87#define RTE_USART6_PIN_DEINIT USART6_DeinitPins
88#define RTE_USART6_DMA_TX_CH 13
89#define RTE_USART6_DMA_TX_DMA_BASE DMA0
90#define RTE_USART6_DMA_RX_CH 12
91#define RTE_USART6_DMA_RX_DMA_BASE DMA0
92
93#define RTE_USART7_PIN_INIT USART7_InitPins
94#define RTE_USART7_PIN_DEINIT USART7_DeinitPins
95#define RTE_USART7_DMA_TX_CH 15
96#define RTE_USART7_DMA_TX_DMA_BASE DMA0
97#define RTE_USART7_DMA_RX_CH 14
98#define RTE_USART7_DMA_RX_DMA_BASE DMA0
99
100/* I2C Select, I2C0 -I2C7*/
101/* User needs to provide the implementation of I2CX_GetFreq/I2CX_InitPins/I2CX_DeinitPins for the enabled I2C instance.
102 */
103#define RTE_I2C0 0
104#define RTE_I2C0_DMA_EN 0
105#define RTE_I2C1 0
106#define RTE_I2C1_DMA_EN 0
107#define RTE_I2C2 0
108#define RTE_I2C2_DMA_EN 0
109#define RTE_I2C3 0
110#define RTE_I2C3_DMA_EN 0
111#define RTE_I2C4 0
112#define RTE_I2C4_DMA_EN 0
113#define RTE_I2C5 0
114#define RTE_I2C5_DMA_EN 0
115#define RTE_I2C6 0
116#define RTE_I2C6_DMA_EN 0
117#define RTE_I2C7 0
118#define RTE_I2C7_DMA_EN 0
119
120/*I2C configuration*/
121#define RTE_I2C0_Master_DMA_BASE DMA0
122#define RTE_I2C0_Master_DMA_CH 1
123
124#define RTE_I2C1_Master_DMA_BASE DMA0
125#define RTE_I2C1_Master_DMA_CH 3
126
127#define RTE_I2C2_Master_DMA_BASE DMA0
128#define RTE_I2C2_Master_DMA_CH 5
129
130#define RTE_I2C3_Master_DMA_BASE DMA0
131#define RTE_I2C3_Master_DMA_CH 7
132
133#define RTE_I2C4_Master_DMA_BASE DMA0
134#define RTE_I2C4_Master_DMA_CH 9
135
136#define RTE_I2C5_Master_DMA_BASE DMA0
137#define RTE_I2C5_Master_DMA_CH 11
138
139#define RTE_I2C6_Master_DMA_BASE DMA0
140#define RTE_I2C6_Master_DMA_CH 13
141
142#define RTE_I2C7_Master_DMA_BASE DMA0
143#define RTE_I2C7_Master_DMA_CH 15
144
145/* SPI select, SPI0 - SPI7, SPI14.*/
146/* User needs to provide the implementation of SPIX_GetFreq/SPIX_InitPins/SPIX_DeinitPins for the enabled SPI instance.
147 */
148#define RTE_SPI0 0
149#define RTE_SPI0_DMA_EN 0
150#define RTE_SPI1 0
151#define RTE_SPI1_DMA_EN 0
152#define RTE_SPI2 0
153#define RTE_SPI2_DMA_EN 0
154#define RTE_SPI3 0
155#define RTE_SPI3_DMA_EN 0
156#define RTE_SPI4 0
157#define RTE_SPI4_DMA_EN 0
158#define RTE_SPI5 0
159#define RTE_SPI5_DMA_EN 0
160#define RTE_SPI6 0
161#define RTE_SPI6_DMA_EN 0
162#define RTE_SPI7 0
163#define RTE_SPI7_DMA_EN 0
164#define RTE_SPI14 0
165#define RTE_SPI14_DMA_EN 0
166
167/* SPI configuration. */
168#define RTE_SPI0_SSEL_NUM kSPI_Ssel0
169#define RTE_SPI0_PIN_INIT SPI0_InitPins
170#define RTE_SPI0_PIN_DEINIT SPI0_DeinitPins
171#define RTE_SPI0_DMA_TX_CH 1
172#define RTE_SPI0_DMA_TX_DMA_BASE DMA0
173#define RTE_SPI0_DMA_RX_CH 0
174#define RTE_SPI0_DMA_RX_DMA_BASE DMA0
175
176#define RTE_SPI1_SSEL_NUM kSPI_Ssel0
177#define RTE_SPI1_PIN_INIT SPI1_InitPins
178#define RTE_SPI1_PIN_DEINIT SPI1_DeinitPins
179#define RTE_SPI1_DMA_TX_CH 3
180#define RTE_SPI1_DMA_TX_DMA_BASE DMA0
181#define RTE_SPI1_DMA_RX_CH 2
182#define RTE_SPI1_DMA_RX_DMA_BASE DMA0
183
184#define RTE_SPI2_SSEL_NUM kSPI_Ssel0
185#define RTE_SPI2_PIN_INIT SPI2_InitPins
186#define RTE_SPI2_PIN_DEINIT SPI2_DeinitPins
187#define RTE_SPI2_DMA_TX_CH 5
188#define RTE_SPI2_DMA_TX_DMA_BASE DMA0
189#define RTE_SPI2_DMA_RX_CH 4
190#define RTE_SPI2_DMA_RX_DMA_BASE DMA0
191
192#define RTE_SPI3_SSEL_NUM kSPI_Ssel0
193#define RTE_SPI3_PIN_INIT SPI3_InitPins
194#define RTE_SPI3_PIN_DEINIT SPI3_DeinitPins
195#define RTE_SPI3_DMA_TX_CH 7
196#define RTE_SPI3_DMA_TX_DMA_BASE DMA0
197#define RTE_SPI3_DMA_RX_CH 6
198#define RTE_SPI3_DMA_RX_DMA_BASE DMA0
199
200#define RTE_SPI4_SSEL_NUM kSPI_Ssel0
201#define RTE_SPI4_PIN_INIT SPI4_InitPins
202#define RTE_SPI4_PIN_DEINIT SPI4_DeinitPins
203#define RTE_SPI4_DMA_TX_CH 9
204#define RTE_SPI4_DMA_TX_DMA_BASE DMA0
205#define RTE_SPI4_DMA_RX_CH 8
206#define RTE_SPI4_DMA_RX_DMA_BASE DMA0
207
208#define RTE_SPI5_SSEL_NUM kSPI_Ssel0
209#define RTE_SPI5_PIN_INIT SPI5_InitPins
210#define RTE_SPI5_PIN_DEINIT SPI5_DeinitPins
211#define RTE_SPI5_DMA_TX_CH 11
212#define RTE_SPI5_DMA_TX_DMA_BASE DMA0
213#define RTE_SPI5_DMA_RX_CH 10
214#define RTE_SPI5_DMA_RX_DMA_BASE DMA0
215
216#define RTE_SPI6_SSEL_NUM kSPI_Ssel0
217#define RTE_SPI6_PIN_INIT SPI6_InitPins
218#define RTE_SPI6_PIN_DEINIT SPI6_DeinitPins
219#define RTE_SPI6_DMA_TX_CH 13
220#define RTE_SPI6_DMA_TX_DMA_BASE DMA0
221#define RTE_SPI6_DMA_RX_CH 12
222#define RTE_SPI6_DMA_RX_DMA_BASE DMA0
223
224#define RTE_SPI7_SSEL_NUM kSPI_Ssel0
225#define RTE_SPI7_PIN_INIT SPI7_InitPins
226#define RTE_SPI7_PIN_DEINIT SPI7_DeinitPins
227#define RTE_SPI7_DMA_TX_CH 15
228#define RTE_SPI7_DMA_TX_DMA_BASE DMA0
229#define RTE_SPI7_DMA_RX_CH 14
230#define RTE_SPI7_DMA_RX_DMA_BASE DMA0
231
232#define RTE_SPI14_SSEL_NUM kSPI_Ssel0
233#define RTE_SPI14_PIN_INIT SPI14_InitPins
234#define RTE_SPI14_PIN_DEINIT SPI14_DeinitPins
235#define RTE_SPI14_DMA_TX_CH 27
236#define RTE_SPI14_DMA_TX_DMA_BASE DMA0
237#define RTE_SPI14_DMA_RX_CH 26
238#define RTE_SPI14_DMA_RX_DMA_BASE DMA0
239
240#endif /* _RTE_DEVICE_H */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.c b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.c
new file mode 100644
index 000000000..2cc75f02e
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.c
@@ -0,0 +1,1085 @@
1/*
2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
3 * Copyright 2016-2020 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 *
8 * POSIX getopt for Windows
9 * Code given out at the 1985 UNIFORUM conference in Dallas.
10 *
11 * From [email protected] (Moderator, John Quarterman) Sun Nov 3 14:34:15 1985
12 * Relay-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site gatech.CSNET
13 * Posting-Version: version B 2.10.2 9/18/84; site ut-sally.UUCP
14 * Path: gatech!akgua!mhuxv!mhuxt!mhuxr!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!ut-sally!std-unix
15 * From: [email protected] (Moderator, John Quarterman)
16 * Newsgroups: mod.std.unix
17 * Subject: public domain AT&T getopt source
18 * Message-ID: <[email protected]>
19 * Date: 3 Nov 85 19:34:15 GMT
20 * Date-Received: 4 Nov 85 12:25:09 GMT
21 * Organization: IEEE/P1003 Portable Operating System Environment Committee
22 * Lines: 91
23 * Approved: [email protected]
24 * Here's something you've all been waiting for: the AT&T public domain
25 * source for getopt(3). It is the code which was given out at the 1985
26 * UNIFORUM conference in Dallas. I obtained it by electronic mail
27 * directly from AT&T. The people there assure me that it is indeed
28 * in the public domain
29 * There is no manual page. That is because the one they gave out at
30 * UNIFORUM was slightly different from the current System V Release 2
31 * manual page. The difference apparently involved a note about the
32 * famous rules 5 and 6, recommending using white space between an option
33 * and its first argument, and not grouping options that have arguments.
34 * Getopt itself is currently lenient about both of these things White
35 * space is allowed, but not mandatory, and the last option in a group can
36 * have an argument. That particular version of the man page evidently
37 * has no official existence, and my source at AT&T did not send a copy.
38 * The current SVR2 man page reflects the actual behavor of this getopt.
39 * However, I am not about to post a copy of anything licensed by AT&T.
40 */
41
42#include <assert.h>
43#include <stdarg.h>
44#include <stdlib.h>
45#include <stdio.h>
46
47#include "fsl_common.h"
48#include "fsl_str.h"
49
50#include "fsl_component_generic_list.h"
51#include "fsl_component_serial_manager.h"
52
53#include "fsl_shell.h"
54
55/*
56 * The OSA_USED macro can only be defined when the OSA component is used.
57 * If the source code of the OSA component does not exist, the OSA_USED cannot be defined.
58 * OR, If OSA component is not added into project event the OSA source code exists, the OSA_USED
59 * also cannot be defined.
60 * The source code path of the OSA component is <MCUXpresso_SDK>/components/osa.
61 *
62 */
63#if defined(OSA_USED)
64
65#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
66#include "fsl_component_common_task.h"
67#else
68#include "fsl_os_abstraction.h"
69#endif
70
71#endif
72
73/*******************************************************************************
74 * Definitions
75 ******************************************************************************/
76#define KEY_ESC (0x1BU)
77#define KET_DEL (0x7FU)
78
79#define SHELL_EVENT_DATA_ARRIVED (1U << 0)
80#define SHELL_EVENT_DATA_SENT (1U << 1)
81
82#define SHELL_SPRINTF_BUFFER_SIZE (64U)
83
84/*! @brief A type for the handle special key. */
85typedef enum _fun_key_status
86{
87 kSHELL_Normal = 0U, /*!< Normal key */
88 kSHELL_Special = 1U, /*!< Special key */
89 kSHELL_Function = 2U, /*!< Function key */
90} fun_key_status_t;
91
92/*! @brief Data structure for Shell environment. */
93typedef struct _shell_context_handle
94{
95 list_label_t commandContextListHead; /*!< Command shellContextHandle list queue head */
96 serial_handle_t serialHandle; /*!< Serial manager handle */
97 uint8_t
98 serialWriteHandleBuffer[SERIAL_MANAGER_WRITE_HANDLE_SIZE]; /*!< The buffer for serial manager write handle */
99 serial_write_handle_t serialWriteHandle; /*!< The serial manager write handle */
100 uint8_t serialReadHandleBuffer[SERIAL_MANAGER_READ_HANDLE_SIZE]; /*!< The buffer for serial manager read handle */
101 serial_read_handle_t serialReadHandle; /*!< The serial manager read handle */
102 char *prompt; /*!< Prompt string */
103#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
104
105#if defined(OSA_USED)
106
107#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
108 common_task_message_t commontaskMsg; /*!< Message for common task */
109#else
110 uint8_t event[OSA_EVENT_HANDLE_SIZE]; /*!< Event instance */
111 uint8_t taskId[OSA_TASK_HANDLE_SIZE]; /*!< Task handle */
112#endif
113
114#endif
115
116#endif
117 char line[SHELL_BUFFER_SIZE]; /*!< Consult buffer */
118 char hist_buf[SHELL_HISTORY_COUNT][SHELL_BUFFER_SIZE]; /*!< History buffer*/
119 char printBuffer[SHELL_SPRINTF_BUFFER_SIZE]; /*!< Buffer for print */
120 uint32_t printLength; /*!< All length has been printed */
121 uint16_t hist_current; /*!< Current history command in hist buff*/
122 uint16_t hist_count; /*!< Total history command in hist buff*/
123 enum _fun_key_status stat; /*!< Special key status */
124 uint8_t cmd_num; /*!< Number of user commands */
125 uint8_t l_pos; /*!< Total line position */
126 uint8_t c_pos; /*!< Current line position */
127 volatile uint8_t notificationPost; /*!< The serial manager notification is post */
128 uint8_t exit; /*!< Exit Flag*/
129 uint8_t printBusy; /*!< Print is busy */
130} shell_context_handle_t;
131
132#if 0
133#define SHELL_STRUCT_OFFSET(type, field) ((size_t) & (((type *)0)->field))
134#define SHEEL_COMMAND_POINTER(node) \
135 ((shell_command_t *)(((uint32_t)(node)) - SHELL_STRUCT_OFFSET(shell_command_t, link)))
136#else
137#define SHEEL_COMMAND_POINTER(node) \
138 ((shell_command_t *)(((uint32_t)(node)) - (sizeof(shell_command_t) - sizeof(list_element_t))))
139#endif
140/*******************************************************************************
141 * Prototypes
142 ******************************************************************************/
143static shell_status_t SHELL_HelpCommand(shell_handle_t shellHandle, int32_t argc, char **argv); /*!< help command */
144
145static shell_status_t SHELL_ExitCommand(shell_handle_t shellHandle, int32_t argc, char **argv); /*!< exit command */
146
147static int32_t SHELL_ParseLine(const char *cmd, uint32_t len, char *argv[]); /*!< parse line command */
148
149static int32_t SHELL_StringCompare(const char *str1, const char *str2, int32_t count); /*!< compare string command */
150
151static void SHELL_ProcessCommand(shell_context_handle_t *shellContextHandle, const char *cmd); /*!< process a command */
152
153static void SHELL_GetHistoryCommand(shell_context_handle_t *shellContextHandle,
154 uint8_t hist_pos); /*!< get commands history */
155
156static void SHELL_AutoComplete(shell_context_handle_t *shellContextHandle); /*!< auto complete command */
157
158static shell_status_t SHELL_GetChar(shell_context_handle_t *shellContextHandle,
159 uint8_t *ch); /*!< get a char from communication interface */
160
161static void SHELL_WriteWithCopy(shell_handle_t shellHandle, const char *buffer, uint32_t length);
162
163#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
164static void SHELL_Task(void *param); /*!< Shell task*/
165#endif
166
167/*******************************************************************************
168 * Variables
169 ******************************************************************************/
170
171static SHELL_COMMAND_DEFINE(help, "\r\n\"help\": List all the registered commands\r\n", SHELL_HelpCommand, 0);
172static SHELL_COMMAND_DEFINE(exit, "\r\n\"exit\": Exit program\r\n", SHELL_ExitCommand, 0);
173
174static char s_paramBuffer[SHELL_BUFFER_SIZE];
175
176#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
177#if defined(OSA_USED)
178#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
179#else
180/*
181 * \brief Defines the serial manager task's stack
182 */
183static OSA_TASK_DEFINE(SHELL_Task, SHELL_TASK_PRIORITY, 1, SHELL_TASK_STACK_SIZE, false);
184#endif
185#endif /* OSA_USED */
186#endif /* SHELL_NON_BLOCKING_MODE */
187/*******************************************************************************
188 * Code
189 ******************************************************************************/
190
191#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
192static void SHELL_SerialManagerRxCallback(void *callbackParam,
193 serial_manager_callback_message_t *message,
194 serial_manager_status_t status)
195{
196 shell_context_handle_t *shellHandle;
197
198 assert(callbackParam);
199 assert(message);
200
201 shellHandle = (shell_context_handle_t *)callbackParam;
202
203 if (0U == shellHandle->notificationPost)
204 {
205 shellHandle->notificationPost = 1U;
206#if defined(OSA_USED)
207
208#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
209 shellHandle->commontaskMsg.callback = SHELL_Task;
210 shellHandle->commontaskMsg.callbackParam = shellHandle;
211 (void)COMMON_TASK_post_message(&shellHandle->commontaskMsg);
212#else
213 (void)OSA_EventSet((osa_event_handle_t)shellHandle->event, SHELL_EVENT_DATA_ARRIVED);
214#endif
215
216#else
217 SHELL_Task(shellHandle);
218#endif
219 }
220}
221#endif
222
223static void SHELL_WriteBuffer(char *buffer, int32_t *indicator, char val, int len)
224{
225 shell_context_handle_t *shellContextHandle;
226 int i = 0;
227 shellContextHandle = (shell_context_handle_t *)(void *)buffer;
228
229 for (i = 0; i < len; i++)
230 {
231 if ((*indicator + 1) >= (int32_t)SHELL_SPRINTF_BUFFER_SIZE)
232 {
233#if (!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
234 if (NULL == shellContextHandle->serialHandle)
235 {
236 for (uint32_t index = 0; index < ((uint32_t)*indicator); index++)
237 {
238 (void)putchar(shellContextHandle->printBuffer[index]);
239 }
240 }
241 else
242#endif
243 {
244 (void)SerialManager_WriteBlocking(shellContextHandle->serialWriteHandle,
245 (uint8_t *)shellContextHandle->printBuffer, (uint32_t)*indicator);
246 }
247
248 shellContextHandle->printLength += (uint32_t)*indicator;
249 *indicator = 0;
250 }
251
252 shellContextHandle->printBuffer[*indicator] = val;
253 (*indicator)++;
254 }
255}
256
257static int SHELL_Sprintf(void *buffer, const char *formatString, va_list ap)
258{
259 shell_context_handle_t *shellContextHandle;
260 uint32_t length;
261 shellContextHandle = (shell_context_handle_t *)buffer;
262
263 length = (uint32_t)StrFormatPrintf(formatString, ap, (char *)buffer, SHELL_WriteBuffer);
264 shellContextHandle->printLength += length;
265 return (int32_t)length;
266}
267
268#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
269static void SHELL_Task(void *param)
270#else
271void SHELL_Task(shell_handle_t shellHandle)
272#endif
273{
274#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
275 shell_context_handle_t *shellContextHandle = (shell_context_handle_t *)param;
276#else
277 shell_context_handle_t *shellContextHandle = (shell_context_handle_t *)shellHandle;
278#endif
279 uint8_t ch;
280
281 if (NULL != shellContextHandle)
282 {
283#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
284
285#if defined(OSA_USED)
286
287#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
288#else
289 osa_event_flags_t ev = 0;
290
291 do
292 {
293 if (KOSA_StatusSuccess == OSA_EventWait((osa_event_handle_t)shellContextHandle->event, osaEventFlagsAll_c,
294 0U, osaWaitForever_c, &ev))
295 {
296 if (0U != (ev & SHELL_EVENT_DATA_ARRIVED))
297#endif
298
299#endif
300
301#endif
302 {
303 shellContextHandle->notificationPost = 0;
304 do
305 {
306 if ((bool)shellContextHandle->exit)
307 {
308 if (shellContextHandle->serialReadHandle != NULL)
309 {
310 (void)SerialManager_CloseReadHandle(shellContextHandle->serialReadHandle);
311 shellContextHandle->serialReadHandle = NULL;
312 }
313 if (shellContextHandle->serialWriteHandle != NULL)
314 {
315 (void)SerialManager_CloseWriteHandle(shellContextHandle->serialWriteHandle);
316 shellContextHandle->serialWriteHandle = NULL;
317 }
318 break;
319 }
320 if (kStatus_SHELL_Success != (shell_status_t)SHELL_GetChar(shellContextHandle, &ch))
321 {
322 /* If error occurred when getting a char, exit the task and waiting the new data arriving. */
323 break;
324 }
325
326 /* Special key */
327 if (ch == KEY_ESC)
328 {
329 shellContextHandle->stat = kSHELL_Special;
330 continue;
331 }
332 else if (shellContextHandle->stat == kSHELL_Special)
333 {
334 /* Function key */
335 if ((char)ch == '[')
336 {
337 shellContextHandle->stat = kSHELL_Function;
338 continue;
339 }
340 shellContextHandle->stat = kSHELL_Normal;
341 }
342 else if (shellContextHandle->stat == kSHELL_Function)
343 {
344 shellContextHandle->stat = kSHELL_Normal;
345
346 switch ((char)ch)
347 {
348 /* History operation here */
349 case 'A': /* Up key */
350 SHELL_GetHistoryCommand(shellContextHandle, (uint8_t)shellContextHandle->hist_current);
351 if (shellContextHandle->hist_current < (shellContextHandle->hist_count - 1U))
352 {
353 shellContextHandle->hist_current++;
354 }
355 break;
356 case 'B': /* Down key */
357 SHELL_GetHistoryCommand(shellContextHandle, (uint8_t)shellContextHandle->hist_current);
358 if (shellContextHandle->hist_current > 0U)
359 {
360 shellContextHandle->hist_current--;
361 }
362 break;
363 case 'D': /* Left key */
364 if ((bool)shellContextHandle->c_pos)
365 {
366 SHELL_WriteWithCopy(shellContextHandle, "\b", 1);
367 shellContextHandle->c_pos--;
368 }
369 break;
370 case 'C': /* Right key */
371 if (shellContextHandle->c_pos < shellContextHandle->l_pos)
372 {
373 (void)SHELL_Write(shellContextHandle,
374 &shellContextHandle->line[shellContextHandle->c_pos], 1);
375 shellContextHandle->c_pos++;
376 }
377 break;
378 default:
379 /* MISRA C-2012 Rule 16.4 */
380 break;
381 }
382 continue;
383 }
384 /* Handle tab key */
385 else if ((char)ch == '\t')
386 {
387#if SHELL_AUTO_COMPLETE
388 /* Move the cursor to the beginning of line */
389 uint32_t i;
390 for (i = 0; i < (uint32_t)shellContextHandle->c_pos; i++)
391 {
392 SHELL_WriteWithCopy(shellContextHandle, "\b", 1);
393 }
394 /* Do auto complete */
395 SHELL_AutoComplete(shellContextHandle);
396 /* Move position to end */
397 shellContextHandle->l_pos = (uint8_t)strlen(shellContextHandle->line);
398 shellContextHandle->c_pos = shellContextHandle->l_pos;
399#endif
400 continue;
401 }
402 /* Handle backspace key */
403 else if ((ch == KET_DEL) || ((char)ch == '\b'))
404 {
405 /* There must be at last one char */
406 if (shellContextHandle->c_pos == 0U)
407 {
408 continue;
409 }
410
411 shellContextHandle->l_pos--;
412 shellContextHandle->c_pos--;
413
414 if (shellContextHandle->l_pos > shellContextHandle->c_pos)
415 {
416 (void)memmove(&shellContextHandle->line[shellContextHandle->c_pos],
417 &shellContextHandle->line[shellContextHandle->c_pos + 1U],
418 (uint32_t)shellContextHandle->l_pos - (uint32_t)shellContextHandle->c_pos);
419 shellContextHandle->line[shellContextHandle->l_pos] = '\0';
420 SHELL_WriteWithCopy(shellContextHandle, "\b", 1);
421 (void)SHELL_Write(shellContextHandle, &shellContextHandle->line[shellContextHandle->c_pos],
422 strlen(&shellContextHandle->line[shellContextHandle->c_pos]));
423 SHELL_WriteWithCopy(shellContextHandle, " \b", 3);
424
425 /* Reset position */
426 uint32_t i;
427 for (i = (uint32_t)shellContextHandle->c_pos; i <= (uint32_t)shellContextHandle->l_pos; i++)
428 {
429 SHELL_WriteWithCopy(shellContextHandle, "\b", 1);
430 }
431 }
432 else /* Normal backspace operation */
433 {
434 SHELL_WriteWithCopy(shellContextHandle, "\b \b", 3);
435 shellContextHandle->line[shellContextHandle->l_pos] = '\0';
436 }
437 continue;
438 }
439 else
440 {
441 /* MISRA C-2012 Rule 15.7 */
442 }
443
444 /* Input too long */
445 if (shellContextHandle->l_pos >= (SHELL_BUFFER_SIZE - 1U))
446 {
447 shellContextHandle->l_pos = 0U;
448 }
449
450 /* Handle end of line, break */
451 if (((char)ch == '\r') || ((char)ch == '\n'))
452 {
453 static char endoflinechar = '\0';
454
455 if (((uint8_t)endoflinechar != 0U) && ((uint8_t)endoflinechar != ch))
456 {
457 continue;
458 }
459 else
460 {
461 endoflinechar = (char)ch;
462 /* Print new line. */
463 SHELL_WriteWithCopy(shellContextHandle, "\r\n", 2U); /* MISRA C-2012 Rule 7.4 */
464 /* If command line is not NULL, will start process it. */
465 if (0U != strlen(shellContextHandle->line))
466 {
467 SHELL_ProcessCommand(shellContextHandle, shellContextHandle->line);
468 }
469 /* Print prompt. */
470 (void)SHELL_Write(shellContextHandle, shellContextHandle->prompt,
471 strlen(shellContextHandle->prompt));
472 /* Reset all params */
473 shellContextHandle->c_pos = shellContextHandle->l_pos = 0;
474 shellContextHandle->hist_current = 0;
475 (void)memset(shellContextHandle->line, 0, sizeof(shellContextHandle->line));
476 continue;
477 }
478 }
479
480 /* Normal character */
481 if (shellContextHandle->c_pos < shellContextHandle->l_pos)
482 {
483 (void)memmove(&shellContextHandle->line[shellContextHandle->c_pos + 1U],
484 &shellContextHandle->line[shellContextHandle->c_pos],
485 (uint32_t)shellContextHandle->l_pos - (uint32_t)shellContextHandle->c_pos);
486 shellContextHandle->line[shellContextHandle->c_pos] = (char)ch;
487 (void)SHELL_Write(shellContextHandle, &shellContextHandle->line[shellContextHandle->c_pos],
488 strlen(&shellContextHandle->line[shellContextHandle->c_pos]));
489 /* Move the cursor to new position */
490 uint32_t i;
491 for (i = (uint32_t)shellContextHandle->c_pos; i < (uint32_t)shellContextHandle->l_pos; i++)
492 {
493 SHELL_WriteWithCopy(shellContextHandle, "\b", 1);
494 }
495 }
496 else
497 {
498 shellContextHandle->line[shellContextHandle->l_pos] = (char)ch;
499 (void)SHELL_Write(shellContextHandle, &shellContextHandle->line[shellContextHandle->l_pos], 1);
500 }
501
502 ch = 0;
503 shellContextHandle->l_pos++;
504 shellContextHandle->c_pos++;
505 } while (0U == shellContextHandle->exit);
506 }
507#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
508
509#if defined(OSA_USED)
510
511#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
512#else
513 }
514 } while (1U == gUseRtos_c); /* USE_RTOS = 0 for BareMetal and 1 for OS */
515#endif
516
517#endif
518
519#endif
520 }
521}
522
523static shell_status_t SHELL_HelpCommand(shell_handle_t shellHandle, int32_t argc, char **argv)
524{
525 shell_context_handle_t *shellContextHandle = (shell_context_handle_t *)shellHandle;
526 shell_command_t *shellCommandContextHandle;
527 list_element_handle_t p = LIST_GetHead(&shellContextHandle->commandContextListHead);
528
529 while (p != NULL)
530 {
531 shellCommandContextHandle = SHEEL_COMMAND_POINTER(p);
532 if ((shellCommandContextHandle->pcHelpString != NULL) && (bool)strlen(shellCommandContextHandle->pcHelpString))
533 {
534 (void)SHELL_Write(shellContextHandle, shellCommandContextHandle->pcHelpString,
535 strlen(shellCommandContextHandle->pcHelpString));
536 }
537
538 p = LIST_GetNext(p);
539 }
540 return kStatus_SHELL_Success;
541}
542
543static shell_status_t SHELL_ExitCommand(shell_handle_t shellHandle, int32_t argc, char **argv)
544{
545 shell_context_handle_t *shellContextHandle = (shell_context_handle_t *)shellHandle;
546 /* Skip warning */
547 SHELL_WriteWithCopy(shellContextHandle, "\r\nSHELL exited\r\n", strlen("\r\nSHELL exited\r\n"));
548 shellContextHandle->exit = (uint8_t) true;
549 return kStatus_SHELL_Success;
550}
551
552static void SHELL_ProcessCommand(shell_context_handle_t *shellContextHandle, const char *cmd)
553{
554 shell_command_t *tmpCommand = NULL;
555 const char *tmpCommandString;
556 int32_t argc;
557 char *argv[SHELL_BUFFER_SIZE] = {0};
558 list_element_handle_t p;
559 uint8_t flag = 1;
560 uint8_t tmpCommandLen;
561 uint8_t tmpLen;
562 uint8_t i = 0;
563
564 tmpLen = (uint8_t)strlen(cmd);
565 argc = SHELL_ParseLine(cmd, tmpLen, argv);
566
567 if ((argc > 0))
568 {
569 p = LIST_GetHead(&shellContextHandle->commandContextListHead);
570 while (p != NULL)
571 {
572 tmpCommand = SHEEL_COMMAND_POINTER(p);
573 tmpCommandString = tmpCommand->pcCommand;
574 tmpCommandLen = (uint8_t)strlen(tmpCommandString);
575 /* Compare with space or end of string */
576 if ((cmd[tmpCommandLen] == ' ') || (cmd[tmpCommandLen] == (char)0x00))
577 {
578 if (SHELL_StringCompare(tmpCommandString, argv[0], (int32_t)tmpCommandLen) == 0)
579 {
580 /* support commands with optional number of parameters */
581 if (tmpCommand->cExpectedNumberOfParameters == (uint8_t)SHELL_IGNORE_PARAMETER_COUNT)
582 {
583 flag = 0;
584 }
585 else if ((tmpCommand->cExpectedNumberOfParameters == 0U) && (argc == 1))
586 {
587 flag = 0;
588 }
589 else if (tmpCommand->cExpectedNumberOfParameters > 0U)
590 {
591 if ((argc - 1) == (int32_t)tmpCommand->cExpectedNumberOfParameters)
592 {
593 flag = 0;
594 }
595 }
596 else
597 {
598 flag = 1;
599 }
600 break;
601 }
602 }
603 p = LIST_GetNext(p);
604 }
605 if (NULL == p)
606 {
607 tmpCommand = NULL;
608 }
609 }
610
611 if ((tmpCommand != NULL) && (flag == 1U))
612 {
613 SHELL_WriteWithCopy(
614 shellContextHandle,
615 "\r\nIncorrect command parameter(s). Enter \"help\" to view a list of available commands.\r\n\r\n",
616 strlen(
617 "\r\nIncorrect command parameter(s). Enter \"help\" to view a list of available commands.\r\n\r\n"));
618 }
619 else if (tmpCommand != NULL)
620 {
621 tmpLen = (uint8_t)strlen(cmd);
622 /* Compare with last command. Push back to history buffer if different */
623 if (tmpLen != (uint8_t)SHELL_StringCompare(cmd, shellContextHandle->hist_buf[0], (int32_t)strlen(cmd)))
624 {
625 for (i = SHELL_HISTORY_COUNT - 1U; i > 0U; i--)
626 {
627 (void)memset(shellContextHandle->hist_buf[i], (int)'\0', SHELL_BUFFER_SIZE);
628 tmpLen = (uint8_t)strlen(shellContextHandle->hist_buf[i - 1U]);
629 (void)memcpy(shellContextHandle->hist_buf[i], shellContextHandle->hist_buf[i - 1U], tmpLen);
630 }
631 (void)memset(shellContextHandle->hist_buf[0], (int)'\0', SHELL_BUFFER_SIZE);
632 tmpLen = (uint8_t)strlen(cmd);
633 (void)memcpy(shellContextHandle->hist_buf[0], cmd, tmpLen);
634 if (shellContextHandle->hist_count < SHELL_HISTORY_COUNT)
635 {
636 shellContextHandle->hist_count++;
637 }
638 }
639 (void)tmpCommand->pFuncCallBack(shellContextHandle, argc, argv);
640 }
641 else
642 {
643 SHELL_WriteWithCopy(
644 shellContextHandle,
645 "\r\nCommand not recognized. Enter 'help' to view a list of available commands.\r\n\r\n",
646 strlen("\r\nCommand not recognized. Enter 'help' to view a list of available commands.\r\n\r\n"));
647 }
648}
649
650static void SHELL_GetHistoryCommand(shell_context_handle_t *shellContextHandle, uint8_t hist_pos)
651{
652 uint32_t i;
653 uint32_t tmp;
654
655 if (shellContextHandle->hist_buf[0][0] == '\0')
656 {
657 shellContextHandle->hist_current = 0;
658 return;
659 }
660
661#if 0 /*hist_pos is passed from hist_current. And hist_current is only changed in case 'A'/'B',as hist_count is 3 \
662 most, it can't be more than 3 */
663 if (hist_pos >= SHELL_HISTORY_COUNT)
664 {
665 hist_pos = SHELL_HISTORY_COUNT - 1U;
666 }
667#endif
668
669 tmp = strlen(shellContextHandle->line);
670 /* Clear current if have */
671 if (tmp > 0U)
672 {
673 (void)memset(shellContextHandle->line, (int)'\0', tmp);
674 for (i = 0U; i < tmp; i++)
675 {
676 SHELL_WriteWithCopy(shellContextHandle, "\b \b", 3);
677 }
678 }
679
680 shellContextHandle->l_pos = (uint8_t)strlen(shellContextHandle->hist_buf[hist_pos]);
681 shellContextHandle->c_pos = shellContextHandle->l_pos;
682 (void)memcpy(shellContextHandle->line, shellContextHandle->hist_buf[hist_pos], shellContextHandle->l_pos);
683 (void)SHELL_Write(shellContextHandle, shellContextHandle->hist_buf[hist_pos],
684 strlen(shellContextHandle->hist_buf[hist_pos]));
685}
686
687static void SHELL_AutoComplete(shell_context_handle_t *shellContextHandle)
688{
689 int32_t minLen;
690 list_element_handle_t p;
691 shell_command_t *tmpCommand = NULL;
692 const char *namePtr;
693 const char *cmdName;
694
695 minLen = (int32_t)SHELL_BUFFER_SIZE;
696 namePtr = NULL;
697
698 /* Empty tab, list all commands */
699 if (shellContextHandle->line[0] == '\0')
700 {
701 (void)SHELL_HelpCommand(shellContextHandle, 0, NULL);
702 return;
703 }
704
705 SHELL_WriteWithCopy(shellContextHandle, "\r\n", 2);
706
707 /* Do auto complete */
708 p = LIST_GetHead(&shellContextHandle->commandContextListHead);
709 while (p != NULL)
710 {
711 tmpCommand = SHEEL_COMMAND_POINTER(p);
712 cmdName = tmpCommand->pcCommand;
713 if (SHELL_StringCompare(shellContextHandle->line, cmdName, (int32_t)strlen(shellContextHandle->line)) == 0)
714 {
715 /* Show possible matches */
716 (void)SHELL_Printf(shellContextHandle, "%s ", cmdName);
717 if (minLen > ((int32_t)strlen(cmdName)))
718 {
719 namePtr = cmdName;
720 minLen = (int32_t)strlen(namePtr);
721 }
722 }
723 p = LIST_GetNext(p);
724 }
725 /* Auto complete string */
726 if (namePtr != NULL)
727 {
728 (void)memcpy(shellContextHandle->line, namePtr, (uint32_t)minLen);
729 }
730 SHELL_PrintPrompt(shellContextHandle);
731 (void)SHELL_Write(shellContextHandle, shellContextHandle->line, strlen(shellContextHandle->line));
732 return;
733}
734
735static int32_t SHELL_StringCompare(const char *str1, const char *str2, int32_t count)
736{
737 while ((bool)(count--))
738 {
739 if (*str1++ != *str2++)
740 {
741 return (int32_t)(*(str1 - 1) - *(str2 - 1));
742 }
743 }
744 return 0;
745}
746
747static int32_t SHELL_ParseLine(const char *cmd, uint32_t len, char *argv[])
748{
749 uint32_t argc;
750 char *p;
751 uint32_t position;
752
753 /* Init params */
754 (void)memset(s_paramBuffer, (int)'\0', len + 1U);
755 (void)memcpy(s_paramBuffer, cmd, len);
756
757 p = s_paramBuffer;
758 position = 0;
759 argc = 0;
760
761 while (position < len)
762 {
763 /* Skip all blanks */
764 while ((position < len) && ((char)(*p) == ' '))
765 {
766 *p = '\0';
767 p++;
768 position++;
769 }
770
771 if (position >= len)
772 {
773 break;
774 }
775
776 /* Process begin of a string */
777 if (*p == '"')
778 {
779 p++;
780 position++;
781 argv[argc] = p;
782 argc++;
783 /* Skip this string */
784 while ((*p != '"') && (position < len))
785 {
786 p++;
787 position++;
788 }
789 /* Skip '"' */
790 *p = '\0';
791 p++;
792 position++;
793 }
794 else /* Normal char */
795 {
796 argv[argc] = p;
797 argc++;
798 while (((char)*p != ' ') && (position < len))
799 {
800 p++;
801 position++;
802 }
803 }
804 }
805 return (int32_t)argc;
806}
807
808static shell_status_t SHELL_GetChar(shell_context_handle_t *shellContextHandle, uint8_t *ch)
809{
810 shell_status_t status;
811
812#if (!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
813 if (NULL == shellContextHandle->serialHandle)
814 {
815 int ret;
816 ret = getchar();
817 if (ret > 0)
818 {
819 *ch = (uint8_t)ret;
820 status = kStatus_SHELL_Success;
821 }
822 else
823 {
824 status = kStatus_SHELL_Error;
825 }
826 }
827 else
828#endif
829 {
830#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
831 uint32_t length = 0;
832
833 (void)SerialManager_TryRead(shellContextHandle->serialReadHandle, ch, 1, &length);
834
835 if (length > 0U)
836 {
837 status = kStatus_SHELL_Success;
838 }
839 else
840 {
841 status = kStatus_SHELL_Error;
842 }
843#else
844 status = (shell_status_t)SerialManager_ReadBlocking(shellContextHandle->serialReadHandle, ch, 1);
845#endif
846 }
847
848 return status;
849}
850
851shell_status_t SHELL_Init(shell_handle_t shellHandle, serial_handle_t serialHandle, char *prompt)
852{
853 shell_context_handle_t *shellContextHandle;
854 serial_manager_status_t status = kStatus_SerialManager_Error;
855 (void)status;
856
857 assert(shellHandle);
858#if !(!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
859 assert(serialHandle);
860#endif
861 assert(prompt);
862 assert(SHELL_HANDLE_SIZE >= sizeof(shell_context_handle_t));
863
864 shellContextHandle = (shell_context_handle_t *)shellHandle;
865
866 /* memory set for shellHandle */
867 (void)memset(shellHandle, 0, SHELL_HANDLE_SIZE);
868
869#if (!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
870 if (NULL == serialHandle)
871 {
872 }
873 else
874#endif
875 {
876#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
877
878#if defined(OSA_USED)
879
880#if (defined(SHELL_USE_COMMON_TASK) && (SHELL_USE_COMMON_TASK > 0U))
881 (void)COMMON_TASK_init();
882#else
883 if (KOSA_StatusSuccess != OSA_EventCreate((osa_event_handle_t)shellContextHandle->event, 1U))
884 {
885 return kStatus_SHELL_Error;
886 }
887
888 if (KOSA_StatusSuccess !=
889 OSA_TaskCreate((osa_task_handle_t)shellContextHandle->taskId, OSA_TASK(SHELL_Task), shellContextHandle))
890 {
891 return kStatus_SHELL_Error;
892 }
893#endif
894
895#endif
896
897#endif
898 }
899
900 shellContextHandle->prompt = prompt;
901 shellContextHandle->serialHandle = serialHandle;
902
903#if (!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
904 if (NULL == serialHandle)
905 {
906 }
907 else
908#endif
909 {
910 shellContextHandle->serialWriteHandle = (serial_write_handle_t)&shellContextHandle->serialWriteHandleBuffer[0];
911 status = SerialManager_OpenWriteHandle(shellContextHandle->serialHandle, shellContextHandle->serialWriteHandle);
912 assert(kStatus_SerialManager_Success == status);
913
914 shellContextHandle->serialReadHandle = (serial_read_handle_t)&shellContextHandle->serialReadHandleBuffer[0];
915 status = SerialManager_OpenReadHandle(shellContextHandle->serialHandle, shellContextHandle->serialReadHandle);
916 assert(kStatus_SerialManager_Success == status);
917
918#if (defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
919 status = SerialManager_InstallRxCallback(shellContextHandle->serialReadHandle, SHELL_SerialManagerRxCallback,
920 shellContextHandle);
921 assert(kStatus_SerialManager_Success == status);
922#endif
923 (void)status;
924 }
925
926 (void)SHELL_RegisterCommand(shellContextHandle, SHELL_COMMAND(help));
927 (void)SHELL_RegisterCommand(shellContextHandle, SHELL_COMMAND(exit));
928
929 SHELL_WriteWithCopy(shellContextHandle, "\r\nSHELL build: ", strlen("\r\nSHELL build: "));
930 SHELL_WriteWithCopy(shellContextHandle, __DATE__, strlen(__DATE__));
931 SHELL_WriteWithCopy(shellContextHandle, "\r\nCopyright 2020 NXP\r\n", strlen("\r\nCopyright 2020 NXP\r\n"));
932 SHELL_PrintPrompt(shellContextHandle);
933
934 return kStatus_SHELL_Success;
935}
936
937shell_status_t SHELL_RegisterCommand(shell_handle_t shellHandle, shell_command_t *shellCommand)
938{
939 shell_context_handle_t *shellContextHandle = (shell_context_handle_t *)shellHandle;
940 assert(shellHandle);
941 assert(shellCommand);
942
943 /* memory set for shellHandle */
944 (void)memset(&shellCommand->link, 0, sizeof(shellCommand->link));
945
946 (void)LIST_AddTail(&shellContextHandle->commandContextListHead, &shellCommand->link);
947
948 return kStatus_SHELL_Success;
949}
950
951shell_status_t SHELL_UnregisterCommand(shell_command_t *shellCommand)
952{
953 assert(shellCommand);
954
955 (void)LIST_RemoveElement(&shellCommand->link);
956
957 /* memory set for shellHandle */
958 (void)memset(&shellCommand->link, 0, sizeof(shellCommand->link));
959
960 return kStatus_SHELL_Success;
961}
962
963shell_status_t SHELL_Write(shell_handle_t shellHandle, char *buffer, uint32_t length)
964{
965 shell_context_handle_t *shellContextHandle;
966 uint32_t primask;
967 shell_status_t status;
968
969 assert(shellHandle);
970 assert(buffer);
971
972 if (!(bool)length)
973 {
974 return kStatus_SHELL_Success;
975 }
976
977 shellContextHandle = (shell_context_handle_t *)shellHandle;
978
979 primask = DisableGlobalIRQ();
980 if ((bool)shellContextHandle->printBusy)
981 {
982 EnableGlobalIRQ(primask);
983 return kStatus_SHELL_Error;
984 }
985 shellContextHandle->printBusy = 1U;
986 EnableGlobalIRQ(primask);
987#if (!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
988 if (NULL == shellContextHandle->serialHandle)
989 {
990 status = kStatus_SHELL_Success;
991 for (uint32_t index = 0; index < length; index++)
992 {
993 (void)putchar(buffer[index]);
994 }
995 }
996 else
997#endif
998 {
999 status = (shell_status_t)SerialManager_WriteBlocking(shellContextHandle->serialWriteHandle, (uint8_t *)buffer,
1000 length);
1001 }
1002
1003 shellContextHandle->printBusy = 0U;
1004
1005 return status;
1006}
1007
1008/* For MISRA to fix const */
1009static void SHELL_WriteWithCopy(shell_handle_t shellHandle, const char *buffer, uint32_t length)
1010{
1011 char s_shellWriteCopyBuffer[128];
1012
1013 assert(length <= 128UL);
1014
1015 (void)memcpy(s_shellWriteCopyBuffer, buffer, length);
1016 (void)SHELL_Write(shellHandle, s_shellWriteCopyBuffer, length);
1017}
1018
1019int SHELL_Printf(shell_handle_t shellHandle, const char *formatString, ...)
1020{
1021 shell_context_handle_t *shellContextHandle;
1022 uint32_t length;
1023 uint32_t primask;
1024 va_list ap;
1025
1026 assert(shellHandle);
1027 assert(formatString);
1028
1029 shellContextHandle = (shell_context_handle_t *)shellHandle;
1030
1031 primask = DisableGlobalIRQ();
1032 if ((bool)shellContextHandle->printBusy)
1033 {
1034 EnableGlobalIRQ(primask);
1035 return -1;
1036 }
1037 shellContextHandle->printBusy = 1U;
1038 EnableGlobalIRQ(primask);
1039
1040 va_start(ap, formatString);
1041
1042 shellContextHandle->printLength = 0U;
1043 length = (uint32_t)SHELL_Sprintf(shellHandle, formatString, ap);
1044#if (!defined(SDK_DEBUGCONSOLE_UART) && (defined(SDK_DEBUGCONSOLE) && (SDK_DEBUGCONSOLE != 1)))
1045 if (NULL == shellContextHandle->serialHandle)
1046 {
1047 for (uint32_t index = 0; index < length; index++)
1048 {
1049 (void)putchar(shellContextHandle->printBuffer[index]);
1050 }
1051 }
1052 else
1053#endif
1054 {
1055 (void)SerialManager_WriteBlocking(shellContextHandle->serialWriteHandle,
1056 (uint8_t *)shellContextHandle->printBuffer, length);
1057 }
1058 va_end(ap);
1059
1060 shellContextHandle->printBusy = 0U;
1061 return (int32_t)shellContextHandle->printLength;
1062}
1063
1064void SHELL_ChangePrompt(shell_handle_t shellHandle, char *prompt)
1065{
1066 shell_context_handle_t *shellContextHandle;
1067 assert(shellHandle);
1068 assert(prompt);
1069
1070 shellContextHandle = (shell_context_handle_t *)shellHandle;
1071
1072 shellContextHandle->prompt = prompt;
1073 SHELL_PrintPrompt(shellContextHandle);
1074}
1075
1076void SHELL_PrintPrompt(shell_handle_t shellHandle)
1077{
1078 shell_context_handle_t *shellContextHandle;
1079 assert(shellHandle);
1080
1081 shellContextHandle = (shell_context_handle_t *)shellHandle;
1082
1083 SHELL_WriteWithCopy(shellContextHandle, "\r\n", 2U); /* MISRA C-2012 Rule 7.4 */
1084 (void)SHELL_Write(shellContextHandle, shellContextHandle->prompt, strlen(shellContextHandle->prompt));
1085}
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.h
new file mode 100644
index 000000000..28eace717
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/fsl_shell.h
@@ -0,0 +1,292 @@
1/*
2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
3 * Copyright 2016-2020 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef __FSL_SHELL_H__
10#define __FSL_SHELL_H__
11
12/*!
13 * @addtogroup SHELL
14 * @{
15 */
16
17#include "fsl_common.h"
18#include "fsl_component_serial_manager.h"
19#include "fsl_component_generic_list.h"
20
21/*******************************************************************************
22 * Definitions
23 ******************************************************************************/
24
25/*! @brief Whether use non-blocking mode. */
26#ifndef SHELL_NON_BLOCKING_MODE
27#define SHELL_NON_BLOCKING_MODE SERIAL_MANAGER_NON_BLOCKING_MODE
28#endif
29
30/*! @brief Macro to set on/off auto-complete feature. */
31#define SHELL_AUTO_COMPLETE (1U)
32
33/*! @brief Macro to set console buffer size. */
34#ifndef SHELL_BUFFER_SIZE
35#define SHELL_BUFFER_SIZE (64U)
36#endif
37
38/*! @brief Macro to set maximum arguments in command. */
39#define SHELL_MAX_ARGS (8U)
40
41/*! @brief Macro to set maximum count of history commands. */
42#ifndef SHELL_HISTORY_COUNT
43#define SHELL_HISTORY_COUNT (3U)
44#endif
45
46/*! @brief Macro to bypass arguments check */
47#define SHELL_IGNORE_PARAMETER_COUNT (0xFF)
48
49/*! @brief The handle size of the shell module. It is the sum of the SHELL_HISTORY_COUNT * SHELL_BUFFER_SIZE +
50 * SHELL_BUFFER_SIZE + SERIAL_MANAGER_READ_HANDLE_SIZE + SERIAL_MANAGER_WRITE_HANDLE_SIZE*/
51#define SHELL_HANDLE_SIZE \
52 (160U + SHELL_HISTORY_COUNT * SHELL_BUFFER_SIZE + SHELL_BUFFER_SIZE + SERIAL_MANAGER_READ_HANDLE_SIZE + \
53 SERIAL_MANAGER_WRITE_HANDLE_SIZE)
54
55/*! @brief Macro to determine whether use common task. */
56#ifndef SHELL_USE_COMMON_TASK
57#define SHELL_USE_COMMON_TASK (0U)
58#endif
59
60/*! @brief Macro to set shell task priority. */
61#ifndef SHELL_TASK_PRIORITY
62#define SHELL_TASK_PRIORITY (2U)
63#endif
64
65/*! @brief Macro to set shell task stack size. */
66#ifndef SHELL_TASK_STACK_SIZE
67#define SHELL_TASK_STACK_SIZE (1000U)
68#endif
69
70/*! @brief Shell status */
71typedef enum _shell_status
72{
73 kStatus_SHELL_Success = kStatus_Success, /*!< Success */
74 kStatus_SHELL_Error = MAKE_STATUS(kStatusGroup_SHELL, 1), /*!< Failed */
75 kStatus_SHELL_OpenWriteHandleFailed = MAKE_STATUS(kStatusGroup_SHELL, 2), /*!< Open write handle failed */
76 kStatus_SHELL_OpenReadHandleFailed = MAKE_STATUS(kStatusGroup_SHELL, 3), /*!< Open read handle failed */
77} shell_status_t;
78
79/*! @brief The handle of the shell module */
80typedef void *shell_handle_t;
81
82/*! @brief User command function prototype. */
83typedef shell_status_t (*cmd_function_t)(shell_handle_t shellHandle, int32_t argc, char **argv);
84
85/*! @brief User command data configuration structure. */
86typedef struct _shell_command
87{
88 const char *pcCommand; /*!< The command that is executed. For example "help". It must be all lower case. */
89 char *pcHelpString; /*!< String that describes how to use the command. It should start with the command itself,
90 and end with "\r\n". For example "help: Returns a list of all the commands\r\n". */
91 const cmd_function_t
92 pFuncCallBack; /*!< A pointer to the callback function that returns the output generated by the command. */
93 uint8_t cExpectedNumberOfParameters; /*!< Commands expect a fixed number of parameters, which may be zero. */
94 list_element_t link; /*!< link of the element */
95} shell_command_t;
96
97/*!
98 * @brief Defines the shell handle
99 *
100 * This macro is used to define a 4 byte aligned shell handle.
101 * Then use "(shell_handle_t)name" to get the shell handle.
102 *
103 * The macro should be global and could be optional. You could also define shell handle by yourself.
104 *
105 * This is an example,
106 * @code
107 * SHELL_HANDLE_DEFINE(shellHandle);
108 * @endcode
109 *
110 * @param name The name string of the shell handle.
111 */
112#define SHELL_HANDLE_DEFINE(name) uint32_t name[((SHELL_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]
113
114#if defined(__ICCARM__)
115/* disable misra 19.13 */
116_Pragma("diag_suppress=Pm120")
117#endif
118/*!
119 * @brief Defines the shell command structure
120 *
121 * This macro is used to define the shell command structure #shell_command_t.
122 * And then uses the macro SHELL_COMMAND to get the command structure pointer.
123 * The macro should not be used in any function.
124 *
125 * This is a example,
126 * @code
127 * SHELL_COMMAND_DEFINE(exit, "\r\n\"exit\": Exit program\r\n", SHELL_ExitCommand, 0);
128 * SHELL_RegisterCommand(s_shellHandle, SHELL_COMMAND(exit));
129 * @endcode
130 *
131 * @param command The command string of the command. The double quotes do not need. Such as exit for "exit",
132 * help for "Help", read for "read".
133 * @param descriptor The description of the command is used for showing the command usage when "help" is typing.
134 * @param callback The callback of the command is used to handle the command line when the input command is matched.
135 * @param paramCount The max parameter count of the current command.
136 */
137#define SHELL_COMMAND_DEFINE(command, descriptor, callback, paramCount) \
138 \
139 shell_command_t g_shellCommand##command = { \
140 (#command), (descriptor), (callback), (paramCount), {0}, \
141 }
142
143/*!
144 * @brief Gets the shell command pointer
145 *
146 * This macro is used to get the shell command pointer. The macro should not be used before the macro
147 * SHELL_COMMAND_DEFINE is used.
148 *
149 * @param command The command string of the command. The double quotes do not need. Such as exit for "exit",
150 * help for "Help", read for "read".
151 */
152#define SHELL_COMMAND(command) &g_shellCommand##command
153
154#if defined(__ICCARM__)
155 _Pragma("diag_default=Pm120")
156#endif
157
158/*******************************************************************************
159 * API
160 ******************************************************************************/
161
162#if defined(__cplusplus)
163 extern "C"
164{
165#endif /* _cplusplus */
166
167 /*!
168 * @name Shell functional operation
169 * @{
170 */
171
172 /*!
173 * @brief Initializes the shell module
174 *
175 * This function must be called before calling all other Shell functions.
176 * Call operation the Shell commands with user-defined settings.
177 * The example below shows how to set up the Shell and
178 * how to call the SHELL_Init function by passing in these parameters.
179 * This is an example.
180 * @code
181 * static SHELL_HANDLE_DEFINE(s_shellHandle);
182 * SHELL_Init((shell_handle_t)s_shellHandle, (serial_handle_t)s_serialHandle, "Test@SHELL>");
183 * @endcode
184 * @param shellHandle Pointer to point to a memory space of size #SHELL_HANDLE_SIZE allocated by the caller.
185 * The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices.
186 * You can define the handle in the following two ways:
187 * #SHELL_HANDLE_DEFINE(shellHandle);
188 * or
189 * uint32_t shellHandle[((SHELL_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))];
190 * @param serialHandle The serial manager module handle pointer.
191 * @param prompt The string prompt pointer of Shell. Only the global variable can be passed.
192 * @retval kStatus_SHELL_Success The shell initialization succeed.
193 * @retval kStatus_SHELL_Error An error occurred when the shell is initialized.
194 * @retval kStatus_SHELL_OpenWriteHandleFailed Open the write handle failed.
195 * @retval kStatus_SHELL_OpenReadHandleFailed Open the read handle failed.
196 */
197 shell_status_t SHELL_Init(shell_handle_t shellHandle, serial_handle_t serialHandle, char *prompt);
198
199 /*!
200 * @brief Registers the shell command
201 *
202 * This function is used to register the shell command by using the command configuration shell_command_config_t.
203 * This is a example,
204 * @code
205 * SHELL_COMMAND_DEFINE(exit, "\r\n\"exit\": Exit program\r\n", SHELL_ExitCommand, 0);
206 * SHELL_RegisterCommand(s_shellHandle, SHELL_COMMAND(exit));
207 * @endcode
208 * @param shellHandle The shell module handle pointer.
209 * @param shellCommand The command element.
210 * @retval kStatus_SHELL_Success Successfully register the command.
211 * @retval kStatus_SHELL_Error An error occurred.
212 */
213 shell_status_t SHELL_RegisterCommand(shell_handle_t shellHandle, shell_command_t * shellCommand);
214
215 /*!
216 * @brief Unregisters the shell command
217 *
218 * This function is used to unregister the shell command.
219 *
220 * @param shellCommand The command element.
221 * @retval kStatus_SHELL_Success Successfully unregister the command.
222 */
223 shell_status_t SHELL_UnregisterCommand(shell_command_t * shellCommand);
224
225 /*!
226 * @brief Sends data to the shell output stream.
227 *
228 * This function is used to send data to the shell output stream.
229 *
230 * @param shellHandle The shell module handle pointer.
231 * @param buffer Start address of the data to write.
232 * @param length Length of the data to write.
233 * @retval kStatus_SHELL_Success Successfully send data.
234 * @retval kStatus_SHELL_Error An error occurred.
235 */
236 shell_status_t SHELL_Write(shell_handle_t shellHandle, char *buffer, uint32_t length);
237
238 /*!
239 * @brief Writes formatted output to the shell output stream.
240 *
241 * Call this function to write a formatted output to the shell output stream.
242 *
243 * @param shellHandle The shell module handle pointer.
244 *
245 * @param formatString Format string.
246 * @return Returns the number of characters printed or a negative value if an error occurs.
247 */
248 int SHELL_Printf(shell_handle_t shellHandle, const char *formatString, ...);
249
250 /*!
251 * @brief Change shell prompt.
252 *
253 * Call this function to change shell prompt.
254 *
255 * @param shellHandle The shell module handle pointer.
256 *
257 * @param prompt The string which will be used for command prompt
258 * @return NULL.
259 */
260 void SHELL_ChangePrompt(shell_handle_t shellHandle, char *prompt);
261
262 /*!
263 * @brief Print shell prompt.
264 *
265 * Call this function to print shell prompt.
266 *
267 * @param shellHandle The shell module handle pointer.
268 *
269 * @return NULL.
270 */
271 void SHELL_PrintPrompt(shell_handle_t shellHandle);
272
273/*!
274 * @brief The task function for Shell.
275 * The task function for Shell; The function should be polled by upper layer.
276 * This function does not return until Shell command exit was called.
277 *
278 * @param shellHandle The shell module handle pointer.
279 */
280#if !(defined(SHELL_NON_BLOCKING_MODE) && (SHELL_NON_BLOCKING_MODE > 0U))
281 void SHELL_Task(shell_handle_t shellHandle);
282#endif
283
284 /* @} */
285
286#if defined(__cplusplus)
287}
288#endif
289
290/*! @}*/
291
292#endif /* __FSL_SHELL_H__ */
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/utility_shell.cmake b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/utility_shell.cmake
new file mode 100644
index 000000000..051f42f5e
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/utilities/utility_shell.cmake
@@ -0,0 +1,18 @@
1if(NOT UTILITY_SHELL_INCLUDED)
2
3 set(UTILITY_SHELL_INCLUDED true CACHE BOOL "utility_shell component is included.")
4
5 target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6 ${CMAKE_CURRENT_LIST_DIR}/fsl_shell.c
7 )
8
9 target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
10 ${CMAKE_CURRENT_LIST_DIR}/.
11 )
12
13
14 include(utility_debug_console)
15 include(driver_common)
16 include(component_lists)
17
18endif() \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.x b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.x
new file mode 100755
index 000000000..75d30e6ed
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.x
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/gdbio */
2/* Linker Script for default link */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00024044;
83_memmap_cacheattr_wt_base = 0x00021011;
84_memmap_cacheattr_bp_base = 0x00022022;
85_memmap_cacheattr_unused_mask = 0xFFF00F00;
86_memmap_cacheattr_wb_trapnull = 0x22224244;
87_memmap_cacheattr_wba_trapnull = 0x22224244;
88_memmap_cacheattr_wbna_trapnull = 0x22225255;
89_memmap_cacheattr_wt_trapnull = 0x22221211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFF24F44;
92_memmap_cacheattr_wt_strict = 0xFFF21F11;
93_memmap_cacheattr_bp_strict = 0xFFF22F22;
94_memmap_cacheattr_wb_allvalid = 0x22224244;
95_memmap_cacheattr_wt_allvalid = 0x22221211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x0000001B;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xbn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xbn
new file mode 100755
index 000000000..d8fc046d0
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xbn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/gdbio */
2/* Linker Script for ld -N */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00024044;
83_memmap_cacheattr_wt_base = 0x00021011;
84_memmap_cacheattr_bp_base = 0x00022022;
85_memmap_cacheattr_unused_mask = 0xFFF00F00;
86_memmap_cacheattr_wb_trapnull = 0x22224244;
87_memmap_cacheattr_wba_trapnull = 0x22224244;
88_memmap_cacheattr_wbna_trapnull = 0x22225255;
89_memmap_cacheattr_wt_trapnull = 0x22221211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFF24F44;
92_memmap_cacheattr_wt_strict = 0xFFF21F11;
93_memmap_cacheattr_bp_strict = 0xFFF22F22;
94_memmap_cacheattr_wb_allvalid = 0x22224244;
95_memmap_cacheattr_wt_allvalid = 0x22221211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x0000001B;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xn
new file mode 100755
index 000000000..841103ef7
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/gdbio */
2/* Linker Script for ld -n */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00024044;
83_memmap_cacheattr_wt_base = 0x00021011;
84_memmap_cacheattr_bp_base = 0x00022022;
85_memmap_cacheattr_unused_mask = 0xFFF00F00;
86_memmap_cacheattr_wb_trapnull = 0x22224244;
87_memmap_cacheattr_wba_trapnull = 0x22224244;
88_memmap_cacheattr_wbna_trapnull = 0x22225255;
89_memmap_cacheattr_wt_trapnull = 0x22221211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFF24F44;
92_memmap_cacheattr_wt_strict = 0xFFF21F11;
93_memmap_cacheattr_bp_strict = 0xFFF22F22;
94_memmap_cacheattr_wb_allvalid = 0x22224244;
95_memmap_cacheattr_wt_allvalid = 0x22221211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x0000001B;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xr b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xr
new file mode 100755
index 000000000..912211b88
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xr
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/gdbio */
2/* Linker Script for ld -r or ld -i */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xu b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xu
new file mode 100755
index 000000000..4973bdac7
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/ldscripts/elf32xtensa.xu
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/gdbio */
2/* Linker Script for ld -Ur */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/memmap.xmm b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/memmap.xmm
new file mode 100755
index 000000000..83ae66683
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/memmap.xmm
@@ -0,0 +1,91 @@
1// Memory map file to generate linker scripts for programs to run on
2// most targets (that have the OCD option); allows I/O through the host
3// debugger when being debugged using GDB (via the Xtensa OCD daemon).
4
5// Customer ID=13270; Build=0x802a5; Copyright (c) 2006-2015 Cadence Design Systems, Inc.
6//
7// Permission is hereby granted, free of charge, to any person obtaining
8// a copy of this software and associated documentation files (the
9// "Software"), to deal in the Software without restriction, including
10// without limitation the rights to use, copy, modify, merge, publish,
11// distribute, sublicense, and/or sell copies of the Software, and to
12// permit persons to whom the Software is furnished to do so, subject to
13// the following conditions:
14//
15// The above copyright notice and this permission notice shall be included
16// in all copies or substantial portions of the Software.
17//
18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
26// Show extra XTBOARD memory map details.
27INCLUDE_XTBOARD_MEMORIES = try
28
29
30// A memory map is a sequence of memory descriptions and
31// optional parameter assignments.
32//
33// Each memory description has the following format:
34// BEGIN <name>
35// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
36// : [writable] [,executable] [,device] ;
37// <segment>*
38// END <name>
39//
40// where each <segment> description has the following format:
41// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
42// : <section-name>* ;
43//
44// Each parameter assignment is a keyword/value pair in the following format:
45// <keyword> = <value> (no spaces in <value>)
46// or
47// <keyword> = "<value>" (spaces allowed in <value>)
48//
49// The following primitives are also defined:
50// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
51// | IN_SEGMENT(<seg-name>) }
52//
53// NOLOAD <section-name1> [ <section-name2> ... ]
54//
55// Please refer to the Xtensa LSP Reference Manual for more details.
56//
57BEGIN sram
580x4: sysram : sram : 0x23fffffc : executable, writable ;
59 sram0 : C : 0x4 - 0x23ffffff : STACK : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss;
60END sram
61
62BEGIN dram0
630x24000000: dataRam : dram0 : 0x10000 : writable ;
64 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss;
65END dram0
66
67BEGIN iram0
680x24020000: instRam : iram0 : 0x10000 : executable, writable ;
69 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text;
70 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text;
71 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text;
72 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text;
73 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text;
74 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text;
75 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text;
76 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text;
77 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text;
78END iram0
79
80BEGIN iocached
810x70000000: io : iocached : 0xda00000 : executable, writable ;
82END iocached
83
84BEGIN rambypass
850x80000000: sysram : rambypass : 0x10000000 : device, executable, writable ;
86END rambypass
87
88BEGIN iobypass
890x90000000: io : iobypass : 0xda00000 : device, executable, writable ;
90END iobypass
91
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/specs b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/specs
new file mode 100755
index 000000000..4bfff610a
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/gdbio/specs
@@ -0,0 +1,36 @@
1# Customer ID=13270; Build=0x802a5; Copyright (c) 2001-2015 Cadence Design Systems, Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining
4# a copy of this software and associated documentation files (the
5# "Software"), to deal in the Software without restriction, including
6# without limitation the rights to use, copy, modify, merge, publish,
7# distribute, sublicense, and/or sell copies of the Software, and to
8# permit persons to whom the Software is furnished to do so, subject to
9# the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
23# The %O suffix on the start and end files indicates that the system's
24# standard suffix for object files (e.g., ".o") should be appended.
25# The %s suffix tells the compiler driver to search for the file in the
26# list of known locations for startfiles.
27
28*startfile:
29crt1-boards%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
30
31*endfile:
32crtend%O%s crtn%O%s
33
34*lib:
35-lc -lgdbio -lc -lhandler-reset -lhandlers-board -lgdbio -lhal -lc
36
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.x b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.x
new file mode 100755
index 000000000..d7ae07d44
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.x
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/min-rt */
2/* Linker Script for default link */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xbn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xbn
new file mode 100755
index 000000000..28c4fbd5c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xbn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/min-rt */
2/* Linker Script for ld -N */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xn
new file mode 100755
index 000000000..20a864cda
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/min-rt */
2/* Linker Script for ld -n */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xr b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xr
new file mode 100755
index 000000000..e69296224
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xr
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/min-rt */
2/* Linker Script for ld -r or ld -i */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xu b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xu
new file mode 100755
index 000000000..22dccfddf
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/ldscripts/elf32xtensa.xu
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/min-rt */
2/* Linker Script for ld -Ur */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/memmap.xmm b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/memmap.xmm
new file mode 100755
index 000000000..cb382cd12
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/memmap.xmm
@@ -0,0 +1,74 @@
1// Memory map file to generate linker scripts for programs without board I/O.
2
3// Customer ID=13270; Build=0x802a5; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
4//
5// Permission is hereby granted, free of charge, to any person obtaining
6// a copy of this software and associated documentation files (the
7// "Software"), to deal in the Software without restriction, including
8// without limitation the rights to use, copy, modify, merge, publish,
9// distribute, sublicense, and/or sell copies of the Software, and to
10// permit persons to whom the Software is furnished to do so, subject to
11// the following conditions:
12//
13// The above copyright notice and this permission notice shall be included
14// in all copies or substantial portions of the Software.
15//
16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
24
25// A memory map is a sequence of memory descriptions and
26// optional parameter assignments.
27//
28// Each memory description has the following format:
29// BEGIN <name>
30// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
31// : [writable] [,executable] [,device] ;
32// <segment>*
33// END <name>
34//
35// where each <segment> description has the following format:
36// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
37// : <section-name>* ;
38//
39// Each parameter assignment is a keyword/value pair in the following format:
40// <keyword> = <value> (no spaces in <value>)
41// or
42// <keyword> = "<value>" (spaces allowed in <value>)
43//
44// The following primitives are also defined:
45// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
46// | IN_SEGMENT(<seg-name>) }
47//
48// NOLOAD <section-name1> [ <section-name2> ... ]
49//
50// Please refer to the Xtensa LSP Reference Manual for more details.
51//
52BEGIN sram
530x4: sysram : sram : 0x23fffffc : executable, writable ;
54 sram0 : C : 0x4 - 0x23ffffff : STACK : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss;
55END sram
56
57BEGIN dram0
580x24000000: dataRam : dram0 : 0x10000 : writable ;
59 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss;
60END dram0
61
62BEGIN iram0
630x24020000: instRam : iram0 : 0x10000 : executable, writable ;
64 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text;
65 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text;
66 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text;
67 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text;
68 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text;
69 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text;
70 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text;
71 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text;
72 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text;
73END iram0
74
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/specs b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/specs
new file mode 100755
index 000000000..d2c863744
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/min-rt/specs
@@ -0,0 +1,36 @@
1# Customer ID=13270; Build=0x802a5; Copyright (c) 2001-2015 Cadence Design Systems, Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining
4# a copy of this software and associated documentation files (the
5# "Software"), to deal in the Software without restriction, including
6# without limitation the rights to use, copy, modify, merge, publish,
7# distribute, sublicense, and/or sell copies of the Software, and to
8# permit persons to whom the Software is furnished to do so, subject to
9# the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
23# The %O suffix on the start and end files indicates that the system's
24# standard suffix for object files (e.g., ".o") should be appended.
25# The %s suffix tells the compiler driver to search for the file in the
26# list of known locations for startfiles.
27
28*startfile:
29crt1-boards%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
30
31*endfile:
32crtend%O%s crtn%O%s
33
34*lib:
35-lc -lgloss -lminrt -lc -lhandler-reset -lhandlers-board -lminrt -lhal -lc
36
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.x b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.x
new file mode 100755
index 000000000..54cd29732
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.x
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/sim */
2/* Linker Script for default link */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xbn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xbn
new file mode 100755
index 000000000..08d5803af
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xbn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/sim */
2/* Linker Script for ld -N */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xn
new file mode 100755
index 000000000..de4f2dbb5
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/sim */
2/* Linker Script for ld -n */
3MEMORY
4{
5 dsp_core_seg : org = 0x00200000, len = 0x280000
6 dsp_uncached_seg : org = 0x20060000, len = 0x10000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x200000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20060000;
56_memmap_seg_dsp_uncached_max = 0x20070000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xr b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xr
new file mode 100755
index 000000000..5bde1a770
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xr
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/sim */
2/* Linker Script for ld -r or ld -i */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xu b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xu
new file mode 100755
index 000000000..86ed4b103
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/ldscripts/elf32xtensa.xu
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_sram_memmap/sim */
2/* Linker Script for ld -Ur */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/memmap.xmm b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/memmap.xmm
new file mode 100755
index 000000000..f887cfddf
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/memmap.xmm
@@ -0,0 +1,78 @@
1// Memory map file to generate linker scripts for programs run on the ISS.
2
3// Customer ID=13270; Build=0x802a5; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
4//
5// Permission is hereby granted, free of charge, to any person obtaining
6// a copy of this software and associated documentation files (the
7// "Software"), to deal in the Software without restriction, including
8// without limitation the rights to use, copy, modify, merge, publish,
9// distribute, sublicense, and/or sell copies of the Software, and to
10// permit persons to whom the Software is furnished to do so, subject to
11// the following conditions:
12//
13// The above copyright notice and this permission notice shall be included
14// in all copies or substantial portions of the Software.
15//
16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
24
25// A memory map is a sequence of memory descriptions and
26// optional parameter assignments.
27//
28// Each memory description has the following format:
29// BEGIN <name>
30// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
31// : [writable] [,executable] [,device] ;
32// <segment>*
33// END <name>
34//
35// where each <segment> description has the following format:
36// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
37// : <section-name>* ;
38//
39// Each parameter assignment is a keyword/value pair in the following format:
40// <keyword> = <value> (no spaces in <value>)
41// or
42// <keyword> = "<value>" (spaces allowed in <value>)
43//
44// The following primitives are also defined:
45// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
46// | IN_SEGMENT(<seg-name>) }
47//
48// NOLOAD <section-name1> [ <section-name2> ... ]
49//
50// Please refer to the Xtensa LSP Reference Manual for more details.
51//
52
53BEGIN sram
540x0: sysram : sram : 0x480000 : executable, writable ;
55 dsp_core : C : 0x200000 - 0x47ffff : STACK : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss;
56END sram
57
58BEGIN dram0
590x24000000: dataRam : dram0 : 0x10000 : writable ;
60 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss;
61END dram0
62
63BEGIN iram0
640x24020000: instRam : iram0 : 0x10000 : executable, writable ;
65 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text;
66 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text;
67 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text;
68 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text;
69 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text;
70 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text;
71 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text;
72 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text;
73 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text;
74END iram0
75BEGIN sram_uncached
760x20000000: sysram : sram_uncached : 0x480000 : writable ;
77 dsp_uncached : C : 0x20060000 - 0x2006ffff : NonCacheable.init NonCacheable;
78END sram_uncached \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/specs b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/specs
new file mode 100755
index 000000000..0547d65a3
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa/sim/specs
@@ -0,0 +1,36 @@
1# Customer ID=13270; Build=0x802a5; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining
4# a copy of this software and associated documentation files (the
5# "Software"), to deal in the Software without restriction, including
6# without limitation the rights to use, copy, modify, merge, publish,
7# distribute, sublicense, and/or sell copies of the Software, and to
8# permit persons to whom the Software is furnished to do so, subject to
9# the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
23# The %O suffix on the start and end files indicates that the system's
24# standard suffix for object files (e.g., ".o") should be appended.
25# The %s suffix tells the compiler driver to search for the file in the
26# list of known locations for startfiles.
27
28*startfile:
29crt1-sim%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
30
31*endfile:
32crtend%O%s crtn%O%s
33
34*lib:
35-lc -lsim -lc -lhandler-reset -lhandlers-sim -lhal -lc
36
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.x b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.x
new file mode 100644
index 000000000..4f2c47ef2
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.x
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/gdbio */
2/* Linker Script for default link */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00024044;
83_memmap_cacheattr_wt_base = 0x00021011;
84_memmap_cacheattr_bp_base = 0x00022022;
85_memmap_cacheattr_unused_mask = 0xFFF00F00;
86_memmap_cacheattr_wb_trapnull = 0x22224244;
87_memmap_cacheattr_wba_trapnull = 0x22224244;
88_memmap_cacheattr_wbna_trapnull = 0x22225255;
89_memmap_cacheattr_wt_trapnull = 0x22221211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFF24F44;
92_memmap_cacheattr_wt_strict = 0xFFF21F11;
93_memmap_cacheattr_bp_strict = 0xFFF22F22;
94_memmap_cacheattr_wb_allvalid = 0x22224244;
95_memmap_cacheattr_wt_allvalid = 0x22221211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x0000001B;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xbn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xbn
new file mode 100644
index 000000000..35dcdb658
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xbn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/gdbio */
2/* Linker Script for ld -N */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00024044;
83_memmap_cacheattr_wt_base = 0x00021011;
84_memmap_cacheattr_bp_base = 0x00022022;
85_memmap_cacheattr_unused_mask = 0xFFF00F00;
86_memmap_cacheattr_wb_trapnull = 0x22224244;
87_memmap_cacheattr_wba_trapnull = 0x22224244;
88_memmap_cacheattr_wbna_trapnull = 0x22225255;
89_memmap_cacheattr_wt_trapnull = 0x22221211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFF24F44;
92_memmap_cacheattr_wt_strict = 0xFFF21F11;
93_memmap_cacheattr_bp_strict = 0xFFF22F22;
94_memmap_cacheattr_wb_allvalid = 0x22224244;
95_memmap_cacheattr_wt_allvalid = 0x22221211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x0000001B;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xn
new file mode 100644
index 000000000..349c9a46e
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/gdbio */
2/* Linker Script for ld -n */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00024044;
83_memmap_cacheattr_wt_base = 0x00021011;
84_memmap_cacheattr_bp_base = 0x00022022;
85_memmap_cacheattr_unused_mask = 0xFFF00F00;
86_memmap_cacheattr_wb_trapnull = 0x22224244;
87_memmap_cacheattr_wba_trapnull = 0x22224244;
88_memmap_cacheattr_wbna_trapnull = 0x22225255;
89_memmap_cacheattr_wt_trapnull = 0x22221211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFF24F44;
92_memmap_cacheattr_wt_strict = 0xFFF21F11;
93_memmap_cacheattr_bp_strict = 0xFFF22F22;
94_memmap_cacheattr_wb_allvalid = 0x22224244;
95_memmap_cacheattr_wt_allvalid = 0x22221211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x0000001B;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xr b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xr
new file mode 100644
index 000000000..ef0df4717
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xr
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/gdbio */
2/* Linker Script for ld -r or ld -i */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xu b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xu
new file mode 100644
index 000000000..0b946a27c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/ldscripts/elf32xtensa.xu
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/gdbio */
2/* Linker Script for ld -Ur */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/memmap.xmm b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/memmap.xmm
new file mode 100644
index 000000000..83ae66683
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/memmap.xmm
@@ -0,0 +1,91 @@
1// Memory map file to generate linker scripts for programs to run on
2// most targets (that have the OCD option); allows I/O through the host
3// debugger when being debugged using GDB (via the Xtensa OCD daemon).
4
5// Customer ID=13270; Build=0x802a5; Copyright (c) 2006-2015 Cadence Design Systems, Inc.
6//
7// Permission is hereby granted, free of charge, to any person obtaining
8// a copy of this software and associated documentation files (the
9// "Software"), to deal in the Software without restriction, including
10// without limitation the rights to use, copy, modify, merge, publish,
11// distribute, sublicense, and/or sell copies of the Software, and to
12// permit persons to whom the Software is furnished to do so, subject to
13// the following conditions:
14//
15// The above copyright notice and this permission notice shall be included
16// in all copies or substantial portions of the Software.
17//
18// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
26// Show extra XTBOARD memory map details.
27INCLUDE_XTBOARD_MEMORIES = try
28
29
30// A memory map is a sequence of memory descriptions and
31// optional parameter assignments.
32//
33// Each memory description has the following format:
34// BEGIN <name>
35// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
36// : [writable] [,executable] [,device] ;
37// <segment>*
38// END <name>
39//
40// where each <segment> description has the following format:
41// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
42// : <section-name>* ;
43//
44// Each parameter assignment is a keyword/value pair in the following format:
45// <keyword> = <value> (no spaces in <value>)
46// or
47// <keyword> = "<value>" (spaces allowed in <value>)
48//
49// The following primitives are also defined:
50// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
51// | IN_SEGMENT(<seg-name>) }
52//
53// NOLOAD <section-name1> [ <section-name2> ... ]
54//
55// Please refer to the Xtensa LSP Reference Manual for more details.
56//
57BEGIN sram
580x4: sysram : sram : 0x23fffffc : executable, writable ;
59 sram0 : C : 0x4 - 0x23ffffff : STACK : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss;
60END sram
61
62BEGIN dram0
630x24000000: dataRam : dram0 : 0x10000 : writable ;
64 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss;
65END dram0
66
67BEGIN iram0
680x24020000: instRam : iram0 : 0x10000 : executable, writable ;
69 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text;
70 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text;
71 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text;
72 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text;
73 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text;
74 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text;
75 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text;
76 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text;
77 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text;
78END iram0
79
80BEGIN iocached
810x70000000: io : iocached : 0xda00000 : executable, writable ;
82END iocached
83
84BEGIN rambypass
850x80000000: sysram : rambypass : 0x10000000 : device, executable, writable ;
86END rambypass
87
88BEGIN iobypass
890x90000000: io : iobypass : 0xda00000 : device, executable, writable ;
90END iobypass
91
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/specs b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/specs
new file mode 100644
index 000000000..4bfff610a
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/gdbio/specs
@@ -0,0 +1,36 @@
1# Customer ID=13270; Build=0x802a5; Copyright (c) 2001-2015 Cadence Design Systems, Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining
4# a copy of this software and associated documentation files (the
5# "Software"), to deal in the Software without restriction, including
6# without limitation the rights to use, copy, modify, merge, publish,
7# distribute, sublicense, and/or sell copies of the Software, and to
8# permit persons to whom the Software is furnished to do so, subject to
9# the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
23# The %O suffix on the start and end files indicates that the system's
24# standard suffix for object files (e.g., ".o") should be appended.
25# The %s suffix tells the compiler driver to search for the file in the
26# list of known locations for startfiles.
27
28*startfile:
29crt1-boards%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
30
31*endfile:
32crtend%O%s crtn%O%s
33
34*lib:
35-lc -lgdbio -lc -lhandler-reset -lhandlers-board -lgdbio -lhal -lc
36
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.x b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.x
new file mode 100644
index 000000000..0bd7b6261
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.x
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/min-rt */
2/* Linker Script for default link */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xbn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xbn
new file mode 100644
index 000000000..dbdd344e1
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xbn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/min-rt */
2/* Linker Script for ld -N */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xn
new file mode 100644
index 000000000..02d15c80c
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/min-rt */
2/* Linker Script for ld -n */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xr b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xr
new file mode 100644
index 000000000..71a19ea91
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xr
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/min-rt */
2/* Linker Script for ld -r or ld -i */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xu b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xu
new file mode 100644
index 000000000..d897b2902
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/ldscripts/elf32xtensa.xu
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/min-rt */
2/* Linker Script for ld -Ur */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/memmap.xmm b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/memmap.xmm
new file mode 100644
index 000000000..cb382cd12
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/memmap.xmm
@@ -0,0 +1,74 @@
1// Memory map file to generate linker scripts for programs without board I/O.
2
3// Customer ID=13270; Build=0x802a5; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
4//
5// Permission is hereby granted, free of charge, to any person obtaining
6// a copy of this software and associated documentation files (the
7// "Software"), to deal in the Software without restriction, including
8// without limitation the rights to use, copy, modify, merge, publish,
9// distribute, sublicense, and/or sell copies of the Software, and to
10// permit persons to whom the Software is furnished to do so, subject to
11// the following conditions:
12//
13// The above copyright notice and this permission notice shall be included
14// in all copies or substantial portions of the Software.
15//
16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
24
25// A memory map is a sequence of memory descriptions and
26// optional parameter assignments.
27//
28// Each memory description has the following format:
29// BEGIN <name>
30// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
31// : [writable] [,executable] [,device] ;
32// <segment>*
33// END <name>
34//
35// where each <segment> description has the following format:
36// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
37// : <section-name>* ;
38//
39// Each parameter assignment is a keyword/value pair in the following format:
40// <keyword> = <value> (no spaces in <value>)
41// or
42// <keyword> = "<value>" (spaces allowed in <value>)
43//
44// The following primitives are also defined:
45// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
46// | IN_SEGMENT(<seg-name>) }
47//
48// NOLOAD <section-name1> [ <section-name2> ... ]
49//
50// Please refer to the Xtensa LSP Reference Manual for more details.
51//
52BEGIN sram
530x4: sysram : sram : 0x23fffffc : executable, writable ;
54 sram0 : C : 0x4 - 0x23ffffff : STACK : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss;
55END sram
56
57BEGIN dram0
580x24000000: dataRam : dram0 : 0x10000 : writable ;
59 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss;
60END dram0
61
62BEGIN iram0
630x24020000: instRam : iram0 : 0x10000 : executable, writable ;
64 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text;
65 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text;
66 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text;
67 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text;
68 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text;
69 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text;
70 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text;
71 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text;
72 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text;
73END iram0
74
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/specs b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/specs
new file mode 100644
index 000000000..d2c863744
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/min-rt/specs
@@ -0,0 +1,36 @@
1# Customer ID=13270; Build=0x802a5; Copyright (c) 2001-2015 Cadence Design Systems, Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining
4# a copy of this software and associated documentation files (the
5# "Software"), to deal in the Software without restriction, including
6# without limitation the rights to use, copy, modify, merge, publish,
7# distribute, sublicense, and/or sell copies of the Software, and to
8# permit persons to whom the Software is furnished to do so, subject to
9# the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
23# The %O suffix on the start and end files indicates that the system's
24# standard suffix for object files (e.g., ".o") should be appended.
25# The %s suffix tells the compiler driver to search for the file in the
26# list of known locations for startfiles.
27
28*startfile:
29crt1-boards%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
30
31*endfile:
32crtend%O%s crtn%O%s
33
34*lib:
35-lc -lgloss -lminrt -lc -lhandler-reset -lhandlers-board -lminrt -lhal -lc
36
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.x b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.x
new file mode 100644
index 000000000..8fd3ed122
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.x
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/sim */
2/* Linker Script for default link */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xbn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xbn
new file mode 100644
index 000000000..ca273c0fa
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xbn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/sim */
2/* Linker Script for ld -N */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xn b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xn
new file mode 100644
index 000000000..a38f1aeb6
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xn
@@ -0,0 +1,585 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/sim */
2/* Linker Script for ld -n */
3MEMORY
4{
5 dsp_core_seg : org = 0x00300000, len = 0x180000
6 dsp_uncached_seg : org = 0x20040000, len = 0x40000
7 dram0_0_seg : org = 0x24000000, len = 0x10000
8 iram0_0_seg : org = 0x24020000, len = 0x400
9 iram0_1_seg : org = 0x24020400, len = 0x17C
10 iram0_2_seg : org = 0x2402057C, len = 0x20
11 iram0_3_seg : org = 0x2402059C, len = 0x20
12 iram0_4_seg : org = 0x240205BC, len = 0x20
13 iram0_5_seg : org = 0x240205DC, len = 0x20
14 iram0_6_seg : org = 0x240205FC, len = 0x20
15 iram0_7_seg : org = 0x2402061C, len = 0x20
16 iram0_8_seg : org = 0x2402063C, len = 0xF9C4
17}
18
19PHDRS
20{
21 dsp_core_phdr PT_LOAD;
22 dsp_core_bss_phdr PT_LOAD;
23 dsp_uncached_phdr PT_LOAD;
24 dram0_0_phdr PT_LOAD;
25 dram0_0_bss_phdr PT_LOAD;
26 iram0_0_phdr PT_LOAD;
27 iram0_1_phdr PT_LOAD;
28 iram0_2_phdr PT_LOAD;
29 iram0_3_phdr PT_LOAD;
30 iram0_4_phdr PT_LOAD;
31 iram0_5_phdr PT_LOAD;
32 iram0_6_phdr PT_LOAD;
33 iram0_7_phdr PT_LOAD;
34 iram0_8_phdr PT_LOAD;
35}
36
37
38/* Default entry point: */
39ENTRY(_ResetVector)
40
41
42/* Memory boundary addresses: */
43_memmap_mem_sram_start = 0x0;
44_memmap_mem_sram_end = 0x480000;
45_memmap_mem_dram0_start = 0x24000000;
46_memmap_mem_dram0_end = 0x24010000;
47_memmap_mem_iram0_start = 0x24020000;
48_memmap_mem_iram0_end = 0x24030000;
49_memmap_mem_sram_uncached_start = 0x20000000;
50_memmap_mem_sram_uncached_end = 0x20480000;
51
52/* Memory segment boundary addresses: */
53_memmap_seg_dsp_core_start = 0x300000;
54_memmap_seg_dsp_core_max = 0x480000;
55_memmap_seg_dsp_uncached_start = 0x20040000;
56_memmap_seg_dsp_uncached_max = 0x20080000;
57_memmap_seg_dram0_0_start = 0x24000000;
58_memmap_seg_dram0_0_max = 0x24010000;
59_memmap_seg_iram0_0_start = 0x24020000;
60_memmap_seg_iram0_0_max = 0x24020400;
61_memmap_seg_iram0_1_start = 0x24020400;
62_memmap_seg_iram0_1_max = 0x2402057c;
63_memmap_seg_iram0_2_start = 0x2402057c;
64_memmap_seg_iram0_2_max = 0x2402059c;
65_memmap_seg_iram0_3_start = 0x2402059c;
66_memmap_seg_iram0_3_max = 0x240205bc;
67_memmap_seg_iram0_4_start = 0x240205bc;
68_memmap_seg_iram0_4_max = 0x240205dc;
69_memmap_seg_iram0_5_start = 0x240205dc;
70_memmap_seg_iram0_5_max = 0x240205fc;
71_memmap_seg_iram0_6_start = 0x240205fc;
72_memmap_seg_iram0_6_max = 0x2402061c;
73_memmap_seg_iram0_7_start = 0x2402061c;
74_memmap_seg_iram0_7_max = 0x2402063c;
75_memmap_seg_iram0_8_start = 0x2402063c;
76_memmap_seg_iram0_8_max = 0x24030000;
77
78_rom_store_table = 0;
79PROVIDE(_memmap_reset_vector = 0x24020000);
80PROVIDE(_memmap_vecbase_reset = 0x24020400);
81/* Various memory-map dependent cache attribute settings: */
82_memmap_cacheattr_wb_base = 0x00000044;
83_memmap_cacheattr_wt_base = 0x00000011;
84_memmap_cacheattr_bp_base = 0x00000022;
85_memmap_cacheattr_unused_mask = 0xFFFFFF00;
86_memmap_cacheattr_wb_trapnull = 0x22222244;
87_memmap_cacheattr_wba_trapnull = 0x22222244;
88_memmap_cacheattr_wbna_trapnull = 0x22222255;
89_memmap_cacheattr_wt_trapnull = 0x22222211;
90_memmap_cacheattr_bp_trapnull = 0x22222222;
91_memmap_cacheattr_wb_strict = 0xFFFFFF44;
92_memmap_cacheattr_wt_strict = 0xFFFFFF11;
93_memmap_cacheattr_bp_strict = 0xFFFFFF22;
94_memmap_cacheattr_wb_allvalid = 0x22222244;
95_memmap_cacheattr_wt_allvalid = 0x22222211;
96_memmap_cacheattr_bp_allvalid = 0x22222222;
97_memmap_region_map = 0x00000003;
98PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
99
100SECTIONS
101{
102
103 NonCacheable.init : ALIGN(4)
104 {
105 NonCacheable_init_start = ABSOLUTE(.);
106 *(NonCacheable.init)
107 . = ALIGN (4);
108 NonCacheable_init_end = ABSOLUTE(.);
109 } >dsp_uncached_seg :dsp_uncached_phdr
110
111 NonCacheable : ALIGN(4)
112 {
113 NonCacheable_start = ABSOLUTE(.);
114 *(NonCacheable)
115 . = ALIGN (4);
116 NonCacheable_end = ABSOLUTE(.);
117 _memmap_seg_dsp_uncached_end = ALIGN(0x8);
118 } >dsp_uncached_seg :dsp_uncached_phdr
119
120
121 .dram0.rodata : ALIGN(4)
122 {
123 _dram0_rodata_start = ABSOLUTE(.);
124 *(.dram0.rodata)
125 *(.dram.rodata)
126 . = ALIGN (4);
127 _dram0_rodata_end = ABSOLUTE(.);
128 } >dram0_0_seg :dram0_0_phdr
129
130 .ResetVector.literal : ALIGN(4)
131 {
132 _ResetVector_literal_start = ABSOLUTE(.);
133 *(.ResetVector.literal)
134 . = ALIGN (4);
135 _ResetVector_literal_end = ABSOLUTE(.);
136 } >dram0_0_seg :dram0_0_phdr
137
138 .Level2InterruptVector.literal : ALIGN(4)
139 {
140 _Level2InterruptVector_literal_start = ABSOLUTE(.);
141 *(.Level2InterruptVector.literal)
142 . = ALIGN (4);
143 _Level2InterruptVector_literal_end = ABSOLUTE(.);
144 } >dram0_0_seg :dram0_0_phdr
145
146 .Level3InterruptVector.literal : ALIGN(4)
147 {
148 _Level3InterruptVector_literal_start = ABSOLUTE(.);
149 *(.Level3InterruptVector.literal)
150 . = ALIGN (4);
151 _Level3InterruptVector_literal_end = ABSOLUTE(.);
152 } >dram0_0_seg :dram0_0_phdr
153
154 .DebugExceptionVector.literal : ALIGN(4)
155 {
156 _DebugExceptionVector_literal_start = ABSOLUTE(.);
157 *(.DebugExceptionVector.literal)
158 . = ALIGN (4);
159 _DebugExceptionVector_literal_end = ABSOLUTE(.);
160 } >dram0_0_seg :dram0_0_phdr
161
162 .NMIExceptionVector.literal : ALIGN(4)
163 {
164 _NMIExceptionVector_literal_start = ABSOLUTE(.);
165 *(.NMIExceptionVector.literal)
166 . = ALIGN (4);
167 _NMIExceptionVector_literal_end = ABSOLUTE(.);
168 } >dram0_0_seg :dram0_0_phdr
169
170 .KernelExceptionVector.literal : ALIGN(4)
171 {
172 _KernelExceptionVector_literal_start = ABSOLUTE(.);
173 *(.KernelExceptionVector.literal)
174 . = ALIGN (4);
175 _KernelExceptionVector_literal_end = ABSOLUTE(.);
176 } >dram0_0_seg :dram0_0_phdr
177
178 .UserExceptionVector.literal : ALIGN(4)
179 {
180 _UserExceptionVector_literal_start = ABSOLUTE(.);
181 *(.UserExceptionVector.literal)
182 . = ALIGN (4);
183 _UserExceptionVector_literal_end = ABSOLUTE(.);
184 } >dram0_0_seg :dram0_0_phdr
185
186 .DoubleExceptionVector.literal : ALIGN(4)
187 {
188 _DoubleExceptionVector_literal_start = ABSOLUTE(.);
189 *(.DoubleExceptionVector.literal)
190 . = ALIGN (4);
191 _DoubleExceptionVector_literal_end = ABSOLUTE(.);
192 } >dram0_0_seg :dram0_0_phdr
193
194 .iram0.literal : ALIGN(4)
195 {
196 _iram0_literal_start = ABSOLUTE(.);
197 *(.iram0.literal)
198 *(.iram.literal)
199 *(.iram.text.literal)
200 . = ALIGN (4);
201 _iram0_literal_end = ABSOLUTE(.);
202 } >dram0_0_seg :dram0_0_phdr
203
204 .dram0.data : ALIGN(4)
205 {
206 _dram0_data_start = ABSOLUTE(.);
207 *(.dram0.data)
208 *(.dram.data)
209 . = ALIGN (4);
210 _dram0_data_end = ABSOLUTE(.);
211 } >dram0_0_seg :dram0_0_phdr
212
213 .dram0.bss (NOLOAD) : ALIGN(8)
214 {
215 . = ALIGN (8);
216 _dram0_bss_start = ABSOLUTE(.);
217 *(.dram0.bss)
218 . = ALIGN (8);
219 _dram0_bss_end = ABSOLUTE(.);
220 _memmap_seg_dram0_0_end = ALIGN(0x8);
221 } >dram0_0_seg :dram0_0_bss_phdr
222
223
224 .ResetVector.text : ALIGN(4)
225 {
226 _ResetVector_text_start = ABSOLUTE(.);
227 KEEP (*(.ResetVector.text))
228 . = ALIGN (4);
229 _ResetVector_text_end = ABSOLUTE(.);
230 } >iram0_0_seg :iram0_0_phdr
231
232 .ResetHandler.text : ALIGN(4)
233 {
234 _ResetHandler_text_start = ABSOLUTE(.);
235 *(.ResetHandler.literal .ResetHandler.text)
236 . = ALIGN (4);
237 _ResetHandler_text_end = ABSOLUTE(.);
238 _memmap_seg_iram0_0_end = ALIGN(0x8);
239 } >iram0_0_seg :iram0_0_phdr
240
241
242 .WindowVectors.text : ALIGN(4)
243 {
244 _WindowVectors_text_start = ABSOLUTE(.);
245 KEEP (*(.WindowVectors.text))
246 . = ALIGN (4);
247 _WindowVectors_text_end = ABSOLUTE(.);
248 _memmap_seg_iram0_1_end = ALIGN(0x8);
249 } >iram0_1_seg :iram0_1_phdr
250
251
252 .Level2InterruptVector.text : ALIGN(4)
253 {
254 _Level2InterruptVector_text_start = ABSOLUTE(.);
255 KEEP (*(.Level2InterruptVector.text))
256 . = ALIGN (4);
257 _Level2InterruptVector_text_end = ABSOLUTE(.);
258 _memmap_seg_iram0_2_end = ALIGN(0x8);
259 } >iram0_2_seg :iram0_2_phdr
260
261
262 .Level3InterruptVector.text : ALIGN(4)
263 {
264 _Level3InterruptVector_text_start = ABSOLUTE(.);
265 KEEP (*(.Level3InterruptVector.text))
266 . = ALIGN (4);
267 _Level3InterruptVector_text_end = ABSOLUTE(.);
268 _memmap_seg_iram0_3_end = ALIGN(0x8);
269 } >iram0_3_seg :iram0_3_phdr
270
271
272 .DebugExceptionVector.text : ALIGN(4)
273 {
274 _DebugExceptionVector_text_start = ABSOLUTE(.);
275 KEEP (*(.DebugExceptionVector.text))
276 . = ALIGN (4);
277 _DebugExceptionVector_text_end = ABSOLUTE(.);
278 _memmap_seg_iram0_4_end = ALIGN(0x8);
279 } >iram0_4_seg :iram0_4_phdr
280
281
282 .NMIExceptionVector.text : ALIGN(4)
283 {
284 _NMIExceptionVector_text_start = ABSOLUTE(.);
285 KEEP (*(.NMIExceptionVector.text))
286 . = ALIGN (4);
287 _NMIExceptionVector_text_end = ABSOLUTE(.);
288 _memmap_seg_iram0_5_end = ALIGN(0x8);
289 } >iram0_5_seg :iram0_5_phdr
290
291
292 .KernelExceptionVector.text : ALIGN(4)
293 {
294 _KernelExceptionVector_text_start = ABSOLUTE(.);
295 KEEP (*(.KernelExceptionVector.text))
296 . = ALIGN (4);
297 _KernelExceptionVector_text_end = ABSOLUTE(.);
298 _memmap_seg_iram0_6_end = ALIGN(0x8);
299 } >iram0_6_seg :iram0_6_phdr
300
301
302 .UserExceptionVector.text : ALIGN(4)
303 {
304 _UserExceptionVector_text_start = ABSOLUTE(.);
305 KEEP (*(.UserExceptionVector.text))
306 . = ALIGN (4);
307 _UserExceptionVector_text_end = ABSOLUTE(.);
308 _memmap_seg_iram0_7_end = ALIGN(0x8);
309 } >iram0_7_seg :iram0_7_phdr
310
311
312 .DoubleExceptionVector.text : ALIGN(4)
313 {
314 _DoubleExceptionVector_text_start = ABSOLUTE(.);
315 KEEP (*(.DoubleExceptionVector.text))
316 . = ALIGN (4);
317 _DoubleExceptionVector_text_end = ABSOLUTE(.);
318 } >iram0_8_seg :iram0_8_phdr
319
320 .iram0.text : ALIGN(4)
321 {
322 _iram0_text_start = ABSOLUTE(.);
323 *(.iram0.text)
324 *(.iram.text)
325 . = ALIGN (4);
326 _iram0_text_end = ABSOLUTE(.);
327 _memmap_seg_iram0_8_end = ALIGN(0x8);
328 } >iram0_8_seg :iram0_8_phdr
329
330
331 .sram.rodata : ALIGN(4)
332 {
333 _sram_rodata_start = ABSOLUTE(.);
334 *(.sram.rodata)
335 . = ALIGN (4);
336 _sram_rodata_end = ABSOLUTE(.);
337 } >dsp_core_seg :dsp_core_phdr
338
339 .clib.rodata : ALIGN(4)
340 {
341 _clib_rodata_start = ABSOLUTE(.);
342 *(.clib.rodata)
343 . = ALIGN (4);
344 _clib_rodata_end = ABSOLUTE(.);
345 } >dsp_core_seg :dsp_core_phdr
346
347 .rtos.rodata : ALIGN(4)
348 {
349 _rtos_rodata_start = ABSOLUTE(.);
350 *(.rtos.rodata)
351 . = ALIGN (4);
352 _rtos_rodata_end = ABSOLUTE(.);
353 } >dsp_core_seg :dsp_core_phdr
354
355 .rodata : ALIGN(4)
356 {
357 _rodata_start = ABSOLUTE(.);
358 *(.rodata)
359 *(SORT(.rodata.sort.*))
360 KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
361 *(.rodata.*)
362 *(.gnu.linkonce.r.*)
363 *(.rodata1)
364 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
365 KEEP (*(.xt_except_table))
366 KEEP (*(.gcc_except_table))
367 *(.gnu.linkonce.e.*)
368 *(.gnu.version_r)
369 KEEP (*(.eh_frame))
370 /* C++ constructor and destructor tables, properly ordered: */
371 KEEP (*crtbegin.o(.ctors))
372 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
373 KEEP (*(SORT(.ctors.*)))
374 KEEP (*(.ctors))
375 KEEP (*crtbegin.o(.dtors))
376 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
377 KEEP (*(SORT(.dtors.*)))
378 KEEP (*(.dtors))
379 /* C++ exception handlers table: */
380 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
381 *(.xt_except_desc)
382 *(.gnu.linkonce.h.*)
383 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
384 *(.xt_except_desc_end)
385 *(.dynamic)
386 *(.gnu.version_d)
387 . = ALIGN(4); /* this table MUST be 4-byte aligned */
388 _bss_table_start = ABSOLUTE(.);
389 LONG(_dram0_bss_start)
390 LONG(_dram0_bss_end)
391 LONG(_bss_start)
392 LONG(_bss_end)
393 _bss_table_end = ABSOLUTE(.);
394 . = ALIGN (4);
395 _rodata_end = ABSOLUTE(.);
396 } >dsp_core_seg :dsp_core_phdr
397
398 .sram.text : ALIGN(4)
399 {
400 _sram_text_start = ABSOLUTE(.);
401 *(.sram.literal .sram.text)
402 . = ALIGN (4);
403 _sram_text_end = ABSOLUTE(.);
404 } >dsp_core_seg :dsp_core_phdr
405
406 .text : ALIGN(4)
407 {
408 _stext = .;
409 _text_start = ABSOLUTE(.);
410 *(.entry.text)
411 *(.init.literal)
412 KEEP(*(.init))
413 *(.literal.sort.* SORT(.text.sort.*))
414 KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
415 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
416 *(.fini.literal)
417 KEEP(*(.fini))
418 *(.gnu.version)
419 . = ALIGN (4);
420 _text_end = ABSOLUTE(.);
421 _etext = .;
422 } >dsp_core_seg :dsp_core_phdr
423
424 .clib.text : ALIGN(4)
425 {
426 _clib_text_start = ABSOLUTE(.);
427 *(.clib.literal .clib.text)
428 . = ALIGN (4);
429 _clib_text_end = ABSOLUTE(.);
430 } >dsp_core_seg :dsp_core_phdr
431
432 .rtos.text : ALIGN(4)
433 {
434 _rtos_text_start = ABSOLUTE(.);
435 *(.rtos.literal .rtos.text)
436 . = ALIGN (4);
437 _rtos_text_end = ABSOLUTE(.);
438 } >dsp_core_seg :dsp_core_phdr
439
440 .clib.data : ALIGN(4)
441 {
442 _clib_data_start = ABSOLUTE(.);
443 *(.clib.data)
444 . = ALIGN (4);
445 _clib_data_end = ABSOLUTE(.);
446 } >dsp_core_seg :dsp_core_phdr
447
448 .clib.percpu.data : ALIGN(4)
449 {
450 _clib_percpu_data_start = ABSOLUTE(.);
451 *(.clib.percpu.data)
452 . = ALIGN (4);
453 _clib_percpu_data_end = ABSOLUTE(.);
454 } >dsp_core_seg :dsp_core_phdr
455
456 .rtos.percpu.data : ALIGN(4)
457 {
458 _rtos_percpu_data_start = ABSOLUTE(.);
459 *(.rtos.percpu.data)
460 . = ALIGN (4);
461 _rtos_percpu_data_end = ABSOLUTE(.);
462 } >dsp_core_seg :dsp_core_phdr
463
464 .rtos.data : ALIGN(4)
465 {
466 _rtos_data_start = ABSOLUTE(.);
467 *(.rtos.data)
468 . = ALIGN (4);
469 _rtos_data_end = ABSOLUTE(.);
470 } >dsp_core_seg :dsp_core_phdr
471
472 .sram.data : ALIGN(4)
473 {
474 _sram_data_start = ABSOLUTE(.);
475 *(.sram.data)
476 . = ALIGN (4);
477 _sram_data_end = ABSOLUTE(.);
478 } >dsp_core_seg :dsp_core_phdr
479
480 .data : ALIGN(4)
481 {
482 _data_start = ABSOLUTE(.);
483 *(.data)
484 *(SORT(.data.sort.*))
485 KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
486 *(.data.*)
487 *(.gnu.linkonce.d.*)
488 KEEP(*(.gnu.linkonce.d.*personality*))
489 *(.data1)
490 *(.sdata)
491 *(.sdata.*)
492 *(.gnu.linkonce.s.*)
493 *(.sdata2)
494 *(.sdata2.*)
495 *(.gnu.linkonce.s2.*)
496 KEEP(*(.jcr))
497 *(__llvm_prf_cnts)
498 *(__llvm_prf_data)
499 *(__llvm_prf_vnds)
500 . = ALIGN (4);
501 _data_end = ABSOLUTE(.);
502 } >dsp_core_seg :dsp_core_phdr
503
504 __llvm_prf_names : ALIGN(4)
505 {
506 __llvm_prf_names_start = ABSOLUTE(.);
507 *(__llvm_prf_names)
508 . = ALIGN (4);
509 __llvm_prf_names_end = ABSOLUTE(.);
510 } >dsp_core_seg :dsp_core_phdr
511
512 .bss (NOLOAD) : ALIGN(8)
513 {
514 . = ALIGN (8);
515 _bss_start = ABSOLUTE(.);
516 *(.dynsbss)
517 *(.sbss)
518 *(.sbss.*)
519 *(.gnu.linkonce.sb.*)
520 *(.scommon)
521 *(.sbss2)
522 *(.sbss2.*)
523 *(.gnu.linkonce.sb2.*)
524 *(.dynbss)
525 *(.bss)
526 *(SORT(.bss.sort.*))
527 KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
528 *(.bss.*)
529 *(.gnu.linkonce.b.*)
530 *(COMMON)
531 *(.clib.bss)
532 *(.clib.percpu.bss)
533 *(.rtos.percpu.bss)
534 *(.rtos.bss)
535 *(.sram.bss)
536 . = ALIGN (8);
537 _bss_end = ABSOLUTE(.);
538 _end = ALIGN(0x8);
539 PROVIDE(end = ALIGN(0x8));
540 _stack_sentry = ALIGN(0x8);
541 _memmap_seg_dsp_core_end = ALIGN(0x8);
542 } >dsp_core_seg :dsp_core_bss_phdr
543
544 PROVIDE(__stack = 0x480000);
545 _heap_sentry = 0x480000;
546 .debug 0 : { *(.debug) }
547 .line 0 : { *(.line) }
548 .debug_srcinfo 0 : { *(.debug_srcinfo) }
549 .debug_sfnames 0 : { *(.debug_sfnames) }
550 .debug_aranges 0 : { *(.debug_aranges) }
551 .debug_pubnames 0 : { *(.debug_pubnames) }
552 .debug_info 0 : { *(.debug_info) }
553 .debug_abbrev 0 : { *(.debug_abbrev) }
554 .debug_line 0 : { *(.debug_line) }
555 .debug_frame 0 : { *(.debug_frame) }
556 .debug_str 0 : { *(.debug_str) }
557 .debug_loc 0 : { *(.debug_loc) }
558 .debug_macinfo 0 : { *(.debug_macinfo) }
559 .debug_weaknames 0 : { *(.debug_weaknames) }
560 .debug_funcnames 0 : { *(.debug_funcnames) }
561 .debug_typenames 0 : { *(.debug_typenames) }
562 .debug_varnames 0 : { *(.debug_varnames) }
563 .xt.insn 0 :
564 {
565 KEEP (*(.xt.insn))
566 KEEP (*(.gnu.linkonce.x.*))
567 }
568 .xt.prop 0 :
569 {
570 KEEP (*(.xt.prop))
571 KEEP (*(.xt.prop.*))
572 KEEP (*(.gnu.linkonce.prop.*))
573 }
574 .xt.lit 0 :
575 {
576 KEEP (*(.xt.lit))
577 KEEP (*(.xt.lit.*))
578 KEEP (*(.gnu.linkonce.p.*))
579 }
580 .debug.xt.callgraph 0 :
581 {
582 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
583 }
584}
585
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xr b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xr
new file mode 100644
index 000000000..b710852b8
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xr
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/sim */
2/* Linker Script for ld -r or ld -i */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xu b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xu
new file mode 100644
index 000000000..9899e54d9
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/ldscripts/elf32xtensa.xu
@@ -0,0 +1,61 @@
1/* This linker script generated from xt-genldscripts.tpp for LSP C:/usr/xtensa/Xplorer-8.0.10-workspaces/XtensaInfo/Models/nxp_rt600_lowmem_memmap/sim */
2/* Linker Script for ld -Ur */
3
4
5SECTIONS
6{
7
8 .text 0 :
9 {
10 *(.literal .text)
11 }
12
13 .bss 0 :
14 {
15 *(.dynsbss)
16 *(.sbss)
17 *(.scommon)
18 *(.dynbss)
19 *(.bss)
20 *(COMMON)
21 }
22 .debug 0 : { *(.debug) }
23 .line 0 : { *(.line) }
24 .debug_srcinfo 0 : { *(.debug_srcinfo) }
25 .debug_sfnames 0 : { *(.debug_sfnames) }
26 .debug_aranges 0 : { *(.debug_aranges) }
27 .debug_pubnames 0 : { *(.debug_pubnames) }
28 .debug_info 0 : { *(.debug_info) }
29 .debug_abbrev 0 : { *(.debug_abbrev) }
30 .debug_line 0 : { *(.debug_line) }
31 .debug_frame 0 : { *(.debug_frame) }
32 .debug_str 0 : { *(.debug_str) }
33 .debug_loc 0 : { *(.debug_loc) }
34 .debug_macinfo 0 : { *(.debug_macinfo) }
35 .debug_weaknames 0 : { *(.debug_weaknames) }
36 .debug_funcnames 0 : { *(.debug_funcnames) }
37 .debug_typenames 0 : { *(.debug_typenames) }
38 .debug_varnames 0 : { *(.debug_varnames) }
39 .xt.insn 0 :
40 {
41 KEEP (*(.xt.insn))
42 KEEP (*(.gnu.linkonce.x.*))
43 }
44 .xt.prop 0 :
45 {
46 KEEP (*(.xt.prop))
47 KEEP (*(.xt.prop.*))
48 KEEP (*(.gnu.linkonce.prop.*))
49 }
50 .xt.lit 0 :
51 {
52 KEEP (*(.xt.lit))
53 KEEP (*(.xt.lit.*))
54 KEEP (*(.gnu.linkonce.p.*))
55 }
56 .debug.xt.callgraph 0 :
57 {
58 KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
59 }
60}
61
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/memmap.xmm b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/memmap.xmm
new file mode 100644
index 000000000..a21c5be30
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/memmap.xmm
@@ -0,0 +1,78 @@
1// Memory map file to generate linker scripts for programs run on the ISS.
2
3// Customer ID=13270; Build=0x802a5; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
4//
5// Permission is hereby granted, free of charge, to any person obtaining
6// a copy of this software and associated documentation files (the
7// "Software"), to deal in the Software without restriction, including
8// without limitation the rights to use, copy, modify, merge, publish,
9// distribute, sublicense, and/or sell copies of the Software, and to
10// permit persons to whom the Software is furnished to do so, subject to
11// the following conditions:
12//
13// The above copyright notice and this permission notice shall be included
14// in all copies or substantial portions of the Software.
15//
16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
24
25// A memory map is a sequence of memory descriptions and
26// optional parameter assignments.
27//
28// Each memory description has the following format:
29// BEGIN <name>
30// <addr> [,<paddr>] : <mem-type> : <mem-name> : <size> [,<psize>]
31// : [writable] [,executable] [,device] ;
32// <segment>*
33// END <name>
34//
35// where each <segment> description has the following format:
36// <seg-name> : F|C : <start-addr> - <end-addr> [ : STACK ] [ : HEAP ]
37// : <section-name>* ;
38//
39// Each parameter assignment is a keyword/value pair in the following format:
40// <keyword> = <value> (no spaces in <value>)
41// or
42// <keyword> = "<value>" (spaces allowed in <value>)
43//
44// The following primitives are also defined:
45// PLACE SECTIONS( <section-name>* ) { WITH_SECTION(<section-name>)
46// | IN_SEGMENT(<seg-name>) }
47//
48// NOLOAD <section-name1> [ <section-name2> ... ]
49//
50// Please refer to the Xtensa LSP Reference Manual for more details.
51//
52
53BEGIN sram
540x0: sysram : sram : 0x480000 : executable, writable ;
55 dsp_core : C : 0x300000 - 0x47ffff : STACK : HEAP : .sram.rodata .clib.rodata .rtos.rodata .rodata .sram.literal .literal .rtos.literal .clib.literal .sram.text .text .clib.text .rtos.text .clib.data .clib.percpu.data .rtos.percpu.data .rtos.data .sram.data .data __llvm_prf_names .clib.bss .clib.percpu.bss .rtos.percpu.bss .rtos.bss .sram.bss .bss;
56END sram
57
58BEGIN dram0
590x24000000: dataRam : dram0 : 0x10000 : writable ;
60 dram0_0 : C : 0x24000000 - 0x2400ffff : .dram0.rodata .ResetVector.literal .Level2InterruptVector.literal .Level3InterruptVector.literal .DebugExceptionVector.literal .NMIExceptionVector.literal .KernelExceptionVector.literal .UserExceptionVector.literal .DoubleExceptionVector.literal .iram0.literal .dram0.data .dram0.bss;
61END dram0
62
63BEGIN iram0
640x24020000: instRam : iram0 : 0x10000 : executable, writable ;
65 iram0_0 : F : 0x24020000 - 0x240203ff : .ResetVector.text .ResetHandler.literal .ResetHandler.text;
66 iram0_1 : F : 0x24020400 - 0x2402057b : .WindowVectors.text;
67 iram0_2 : F : 0x2402057c - 0x2402059b : .Level2InterruptVector.text;
68 iram0_3 : F : 0x2402059c - 0x240205bb : .Level3InterruptVector.text;
69 iram0_4 : F : 0x240205bc - 0x240205db : .DebugExceptionVector.text;
70 iram0_5 : F : 0x240205dc - 0x240205fb : .NMIExceptionVector.text;
71 iram0_6 : F : 0x240205fc - 0x2402061b : .KernelExceptionVector.text;
72 iram0_7 : F : 0x2402061c - 0x2402063b : .UserExceptionVector.text;
73 iram0_8 : F : 0x2402063c - 0x2402ffff : .DoubleExceptionVector.text .iram0.text;
74END iram0
75BEGIN sram_uncached
760x20000000: sysram : sram_uncached : 0x480000 : writable ;
77 dsp_uncached : C : 0x20040000 - 0x2007ffff : NonCacheable.init NonCacheable;
78END sram_uncached \ No newline at end of file
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/specs b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/specs
new file mode 100644
index 000000000..0547d65a3
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/xtensa_lowmem/sim/specs
@@ -0,0 +1,36 @@
1# Customer ID=13270; Build=0x802a5; Copyright (c) 2004-2015 Cadence Design Systems, Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining
4# a copy of this software and associated documentation files (the
5# "Software"), to deal in the Software without restriction, including
6# without limitation the rights to use, copy, modify, merge, publish,
7# distribute, sublicense, and/or sell copies of the Software, and to
8# permit persons to whom the Software is furnished to do so, subject to
9# the following conditions:
10#
11# The above copyright notice and this permission notice shall be included
12# in all copies or substantial portions of the Software.
13#
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
23# The %O suffix on the start and end files indicates that the system's
24# standard suffix for object files (e.g., ".o") should be appended.
25# The %s suffix tells the compiler driver to search for the file in the
26# list of known locations for startfiles.
27
28*startfile:
29crt1-sim%O%s crti%O%s crtbegin%O%s _sharedvectors%O%s _vectors%O%s
30
31*endfile:
32crtend%O%s crtn%O%s
33
34*lib:
35-lc -lsim -lc -lhandler-reset -lhandlers-sim -lhal -lc
36