1 /**
2  * @file    ha_regs.h
3  * @brief   Registers, Bit Masks and Bit Positions for the HA Peripheral Module.
4  * @note    This file is @generated.
5  */
6 
7 /******************************************************************************
8  *
9  * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
10  * Analog Devices, Inc.),
11  * Copyright (C) 2023-2024 Analog Devices, Inc.
12  *
13  * Licensed under the Apache License, Version 2.0 (the "License");
14  * you may not use this file except in compliance with the License.
15  * You may obtain a copy of the License at
16  *
17  *     http://www.apache.org/licenses/LICENSE-2.0
18  *
19  * Unless required by applicable law or agreed to in writing, software
20  * distributed under the License is distributed on an "AS IS" BASIS,
21  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22  * See the License for the specific language governing permissions and
23  * limitations under the License.
24  *
25  ******************************************************************************/
26 
27 #ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32570_INCLUDE_HA_REGS_H_
28 #define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32570_INCLUDE_HA_REGS_H_
29 
30 /* **** Includes **** */
31 #include <stdint.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #if defined (__ICCARM__)
38   #pragma system_include
39 #endif
40 
41 #if defined (__CC_ARM)
42   #pragma anon_unions
43 #endif
44 /// @cond
45 /*
46     If types are not defined elsewhere (CMSIS) define them here
47 */
48 #ifndef __IO
49 #define __IO volatile
50 #endif
51 #ifndef __I
52 #define __I  volatile const
53 #endif
54 #ifndef __O
55 #define __O  volatile
56 #endif
57 #ifndef __R
58 #define __R  volatile const
59 #endif
60 /// @endcond
61 
62 /* **** Definitions **** */
63 
64 /**
65  * @ingroup     ha
66  * @defgroup    ha_registers HA_Registers
67  * @brief       Registers, Bit Masks and Bit Positions for the HA Peripheral Module.
68  * @details     Hardware Accelerator
69  */
70 
71 /**
72  * @ingroup ha_registers
73  * Structure type to access the HA Registers.
74  */
75 typedef struct {
76     __I  uint32_t ip;                   /**< <tt>\b 0x00:</tt> HA IP Register */
77     __I  uint32_t sp;                   /**< <tt>\b 0x04:</tt> HA SP Register */
78     __I  uint32_t dp0;                  /**< <tt>\b 0x08:</tt> HA DP0 Register */
79     __I  uint32_t dp1;                  /**< <tt>\b 0x0C:</tt> HA DP1 Register */
80     __I  uint32_t bp;                   /**< <tt>\b 0x10:</tt> HA BP Register */
81     __I  uint32_t offs;                 /**< <tt>\b 0x14:</tt> HA OFFS Register */
82     __I  uint32_t lc0;                  /**< <tt>\b 0x18:</tt> HA LC0 Register */
83     __I  uint32_t lc1;                  /**< <tt>\b 0x1C:</tt> HA LC1 Register */
84     __I  uint32_t a0;                   /**< <tt>\b 0x20:</tt> HA A0 Register */
85     __I  uint32_t a1;                   /**< <tt>\b 0x24:</tt> HA A1 Register */
86     __I  uint32_t a2;                   /**< <tt>\b 0x28:</tt> HA A2 Register */
87     __I  uint32_t a3;                   /**< <tt>\b 0x2C:</tt> HA A3 Register */
88     __I  uint32_t wdcn;                 /**< <tt>\b 0x30:</tt> HA WDCN Register */
89     __R  uint32_t rsv_0x34_0x7f[19];
90     __IO uint32_t int_mux_ctrl0;        /**< <tt>\b 0x80:</tt> HA INT_MUX_CTRL0 Register */
91     __IO uint32_t int_mux_ctrl1;        /**< <tt>\b 0x84:</tt> HA INT_MUX_CTRL1 Register */
92     __IO uint32_t int_mux_ctrl2;        /**< <tt>\b 0x88:</tt> HA INT_MUX_CTRL2 Register */
93     __IO uint32_t int_mux_ctrl3;        /**< <tt>\b 0x8C:</tt> HA INT_MUX_CTRL3 Register */
94     __IO uint32_t ip_addr;              /**< <tt>\b 0x90:</tt> HA IP_ADDR Register */
95     __IO uint32_t ctrl;                 /**< <tt>\b 0x94:</tt> HA CTRL Register */
96     __R  uint32_t rsv_0x98_0x9f[2];
97     __IO uint32_t int_in_ctrl;          /**< <tt>\b 0xA0:</tt> HA INT_IN_CTRL Register */
98     __IO uint32_t int_in_flag;          /**< <tt>\b 0xA4:</tt> HA INT_IN_FLAG Register */
99     __IO uint32_t int_in_ie;            /**< <tt>\b 0xA8:</tt> HA INT_IN_IE Register */
100     __R  uint32_t rsv_0xac;
101     __IO uint32_t irq_flag;             /**< <tt>\b 0xB0:</tt> HA IRQ_FLAG Register */
102     __IO uint32_t irq_ie;               /**< <tt>\b 0xB4:</tt> HA IRQ_IE Register */
103 } mxc_ha_regs_t;
104 
105 /* Register offsets for module HA */
106 /**
107  * @ingroup    ha_registers
108  * @defgroup   HA_Register_Offsets Register Offsets
109  * @brief      HA Peripheral Register Offsets from the HA Base Peripheral Address.
110  * @{
111  */
112 #define MXC_R_HA_IP                        ((uint32_t)0x00000000UL) /**< Offset from HA Base Address: <tt> 0x0000</tt> */
113 #define MXC_R_HA_SP                        ((uint32_t)0x00000004UL) /**< Offset from HA Base Address: <tt> 0x0004</tt> */
114 #define MXC_R_HA_DP0                       ((uint32_t)0x00000008UL) /**< Offset from HA Base Address: <tt> 0x0008</tt> */
115 #define MXC_R_HA_DP1                       ((uint32_t)0x0000000CUL) /**< Offset from HA Base Address: <tt> 0x000C</tt> */
116 #define MXC_R_HA_BP                        ((uint32_t)0x00000010UL) /**< Offset from HA Base Address: <tt> 0x0010</tt> */
117 #define MXC_R_HA_OFFS                      ((uint32_t)0x00000014UL) /**< Offset from HA Base Address: <tt> 0x0014</tt> */
118 #define MXC_R_HA_LC0                       ((uint32_t)0x00000018UL) /**< Offset from HA Base Address: <tt> 0x0018</tt> */
119 #define MXC_R_HA_LC1                       ((uint32_t)0x0000001CUL) /**< Offset from HA Base Address: <tt> 0x001C</tt> */
120 #define MXC_R_HA_A0                        ((uint32_t)0x00000020UL) /**< Offset from HA Base Address: <tt> 0x0020</tt> */
121 #define MXC_R_HA_A1                        ((uint32_t)0x00000024UL) /**< Offset from HA Base Address: <tt> 0x0024</tt> */
122 #define MXC_R_HA_A2                        ((uint32_t)0x00000028UL) /**< Offset from HA Base Address: <tt> 0x0028</tt> */
123 #define MXC_R_HA_A3                        ((uint32_t)0x0000002CUL) /**< Offset from HA Base Address: <tt> 0x002C</tt> */
124 #define MXC_R_HA_WDCN                      ((uint32_t)0x00000030UL) /**< Offset from HA Base Address: <tt> 0x0030</tt> */
125 #define MXC_R_HA_INT_MUX_CTRL0             ((uint32_t)0x00000080UL) /**< Offset from HA Base Address: <tt> 0x0080</tt> */
126 #define MXC_R_HA_INT_MUX_CTRL1             ((uint32_t)0x00000084UL) /**< Offset from HA Base Address: <tt> 0x0084</tt> */
127 #define MXC_R_HA_INT_MUX_CTRL2             ((uint32_t)0x00000088UL) /**< Offset from HA Base Address: <tt> 0x0088</tt> */
128 #define MXC_R_HA_INT_MUX_CTRL3             ((uint32_t)0x0000008CUL) /**< Offset from HA Base Address: <tt> 0x008C</tt> */
129 #define MXC_R_HA_IP_ADDR                   ((uint32_t)0x00000090UL) /**< Offset from HA Base Address: <tt> 0x0090</tt> */
130 #define MXC_R_HA_CTRL                      ((uint32_t)0x00000094UL) /**< Offset from HA Base Address: <tt> 0x0094</tt> */
131 #define MXC_R_HA_INT_IN_CTRL               ((uint32_t)0x000000A0UL) /**< Offset from HA Base Address: <tt> 0x00A0</tt> */
132 #define MXC_R_HA_INT_IN_FLAG               ((uint32_t)0x000000A4UL) /**< Offset from HA Base Address: <tt> 0x00A4</tt> */
133 #define MXC_R_HA_INT_IN_IE                 ((uint32_t)0x000000A8UL) /**< Offset from HA Base Address: <tt> 0x00A8</tt> */
134 #define MXC_R_HA_IRQ_FLAG                  ((uint32_t)0x000000B0UL) /**< Offset from HA Base Address: <tt> 0x00B0</tt> */
135 #define MXC_R_HA_IRQ_IE                    ((uint32_t)0x000000B4UL) /**< Offset from HA Base Address: <tt> 0x00B4</tt> */
136 /**@} end of group ha_registers */
137 
138 /**
139  * @ingroup  ha_registers
140  * @defgroup HA_INT_MUX_CTRL0 HA_INT_MUX_CTRL0
141  * @brief    Interrupt Mux Control 0.
142  * @{
143  */
144 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL16_POS            0 /**< INT_MUX_CTRL0_INTSEL16 Position */
145 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL16                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL0_INTSEL16_POS)) /**< INT_MUX_CTRL0_INTSEL16 Mask */
146 
147 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL17_POS            8 /**< INT_MUX_CTRL0_INTSEL17 Position */
148 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL17                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL0_INTSEL17_POS)) /**< INT_MUX_CTRL0_INTSEL17 Mask */
149 
150 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL18_POS            16 /**< INT_MUX_CTRL0_INTSEL18 Position */
151 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL18                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL0_INTSEL18_POS)) /**< INT_MUX_CTRL0_INTSEL18 Mask */
152 
153 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL19_POS            24 /**< INT_MUX_CTRL0_INTSEL19 Position */
154 #define MXC_F_HA_INT_MUX_CTRL0_INTSEL19                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL0_INTSEL19_POS)) /**< INT_MUX_CTRL0_INTSEL19 Mask */
155 
156 /**@} end of group HA_INT_MUX_CTRL0_Register */
157 
158 /**
159  * @ingroup  ha_registers
160  * @defgroup HA_INT_MUX_CTRL1 HA_INT_MUX_CTRL1
161  * @brief    Interrupt Mux Control 1.
162  * @{
163  */
164 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL20_POS            0 /**< INT_MUX_CTRL1_INTSEL20 Position */
165 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL20                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL1_INTSEL20_POS)) /**< INT_MUX_CTRL1_INTSEL20 Mask */
166 
167 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL21_POS            8 /**< INT_MUX_CTRL1_INTSEL21 Position */
168 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL21                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL1_INTSEL21_POS)) /**< INT_MUX_CTRL1_INTSEL21 Mask */
169 
170 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL22_POS            16 /**< INT_MUX_CTRL1_INTSEL22 Position */
171 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL22                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL1_INTSEL22_POS)) /**< INT_MUX_CTRL1_INTSEL22 Mask */
172 
173 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL23_POS            24 /**< INT_MUX_CTRL1_INTSEL23 Position */
174 #define MXC_F_HA_INT_MUX_CTRL1_INTSEL23                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL1_INTSEL23_POS)) /**< INT_MUX_CTRL1_INTSEL23 Mask */
175 
176 /**@} end of group HA_INT_MUX_CTRL1_Register */
177 
178 /**
179  * @ingroup  ha_registers
180  * @defgroup HA_INT_MUX_CTRL2 HA_INT_MUX_CTRL2
181  * @brief    Interrupt Mux Control 2.
182  * @{
183  */
184 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL24_POS            0 /**< INT_MUX_CTRL2_INTSEL24 Position */
185 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL24                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL2_INTSEL24_POS)) /**< INT_MUX_CTRL2_INTSEL24 Mask */
186 
187 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL25_POS            8 /**< INT_MUX_CTRL2_INTSEL25 Position */
188 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL25                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL2_INTSEL25_POS)) /**< INT_MUX_CTRL2_INTSEL25 Mask */
189 
190 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL26_POS            16 /**< INT_MUX_CTRL2_INTSEL26 Position */
191 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL26                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL2_INTSEL26_POS)) /**< INT_MUX_CTRL2_INTSEL26 Mask */
192 
193 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL27_POS            24 /**< INT_MUX_CTRL2_INTSEL27 Position */
194 #define MXC_F_HA_INT_MUX_CTRL2_INTSEL27                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL2_INTSEL27_POS)) /**< INT_MUX_CTRL2_INTSEL27 Mask */
195 
196 /**@} end of group HA_INT_MUX_CTRL2_Register */
197 
198 /**
199  * @ingroup  ha_registers
200  * @defgroup HA_INT_MUX_CTRL3 HA_INT_MUX_CTRL3
201  * @brief    Interrupt Mux Control 3.
202  * @{
203  */
204 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL28_POS            0 /**< INT_MUX_CTRL3_INTSEL28 Position */
205 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL28                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL3_INTSEL28_POS)) /**< INT_MUX_CTRL3_INTSEL28 Mask */
206 
207 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL29_POS            8 /**< INT_MUX_CTRL3_INTSEL29 Position */
208 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL29                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL3_INTSEL29_POS)) /**< INT_MUX_CTRL3_INTSEL29 Mask */
209 
210 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL30_POS            16 /**< INT_MUX_CTRL3_INTSEL30 Position */
211 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL30                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL3_INTSEL30_POS)) /**< INT_MUX_CTRL3_INTSEL30 Mask */
212 
213 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL31_POS            24 /**< INT_MUX_CTRL3_INTSEL31 Position */
214 #define MXC_F_HA_INT_MUX_CTRL3_INTSEL31                ((uint32_t)(0xFFUL << MXC_F_HA_INT_MUX_CTRL3_INTSEL31_POS)) /**< INT_MUX_CTRL3_INTSEL31 Mask */
215 
216 /**@} end of group HA_INT_MUX_CTRL3_Register */
217 
218 /**
219  * @ingroup  ha_registers
220  * @defgroup HA_IP_ADDR HA_IP_ADDR
221  * @brief    Configurable starting IP address for Q30E.
222  * @{
223  */
224 #define MXC_F_HA_IP_ADDR_START_IP_ADDR_POS             0 /**< IP_ADDR_START_IP_ADDR Position */
225 #define MXC_F_HA_IP_ADDR_START_IP_ADDR                 ((uint32_t)(0xFFFFFFFFUL << MXC_F_HA_IP_ADDR_START_IP_ADDR_POS)) /**< IP_ADDR_START_IP_ADDR Mask */
226 
227 /**@} end of group HA_IP_ADDR_Register */
228 
229 /**
230  * @ingroup  ha_registers
231  * @defgroup HA_CTRL HA_CTRL
232  * @brief    Control Register.
233  * @{
234  */
235 #define MXC_F_HA_CTRL_EN_POS                           0 /**< CTRL_EN Position */
236 #define MXC_F_HA_CTRL_EN                               ((uint32_t)(0x1UL << MXC_F_HA_CTRL_EN_POS)) /**< CTRL_EN Mask */
237 
238 /**@} end of group HA_CTRL_Register */
239 
240 /**
241  * @ingroup  ha_registers
242  * @defgroup HA_INT_IN_CTRL HA_INT_IN_CTRL
243  * @brief    Interrupt Input From CPU Control Register.
244  * @{
245  */
246 #define MXC_F_HA_INT_IN_CTRL_INTSET_POS                0 /**< INT_IN_CTRL_INTSET Position */
247 #define MXC_F_HA_INT_IN_CTRL_INTSET                    ((uint32_t)(0x1UL << MXC_F_HA_INT_IN_CTRL_INTSET_POS)) /**< INT_IN_CTRL_INTSET Mask */
248 
249 /**@} end of group HA_INT_IN_CTRL_Register */
250 
251 /**
252  * @ingroup  ha_registers
253  * @defgroup HA_INT_IN_FLAG HA_INT_IN_FLAG
254  * @brief    Interrupt Input From CPU Flag.
255  * @{
256  */
257 #define MXC_F_HA_INT_IN_FLAG_INTFLAG_POS               0 /**< INT_IN_FLAG_INTFLAG Position */
258 #define MXC_F_HA_INT_IN_FLAG_INTFLAG                   ((uint32_t)(0x1UL << MXC_F_HA_INT_IN_FLAG_INTFLAG_POS)) /**< INT_IN_FLAG_INTFLAG Mask */
259 
260 /**@} end of group HA_INT_IN_FLAG_Register */
261 
262 /**
263  * @ingroup  ha_registers
264  * @defgroup HA_INT_IN_IE HA_INT_IN_IE
265  * @brief    Interrupt Input From CPU Enable.
266  * @{
267  */
268 #define MXC_F_HA_INT_IN_IE_INT_IN_EN_POS               0 /**< INT_IN_IE_INT_IN_EN Position */
269 #define MXC_F_HA_INT_IN_IE_INT_IN_EN                   ((uint32_t)(0x1UL << MXC_F_HA_INT_IN_IE_INT_IN_EN_POS)) /**< INT_IN_IE_INT_IN_EN Mask */
270 
271 /**@} end of group HA_INT_IN_IE_Register */
272 
273 /**
274  * @ingroup  ha_registers
275  * @defgroup HA_IRQ_FLAG HA_IRQ_FLAG
276  * @brief    Interrupt Output To CPU Flag.
277  * @{
278  */
279 #define MXC_F_HA_IRQ_FLAG_IRQ_FLAG_POS                 0 /**< IRQ_FLAG_IRQ_FLAG Position */
280 #define MXC_F_HA_IRQ_FLAG_IRQ_FLAG                     ((uint32_t)(0x1UL << MXC_F_HA_IRQ_FLAG_IRQ_FLAG_POS)) /**< IRQ_FLAG_IRQ_FLAG Mask */
281 
282 /**@} end of group HA_IRQ_FLAG_Register */
283 
284 /**
285  * @ingroup  ha_registers
286  * @defgroup HA_IRQ_IE HA_IRQ_IE
287  * @brief    Interrupt Output To CPU Control Register.
288  * @{
289  */
290 #define MXC_F_HA_IRQ_IE_IRQ_EN_POS                     0 /**< IRQ_IE_IRQ_EN Position */
291 #define MXC_F_HA_IRQ_IE_IRQ_EN                         ((uint32_t)(0x1UL << MXC_F_HA_IRQ_IE_IRQ_EN_POS)) /**< IRQ_IE_IRQ_EN Mask */
292 
293 /**@} end of group HA_IRQ_IE_Register */
294 
295 #ifdef __cplusplus
296 }
297 #endif
298 
299 #endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32570_INCLUDE_HA_REGS_H_
300