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