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 SIM3L1XX_DEVICEID_A module 24 // 25 // Script: 0.61 26 // Version: 1 27 28 #ifndef __SI32_DEVICEID_A_REGISTERS_H__ 29 #define __SI32_DEVICEID_A_REGISTERS_H__ 30 31 #include <stdint.h> 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 struct SI32_DEVICEID_A_DEVICEID0_Struct 38 { 39 union 40 { 41 struct 42 { 43 // Revision ID 44 volatile uint32_t REVID: 4; 45 // Device ID 0 46 volatile uint32_t DEVICEID0_BITS: 28; 47 }; 48 volatile uint32_t U32; 49 }; 50 }; 51 52 #define SI32_DEVICEID_A_DEVICEID0_REVID_MASK 0x0000000F 53 #define SI32_DEVICEID_A_DEVICEID0_REVID_SHIFT 0 54 // Revision A. 55 #define SI32_DEVICEID_A_DEVICEID0_REVID_REVA_VALUE 0 56 #define SI32_DEVICEID_A_DEVICEID0_REVID_REVA_U32 \ 57 (SI32_DEVICEID_A_DEVICEID0_REVID_REVA_VALUE << SI32_DEVICEID_A_DEVICEID0_REVID_SHIFT) 58 // Revision B. 59 #define SI32_DEVICEID_A_DEVICEID0_REVID_REVB_VALUE 1 60 #define SI32_DEVICEID_A_DEVICEID0_REVID_REVB_U32 \ 61 (SI32_DEVICEID_A_DEVICEID0_REVID_REVB_VALUE << SI32_DEVICEID_A_DEVICEID0_REVID_SHIFT) 62 // Revision C. 63 #define SI32_DEVICEID_A_DEVICEID0_REVID_REVC_VALUE 2 64 #define SI32_DEVICEID_A_DEVICEID0_REVID_REVC_U32 \ 65 (SI32_DEVICEID_A_DEVICEID0_REVID_REVC_VALUE << SI32_DEVICEID_A_DEVICEID0_REVID_SHIFT) 66 67 #define SI32_DEVICEID_A_DEVICEID0_DEVICEID0_MASK 0xFFFFFFF0 68 #define SI32_DEVICEID_A_DEVICEID0_DEVICEID0_SHIFT 4 69 70 71 72 struct SI32_DEVICEID_A_DEVICEID1_Struct 73 { 74 union 75 { 76 struct 77 { 78 // Device ID 1 79 volatile uint32_t DEVICEID1_BITS; 80 }; 81 volatile uint32_t U32; 82 }; 83 }; 84 85 #define SI32_DEVICEID_A_DEVICEID1_DEVICEID1_MASK 0xFFFFFFFF 86 #define SI32_DEVICEID_A_DEVICEID1_DEVICEID1_SHIFT 0 87 88 89 90 struct SI32_DEVICEID_A_DEVICEID2_Struct 91 { 92 union 93 { 94 struct 95 { 96 // Device ID 2 97 volatile uint32_t DEVICEID2_BITS; 98 }; 99 volatile uint32_t U32; 100 }; 101 }; 102 103 #define SI32_DEVICEID_A_DEVICEID2_DEVICEID2_MASK 0xFFFFFFFF 104 #define SI32_DEVICEID_A_DEVICEID2_DEVICEID2_SHIFT 0 105 106 107 108 struct SI32_DEVICEID_A_DEVICEID3_Struct 109 { 110 union 111 { 112 struct 113 { 114 // Device ID 3 115 volatile uint32_t DEVICEID3_BITS; 116 }; 117 volatile uint32_t U32; 118 }; 119 }; 120 121 #define SI32_DEVICEID_A_DEVICEID3_DEVICEID3_MASK 0xFFFFFFFF 122 #define SI32_DEVICEID_A_DEVICEID3_DEVICEID3_SHIFT 0 123 124 125 126 typedef struct SI32_DEVICEID_A_Struct 127 { 128 struct SI32_DEVICEID_A_DEVICEID0_Struct DEVICEID0 ; // Base Address + 0x0 129 uint32_t reserved0; 130 uint32_t reserved1; 131 uint32_t reserved2; 132 struct SI32_DEVICEID_A_DEVICEID1_Struct DEVICEID1 ; // Base Address + 0x10 133 uint32_t reserved3; 134 uint32_t reserved4; 135 uint32_t reserved5; 136 struct SI32_DEVICEID_A_DEVICEID2_Struct DEVICEID2 ; // Base Address + 0x20 137 uint32_t reserved6; 138 uint32_t reserved7; 139 uint32_t reserved8; 140 struct SI32_DEVICEID_A_DEVICEID3_Struct DEVICEID3 ; // Base Address + 0x30 141 uint32_t reserved9; 142 uint32_t reserved10; 143 uint32_t reserved11; 144 uint32_t reserved12[4]; 145 } SI32_DEVICEID_A_Type; 146 147 #ifdef __cplusplus 148 } 149 #endif 150 151 #endif // __SI32_DEVICEID_A_REGISTERS_H__ 152 153 //-eof-------------------------------------------------------------------------- 154 155