1 /***************************************************************************//**
2 * \file cyip_gpio.h
3 *
4 * \brief
5 * GPIO IP definitions
6 *
7 ********************************************************************************
8 * \copyright
9 * (c) (2016-2024), Cypress Semiconductor Corporation (an Infineon company) or
10 * an affiliate of Cypress Semiconductor Corporation.
11 *
12 * SPDX-License-Identifier: Apache-2.0
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 *     http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 *******************************************************************************/
26 
27 #ifndef _CYIP_GPIO_H_
28 #define _CYIP_GPIO_H_
29 
30 #include "cyip_headers.h"
31 
32 /*******************************************************************************
33 *                                     GPIO
34 *******************************************************************************/
35 
36 #define GPIO_PRT_SECTION_SIZE                   0x00000080UL
37 #define GPIO_SECTION_SIZE                       0x00010000UL
38 
39 /**
40   * \brief GPIO port registers (GPIO_PRT)
41   */
42 typedef struct {
43   __IOM uint32_t OUT;                           /*!< 0x00000000 Port output data register */
44   __IOM uint32_t OUT_CLR;                       /*!< 0x00000004 Port output data clear register */
45   __IOM uint32_t OUT_SET;                       /*!< 0x00000008 Port output data set register */
46   __IOM uint32_t OUT_INV;                       /*!< 0x0000000C Port output data invert register */
47    __IM uint32_t IN;                            /*!< 0x00000010 Port input state register */
48   __IOM uint32_t INTR;                          /*!< 0x00000014 Port interrupt status register */
49   __IOM uint32_t INTR_MASK;                     /*!< 0x00000018 Port interrupt mask register */
50    __IM uint32_t INTR_MASKED;                   /*!< 0x0000001C Port interrupt masked status register */
51   __IOM uint32_t INTR_SET;                      /*!< 0x00000020 Port interrupt set register */
52    __IM uint32_t RESERVED[7];
53   __IOM uint32_t INTR_CFG;                      /*!< 0x00000040 Port interrupt configuration register */
54   __IOM uint32_t CFG;                           /*!< 0x00000044 Port configuration register */
55   __IOM uint32_t CFG_IN;                        /*!< 0x00000048 Port input buffer configuration register */
56   __IOM uint32_t CFG_OUT;                       /*!< 0x0000004C Port output buffer configuration register */
57   __IOM uint32_t CFG_SIO;                       /*!< 0x00000050 Port SIO configuration register */
58    __IM uint32_t RESERVED1;
59   __IOM uint32_t CFG_IN_AUTOLVL;                /*!< 0x00000058 Port input buffer AUTOLVL configuration register for S40E GPIO */
60    __IM uint32_t RESERVED2;
61   __IOM uint32_t CFG_OUT2;                      /*!< 0x00000060 Port output buffer configuration register 2 */
62   __IOM uint32_t CFG_SLEW_EXT;                  /*!< 0x00000064 Port output buffer slew extension configuration register */
63   __IOM uint32_t CFG_DRIVE_EXT0;                /*!< 0x00000068 Port output buffer drive sel extension configuration register */
64   __IOM uint32_t CFG_DRIVE_EXT1;                /*!< 0x0000006C Port output buffer drive sel extension configuration register */
65    __IM uint32_t RESERVED3[4];
66 } GPIO_PRT_Type;                                /*!< Size = 128 (0x80) */
67 
68 /**
69   * \brief IO port control/configuration (GPIO)
70   */
71 typedef struct {
72         GPIO_PRT_Type PRT[128];                 /*!< 0x00000000 GPIO port registers */
73    __IM uint32_t RESERVED[3072];
74    __IM uint32_t SEC_INTR_CAUSE0;               /*!< 0x00007000 Secure Interrupt port cause register 0 */
75    __IM uint32_t SEC_INTR_CAUSE1;               /*!< 0x00007004 Secure Interrupt port cause register 1 */
76    __IM uint32_t SEC_INTR_CAUSE2;               /*!< 0x00007008 Secure Interrupt port cause register 2 */
77    __IM uint32_t SEC_INTR_CAUSE3;               /*!< 0x0000700C Secure Interrupt port cause register 3 */
78    __IM uint32_t RESERVED1[1020];
79    __IM uint32_t INTR_CAUSE0;                   /*!< 0x00008000 Interrupt port cause register 0 */
80    __IM uint32_t INTR_CAUSE1;                   /*!< 0x00008004 Interrupt port cause register 1 */
81    __IM uint32_t INTR_CAUSE2;                   /*!< 0x00008008 Interrupt port cause register 2 */
82    __IM uint32_t INTR_CAUSE3;                   /*!< 0x0000800C Interrupt port cause register 3 */
83    __IM uint32_t VDD_ACTIVE;                    /*!< 0x00008010 Extern power supply detection register */
84   __IOM uint32_t VDD_INTR;                      /*!< 0x00008014 Supply detection interrupt register */
85   __IOM uint32_t VDD_INTR_MASK;                 /*!< 0x00008018 Supply detection interrupt mask register */
86    __IM uint32_t VDD_INTR_MASKED;               /*!< 0x0000801C Supply detection interrupt masked register */
87   __IOM uint32_t VDD_INTR_SET;                  /*!< 0x00008020 Supply detection interrupt set register */
88    __IM uint32_t VDD_PWRSW_STATUS;              /*!< 0x00008024 Power switch status */
89    __IM uint32_t RESERVED2[54];
90   __IOM uint32_t VDD_PWRSW_CTL;                 /*!< 0x00008100 Power Switch control */
91   __IOM uint32_t VDD_MODE_SEL;                  /*!< 0x00008104 Supply mode select for 3.3V domains */
92 } GPIO_Type;                                    /*!< Size = 33032 (0x8108) */
93 
94 
95 /* GPIO_PRT.OUT */
96 #define GPIO_PRT_OUT_OUT0_Pos                   0UL
97 #define GPIO_PRT_OUT_OUT0_Msk                   0x1UL
98 #define GPIO_PRT_OUT_OUT1_Pos                   1UL
99 #define GPIO_PRT_OUT_OUT1_Msk                   0x2UL
100 #define GPIO_PRT_OUT_OUT2_Pos                   2UL
101 #define GPIO_PRT_OUT_OUT2_Msk                   0x4UL
102 #define GPIO_PRT_OUT_OUT3_Pos                   3UL
103 #define GPIO_PRT_OUT_OUT3_Msk                   0x8UL
104 #define GPIO_PRT_OUT_OUT4_Pos                   4UL
105 #define GPIO_PRT_OUT_OUT4_Msk                   0x10UL
106 #define GPIO_PRT_OUT_OUT5_Pos                   5UL
107 #define GPIO_PRT_OUT_OUT5_Msk                   0x20UL
108 #define GPIO_PRT_OUT_OUT6_Pos                   6UL
109 #define GPIO_PRT_OUT_OUT6_Msk                   0x40UL
110 #define GPIO_PRT_OUT_OUT7_Pos                   7UL
111 #define GPIO_PRT_OUT_OUT7_Msk                   0x80UL
112 /* GPIO_PRT.OUT_CLR */
113 #define GPIO_PRT_OUT_CLR_OUT0_Pos               0UL
114 #define GPIO_PRT_OUT_CLR_OUT0_Msk               0x1UL
115 #define GPIO_PRT_OUT_CLR_OUT1_Pos               1UL
116 #define GPIO_PRT_OUT_CLR_OUT1_Msk               0x2UL
117 #define GPIO_PRT_OUT_CLR_OUT2_Pos               2UL
118 #define GPIO_PRT_OUT_CLR_OUT2_Msk               0x4UL
119 #define GPIO_PRT_OUT_CLR_OUT3_Pos               3UL
120 #define GPIO_PRT_OUT_CLR_OUT3_Msk               0x8UL
121 #define GPIO_PRT_OUT_CLR_OUT4_Pos               4UL
122 #define GPIO_PRT_OUT_CLR_OUT4_Msk               0x10UL
123 #define GPIO_PRT_OUT_CLR_OUT5_Pos               5UL
124 #define GPIO_PRT_OUT_CLR_OUT5_Msk               0x20UL
125 #define GPIO_PRT_OUT_CLR_OUT6_Pos               6UL
126 #define GPIO_PRT_OUT_CLR_OUT6_Msk               0x40UL
127 #define GPIO_PRT_OUT_CLR_OUT7_Pos               7UL
128 #define GPIO_PRT_OUT_CLR_OUT7_Msk               0x80UL
129 /* GPIO_PRT.OUT_SET */
130 #define GPIO_PRT_OUT_SET_OUT0_Pos               0UL
131 #define GPIO_PRT_OUT_SET_OUT0_Msk               0x1UL
132 #define GPIO_PRT_OUT_SET_OUT1_Pos               1UL
133 #define GPIO_PRT_OUT_SET_OUT1_Msk               0x2UL
134 #define GPIO_PRT_OUT_SET_OUT2_Pos               2UL
135 #define GPIO_PRT_OUT_SET_OUT2_Msk               0x4UL
136 #define GPIO_PRT_OUT_SET_OUT3_Pos               3UL
137 #define GPIO_PRT_OUT_SET_OUT3_Msk               0x8UL
138 #define GPIO_PRT_OUT_SET_OUT4_Pos               4UL
139 #define GPIO_PRT_OUT_SET_OUT4_Msk               0x10UL
140 #define GPIO_PRT_OUT_SET_OUT5_Pos               5UL
141 #define GPIO_PRT_OUT_SET_OUT5_Msk               0x20UL
142 #define GPIO_PRT_OUT_SET_OUT6_Pos               6UL
143 #define GPIO_PRT_OUT_SET_OUT6_Msk               0x40UL
144 #define GPIO_PRT_OUT_SET_OUT7_Pos               7UL
145 #define GPIO_PRT_OUT_SET_OUT7_Msk               0x80UL
146 /* GPIO_PRT.OUT_INV */
147 #define GPIO_PRT_OUT_INV_OUT0_Pos               0UL
148 #define GPIO_PRT_OUT_INV_OUT0_Msk               0x1UL
149 #define GPIO_PRT_OUT_INV_OUT1_Pos               1UL
150 #define GPIO_PRT_OUT_INV_OUT1_Msk               0x2UL
151 #define GPIO_PRT_OUT_INV_OUT2_Pos               2UL
152 #define GPIO_PRT_OUT_INV_OUT2_Msk               0x4UL
153 #define GPIO_PRT_OUT_INV_OUT3_Pos               3UL
154 #define GPIO_PRT_OUT_INV_OUT3_Msk               0x8UL
155 #define GPIO_PRT_OUT_INV_OUT4_Pos               4UL
156 #define GPIO_PRT_OUT_INV_OUT4_Msk               0x10UL
157 #define GPIO_PRT_OUT_INV_OUT5_Pos               5UL
158 #define GPIO_PRT_OUT_INV_OUT5_Msk               0x20UL
159 #define GPIO_PRT_OUT_INV_OUT6_Pos               6UL
160 #define GPIO_PRT_OUT_INV_OUT6_Msk               0x40UL
161 #define GPIO_PRT_OUT_INV_OUT7_Pos               7UL
162 #define GPIO_PRT_OUT_INV_OUT7_Msk               0x80UL
163 /* GPIO_PRT.IN */
164 #define GPIO_PRT_IN_IN0_Pos                     0UL
165 #define GPIO_PRT_IN_IN0_Msk                     0x1UL
166 #define GPIO_PRT_IN_IN1_Pos                     1UL
167 #define GPIO_PRT_IN_IN1_Msk                     0x2UL
168 #define GPIO_PRT_IN_IN2_Pos                     2UL
169 #define GPIO_PRT_IN_IN2_Msk                     0x4UL
170 #define GPIO_PRT_IN_IN3_Pos                     3UL
171 #define GPIO_PRT_IN_IN3_Msk                     0x8UL
172 #define GPIO_PRT_IN_IN4_Pos                     4UL
173 #define GPIO_PRT_IN_IN4_Msk                     0x10UL
174 #define GPIO_PRT_IN_IN5_Pos                     5UL
175 #define GPIO_PRT_IN_IN5_Msk                     0x20UL
176 #define GPIO_PRT_IN_IN6_Pos                     6UL
177 #define GPIO_PRT_IN_IN6_Msk                     0x40UL
178 #define GPIO_PRT_IN_IN7_Pos                     7UL
179 #define GPIO_PRT_IN_IN7_Msk                     0x80UL
180 #define GPIO_PRT_IN_FLT_IN_Pos                  8UL
181 #define GPIO_PRT_IN_FLT_IN_Msk                  0x100UL
182 /* GPIO_PRT.INTR */
183 #define GPIO_PRT_INTR_EDGE0_Pos                 0UL
184 #define GPIO_PRT_INTR_EDGE0_Msk                 0x1UL
185 #define GPIO_PRT_INTR_EDGE1_Pos                 1UL
186 #define GPIO_PRT_INTR_EDGE1_Msk                 0x2UL
187 #define GPIO_PRT_INTR_EDGE2_Pos                 2UL
188 #define GPIO_PRT_INTR_EDGE2_Msk                 0x4UL
189 #define GPIO_PRT_INTR_EDGE3_Pos                 3UL
190 #define GPIO_PRT_INTR_EDGE3_Msk                 0x8UL
191 #define GPIO_PRT_INTR_EDGE4_Pos                 4UL
192 #define GPIO_PRT_INTR_EDGE4_Msk                 0x10UL
193 #define GPIO_PRT_INTR_EDGE5_Pos                 5UL
194 #define GPIO_PRT_INTR_EDGE5_Msk                 0x20UL
195 #define GPIO_PRT_INTR_EDGE6_Pos                 6UL
196 #define GPIO_PRT_INTR_EDGE6_Msk                 0x40UL
197 #define GPIO_PRT_INTR_EDGE7_Pos                 7UL
198 #define GPIO_PRT_INTR_EDGE7_Msk                 0x80UL
199 #define GPIO_PRT_INTR_FLT_EDGE_Pos              8UL
200 #define GPIO_PRT_INTR_FLT_EDGE_Msk              0x100UL
201 #define GPIO_PRT_INTR_IN_IN0_Pos                16UL
202 #define GPIO_PRT_INTR_IN_IN0_Msk                0x10000UL
203 #define GPIO_PRT_INTR_IN_IN1_Pos                17UL
204 #define GPIO_PRT_INTR_IN_IN1_Msk                0x20000UL
205 #define GPIO_PRT_INTR_IN_IN2_Pos                18UL
206 #define GPIO_PRT_INTR_IN_IN2_Msk                0x40000UL
207 #define GPIO_PRT_INTR_IN_IN3_Pos                19UL
208 #define GPIO_PRT_INTR_IN_IN3_Msk                0x80000UL
209 #define GPIO_PRT_INTR_IN_IN4_Pos                20UL
210 #define GPIO_PRT_INTR_IN_IN4_Msk                0x100000UL
211 #define GPIO_PRT_INTR_IN_IN5_Pos                21UL
212 #define GPIO_PRT_INTR_IN_IN5_Msk                0x200000UL
213 #define GPIO_PRT_INTR_IN_IN6_Pos                22UL
214 #define GPIO_PRT_INTR_IN_IN6_Msk                0x400000UL
215 #define GPIO_PRT_INTR_IN_IN7_Pos                23UL
216 #define GPIO_PRT_INTR_IN_IN7_Msk                0x800000UL
217 #define GPIO_PRT_INTR_FLT_IN_IN_Pos             24UL
218 #define GPIO_PRT_INTR_FLT_IN_IN_Msk             0x1000000UL
219 /* GPIO_PRT.INTR_MASK */
220 #define GPIO_PRT_INTR_MASK_EDGE0_Pos            0UL
221 #define GPIO_PRT_INTR_MASK_EDGE0_Msk            0x1UL
222 #define GPIO_PRT_INTR_MASK_EDGE1_Pos            1UL
223 #define GPIO_PRT_INTR_MASK_EDGE1_Msk            0x2UL
224 #define GPIO_PRT_INTR_MASK_EDGE2_Pos            2UL
225 #define GPIO_PRT_INTR_MASK_EDGE2_Msk            0x4UL
226 #define GPIO_PRT_INTR_MASK_EDGE3_Pos            3UL
227 #define GPIO_PRT_INTR_MASK_EDGE3_Msk            0x8UL
228 #define GPIO_PRT_INTR_MASK_EDGE4_Pos            4UL
229 #define GPIO_PRT_INTR_MASK_EDGE4_Msk            0x10UL
230 #define GPIO_PRT_INTR_MASK_EDGE5_Pos            5UL
231 #define GPIO_PRT_INTR_MASK_EDGE5_Msk            0x20UL
232 #define GPIO_PRT_INTR_MASK_EDGE6_Pos            6UL
233 #define GPIO_PRT_INTR_MASK_EDGE6_Msk            0x40UL
234 #define GPIO_PRT_INTR_MASK_EDGE7_Pos            7UL
235 #define GPIO_PRT_INTR_MASK_EDGE7_Msk            0x80UL
236 #define GPIO_PRT_INTR_MASK_FLT_EDGE_Pos         8UL
237 #define GPIO_PRT_INTR_MASK_FLT_EDGE_Msk         0x100UL
238 /* GPIO_PRT.INTR_MASKED */
239 #define GPIO_PRT_INTR_MASKED_EDGE0_Pos          0UL
240 #define GPIO_PRT_INTR_MASKED_EDGE0_Msk          0x1UL
241 #define GPIO_PRT_INTR_MASKED_EDGE1_Pos          1UL
242 #define GPIO_PRT_INTR_MASKED_EDGE1_Msk          0x2UL
243 #define GPIO_PRT_INTR_MASKED_EDGE2_Pos          2UL
244 #define GPIO_PRT_INTR_MASKED_EDGE2_Msk          0x4UL
245 #define GPIO_PRT_INTR_MASKED_EDGE3_Pos          3UL
246 #define GPIO_PRT_INTR_MASKED_EDGE3_Msk          0x8UL
247 #define GPIO_PRT_INTR_MASKED_EDGE4_Pos          4UL
248 #define GPIO_PRT_INTR_MASKED_EDGE4_Msk          0x10UL
249 #define GPIO_PRT_INTR_MASKED_EDGE5_Pos          5UL
250 #define GPIO_PRT_INTR_MASKED_EDGE5_Msk          0x20UL
251 #define GPIO_PRT_INTR_MASKED_EDGE6_Pos          6UL
252 #define GPIO_PRT_INTR_MASKED_EDGE6_Msk          0x40UL
253 #define GPIO_PRT_INTR_MASKED_EDGE7_Pos          7UL
254 #define GPIO_PRT_INTR_MASKED_EDGE7_Msk          0x80UL
255 #define GPIO_PRT_INTR_MASKED_FLT_EDGE_Pos       8UL
256 #define GPIO_PRT_INTR_MASKED_FLT_EDGE_Msk       0x100UL
257 /* GPIO_PRT.INTR_SET */
258 #define GPIO_PRT_INTR_SET_EDGE0_Pos             0UL
259 #define GPIO_PRT_INTR_SET_EDGE0_Msk             0x1UL
260 #define GPIO_PRT_INTR_SET_EDGE1_Pos             1UL
261 #define GPIO_PRT_INTR_SET_EDGE1_Msk             0x2UL
262 #define GPIO_PRT_INTR_SET_EDGE2_Pos             2UL
263 #define GPIO_PRT_INTR_SET_EDGE2_Msk             0x4UL
264 #define GPIO_PRT_INTR_SET_EDGE3_Pos             3UL
265 #define GPIO_PRT_INTR_SET_EDGE3_Msk             0x8UL
266 #define GPIO_PRT_INTR_SET_EDGE4_Pos             4UL
267 #define GPIO_PRT_INTR_SET_EDGE4_Msk             0x10UL
268 #define GPIO_PRT_INTR_SET_EDGE5_Pos             5UL
269 #define GPIO_PRT_INTR_SET_EDGE5_Msk             0x20UL
270 #define GPIO_PRT_INTR_SET_EDGE6_Pos             6UL
271 #define GPIO_PRT_INTR_SET_EDGE6_Msk             0x40UL
272 #define GPIO_PRT_INTR_SET_EDGE7_Pos             7UL
273 #define GPIO_PRT_INTR_SET_EDGE7_Msk             0x80UL
274 #define GPIO_PRT_INTR_SET_FLT_EDGE_Pos          8UL
275 #define GPIO_PRT_INTR_SET_FLT_EDGE_Msk          0x100UL
276 /* GPIO_PRT.INTR_CFG */
277 #define GPIO_PRT_INTR_CFG_EDGE0_SEL_Pos         0UL
278 #define GPIO_PRT_INTR_CFG_EDGE0_SEL_Msk         0x3UL
279 #define GPIO_PRT_INTR_CFG_EDGE1_SEL_Pos         2UL
280 #define GPIO_PRT_INTR_CFG_EDGE1_SEL_Msk         0xCUL
281 #define GPIO_PRT_INTR_CFG_EDGE2_SEL_Pos         4UL
282 #define GPIO_PRT_INTR_CFG_EDGE2_SEL_Msk         0x30UL
283 #define GPIO_PRT_INTR_CFG_EDGE3_SEL_Pos         6UL
284 #define GPIO_PRT_INTR_CFG_EDGE3_SEL_Msk         0xC0UL
285 #define GPIO_PRT_INTR_CFG_EDGE4_SEL_Pos         8UL
286 #define GPIO_PRT_INTR_CFG_EDGE4_SEL_Msk         0x300UL
287 #define GPIO_PRT_INTR_CFG_EDGE5_SEL_Pos         10UL
288 #define GPIO_PRT_INTR_CFG_EDGE5_SEL_Msk         0xC00UL
289 #define GPIO_PRT_INTR_CFG_EDGE6_SEL_Pos         12UL
290 #define GPIO_PRT_INTR_CFG_EDGE6_SEL_Msk         0x3000UL
291 #define GPIO_PRT_INTR_CFG_EDGE7_SEL_Pos         14UL
292 #define GPIO_PRT_INTR_CFG_EDGE7_SEL_Msk         0xC000UL
293 #define GPIO_PRT_INTR_CFG_FLT_EDGE_SEL_Pos      16UL
294 #define GPIO_PRT_INTR_CFG_FLT_EDGE_SEL_Msk      0x30000UL
295 #define GPIO_PRT_INTR_CFG_FLT_SEL_Pos           18UL
296 #define GPIO_PRT_INTR_CFG_FLT_SEL_Msk           0x1C0000UL
297 /* GPIO_PRT.CFG */
298 #define GPIO_PRT_CFG_DRIVE_MODE0_Pos            0UL
299 #define GPIO_PRT_CFG_DRIVE_MODE0_Msk            0x7UL
300 #define GPIO_PRT_CFG_IN_EN0_Pos                 3UL
301 #define GPIO_PRT_CFG_IN_EN0_Msk                 0x8UL
302 #define GPIO_PRT_CFG_DRIVE_MODE1_Pos            4UL
303 #define GPIO_PRT_CFG_DRIVE_MODE1_Msk            0x70UL
304 #define GPIO_PRT_CFG_IN_EN1_Pos                 7UL
305 #define GPIO_PRT_CFG_IN_EN1_Msk                 0x80UL
306 #define GPIO_PRT_CFG_DRIVE_MODE2_Pos            8UL
307 #define GPIO_PRT_CFG_DRIVE_MODE2_Msk            0x700UL
308 #define GPIO_PRT_CFG_IN_EN2_Pos                 11UL
309 #define GPIO_PRT_CFG_IN_EN2_Msk                 0x800UL
310 #define GPIO_PRT_CFG_DRIVE_MODE3_Pos            12UL
311 #define GPIO_PRT_CFG_DRIVE_MODE3_Msk            0x7000UL
312 #define GPIO_PRT_CFG_IN_EN3_Pos                 15UL
313 #define GPIO_PRT_CFG_IN_EN3_Msk                 0x8000UL
314 #define GPIO_PRT_CFG_DRIVE_MODE4_Pos            16UL
315 #define GPIO_PRT_CFG_DRIVE_MODE4_Msk            0x70000UL
316 #define GPIO_PRT_CFG_IN_EN4_Pos                 19UL
317 #define GPIO_PRT_CFG_IN_EN4_Msk                 0x80000UL
318 #define GPIO_PRT_CFG_DRIVE_MODE5_Pos            20UL
319 #define GPIO_PRT_CFG_DRIVE_MODE5_Msk            0x700000UL
320 #define GPIO_PRT_CFG_IN_EN5_Pos                 23UL
321 #define GPIO_PRT_CFG_IN_EN5_Msk                 0x800000UL
322 #define GPIO_PRT_CFG_DRIVE_MODE6_Pos            24UL
323 #define GPIO_PRT_CFG_DRIVE_MODE6_Msk            0x7000000UL
324 #define GPIO_PRT_CFG_IN_EN6_Pos                 27UL
325 #define GPIO_PRT_CFG_IN_EN6_Msk                 0x8000000UL
326 #define GPIO_PRT_CFG_DRIVE_MODE7_Pos            28UL
327 #define GPIO_PRT_CFG_DRIVE_MODE7_Msk            0x70000000UL
328 #define GPIO_PRT_CFG_IN_EN7_Pos                 31UL
329 #define GPIO_PRT_CFG_IN_EN7_Msk                 0x80000000UL
330 /* GPIO_PRT.CFG_IN */
331 #define GPIO_PRT_CFG_IN_VTRIP_SEL0_0_Pos        0UL
332 #define GPIO_PRT_CFG_IN_VTRIP_SEL0_0_Msk        0x1UL
333 #define GPIO_PRT_CFG_IN_VTRIP_SEL1_0_Pos        1UL
334 #define GPIO_PRT_CFG_IN_VTRIP_SEL1_0_Msk        0x2UL
335 #define GPIO_PRT_CFG_IN_VTRIP_SEL2_0_Pos        2UL
336 #define GPIO_PRT_CFG_IN_VTRIP_SEL2_0_Msk        0x4UL
337 #define GPIO_PRT_CFG_IN_VTRIP_SEL3_0_Pos        3UL
338 #define GPIO_PRT_CFG_IN_VTRIP_SEL3_0_Msk        0x8UL
339 #define GPIO_PRT_CFG_IN_VTRIP_SEL4_0_Pos        4UL
340 #define GPIO_PRT_CFG_IN_VTRIP_SEL4_0_Msk        0x10UL
341 #define GPIO_PRT_CFG_IN_VTRIP_SEL5_0_Pos        5UL
342 #define GPIO_PRT_CFG_IN_VTRIP_SEL5_0_Msk        0x20UL
343 #define GPIO_PRT_CFG_IN_VTRIP_SEL6_0_Pos        6UL
344 #define GPIO_PRT_CFG_IN_VTRIP_SEL6_0_Msk        0x40UL
345 #define GPIO_PRT_CFG_IN_VTRIP_SEL7_0_Pos        7UL
346 #define GPIO_PRT_CFG_IN_VTRIP_SEL7_0_Msk        0x80UL
347 /* GPIO_PRT.CFG_OUT */
348 #define GPIO_PRT_CFG_OUT_SLOW0_Pos              0UL
349 #define GPIO_PRT_CFG_OUT_SLOW0_Msk              0x1UL
350 #define GPIO_PRT_CFG_OUT_SLOW1_Pos              1UL
351 #define GPIO_PRT_CFG_OUT_SLOW1_Msk              0x2UL
352 #define GPIO_PRT_CFG_OUT_SLOW2_Pos              2UL
353 #define GPIO_PRT_CFG_OUT_SLOW2_Msk              0x4UL
354 #define GPIO_PRT_CFG_OUT_SLOW3_Pos              3UL
355 #define GPIO_PRT_CFG_OUT_SLOW3_Msk              0x8UL
356 #define GPIO_PRT_CFG_OUT_SLOW4_Pos              4UL
357 #define GPIO_PRT_CFG_OUT_SLOW4_Msk              0x10UL
358 #define GPIO_PRT_CFG_OUT_SLOW5_Pos              5UL
359 #define GPIO_PRT_CFG_OUT_SLOW5_Msk              0x20UL
360 #define GPIO_PRT_CFG_OUT_SLOW6_Pos              6UL
361 #define GPIO_PRT_CFG_OUT_SLOW6_Msk              0x40UL
362 #define GPIO_PRT_CFG_OUT_SLOW7_Pos              7UL
363 #define GPIO_PRT_CFG_OUT_SLOW7_Msk              0x80UL
364 #define GPIO_PRT_CFG_OUT_DRIVE_SEL0_Pos         16UL
365 #define GPIO_PRT_CFG_OUT_DRIVE_SEL0_Msk         0x30000UL
366 #define GPIO_PRT_CFG_OUT_DRIVE_SEL1_Pos         18UL
367 #define GPIO_PRT_CFG_OUT_DRIVE_SEL1_Msk         0xC0000UL
368 #define GPIO_PRT_CFG_OUT_DRIVE_SEL2_Pos         20UL
369 #define GPIO_PRT_CFG_OUT_DRIVE_SEL2_Msk         0x300000UL
370 #define GPIO_PRT_CFG_OUT_DRIVE_SEL3_Pos         22UL
371 #define GPIO_PRT_CFG_OUT_DRIVE_SEL3_Msk         0xC00000UL
372 #define GPIO_PRT_CFG_OUT_DRIVE_SEL4_Pos         24UL
373 #define GPIO_PRT_CFG_OUT_DRIVE_SEL4_Msk         0x3000000UL
374 #define GPIO_PRT_CFG_OUT_DRIVE_SEL5_Pos         26UL
375 #define GPIO_PRT_CFG_OUT_DRIVE_SEL5_Msk         0xC000000UL
376 #define GPIO_PRT_CFG_OUT_DRIVE_SEL6_Pos         28UL
377 #define GPIO_PRT_CFG_OUT_DRIVE_SEL6_Msk         0x30000000UL
378 #define GPIO_PRT_CFG_OUT_DRIVE_SEL7_Pos         30UL
379 #define GPIO_PRT_CFG_OUT_DRIVE_SEL7_Msk         0xC0000000UL
380 /* GPIO_PRT.CFG_SIO */
381 #define GPIO_PRT_CFG_SIO_VREG_EN01_Pos          0UL
382 #define GPIO_PRT_CFG_SIO_VREG_EN01_Msk          0x1UL
383 #define GPIO_PRT_CFG_SIO_IBUF_SEL01_Pos         1UL
384 #define GPIO_PRT_CFG_SIO_IBUF_SEL01_Msk         0x2UL
385 #define GPIO_PRT_CFG_SIO_VTRIP_SEL01_Pos        2UL
386 #define GPIO_PRT_CFG_SIO_VTRIP_SEL01_Msk        0x4UL
387 #define GPIO_PRT_CFG_SIO_VREF_SEL01_Pos         3UL
388 #define GPIO_PRT_CFG_SIO_VREF_SEL01_Msk         0x18UL
389 #define GPIO_PRT_CFG_SIO_VOH_SEL01_Pos          5UL
390 #define GPIO_PRT_CFG_SIO_VOH_SEL01_Msk          0xE0UL
391 #define GPIO_PRT_CFG_SIO_VREG_EN23_Pos          8UL
392 #define GPIO_PRT_CFG_SIO_VREG_EN23_Msk          0x100UL
393 #define GPIO_PRT_CFG_SIO_IBUF_SEL23_Pos         9UL
394 #define GPIO_PRT_CFG_SIO_IBUF_SEL23_Msk         0x200UL
395 #define GPIO_PRT_CFG_SIO_VTRIP_SEL23_Pos        10UL
396 #define GPIO_PRT_CFG_SIO_VTRIP_SEL23_Msk        0x400UL
397 #define GPIO_PRT_CFG_SIO_VREF_SEL23_Pos         11UL
398 #define GPIO_PRT_CFG_SIO_VREF_SEL23_Msk         0x1800UL
399 #define GPIO_PRT_CFG_SIO_VOH_SEL23_Pos          13UL
400 #define GPIO_PRT_CFG_SIO_VOH_SEL23_Msk          0xE000UL
401 #define GPIO_PRT_CFG_SIO_VREG_EN45_Pos          16UL
402 #define GPIO_PRT_CFG_SIO_VREG_EN45_Msk          0x10000UL
403 #define GPIO_PRT_CFG_SIO_IBUF_SEL45_Pos         17UL
404 #define GPIO_PRT_CFG_SIO_IBUF_SEL45_Msk         0x20000UL
405 #define GPIO_PRT_CFG_SIO_VTRIP_SEL45_Pos        18UL
406 #define GPIO_PRT_CFG_SIO_VTRIP_SEL45_Msk        0x40000UL
407 #define GPIO_PRT_CFG_SIO_VREF_SEL45_Pos         19UL
408 #define GPIO_PRT_CFG_SIO_VREF_SEL45_Msk         0x180000UL
409 #define GPIO_PRT_CFG_SIO_VOH_SEL45_Pos          21UL
410 #define GPIO_PRT_CFG_SIO_VOH_SEL45_Msk          0xE00000UL
411 #define GPIO_PRT_CFG_SIO_VREG_EN67_Pos          24UL
412 #define GPIO_PRT_CFG_SIO_VREG_EN67_Msk          0x1000000UL
413 #define GPIO_PRT_CFG_SIO_IBUF_SEL67_Pos         25UL
414 #define GPIO_PRT_CFG_SIO_IBUF_SEL67_Msk         0x2000000UL
415 #define GPIO_PRT_CFG_SIO_VTRIP_SEL67_Pos        26UL
416 #define GPIO_PRT_CFG_SIO_VTRIP_SEL67_Msk        0x4000000UL
417 #define GPIO_PRT_CFG_SIO_VREF_SEL67_Pos         27UL
418 #define GPIO_PRT_CFG_SIO_VREF_SEL67_Msk         0x18000000UL
419 #define GPIO_PRT_CFG_SIO_VOH_SEL67_Pos          29UL
420 #define GPIO_PRT_CFG_SIO_VOH_SEL67_Msk          0xE0000000UL
421 /* GPIO_PRT.CFG_IN_AUTOLVL */
422 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL0_1_Pos 0UL
423 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL0_1_Msk 0x1UL
424 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL1_1_Pos 1UL
425 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL1_1_Msk 0x2UL
426 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL2_1_Pos 2UL
427 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL2_1_Msk 0x4UL
428 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL3_1_Pos 3UL
429 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL3_1_Msk 0x8UL
430 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL4_1_Pos 4UL
431 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL4_1_Msk 0x10UL
432 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL5_1_Pos 5UL
433 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL5_1_Msk 0x20UL
434 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL6_1_Pos 6UL
435 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL6_1_Msk 0x40UL
436 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL7_1_Pos 7UL
437 #define GPIO_PRT_CFG_IN_AUTOLVL_VTRIP_SEL7_1_Msk 0x80UL
438 /* GPIO_PRT.CFG_OUT2 */
439 #define GPIO_PRT_CFG_OUT2_DS_TRIM0_Pos          0UL
440 #define GPIO_PRT_CFG_OUT2_DS_TRIM0_Msk          0x7UL
441 #define GPIO_PRT_CFG_OUT2_DS_TRIM1_Pos          3UL
442 #define GPIO_PRT_CFG_OUT2_DS_TRIM1_Msk          0x38UL
443 #define GPIO_PRT_CFG_OUT2_DS_TRIM2_Pos          6UL
444 #define GPIO_PRT_CFG_OUT2_DS_TRIM2_Msk          0x1C0UL
445 #define GPIO_PRT_CFG_OUT2_DS_TRIM3_Pos          9UL
446 #define GPIO_PRT_CFG_OUT2_DS_TRIM3_Msk          0xE00UL
447 #define GPIO_PRT_CFG_OUT2_DS_TRIM4_Pos          12UL
448 #define GPIO_PRT_CFG_OUT2_DS_TRIM4_Msk          0x7000UL
449 #define GPIO_PRT_CFG_OUT2_DS_TRIM5_Pos          15UL
450 #define GPIO_PRT_CFG_OUT2_DS_TRIM5_Msk          0x38000UL
451 #define GPIO_PRT_CFG_OUT2_DS_TRIM6_Pos          18UL
452 #define GPIO_PRT_CFG_OUT2_DS_TRIM6_Msk          0x1C0000UL
453 #define GPIO_PRT_CFG_OUT2_DS_TRIM7_Pos          21UL
454 #define GPIO_PRT_CFG_OUT2_DS_TRIM7_Msk          0xE00000UL
455 /* GPIO_PRT.CFG_SLEW_EXT */
456 #define GPIO_PRT_CFG_SLEW_EXT_SLEW0_Pos         0UL
457 #define GPIO_PRT_CFG_SLEW_EXT_SLEW0_Msk         0x7UL
458 #define GPIO_PRT_CFG_SLEW_EXT_SLEW1_Pos         4UL
459 #define GPIO_PRT_CFG_SLEW_EXT_SLEW1_Msk         0x70UL
460 #define GPIO_PRT_CFG_SLEW_EXT_SLEW2_Pos         8UL
461 #define GPIO_PRT_CFG_SLEW_EXT_SLEW2_Msk         0x700UL
462 #define GPIO_PRT_CFG_SLEW_EXT_SLEW3_Pos         12UL
463 #define GPIO_PRT_CFG_SLEW_EXT_SLEW3_Msk         0x7000UL
464 #define GPIO_PRT_CFG_SLEW_EXT_SLEW4_Pos         16UL
465 #define GPIO_PRT_CFG_SLEW_EXT_SLEW4_Msk         0x70000UL
466 #define GPIO_PRT_CFG_SLEW_EXT_SLEW5_Pos         20UL
467 #define GPIO_PRT_CFG_SLEW_EXT_SLEW5_Msk         0x700000UL
468 #define GPIO_PRT_CFG_SLEW_EXT_SLEW6_Pos         24UL
469 #define GPIO_PRT_CFG_SLEW_EXT_SLEW6_Msk         0x7000000UL
470 #define GPIO_PRT_CFG_SLEW_EXT_SLEW7_Pos         28UL
471 #define GPIO_PRT_CFG_SLEW_EXT_SLEW7_Msk         0x70000000UL
472 /* GPIO_PRT.CFG_DRIVE_EXT0 */
473 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT0_Pos 0UL
474 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT0_Msk 0x1FUL
475 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT1_Pos 8UL
476 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT1_Msk 0x1F00UL
477 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT2_Pos 16UL
478 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT2_Msk 0x1F0000UL
479 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT3_Pos 24UL
480 #define GPIO_PRT_CFG_DRIVE_EXT0_DRIVE_SEL_EXT3_Msk 0x1F000000UL
481 /* GPIO_PRT.CFG_DRIVE_EXT1 */
482 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT4_Pos 0UL
483 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT4_Msk 0x1FUL
484 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT5_Pos 8UL
485 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT5_Msk 0x1F00UL
486 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT6_Pos 16UL
487 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT6_Msk 0x1F0000UL
488 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT7_Pos 24UL
489 #define GPIO_PRT_CFG_DRIVE_EXT1_DRIVE_SEL_EXT7_Msk 0x1F000000UL
490 
491 
492 /* GPIO.SEC_INTR_CAUSE0 */
493 #define GPIO_SEC_INTR_CAUSE0_PORT_INT_Pos       0UL
494 #define GPIO_SEC_INTR_CAUSE0_PORT_INT_Msk       0xFFFFFFFFUL
495 /* GPIO.SEC_INTR_CAUSE1 */
496 #define GPIO_SEC_INTR_CAUSE1_PORT_INT_Pos       0UL
497 #define GPIO_SEC_INTR_CAUSE1_PORT_INT_Msk       0xFFFFFFFFUL
498 /* GPIO.SEC_INTR_CAUSE2 */
499 #define GPIO_SEC_INTR_CAUSE2_PORT_INT_Pos       0UL
500 #define GPIO_SEC_INTR_CAUSE2_PORT_INT_Msk       0xFFFFFFFFUL
501 /* GPIO.SEC_INTR_CAUSE3 */
502 #define GPIO_SEC_INTR_CAUSE3_PORT_INT_Pos       0UL
503 #define GPIO_SEC_INTR_CAUSE3_PORT_INT_Msk       0xFFFFFFFFUL
504 /* GPIO.INTR_CAUSE0 */
505 #define GPIO_INTR_CAUSE0_PORT_INT_Pos           0UL
506 #define GPIO_INTR_CAUSE0_PORT_INT_Msk           0xFFFFFFFFUL
507 /* GPIO.INTR_CAUSE1 */
508 #define GPIO_INTR_CAUSE1_PORT_INT_Pos           0UL
509 #define GPIO_INTR_CAUSE1_PORT_INT_Msk           0xFFFFFFFFUL
510 /* GPIO.INTR_CAUSE2 */
511 #define GPIO_INTR_CAUSE2_PORT_INT_Pos           0UL
512 #define GPIO_INTR_CAUSE2_PORT_INT_Msk           0xFFFFFFFFUL
513 /* GPIO.INTR_CAUSE3 */
514 #define GPIO_INTR_CAUSE3_PORT_INT_Pos           0UL
515 #define GPIO_INTR_CAUSE3_PORT_INT_Msk           0xFFFFFFFFUL
516 /* GPIO.VDD_ACTIVE */
517 #define GPIO_VDD_ACTIVE_VDDIO_ACTIVE_Pos        0UL
518 #define GPIO_VDD_ACTIVE_VDDIO_ACTIVE_Msk        0xFFFFUL
519 #define GPIO_VDD_ACTIVE_VDDA_ACTIVE_Pos         30UL
520 #define GPIO_VDD_ACTIVE_VDDA_ACTIVE_Msk         0x40000000UL
521 #define GPIO_VDD_ACTIVE_VDDD_ACTIVE_Pos         31UL
522 #define GPIO_VDD_ACTIVE_VDDD_ACTIVE_Msk         0x80000000UL
523 /* GPIO.VDD_INTR */
524 #define GPIO_VDD_INTR_VDDIO_ACTIVE_Pos          0UL
525 #define GPIO_VDD_INTR_VDDIO_ACTIVE_Msk          0xFFFFUL
526 #define GPIO_VDD_INTR_VDDA_ACTIVE_Pos           30UL
527 #define GPIO_VDD_INTR_VDDA_ACTIVE_Msk           0x40000000UL
528 #define GPIO_VDD_INTR_VDDD_ACTIVE_Pos           31UL
529 #define GPIO_VDD_INTR_VDDD_ACTIVE_Msk           0x80000000UL
530 /* GPIO.VDD_INTR_MASK */
531 #define GPIO_VDD_INTR_MASK_VDDIO_ACTIVE_Pos     0UL
532 #define GPIO_VDD_INTR_MASK_VDDIO_ACTIVE_Msk     0xFFFFUL
533 #define GPIO_VDD_INTR_MASK_VDDA_ACTIVE_Pos      30UL
534 #define GPIO_VDD_INTR_MASK_VDDA_ACTIVE_Msk      0x40000000UL
535 #define GPIO_VDD_INTR_MASK_VDDD_ACTIVE_Pos      31UL
536 #define GPIO_VDD_INTR_MASK_VDDD_ACTIVE_Msk      0x80000000UL
537 /* GPIO.VDD_INTR_MASKED */
538 #define GPIO_VDD_INTR_MASKED_VDDIO_ACTIVE_Pos   0UL
539 #define GPIO_VDD_INTR_MASKED_VDDIO_ACTIVE_Msk   0xFFFFUL
540 #define GPIO_VDD_INTR_MASKED_VDDA_ACTIVE_Pos    30UL
541 #define GPIO_VDD_INTR_MASKED_VDDA_ACTIVE_Msk    0x40000000UL
542 #define GPIO_VDD_INTR_MASKED_VDDD_ACTIVE_Pos    31UL
543 #define GPIO_VDD_INTR_MASKED_VDDD_ACTIVE_Msk    0x80000000UL
544 /* GPIO.VDD_INTR_SET */
545 #define GPIO_VDD_INTR_SET_VDDIO_ACTIVE_Pos      0UL
546 #define GPIO_VDD_INTR_SET_VDDIO_ACTIVE_Msk      0xFFFFUL
547 #define GPIO_VDD_INTR_SET_VDDA_ACTIVE_Pos       30UL
548 #define GPIO_VDD_INTR_SET_VDDA_ACTIVE_Msk       0x40000000UL
549 #define GPIO_VDD_INTR_SET_VDDD_ACTIVE_Pos       31UL
550 #define GPIO_VDD_INTR_SET_VDDD_ACTIVE_Msk       0x80000000UL
551 /* GPIO.VDD_PWRSW_STATUS */
552 #define GPIO_VDD_PWRSW_STATUS_PWROK_Pos         0UL
553 #define GPIO_VDD_PWRSW_STATUS_PWROK_Msk         0x1UL
554 /* GPIO.VDD_PWRSW_CTL */
555 #define GPIO_VDD_PWRSW_CTL_ILIM_Pos             0UL
556 #define GPIO_VDD_PWRSW_CTL_ILIM_Msk             0x3UL
557 #define GPIO_VDD_PWRSW_CTL_THRES_SEL_Pos        4UL
558 #define GPIO_VDD_PWRSW_CTL_THRES_SEL_Msk        0x30UL
559 #define GPIO_VDD_PWRSW_CTL_SW_ON_Pos            8UL
560 #define GPIO_VDD_PWRSW_CTL_SW_ON_Msk            0x100UL
561 #define GPIO_VDD_PWRSW_CTL_PWROK_BYPASS_Pos     9UL
562 #define GPIO_VDD_PWRSW_CTL_PWROK_BYPASS_Msk     0x200UL
563 #define GPIO_VDD_PWRSW_CTL_MODEHV_LOCK_Pos      16UL
564 #define GPIO_VDD_PWRSW_CTL_MODEHV_LOCK_Msk      0xFF0000UL
565 #define GPIO_VDD_PWRSW_CTL_MODEHV_Pos           31UL
566 #define GPIO_VDD_PWRSW_CTL_MODEHV_Msk           0x80000000UL
567 /* GPIO.VDD_MODE_SEL */
568 #define GPIO_VDD_MODE_SEL_MODE_SEL_Pos          0UL
569 #define GPIO_VDD_MODE_SEL_MODE_SEL_Msk          0xFFFFUL
570 
571 
572 #endif /* _CYIP_GPIO_H_ */
573 
574 
575 /* [] END OF FILE */
576