1 //------------------------------------------------------------------------------ 2 // Copyright 2012 (c) Silicon Laboratories Inc. 3 // 4 // SPDX-License-Identifier: Zlib 5 // 6 // This siHAL software is provided 'as-is', without any express or implied 7 // warranty. In no event will the authors be held liable for any damages 8 // arising from the use of this software. 9 // 10 // Permission is granted to anyone to use this software for any purpose, 11 // including commercial applications, and to alter it and redistribute it 12 // freely, subject to the following restrictions: 13 // 14 // 1. The origin of this software must not be misrepresented; you must not 15 // claim that you wrote the original software. If you use this software 16 // in a product, an acknowledgment in the product documentation would be 17 // appreciated but is not required. 18 // 2. Altered source versions must be plainly marked as such, and must not be 19 // misrepresented as being the original software. 20 // 3. This notice may not be removed or altered from any source distribution. 21 //------------------------------------------------------------------------------ 22 // 23 // This file applies to the SIM3C1XX_PBHD_A module 24 // 25 // Script: 0.57 26 // Version: 1 27 28 #ifndef __SI32_PBHD_A_REGISTERS_H__ 29 #define __SI32_PBHD_A_REGISTERS_H__ 30 31 #include <stdint.h> 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 struct SI32_PBHD_A_PB_Struct 38 { 39 union 40 { 41 struct 42 { 43 // Output Latch 44 volatile uint32_t PB_BITS: 6; 45 uint32_t reserved0: 26; 46 }; 47 volatile uint32_t U32; 48 }; 49 }; 50 51 #define SI32_PBHD_A_PB_PB_MASK 0x0000003F 52 #define SI32_PBHD_A_PB_PB_SHIFT 0 53 54 55 56 struct SI32_PBHD_A_PBPIN_Struct 57 { 58 union 59 { 60 struct 61 { 62 // Pin Value 63 volatile uint32_t PBPIN_BITS: 6; 64 uint32_t reserved0: 26; 65 }; 66 volatile uint32_t U32; 67 }; 68 }; 69 70 #define SI32_PBHD_A_PBPIN_PBPIN_MASK 0x0000003F 71 #define SI32_PBHD_A_PBPIN_PBPIN_SHIFT 0 72 73 74 75 struct SI32_PBHD_A_PBMDSEL_Struct 76 { 77 union 78 { 79 struct 80 { 81 // Mode Select 82 volatile uint32_t PBMDSEL_BITS: 6; 83 uint32_t reserved0: 26; 84 }; 85 volatile uint32_t U32; 86 }; 87 }; 88 89 #define SI32_PBHD_A_PBMDSEL_PBMDSEL_MASK 0x0000003F 90 #define SI32_PBHD_A_PBMDSEL_PBMDSEL_SHIFT 0 91 92 93 94 struct SI32_PBHD_A_PBDEN_Struct 95 { 96 union 97 { 98 struct 99 { 100 // Port Bank N-Channel Driver Enable 101 volatile uint32_t PBNDEN: 6; 102 uint32_t reserved0: 10; 103 // Port Bank P-Channel Driver Enable 104 volatile uint32_t PBPDEN: 6; 105 uint32_t reserved1: 10; 106 }; 107 volatile uint32_t U32; 108 }; 109 }; 110 111 #define SI32_PBHD_A_PBDEN_PBNDEN_MASK 0x0000003F 112 #define SI32_PBHD_A_PBDEN_PBNDEN_SHIFT 0 113 114 #define SI32_PBHD_A_PBDEN_PBPDEN_MASK 0x003F0000 115 #define SI32_PBHD_A_PBDEN_PBPDEN_SHIFT 16 116 117 118 119 struct SI32_PBHD_A_PBDRV_Struct 120 { 121 union 122 { 123 struct 124 { 125 // Drive Strength 126 volatile uint32_t PBDRV_BITS: 6; 127 uint32_t reserved0: 10; 128 // Port Bank Weak Pull-up Enable 129 volatile uint32_t PBPUEN: 1; 130 // Port Low Voltage Mode 131 volatile uint32_t PBLVMD: 1; 132 // Port Slew Control 133 volatile uint32_t PBSLEW: 2; 134 uint32_t reserved1: 1; 135 // Port Bias Enable 136 volatile uint32_t PBBIASEN: 1; 137 // Port Drive Enable 138 volatile uint32_t PBDRVEN: 1; 139 // Port Voltage Supply Tracking Enable 140 volatile uint32_t PBVTRKEN: 1; 141 uint32_t reserved2: 8; 142 }; 143 volatile uint32_t U32; 144 }; 145 }; 146 147 #define SI32_PBHD_A_PBDRV_PBDRV_MASK 0x0000003F 148 #define SI32_PBHD_A_PBDRV_PBDRV_SHIFT 0 149 150 #define SI32_PBHD_A_PBDRV_PBPUEN_MASK 0x00010000 151 #define SI32_PBHD_A_PBDRV_PBPUEN_SHIFT 16 152 // Disable weak pull-ups for this port. 153 #define SI32_PBHD_A_PBDRV_PBPUEN_DISABLED_VALUE 0 154 #define SI32_PBHD_A_PBDRV_PBPUEN_DISABLED_U32 \ 155 (SI32_PBHD_A_PBDRV_PBPUEN_DISABLED_VALUE << SI32_PBHD_A_PBDRV_PBPUEN_SHIFT) 156 // Enable weak pull-ups for this port. 157 #define SI32_PBHD_A_PBDRV_PBPUEN_ENABLED_VALUE 1 158 #define SI32_PBHD_A_PBDRV_PBPUEN_ENABLED_U32 \ 159 (SI32_PBHD_A_PBDRV_PBPUEN_ENABLED_VALUE << SI32_PBHD_A_PBDRV_PBPUEN_SHIFT) 160 161 #define SI32_PBHD_A_PBDRV_PBLVMD_MASK 0x00020000 162 #define SI32_PBHD_A_PBDRV_PBLVMD_SHIFT 17 163 // Port configured for normal mode. 164 #define SI32_PBHD_A_PBDRV_PBLVMD_NORMAL_VALUE 0 165 #define SI32_PBHD_A_PBDRV_PBLVMD_NORMAL_U32 \ 166 (SI32_PBHD_A_PBDRV_PBLVMD_NORMAL_VALUE << SI32_PBHD_A_PBDRV_PBLVMD_SHIFT) 167 // Port configured for low power mode. 168 #define SI32_PBHD_A_PBDRV_PBLVMD_LOW_VALUE 1 169 #define SI32_PBHD_A_PBDRV_PBLVMD_LOW_U32 \ 170 (SI32_PBHD_A_PBDRV_PBLVMD_LOW_VALUE << SI32_PBHD_A_PBDRV_PBLVMD_SHIFT) 171 172 #define SI32_PBHD_A_PBDRV_PBSLEW_MASK 0x000C0000 173 #define SI32_PBHD_A_PBDRV_PBSLEW_SHIFT 18 174 // Select the fastest transition speed for this port bank. 175 #define SI32_PBHD_A_PBDRV_PBSLEW_FASTEST_VALUE 0 176 #define SI32_PBHD_A_PBDRV_PBSLEW_FASTEST_U32 \ 177 (SI32_PBHD_A_PBDRV_PBSLEW_FASTEST_VALUE << SI32_PBHD_A_PBDRV_PBSLEW_SHIFT) 178 // Select the faster transition speed for this port bank. 179 #define SI32_PBHD_A_PBDRV_PBSLEW_FASTER_VALUE 1 180 #define SI32_PBHD_A_PBDRV_PBSLEW_FASTER_U32 \ 181 (SI32_PBHD_A_PBDRV_PBSLEW_FASTER_VALUE << SI32_PBHD_A_PBDRV_PBSLEW_SHIFT) 182 // Select the slower transition speed for this port bank. 183 #define SI32_PBHD_A_PBDRV_PBSLEW_SLOWER_VALUE 2 184 #define SI32_PBHD_A_PBDRV_PBSLEW_SLOWER_U32 \ 185 (SI32_PBHD_A_PBDRV_PBSLEW_SLOWER_VALUE << SI32_PBHD_A_PBDRV_PBSLEW_SHIFT) 186 // Select the slowest transition speed for this port bank. 187 #define SI32_PBHD_A_PBDRV_PBSLEW_SLOWEST_VALUE 3 188 #define SI32_PBHD_A_PBDRV_PBSLEW_SLOWEST_U32 \ 189 (SI32_PBHD_A_PBDRV_PBSLEW_SLOWEST_VALUE << SI32_PBHD_A_PBDRV_PBSLEW_SHIFT) 190 191 #define SI32_PBHD_A_PBDRV_PBBIASEN_MASK 0x00200000 192 #define SI32_PBHD_A_PBDRV_PBBIASEN_SHIFT 21 193 // Disable the biasing to the port pins. 194 #define SI32_PBHD_A_PBDRV_PBBIASEN_DISABLED_VALUE 0 195 #define SI32_PBHD_A_PBDRV_PBBIASEN_DISABLED_U32 \ 196 (SI32_PBHD_A_PBDRV_PBBIASEN_DISABLED_VALUE << SI32_PBHD_A_PBDRV_PBBIASEN_SHIFT) 197 // Enable the biasing to the port pins. 198 #define SI32_PBHD_A_PBDRV_PBBIASEN_ENABLED_VALUE 1 199 #define SI32_PBHD_A_PBDRV_PBBIASEN_ENABLED_U32 \ 200 (SI32_PBHD_A_PBDRV_PBBIASEN_ENABLED_VALUE << SI32_PBHD_A_PBDRV_PBBIASEN_SHIFT) 201 202 #define SI32_PBHD_A_PBDRV_PBDRVEN_MASK 0x00400000 203 #define SI32_PBHD_A_PBDRV_PBDRVEN_SHIFT 22 204 // Disable the port drivers. 205 #define SI32_PBHD_A_PBDRV_PBDRVEN_DISABLED_VALUE 0 206 #define SI32_PBHD_A_PBDRV_PBDRVEN_DISABLED_U32 \ 207 (SI32_PBHD_A_PBDRV_PBDRVEN_DISABLED_VALUE << SI32_PBHD_A_PBDRV_PBDRVEN_SHIFT) 208 // Enable the port drivers. 209 #define SI32_PBHD_A_PBDRV_PBDRVEN_ENABLED_VALUE 1 210 #define SI32_PBHD_A_PBDRV_PBDRVEN_ENABLED_U32 \ 211 (SI32_PBHD_A_PBDRV_PBDRVEN_ENABLED_VALUE << SI32_PBHD_A_PBDRV_PBDRVEN_SHIFT) 212 213 #define SI32_PBHD_A_PBDRV_PBVTRKEN_MASK 0x00800000 214 #define SI32_PBHD_A_PBDRV_PBVTRKEN_SHIFT 23 215 // Disable VIOHD tracking. 216 #define SI32_PBHD_A_PBDRV_PBVTRKEN_DISABLED_VALUE 0 217 #define SI32_PBHD_A_PBDRV_PBVTRKEN_DISABLED_U32 \ 218 (SI32_PBHD_A_PBDRV_PBVTRKEN_DISABLED_VALUE << SI32_PBHD_A_PBDRV_PBVTRKEN_SHIFT) 219 // Enable VIOHD tracking. 220 #define SI32_PBHD_A_PBDRV_PBVTRKEN_ENABLED_VALUE 1 221 #define SI32_PBHD_A_PBDRV_PBVTRKEN_ENABLED_U32 \ 222 (SI32_PBHD_A_PBDRV_PBVTRKEN_ENABLED_VALUE << SI32_PBHD_A_PBDRV_PBVTRKEN_SHIFT) 223 224 225 226 struct SI32_PBHD_A_PBILIMIT_Struct 227 { 228 union 229 { 230 struct 231 { 232 // Current Limit Enable 233 volatile uint32_t PBILEN: 6; 234 uint32_t reserved0: 10; 235 // N-Channel Current Limit 236 volatile uint32_t NILIMIT: 4; 237 // P-Channel Current Limit 238 volatile uint32_t PILIMIT: 4; 239 uint32_t reserved1: 8; 240 }; 241 volatile uint32_t U32; 242 }; 243 }; 244 245 #define SI32_PBHD_A_PBILIMIT_PBILEN_MASK 0x0000003F 246 #define SI32_PBHD_A_PBILIMIT_PBILEN_SHIFT 0 247 248 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MASK 0x000F0000 249 #define SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT 16 250 // Set sink limit to mode 0. 251 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE0_VALUE 0 252 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE0_U32 \ 253 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE0_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 254 // Set sink limit to mode 1. 255 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE1_VALUE 1 256 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE1_U32 \ 257 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE1_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 258 // Set sink limit to mode 2. 259 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE2_VALUE 2 260 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE2_U32 \ 261 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE2_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 262 // Set sink limit to mode 3. 263 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE3_VALUE 3 264 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE3_U32 \ 265 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE3_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 266 // Set sink limit to mode 4. 267 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE4_VALUE 4 268 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE4_U32 \ 269 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE4_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 270 // Set sink limit to mode 5. 271 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE5_VALUE 5 272 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE5_U32 \ 273 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE5_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 274 // Set sink limit to mode 6. 275 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE6_VALUE 6 276 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE6_U32 \ 277 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE6_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 278 // Set sink limit to mode 7. 279 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE7_VALUE 7 280 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE7_U32 \ 281 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE7_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 282 // Set sink limit to mode 8. 283 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE8_VALUE 8 284 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE8_U32 \ 285 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE8_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 286 // Set sink limit to mode 9. 287 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE9_VALUE 9 288 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE9_U32 \ 289 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE9_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 290 // Set sink limit to mode 10. 291 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE10_VALUE 10 292 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE10_U32 \ 293 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE10_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 294 // Set sink limit to mode 11. 295 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE11_VALUE 11 296 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE11_U32 \ 297 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE11_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 298 // Set sink limit to mode 12. 299 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE12_VALUE 12 300 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE12_U32 \ 301 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE12_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 302 // Set sink limit to mode 13. 303 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE13_VALUE 13 304 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE13_U32 \ 305 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE13_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 306 // Set sink limit to mode 14. 307 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE14_VALUE 14 308 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE14_U32 \ 309 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE14_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 310 // Set sink limit to mode 15. 311 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE15_VALUE 15 312 #define SI32_PBHD_A_PBILIMIT_NILIMIT_MODE15_U32 \ 313 (SI32_PBHD_A_PBILIMIT_NILIMIT_MODE15_VALUE << SI32_PBHD_A_PBILIMIT_NILIMIT_SHIFT) 314 315 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MASK 0x00F00000 316 #define SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT 20 317 // Set source limit to mode 0. 318 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE0_VALUE 0 319 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE0_U32 \ 320 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE0_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 321 // Set source limit to mode 1. 322 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE1_VALUE 1 323 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE1_U32 \ 324 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE1_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 325 // Set source limit to mode 2. 326 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE2_VALUE 2 327 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE2_U32 \ 328 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE2_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 329 // Set source limit to mode 3. 330 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE3_VALUE 3 331 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE3_U32 \ 332 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE3_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 333 // Set source limit to mode 4. 334 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE4_VALUE 4 335 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE4_U32 \ 336 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE4_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 337 // Set source limit to mode 5. 338 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE5_VALUE 5 339 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE5_U32 \ 340 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE5_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 341 // Set source limit to mode 6. 342 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE6_VALUE 6 343 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE6_U32 \ 344 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE6_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 345 // Set source limit to mode 7. 346 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE7_VALUE 7 347 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE7_U32 \ 348 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE7_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 349 // Set source limit to mode 8. 350 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE8_VALUE 8 351 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE8_U32 \ 352 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE8_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 353 // Set source limit to mode 9. 354 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE9_VALUE 9 355 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE9_U32 \ 356 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE9_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 357 // Set source limit to mode 10. 358 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE10_VALUE 10 359 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE10_U32 \ 360 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE10_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 361 // Set source limit to mode 11. 362 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE11_VALUE 11 363 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE11_U32 \ 364 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE11_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 365 // Set source limit to mode 12. 366 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE12_VALUE 12 367 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE12_U32 \ 368 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE12_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 369 // Set source limit to mode 13. 370 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE13_VALUE 13 371 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE13_U32 \ 372 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE13_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 373 // Set source limit to mode 14. 374 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE14_VALUE 14 375 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE14_U32 \ 376 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE14_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 377 // Set source limit to mode 15. 378 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE15_VALUE 15 379 #define SI32_PBHD_A_PBILIMIT_PILIMIT_MODE15_U32 \ 380 (SI32_PBHD_A_PBILIMIT_PILIMIT_MODE15_VALUE << SI32_PBHD_A_PBILIMIT_PILIMIT_SHIFT) 381 382 383 384 struct SI32_PBHD_A_PBFSEL_Struct 385 { 386 union 387 { 388 struct 389 { 390 // Port Bank n.0 Function Select 391 volatile uint32_t PB0SEL: 2; 392 // Port Bank n.1 Function Select 393 volatile uint32_t PB1SEL: 2; 394 // Port Bank n.2 Function Select 395 volatile uint32_t PB2SEL: 2; 396 // Port Bank n.3 Function Select 397 volatile uint32_t PB3SEL: 2; 398 // Port Bank n.4 Function Select 399 volatile uint32_t PB4SEL: 2; 400 // Port Bank n.5 Function Select 401 volatile uint32_t PB5SEL: 3; 402 uint32_t reserved0: 19; 403 }; 404 volatile uint32_t U32; 405 }; 406 }; 407 408 #define SI32_PBHD_A_PBFSEL_PB0SEL_MASK 0x00000003 409 #define SI32_PBHD_A_PBFSEL_PB0SEL_SHIFT 0 410 // Pin configured for GPIO. 411 #define SI32_PBHD_A_PBFSEL_PB0SEL_GPIO_VALUE 0 412 #define SI32_PBHD_A_PBFSEL_PB0SEL_GPIO_U32 \ 413 (SI32_PBHD_A_PBFSEL_PB0SEL_GPIO_VALUE << SI32_PBHD_A_PBFSEL_PB0SEL_SHIFT) 414 // Pin configured for Port Mapped Level Shift. 415 #define SI32_PBHD_A_PBFSEL_PB0SEL_PMLS_VALUE 1 416 #define SI32_PBHD_A_PBFSEL_PB0SEL_PMLS_U32 \ 417 (SI32_PBHD_A_PBFSEL_PB0SEL_PMLS_VALUE << SI32_PBHD_A_PBFSEL_PB0SEL_SHIFT) 418 // Pin configured for EPCA0 output. 419 #define SI32_PBHD_A_PBFSEL_PB0SEL_EPCA0_VALUE 2 420 #define SI32_PBHD_A_PBFSEL_PB0SEL_EPCA0_U32 \ 421 (SI32_PBHD_A_PBFSEL_PB0SEL_EPCA0_VALUE << SI32_PBHD_A_PBFSEL_PB0SEL_SHIFT) 422 423 #define SI32_PBHD_A_PBFSEL_PB1SEL_MASK 0x0000000C 424 #define SI32_PBHD_A_PBFSEL_PB1SEL_SHIFT 2 425 // Pin configured for GPIO. 426 #define SI32_PBHD_A_PBFSEL_PB1SEL_GPIO_VALUE 0 427 #define SI32_PBHD_A_PBFSEL_PB1SEL_GPIO_U32 \ 428 (SI32_PBHD_A_PBFSEL_PB1SEL_GPIO_VALUE << SI32_PBHD_A_PBFSEL_PB1SEL_SHIFT) 429 // Pin configured for Port Mapped Level Shift. 430 #define SI32_PBHD_A_PBFSEL_PB1SEL_PMLS_VALUE 1 431 #define SI32_PBHD_A_PBFSEL_PB1SEL_PMLS_U32 \ 432 (SI32_PBHD_A_PBFSEL_PB1SEL_PMLS_VALUE << SI32_PBHD_A_PBFSEL_PB1SEL_SHIFT) 433 // Pin configured for EPCA0 output. 434 #define SI32_PBHD_A_PBFSEL_PB1SEL_EPCA0_VALUE 2 435 #define SI32_PBHD_A_PBFSEL_PB1SEL_EPCA0_U32 \ 436 (SI32_PBHD_A_PBFSEL_PB1SEL_EPCA0_VALUE << SI32_PBHD_A_PBFSEL_PB1SEL_SHIFT) 437 438 #define SI32_PBHD_A_PBFSEL_PB2SEL_MASK 0x00000030 439 #define SI32_PBHD_A_PBFSEL_PB2SEL_SHIFT 4 440 // Pin configured for GPIO. 441 #define SI32_PBHD_A_PBFSEL_PB2SEL_GPIO_VALUE 0 442 #define SI32_PBHD_A_PBFSEL_PB2SEL_GPIO_U32 \ 443 (SI32_PBHD_A_PBFSEL_PB2SEL_GPIO_VALUE << SI32_PBHD_A_PBFSEL_PB2SEL_SHIFT) 444 // Pin configured for Port Mapped Level Shift. 445 #define SI32_PBHD_A_PBFSEL_PB2SEL_PMLS_VALUE 1 446 #define SI32_PBHD_A_PBFSEL_PB2SEL_PMLS_U32 \ 447 (SI32_PBHD_A_PBFSEL_PB2SEL_PMLS_VALUE << SI32_PBHD_A_PBFSEL_PB2SEL_SHIFT) 448 // Pin configured for EPCA0 output. 449 #define SI32_PBHD_A_PBFSEL_PB2SEL_EPCA0_VALUE 2 450 #define SI32_PBHD_A_PBFSEL_PB2SEL_EPCA0_U32 \ 451 (SI32_PBHD_A_PBFSEL_PB2SEL_EPCA0_VALUE << SI32_PBHD_A_PBFSEL_PB2SEL_SHIFT) 452 // Pin configured for UART1 TX. 453 #define SI32_PBHD_A_PBFSEL_PB2SEL_UART1_VALUE 3 454 #define SI32_PBHD_A_PBFSEL_PB2SEL_UART1_U32 \ 455 (SI32_PBHD_A_PBFSEL_PB2SEL_UART1_VALUE << SI32_PBHD_A_PBFSEL_PB2SEL_SHIFT) 456 457 #define SI32_PBHD_A_PBFSEL_PB3SEL_MASK 0x000000C0 458 #define SI32_PBHD_A_PBFSEL_PB3SEL_SHIFT 6 459 // Pin configured for GPIO. 460 #define SI32_PBHD_A_PBFSEL_PB3SEL_GPIO_VALUE 0 461 #define SI32_PBHD_A_PBFSEL_PB3SEL_GPIO_U32 \ 462 (SI32_PBHD_A_PBFSEL_PB3SEL_GPIO_VALUE << SI32_PBHD_A_PBFSEL_PB3SEL_SHIFT) 463 // Pin configured for Port Mapped Level Shift. 464 #define SI32_PBHD_A_PBFSEL_PB3SEL_PMLS_VALUE 1 465 #define SI32_PBHD_A_PBFSEL_PB3SEL_PMLS_U32 \ 466 (SI32_PBHD_A_PBFSEL_PB3SEL_PMLS_VALUE << SI32_PBHD_A_PBFSEL_PB3SEL_SHIFT) 467 // Pin configured for EPCA0 output. 468 #define SI32_PBHD_A_PBFSEL_PB3SEL_EPCA0_VALUE 2 469 #define SI32_PBHD_A_PBFSEL_PB3SEL_EPCA0_U32 \ 470 (SI32_PBHD_A_PBFSEL_PB3SEL_EPCA0_VALUE << SI32_PBHD_A_PBFSEL_PB3SEL_SHIFT) 471 // Pin configured for UART1 RX. 472 #define SI32_PBHD_A_PBFSEL_PB3SEL_UART1_VALUE 3 473 #define SI32_PBHD_A_PBFSEL_PB3SEL_UART1_U32 \ 474 (SI32_PBHD_A_PBFSEL_PB3SEL_UART1_VALUE << SI32_PBHD_A_PBFSEL_PB3SEL_SHIFT) 475 476 #define SI32_PBHD_A_PBFSEL_PB4SEL_MASK 0x00000300 477 #define SI32_PBHD_A_PBFSEL_PB4SEL_SHIFT 8 478 // Pin configured for GPIO. 479 #define SI32_PBHD_A_PBFSEL_PB4SEL_GPIO_VALUE 0 480 #define SI32_PBHD_A_PBFSEL_PB4SEL_GPIO_U32 \ 481 (SI32_PBHD_A_PBFSEL_PB4SEL_GPIO_VALUE << SI32_PBHD_A_PBFSEL_PB4SEL_SHIFT) 482 // Pin configured for Port Mapped Level Shift. 483 #define SI32_PBHD_A_PBFSEL_PB4SEL_PMLS_VALUE 1 484 #define SI32_PBHD_A_PBFSEL_PB4SEL_PMLS_U32 \ 485 (SI32_PBHD_A_PBFSEL_PB4SEL_PMLS_VALUE << SI32_PBHD_A_PBFSEL_PB4SEL_SHIFT) 486 // Pin configured for EPCA0 output. 487 #define SI32_PBHD_A_PBFSEL_PB4SEL_EPCA0_VALUE 2 488 #define SI32_PBHD_A_PBFSEL_PB4SEL_EPCA0_U32 \ 489 (SI32_PBHD_A_PBFSEL_PB4SEL_EPCA0_VALUE << SI32_PBHD_A_PBFSEL_PB4SEL_SHIFT) 490 // Pin configured for UART1 RTS. 491 #define SI32_PBHD_A_PBFSEL_PB4SEL_UART1_VALUE 3 492 #define SI32_PBHD_A_PBFSEL_PB4SEL_UART1_U32 \ 493 (SI32_PBHD_A_PBFSEL_PB4SEL_UART1_VALUE << SI32_PBHD_A_PBFSEL_PB4SEL_SHIFT) 494 495 #define SI32_PBHD_A_PBFSEL_PB5SEL_MASK 0x00001C00 496 #define SI32_PBHD_A_PBFSEL_PB5SEL_SHIFT 10 497 // Pin configured for GPIO. 498 #define SI32_PBHD_A_PBFSEL_PB5SEL_GPIO_VALUE 0 499 #define SI32_PBHD_A_PBFSEL_PB5SEL_GPIO_U32 \ 500 (SI32_PBHD_A_PBFSEL_PB5SEL_GPIO_VALUE << SI32_PBHD_A_PBFSEL_PB5SEL_SHIFT) 501 // Pin configured for Port Mapped Level Shift. 502 #define SI32_PBHD_A_PBFSEL_PB5SEL_PMLS_VALUE 1 503 #define SI32_PBHD_A_PBFSEL_PB5SEL_PMLS_U32 \ 504 (SI32_PBHD_A_PBFSEL_PB5SEL_PMLS_VALUE << SI32_PBHD_A_PBFSEL_PB5SEL_SHIFT) 505 // Pin configured for EPCA0 output. 506 #define SI32_PBHD_A_PBFSEL_PB5SEL_EPCA0_VALUE 2 507 #define SI32_PBHD_A_PBFSEL_PB5SEL_EPCA0_U32 \ 508 (SI32_PBHD_A_PBFSEL_PB5SEL_EPCA0_VALUE << SI32_PBHD_A_PBFSEL_PB5SEL_SHIFT) 509 // Pin configured for UART1 CTS. 510 #define SI32_PBHD_A_PBFSEL_PB5SEL_UART1_VALUE 3 511 #define SI32_PBHD_A_PBFSEL_PB5SEL_UART1_U32 \ 512 (SI32_PBHD_A_PBFSEL_PB5SEL_UART1_VALUE << SI32_PBHD_A_PBFSEL_PB5SEL_SHIFT) 513 // Pin configured for LPTIMER0 toggle output. 514 #define SI32_PBHD_A_PBFSEL_PB5SEL_LPTIMER0_VALUE 4 515 #define SI32_PBHD_A_PBFSEL_PB5SEL_LPTIMER0_U32 \ 516 (SI32_PBHD_A_PBFSEL_PB5SEL_LPTIMER0_VALUE << SI32_PBHD_A_PBFSEL_PB5SEL_SHIFT) 517 518 519 520 struct SI32_PBHD_A_PBSS_Struct 521 { 522 union 523 { 524 struct 525 { 526 // Port Bank n.0 Safe State Select 527 volatile uint32_t PB0SSSEL: 2; 528 // Port Bank n.1 Safe State Select 529 volatile uint32_t PB1SSSEL: 2; 530 // Port Bank n.2 Safe State Select 531 volatile uint32_t PB2SSSEL: 2; 532 // Port Bank n.3 Safe State Select 533 volatile uint32_t PB3SSSEL: 2; 534 // Port Bank n.4 Safe State Select 535 volatile uint32_t PB4SSSEL: 2; 536 // Port Bank n.5 Safe State Select 537 volatile uint32_t PB5SSSEL: 2; 538 uint32_t reserved0: 4; 539 // Enter Safe State Mode 540 volatile uint32_t SSMDEN: 1; 541 // Safe State Signal Mode 542 volatile uint32_t PBSSSMD: 1; 543 uint32_t reserved1: 14; 544 }; 545 volatile uint32_t U32; 546 }; 547 }; 548 549 #define SI32_PBHD_A_PBSS_PB0SSSEL_MASK 0x00000003 550 #define SI32_PBHD_A_PBSS_PB0SSSEL_SHIFT 0 551 // Place PBn.0 in a High Impedance state. 552 #define SI32_PBHD_A_PBSS_PB0SSSEL_HIZ_VALUE 0 553 #define SI32_PBHD_A_PBSS_PB0SSSEL_HIZ_U32 \ 554 (SI32_PBHD_A_PBSS_PB0SSSEL_HIZ_VALUE << SI32_PBHD_A_PBSS_PB0SSSEL_SHIFT) 555 // Drive PBn.0 High. 556 #define SI32_PBHD_A_PBSS_PB0SSSEL_HIGH_VALUE 1 557 #define SI32_PBHD_A_PBSS_PB0SSSEL_HIGH_U32 \ 558 (SI32_PBHD_A_PBSS_PB0SSSEL_HIGH_VALUE << SI32_PBHD_A_PBSS_PB0SSSEL_SHIFT) 559 // Drive PBn.0 Low. 560 #define SI32_PBHD_A_PBSS_PB0SSSEL_LOW_VALUE 2 561 #define SI32_PBHD_A_PBSS_PB0SSSEL_LOW_U32 \ 562 (SI32_PBHD_A_PBSS_PB0SSSEL_LOW_VALUE << SI32_PBHD_A_PBSS_PB0SSSEL_SHIFT) 563 // Ignore the safe state signal (weak pull-ups disabled). 564 #define SI32_PBHD_A_PBSS_PB0SSSEL_DISABLED_VALUE 3 565 #define SI32_PBHD_A_PBSS_PB0SSSEL_DISABLED_U32 \ 566 (SI32_PBHD_A_PBSS_PB0SSSEL_DISABLED_VALUE << SI32_PBHD_A_PBSS_PB0SSSEL_SHIFT) 567 568 #define SI32_PBHD_A_PBSS_PB1SSSEL_MASK 0x0000000C 569 #define SI32_PBHD_A_PBSS_PB1SSSEL_SHIFT 2 570 // Place PBn.1 in a High Impedance state. 571 #define SI32_PBHD_A_PBSS_PB1SSSEL_HIZ_VALUE 0 572 #define SI32_PBHD_A_PBSS_PB1SSSEL_HIZ_U32 \ 573 (SI32_PBHD_A_PBSS_PB1SSSEL_HIZ_VALUE << SI32_PBHD_A_PBSS_PB1SSSEL_SHIFT) 574 // Drive PBn.1 High. 575 #define SI32_PBHD_A_PBSS_PB1SSSEL_HIGH_VALUE 1 576 #define SI32_PBHD_A_PBSS_PB1SSSEL_HIGH_U32 \ 577 (SI32_PBHD_A_PBSS_PB1SSSEL_HIGH_VALUE << SI32_PBHD_A_PBSS_PB1SSSEL_SHIFT) 578 // Drive PBn.1 Low. 579 #define SI32_PBHD_A_PBSS_PB1SSSEL_LOW_VALUE 2 580 #define SI32_PBHD_A_PBSS_PB1SSSEL_LOW_U32 \ 581 (SI32_PBHD_A_PBSS_PB1SSSEL_LOW_VALUE << SI32_PBHD_A_PBSS_PB1SSSEL_SHIFT) 582 // Ignore the safe state signal (weak pull-ups disabled). 583 #define SI32_PBHD_A_PBSS_PB1SSSEL_DISABLED_VALUE 3 584 #define SI32_PBHD_A_PBSS_PB1SSSEL_DISABLED_U32 \ 585 (SI32_PBHD_A_PBSS_PB1SSSEL_DISABLED_VALUE << SI32_PBHD_A_PBSS_PB1SSSEL_SHIFT) 586 587 #define SI32_PBHD_A_PBSS_PB2SSSEL_MASK 0x00000030 588 #define SI32_PBHD_A_PBSS_PB2SSSEL_SHIFT 4 589 // Place PBn.2 in a High Impedance state. 590 #define SI32_PBHD_A_PBSS_PB2SSSEL_HIZ_VALUE 0 591 #define SI32_PBHD_A_PBSS_PB2SSSEL_HIZ_U32 \ 592 (SI32_PBHD_A_PBSS_PB2SSSEL_HIZ_VALUE << SI32_PBHD_A_PBSS_PB2SSSEL_SHIFT) 593 // Drive PBn.2 High. 594 #define SI32_PBHD_A_PBSS_PB2SSSEL_HIGH_VALUE 1 595 #define SI32_PBHD_A_PBSS_PB2SSSEL_HIGH_U32 \ 596 (SI32_PBHD_A_PBSS_PB2SSSEL_HIGH_VALUE << SI32_PBHD_A_PBSS_PB2SSSEL_SHIFT) 597 // Drive PBn.2 Low. 598 #define SI32_PBHD_A_PBSS_PB2SSSEL_LOW_VALUE 2 599 #define SI32_PBHD_A_PBSS_PB2SSSEL_LOW_U32 \ 600 (SI32_PBHD_A_PBSS_PB2SSSEL_LOW_VALUE << SI32_PBHD_A_PBSS_PB2SSSEL_SHIFT) 601 // Ignore the safe state signal (weak pull-ups disabled). 602 #define SI32_PBHD_A_PBSS_PB2SSSEL_DISABLED_VALUE 3 603 #define SI32_PBHD_A_PBSS_PB2SSSEL_DISABLED_U32 \ 604 (SI32_PBHD_A_PBSS_PB2SSSEL_DISABLED_VALUE << SI32_PBHD_A_PBSS_PB2SSSEL_SHIFT) 605 606 #define SI32_PBHD_A_PBSS_PB3SSSEL_MASK 0x000000C0 607 #define SI32_PBHD_A_PBSS_PB3SSSEL_SHIFT 6 608 // Place PBn.3 in a High Impedance state. 609 #define SI32_PBHD_A_PBSS_PB3SSSEL_HIZ_VALUE 0 610 #define SI32_PBHD_A_PBSS_PB3SSSEL_HIZ_U32 \ 611 (SI32_PBHD_A_PBSS_PB3SSSEL_HIZ_VALUE << SI32_PBHD_A_PBSS_PB3SSSEL_SHIFT) 612 // Drive PBn.3 High. 613 #define SI32_PBHD_A_PBSS_PB3SSSEL_HIGH_VALUE 1 614 #define SI32_PBHD_A_PBSS_PB3SSSEL_HIGH_U32 \ 615 (SI32_PBHD_A_PBSS_PB3SSSEL_HIGH_VALUE << SI32_PBHD_A_PBSS_PB3SSSEL_SHIFT) 616 // Drive PBn.3 Low. 617 #define SI32_PBHD_A_PBSS_PB3SSSEL_LOW_VALUE 2 618 #define SI32_PBHD_A_PBSS_PB3SSSEL_LOW_U32 \ 619 (SI32_PBHD_A_PBSS_PB3SSSEL_LOW_VALUE << SI32_PBHD_A_PBSS_PB3SSSEL_SHIFT) 620 // Ignore the safe state signal (weak pull-ups disabled). 621 #define SI32_PBHD_A_PBSS_PB3SSSEL_DISABLED_VALUE 3 622 #define SI32_PBHD_A_PBSS_PB3SSSEL_DISABLED_U32 \ 623 (SI32_PBHD_A_PBSS_PB3SSSEL_DISABLED_VALUE << SI32_PBHD_A_PBSS_PB3SSSEL_SHIFT) 624 625 #define SI32_PBHD_A_PBSS_PB4SSSEL_MASK 0x00000300 626 #define SI32_PBHD_A_PBSS_PB4SSSEL_SHIFT 8 627 // Place PBn.4 in a High Impedance state. 628 #define SI32_PBHD_A_PBSS_PB4SSSEL_HIZ_VALUE 0 629 #define SI32_PBHD_A_PBSS_PB4SSSEL_HIZ_U32 \ 630 (SI32_PBHD_A_PBSS_PB4SSSEL_HIZ_VALUE << SI32_PBHD_A_PBSS_PB4SSSEL_SHIFT) 631 // Drive PBn.4 High. 632 #define SI32_PBHD_A_PBSS_PB4SSSEL_HIGH_VALUE 1 633 #define SI32_PBHD_A_PBSS_PB4SSSEL_HIGH_U32 \ 634 (SI32_PBHD_A_PBSS_PB4SSSEL_HIGH_VALUE << SI32_PBHD_A_PBSS_PB4SSSEL_SHIFT) 635 // Drive PBn.4 Low. 636 #define SI32_PBHD_A_PBSS_PB4SSSEL_LOW_VALUE 2 637 #define SI32_PBHD_A_PBSS_PB4SSSEL_LOW_U32 \ 638 (SI32_PBHD_A_PBSS_PB4SSSEL_LOW_VALUE << SI32_PBHD_A_PBSS_PB4SSSEL_SHIFT) 639 // Ignore the safe state signal (weak pull-ups disabled). 640 #define SI32_PBHD_A_PBSS_PB4SSSEL_DISABLED_VALUE 3 641 #define SI32_PBHD_A_PBSS_PB4SSSEL_DISABLED_U32 \ 642 (SI32_PBHD_A_PBSS_PB4SSSEL_DISABLED_VALUE << SI32_PBHD_A_PBSS_PB4SSSEL_SHIFT) 643 644 #define SI32_PBHD_A_PBSS_PB5SSSEL_MASK 0x00000C00 645 #define SI32_PBHD_A_PBSS_PB5SSSEL_SHIFT 10 646 // Place PBn.5 in a High Impedance state. 647 #define SI32_PBHD_A_PBSS_PB5SSSEL_HIZ_VALUE 0 648 #define SI32_PBHD_A_PBSS_PB5SSSEL_HIZ_U32 \ 649 (SI32_PBHD_A_PBSS_PB5SSSEL_HIZ_VALUE << SI32_PBHD_A_PBSS_PB5SSSEL_SHIFT) 650 // Drive PBn.5 High. 651 #define SI32_PBHD_A_PBSS_PB5SSSEL_HIGH_VALUE 1 652 #define SI32_PBHD_A_PBSS_PB5SSSEL_HIGH_U32 \ 653 (SI32_PBHD_A_PBSS_PB5SSSEL_HIGH_VALUE << SI32_PBHD_A_PBSS_PB5SSSEL_SHIFT) 654 // Drive PBn.5 Low. 655 #define SI32_PBHD_A_PBSS_PB5SSSEL_LOW_VALUE 2 656 #define SI32_PBHD_A_PBSS_PB5SSSEL_LOW_U32 \ 657 (SI32_PBHD_A_PBSS_PB5SSSEL_LOW_VALUE << SI32_PBHD_A_PBSS_PB5SSSEL_SHIFT) 658 // Ignore the safe state signal (weak pull-ups disabled). 659 #define SI32_PBHD_A_PBSS_PB5SSSEL_DISABLED_VALUE 3 660 #define SI32_PBHD_A_PBSS_PB5SSSEL_DISABLED_U32 \ 661 (SI32_PBHD_A_PBSS_PB5SSSEL_DISABLED_VALUE << SI32_PBHD_A_PBSS_PB5SSSEL_SHIFT) 662 663 #define SI32_PBHD_A_PBSS_SSMDEN_MASK 0x00010000 664 #define SI32_PBHD_A_PBSS_SSMDEN_SHIFT 16 665 // Disable Safe State. 666 #define SI32_PBHD_A_PBSS_SSMDEN_DISABLED_VALUE 0 667 #define SI32_PBHD_A_PBSS_SSMDEN_DISABLED_U32 \ 668 (SI32_PBHD_A_PBSS_SSMDEN_DISABLED_VALUE << SI32_PBHD_A_PBSS_SSMDEN_SHIFT) 669 // Enter Safe State. Each PBn.x pin will enter the states defined by PBxSSSEL. 670 #define SI32_PBHD_A_PBSS_SSMDEN_ENABLED_VALUE 1 671 #define SI32_PBHD_A_PBSS_SSMDEN_ENABLED_U32 \ 672 (SI32_PBHD_A_PBSS_SSMDEN_ENABLED_VALUE << SI32_PBHD_A_PBSS_SSMDEN_SHIFT) 673 674 #define SI32_PBHD_A_PBSS_PBSSSMD_MASK 0x00020000 675 #define SI32_PBHD_A_PBSS_PBSSSMD_SHIFT 17 676 // Enable deglitching on the kill signal input. The kill signal must be asserted 677 // for two APB clocks to be recognized. 678 #define SI32_PBHD_A_PBSS_PBSSSMD_DEGLITCH_VALUE 0 679 #define SI32_PBHD_A_PBSS_PBSSSMD_DEGLITCH_U32 \ 680 (SI32_PBHD_A_PBSS_PBSSSMD_DEGLITCH_VALUE << SI32_PBHD_A_PBSS_PBSSSMD_SHIFT) 681 // Disable deglitching on the kill signal input. The kill signal will take 682 // immediate effect. 683 #define SI32_PBHD_A_PBSS_PBSSSMD_IMMEDIATE_VALUE 1 684 #define SI32_PBHD_A_PBSS_PBSSSMD_IMMEDIATE_U32 \ 685 (SI32_PBHD_A_PBSS_PBSSSMD_IMMEDIATE_VALUE << SI32_PBHD_A_PBSS_PBSSSMD_SHIFT) 686 687 688 689 struct SI32_PBHD_A_PBLOCK_Struct 690 { 691 union 692 { 693 struct 694 { 695 // Port Bank Lock 696 volatile uint32_t PBLOCK_BITS: 6; 697 uint32_t reserved0: 26; 698 }; 699 volatile uint32_t U32; 700 }; 701 }; 702 703 #define SI32_PBHD_A_PBLOCK_PBLOCK_MASK 0x0000003F 704 #define SI32_PBHD_A_PBLOCK_PBLOCK_SHIFT 0 705 706 707 708 typedef struct SI32_PBHD_A_Struct 709 { 710 struct SI32_PBHD_A_PB_Struct PB ; // Base Address + 0x0 711 volatile uint32_t PB_SET; 712 volatile uint32_t PB_CLR; 713 volatile uint32_t PB_MSK; 714 struct SI32_PBHD_A_PBPIN_Struct PBPIN ; // Base Address + 0x10 715 uint32_t reserved0; 716 uint32_t reserved1; 717 uint32_t reserved2; 718 struct SI32_PBHD_A_PBMDSEL_Struct PBMDSEL ; // Base Address + 0x20 719 volatile uint32_t PBMDSEL_SET; 720 volatile uint32_t PBMDSEL_CLR; 721 uint32_t reserved3; 722 struct SI32_PBHD_A_PBDEN_Struct PBDEN ; // Base Address + 0x30 723 volatile uint32_t PBDEN_SET; 724 volatile uint32_t PBDEN_CLR; 725 uint32_t reserved4; 726 struct SI32_PBHD_A_PBDRV_Struct PBDRV ; // Base Address + 0x40 727 volatile uint32_t PBDRV_SET; 728 volatile uint32_t PBDRV_CLR; 729 uint32_t reserved5; 730 struct SI32_PBHD_A_PBILIMIT_Struct PBILIMIT ; // Base Address + 0x50 731 volatile uint32_t PBILIMIT_SET; 732 volatile uint32_t PBILIMIT_CLR; 733 uint32_t reserved6; 734 uint32_t reserved7[4]; 735 struct SI32_PBHD_A_PBFSEL_Struct PBFSEL ; // Base Address + 0x70 736 uint32_t reserved8; 737 uint32_t reserved9; 738 uint32_t reserved10; 739 struct SI32_PBHD_A_PBSS_Struct PBSS ; // Base Address + 0x80 740 volatile uint32_t PBSS_SET; 741 volatile uint32_t PBSS_CLR; 742 uint32_t reserved11; 743 struct SI32_PBHD_A_PBLOCK_Struct PBLOCK ; // Base Address + 0x90 744 uint32_t reserved12; 745 uint32_t reserved13; 746 uint32_t reserved14; 747 } SI32_PBHD_A_Type; 748 749 #ifdef __cplusplus 750 } 751 #endif 752 753 #endif // __SI32_PBHD_A_REGISTERS_H__ 754 755 //-eof-------------------------------------------------------------------------- 756 757