summaryrefslogtreecommitdiffstats
path: root/src/ssx/pgp/registers/fasti2c_firmware_registers.h
blob: 43905083c1a950b3db50d0e2a794843b8166c83d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
#ifndef __FASTI2C_FIRMWARE_REGISTERS_H__
#define __FASTI2C_FIRMWARE_REGISTERS_H__

#ifndef SIXTYFOUR_BIT_CONSTANT
#ifdef __ASSEMBLER__
#define SIXTYFOUR_BIT_CONSTANT(x) x
#else
#define SIXTYFOUR_BIT_CONSTANT(x) x##ull
#endif
#endif

#ifndef __ASSEMBLER__

// $Id: fasti2c_firmware_registers.h,v 1.1.1.1 2013/12/11 21:03:23 bcbrock Exp $

/// \file fasti2c_firmware_registers.h
/// \brief C register structs for the FASTI2C unit

// *** WARNING *** - This file is generated automatically, do not edit.

#include <stdint.h>



typedef union fasti2c_control {

    uint64_t value;
    struct {
#ifdef _BIG_ENDIAN
        uint32_t high_order;
        uint32_t low_order;
#else
        uint32_t low_order;
        uint32_t high_order;
#endif // _BIG_ENDIAN
    } words;
    struct {
#ifdef _BIG_ENDIAN
	uint64_t with_start : 1;
	uint64_t with_address : 1;
	uint64_t read_continue : 1;
	uint64_t with_stop : 1;
	uint64_t data_length : 4;
	uint64_t device_address : 7;
	uint64_t read_not_write : 1;
	uint64_t speed : 2;
	uint64_t port_number : 5;
	uint64_t address_range : 3;
	uint64_t _reserved0 : 6;
	uint64_t data0 : 8;
	uint64_t data1 : 8;
	uint64_t data2 : 8;
	uint64_t data3 : 8;
#else
	uint64_t data3 : 8;
	uint64_t data2 : 8;
	uint64_t data1 : 8;
	uint64_t data0 : 8;
	uint64_t _reserved0 : 6;
	uint64_t address_range : 3;
	uint64_t port_number : 5;
	uint64_t speed : 2;
	uint64_t read_not_write : 1;
	uint64_t device_address : 7;
	uint64_t data_length : 4;
	uint64_t with_stop : 1;
	uint64_t read_continue : 1;
	uint64_t with_address : 1;
	uint64_t with_start : 1;
#endif // _BIG_ENDIAN
    } fields;
} fasti2c_control_t;



typedef union fasti2c_reset {

    uint64_t value;
    struct {
#ifdef _BIG_ENDIAN
        uint32_t high_order;
        uint32_t low_order;
#else
        uint32_t low_order;
        uint32_t high_order;
#endif // _BIG_ENDIAN
    } words;
    struct {
#ifdef _BIG_ENDIAN
	uint64_t value : 64;
#else
	uint64_t value : 64;
#endif // _BIG_ENDIAN
    } fields;
} fasti2c_reset_t;



typedef union fasti2c_status {

    uint64_t value;
    struct {
#ifdef _BIG_ENDIAN
        uint32_t high_order;
        uint32_t low_order;
#else
        uint32_t low_order;
        uint32_t high_order;
#endif // _BIG_ENDIAN
    } words;
    struct {
#ifdef _BIG_ENDIAN
	uint64_t pib_address_invalid : 1;
	uint64_t pib_write_invalid : 1;
	uint64_t pib_read_invalid : 1;
	uint64_t pib_address_parity_error : 1;
	uint64_t pib_parity_error : 1;
	uint64_t lb_parity_error : 1;
	uint64_t read_data : 32;
	uint64_t _reserved0 : 6;
	uint64_t i2c_macro_busy : 1;
	uint64_t i2c_invalid_command : 1;
	uint64_t i2c_parity_error : 1;
	uint64_t i2c_back_end_overrun_error : 1;
	uint64_t i2c_back_end_access_error : 1;
	uint64_t i2c_arbitration_lost : 1;
	uint64_t i2c_nack_received : 1;
	uint64_t i2c_data_request : 1;
	uint64_t i2c_command_complete : 1;
	uint64_t i2c_stop_error : 1;
	uint64_t i2c_port_busy : 1;
	uint64_t i2c_interface_busy : 1;
	uint64_t i2c_fifo_entry_count : 8;
#else
	uint64_t i2c_fifo_entry_count : 8;
	uint64_t i2c_interface_busy : 1;
	uint64_t i2c_port_busy : 1;
	uint64_t i2c_stop_error : 1;
	uint64_t i2c_command_complete : 1;
	uint64_t i2c_data_request : 1;
	uint64_t i2c_nack_received : 1;
	uint64_t i2c_arbitration_lost : 1;
	uint64_t i2c_back_end_access_error : 1;
	uint64_t i2c_back_end_overrun_error : 1;
	uint64_t i2c_parity_error : 1;
	uint64_t i2c_invalid_command : 1;
	uint64_t i2c_macro_busy : 1;
	uint64_t _reserved0 : 6;
	uint64_t read_data : 32;
	uint64_t lb_parity_error : 1;
	uint64_t pib_parity_error : 1;
	uint64_t pib_address_parity_error : 1;
	uint64_t pib_read_invalid : 1;
	uint64_t pib_write_invalid : 1;
	uint64_t pib_address_invalid : 1;
#endif // _BIG_ENDIAN
    } fields;
} fasti2c_status_t;



typedef union fasti2c_data {

    uint64_t value;
    struct {
#ifdef _BIG_ENDIAN
        uint32_t high_order;
        uint32_t low_order;
#else
        uint32_t low_order;
        uint32_t high_order;
#endif // _BIG_ENDIAN
    } words;
    struct {
#ifdef _BIG_ENDIAN
	uint64_t value : 64;
#else
	uint64_t value : 64;
#endif // _BIG_ENDIAN
    } fields;
} fasti2c_data_t;



typedef union fasti2c_ecc_start {

    uint64_t value;
    struct {
#ifdef _BIG_ENDIAN
        uint32_t high_order;
        uint32_t low_order;
#else
        uint32_t low_order;
        uint32_t high_order;
#endif // _BIG_ENDIAN
    } words;
    struct {
#ifdef _BIG_ENDIAN
	uint64_t value : 64;
#else
	uint64_t value : 64;
#endif // _BIG_ENDIAN
    } fields;
} fasti2c_ecc_start_t;



typedef union fasti2c_ecc_stop {

    uint64_t value;
    struct {
#ifdef _BIG_ENDIAN
        uint32_t high_order;
        uint32_t low_order;
#else
        uint32_t low_order;
        uint32_t high_order;
#endif // _BIG_ENDIAN
    } words;
    struct {
#ifdef _BIG_ENDIAN
	uint64_t value : 64;
#else
	uint64_t value : 64;
#endif // _BIG_ENDIAN
    } fields;
} fasti2c_ecc_stop_t;


#endif // __ASSEMBLER__
#endif // __FASTI2C_FIRMWARE_REGISTERS_H__

OpenPOWER on IntegriCloud