4
#define SI_CONFIG_ADDRESS 0x00000000
5
#define SI_CONFIG_OFFSET 0x00000000
6
#define SI_CONFIG_ERR_INT_MSB 19
7
#define SI_CONFIG_ERR_INT_LSB 19
8
#define SI_CONFIG_ERR_INT_MASK 0x00080000
9
#define SI_CONFIG_ERR_INT_GET(x) (((x) & SI_CONFIG_ERR_INT_MASK) >> SI_CONFIG_ERR_INT_LSB)
10
#define SI_CONFIG_ERR_INT_SET(x) (((x) << SI_CONFIG_ERR_INT_LSB) & SI_CONFIG_ERR_INT_MASK)
11
#define SI_CONFIG_BIDIR_OD_DATA_MSB 18
12
#define SI_CONFIG_BIDIR_OD_DATA_LSB 18
13
#define SI_CONFIG_BIDIR_OD_DATA_MASK 0x00040000
14
#define SI_CONFIG_BIDIR_OD_DATA_GET(x) (((x) & SI_CONFIG_BIDIR_OD_DATA_MASK) >> SI_CONFIG_BIDIR_OD_DATA_LSB)
15
#define SI_CONFIG_BIDIR_OD_DATA_SET(x) (((x) << SI_CONFIG_BIDIR_OD_DATA_LSB) & SI_CONFIG_BIDIR_OD_DATA_MASK)
16
#define SI_CONFIG_I2C_MSB 16
17
#define SI_CONFIG_I2C_LSB 16
18
#define SI_CONFIG_I2C_MASK 0x00010000
19
#define SI_CONFIG_I2C_GET(x) (((x) & SI_CONFIG_I2C_MASK) >> SI_CONFIG_I2C_LSB)
20
#define SI_CONFIG_I2C_SET(x) (((x) << SI_CONFIG_I2C_LSB) & SI_CONFIG_I2C_MASK)
21
#define SI_CONFIG_POS_SAMPLE_MSB 7
22
#define SI_CONFIG_POS_SAMPLE_LSB 7
23
#define SI_CONFIG_POS_SAMPLE_MASK 0x00000080
24
#define SI_CONFIG_POS_SAMPLE_GET(x) (((x) & SI_CONFIG_POS_SAMPLE_MASK) >> SI_CONFIG_POS_SAMPLE_LSB)
25
#define SI_CONFIG_POS_SAMPLE_SET(x) (((x) << SI_CONFIG_POS_SAMPLE_LSB) & SI_CONFIG_POS_SAMPLE_MASK)
26
#define SI_CONFIG_POS_DRIVE_MSB 6
27
#define SI_CONFIG_POS_DRIVE_LSB 6
28
#define SI_CONFIG_POS_DRIVE_MASK 0x00000040
29
#define SI_CONFIG_POS_DRIVE_GET(x) (((x) & SI_CONFIG_POS_DRIVE_MASK) >> SI_CONFIG_POS_DRIVE_LSB)
30
#define SI_CONFIG_POS_DRIVE_SET(x) (((x) << SI_CONFIG_POS_DRIVE_LSB) & SI_CONFIG_POS_DRIVE_MASK)
31
#define SI_CONFIG_INACTIVE_DATA_MSB 5
32
#define SI_CONFIG_INACTIVE_DATA_LSB 5
33
#define SI_CONFIG_INACTIVE_DATA_MASK 0x00000020
34
#define SI_CONFIG_INACTIVE_DATA_GET(x) (((x) & SI_CONFIG_INACTIVE_DATA_MASK) >> SI_CONFIG_INACTIVE_DATA_LSB)
35
#define SI_CONFIG_INACTIVE_DATA_SET(x) (((x) << SI_CONFIG_INACTIVE_DATA_LSB) & SI_CONFIG_INACTIVE_DATA_MASK)
36
#define SI_CONFIG_INACTIVE_CLK_MSB 4
37
#define SI_CONFIG_INACTIVE_CLK_LSB 4
38
#define SI_CONFIG_INACTIVE_CLK_MASK 0x00000010
39
#define SI_CONFIG_INACTIVE_CLK_GET(x) (((x) & SI_CONFIG_INACTIVE_CLK_MASK) >> SI_CONFIG_INACTIVE_CLK_LSB)
40
#define SI_CONFIG_INACTIVE_CLK_SET(x) (((x) << SI_CONFIG_INACTIVE_CLK_LSB) & SI_CONFIG_INACTIVE_CLK_MASK)
41
#define SI_CONFIG_DIVIDER_MSB 3
42
#define SI_CONFIG_DIVIDER_LSB 0
43
#define SI_CONFIG_DIVIDER_MASK 0x0000000f
44
#define SI_CONFIG_DIVIDER_GET(x) (((x) & SI_CONFIG_DIVIDER_MASK) >> SI_CONFIG_DIVIDER_LSB)
45
#define SI_CONFIG_DIVIDER_SET(x) (((x) << SI_CONFIG_DIVIDER_LSB) & SI_CONFIG_DIVIDER_MASK)
47
#define SI_CS_ADDRESS 0x00000004
48
#define SI_CS_OFFSET 0x00000004
49
#define SI_CS_BIT_CNT_IN_LAST_BYTE_MSB 13
50
#define SI_CS_BIT_CNT_IN_LAST_BYTE_LSB 11
51
#define SI_CS_BIT_CNT_IN_LAST_BYTE_MASK 0x00003800
52
#define SI_CS_BIT_CNT_IN_LAST_BYTE_GET(x) (((x) & SI_CS_BIT_CNT_IN_LAST_BYTE_MASK) >> SI_CS_BIT_CNT_IN_LAST_BYTE_LSB)
53
#define SI_CS_BIT_CNT_IN_LAST_BYTE_SET(x) (((x) << SI_CS_BIT_CNT_IN_LAST_BYTE_LSB) & SI_CS_BIT_CNT_IN_LAST_BYTE_MASK)
54
#define SI_CS_DONE_ERR_MSB 10
55
#define SI_CS_DONE_ERR_LSB 10
56
#define SI_CS_DONE_ERR_MASK 0x00000400
57
#define SI_CS_DONE_ERR_GET(x) (((x) & SI_CS_DONE_ERR_MASK) >> SI_CS_DONE_ERR_LSB)
58
#define SI_CS_DONE_ERR_SET(x) (((x) << SI_CS_DONE_ERR_LSB) & SI_CS_DONE_ERR_MASK)
59
#define SI_CS_DONE_INT_MSB 9
60
#define SI_CS_DONE_INT_LSB 9
61
#define SI_CS_DONE_INT_MASK 0x00000200
62
#define SI_CS_DONE_INT_GET(x) (((x) & SI_CS_DONE_INT_MASK) >> SI_CS_DONE_INT_LSB)
63
#define SI_CS_DONE_INT_SET(x) (((x) << SI_CS_DONE_INT_LSB) & SI_CS_DONE_INT_MASK)
64
#define SI_CS_START_MSB 8
65
#define SI_CS_START_LSB 8
66
#define SI_CS_START_MASK 0x00000100
67
#define SI_CS_START_GET(x) (((x) & SI_CS_START_MASK) >> SI_CS_START_LSB)
68
#define SI_CS_START_SET(x) (((x) << SI_CS_START_LSB) & SI_CS_START_MASK)
69
#define SI_CS_RX_CNT_MSB 7
70
#define SI_CS_RX_CNT_LSB 4
71
#define SI_CS_RX_CNT_MASK 0x000000f0
72
#define SI_CS_RX_CNT_GET(x) (((x) & SI_CS_RX_CNT_MASK) >> SI_CS_RX_CNT_LSB)
73
#define SI_CS_RX_CNT_SET(x) (((x) << SI_CS_RX_CNT_LSB) & SI_CS_RX_CNT_MASK)
74
#define SI_CS_TX_CNT_MSB 3
75
#define SI_CS_TX_CNT_LSB 0
76
#define SI_CS_TX_CNT_MASK 0x0000000f
77
#define SI_CS_TX_CNT_GET(x) (((x) & SI_CS_TX_CNT_MASK) >> SI_CS_TX_CNT_LSB)
78
#define SI_CS_TX_CNT_SET(x) (((x) << SI_CS_TX_CNT_LSB) & SI_CS_TX_CNT_MASK)
80
#define SI_TX_DATA0_ADDRESS 0x00000008
81
#define SI_TX_DATA0_OFFSET 0x00000008
82
#define SI_TX_DATA0_DATA3_MSB 31
83
#define SI_TX_DATA0_DATA3_LSB 24
84
#define SI_TX_DATA0_DATA3_MASK 0xff000000
85
#define SI_TX_DATA0_DATA3_GET(x) (((x) & SI_TX_DATA0_DATA3_MASK) >> SI_TX_DATA0_DATA3_LSB)
86
#define SI_TX_DATA0_DATA3_SET(x) (((x) << SI_TX_DATA0_DATA3_LSB) & SI_TX_DATA0_DATA3_MASK)
87
#define SI_TX_DATA0_DATA2_MSB 23
88
#define SI_TX_DATA0_DATA2_LSB 16
89
#define SI_TX_DATA0_DATA2_MASK 0x00ff0000
90
#define SI_TX_DATA0_DATA2_GET(x) (((x) & SI_TX_DATA0_DATA2_MASK) >> SI_TX_DATA0_DATA2_LSB)
91
#define SI_TX_DATA0_DATA2_SET(x) (((x) << SI_TX_DATA0_DATA2_LSB) & SI_TX_DATA0_DATA2_MASK)
92
#define SI_TX_DATA0_DATA1_MSB 15
93
#define SI_TX_DATA0_DATA1_LSB 8
94
#define SI_TX_DATA0_DATA1_MASK 0x0000ff00
95
#define SI_TX_DATA0_DATA1_GET(x) (((x) & SI_TX_DATA0_DATA1_MASK) >> SI_TX_DATA0_DATA1_LSB)
96
#define SI_TX_DATA0_DATA1_SET(x) (((x) << SI_TX_DATA0_DATA1_LSB) & SI_TX_DATA0_DATA1_MASK)
97
#define SI_TX_DATA0_DATA0_MSB 7
98
#define SI_TX_DATA0_DATA0_LSB 0
99
#define SI_TX_DATA0_DATA0_MASK 0x000000ff
100
#define SI_TX_DATA0_DATA0_GET(x) (((x) & SI_TX_DATA0_DATA0_MASK) >> SI_TX_DATA0_DATA0_LSB)
101
#define SI_TX_DATA0_DATA0_SET(x) (((x) << SI_TX_DATA0_DATA0_LSB) & SI_TX_DATA0_DATA0_MASK)
103
#define SI_TX_DATA1_ADDRESS 0x0000000c
104
#define SI_TX_DATA1_OFFSET 0x0000000c
105
#define SI_TX_DATA1_DATA7_MSB 31
106
#define SI_TX_DATA1_DATA7_LSB 24
107
#define SI_TX_DATA1_DATA7_MASK 0xff000000
108
#define SI_TX_DATA1_DATA7_GET(x) (((x) & SI_TX_DATA1_DATA7_MASK) >> SI_TX_DATA1_DATA7_LSB)
109
#define SI_TX_DATA1_DATA7_SET(x) (((x) << SI_TX_DATA1_DATA7_LSB) & SI_TX_DATA1_DATA7_MASK)
110
#define SI_TX_DATA1_DATA6_MSB 23
111
#define SI_TX_DATA1_DATA6_LSB 16
112
#define SI_TX_DATA1_DATA6_MASK 0x00ff0000
113
#define SI_TX_DATA1_DATA6_GET(x) (((x) & SI_TX_DATA1_DATA6_MASK) >> SI_TX_DATA1_DATA6_LSB)
114
#define SI_TX_DATA1_DATA6_SET(x) (((x) << SI_TX_DATA1_DATA6_LSB) & SI_TX_DATA1_DATA6_MASK)
115
#define SI_TX_DATA1_DATA5_MSB 15
116
#define SI_TX_DATA1_DATA5_LSB 8
117
#define SI_TX_DATA1_DATA5_MASK 0x0000ff00
118
#define SI_TX_DATA1_DATA5_GET(x) (((x) & SI_TX_DATA1_DATA5_MASK) >> SI_TX_DATA1_DATA5_LSB)
119
#define SI_TX_DATA1_DATA5_SET(x) (((x) << SI_TX_DATA1_DATA5_LSB) & SI_TX_DATA1_DATA5_MASK)
120
#define SI_TX_DATA1_DATA4_MSB 7
121
#define SI_TX_DATA1_DATA4_LSB 0
122
#define SI_TX_DATA1_DATA4_MASK 0x000000ff
123
#define SI_TX_DATA1_DATA4_GET(x) (((x) & SI_TX_DATA1_DATA4_MASK) >> SI_TX_DATA1_DATA4_LSB)
124
#define SI_TX_DATA1_DATA4_SET(x) (((x) << SI_TX_DATA1_DATA4_LSB) & SI_TX_DATA1_DATA4_MASK)
126
#define SI_RX_DATA0_ADDRESS 0x00000010
127
#define SI_RX_DATA0_OFFSET 0x00000010
128
#define SI_RX_DATA0_DATA3_MSB 31
129
#define SI_RX_DATA0_DATA3_LSB 24
130
#define SI_RX_DATA0_DATA3_MASK 0xff000000
131
#define SI_RX_DATA0_DATA3_GET(x) (((x) & SI_RX_DATA0_DATA3_MASK) >> SI_RX_DATA0_DATA3_LSB)
132
#define SI_RX_DATA0_DATA3_SET(x) (((x) << SI_RX_DATA0_DATA3_LSB) & SI_RX_DATA0_DATA3_MASK)
133
#define SI_RX_DATA0_DATA2_MSB 23
134
#define SI_RX_DATA0_DATA2_LSB 16
135
#define SI_RX_DATA0_DATA2_MASK 0x00ff0000
136
#define SI_RX_DATA0_DATA2_GET(x) (((x) & SI_RX_DATA0_DATA2_MASK) >> SI_RX_DATA0_DATA2_LSB)
137
#define SI_RX_DATA0_DATA2_SET(x) (((x) << SI_RX_DATA0_DATA2_LSB) & SI_RX_DATA0_DATA2_MASK)
138
#define SI_RX_DATA0_DATA1_MSB 15
139
#define SI_RX_DATA0_DATA1_LSB 8
140
#define SI_RX_DATA0_DATA1_MASK 0x0000ff00
141
#define SI_RX_DATA0_DATA1_GET(x) (((x) & SI_RX_DATA0_DATA1_MASK) >> SI_RX_DATA0_DATA1_LSB)
142
#define SI_RX_DATA0_DATA1_SET(x) (((x) << SI_RX_DATA0_DATA1_LSB) & SI_RX_DATA0_DATA1_MASK)
143
#define SI_RX_DATA0_DATA0_MSB 7
144
#define SI_RX_DATA0_DATA0_LSB 0
145
#define SI_RX_DATA0_DATA0_MASK 0x000000ff
146
#define SI_RX_DATA0_DATA0_GET(x) (((x) & SI_RX_DATA0_DATA0_MASK) >> SI_RX_DATA0_DATA0_LSB)
147
#define SI_RX_DATA0_DATA0_SET(x) (((x) << SI_RX_DATA0_DATA0_LSB) & SI_RX_DATA0_DATA0_MASK)
149
#define SI_RX_DATA1_ADDRESS 0x00000014
150
#define SI_RX_DATA1_OFFSET 0x00000014
151
#define SI_RX_DATA1_DATA7_MSB 31
152
#define SI_RX_DATA1_DATA7_LSB 24
153
#define SI_RX_DATA1_DATA7_MASK 0xff000000
154
#define SI_RX_DATA1_DATA7_GET(x) (((x) & SI_RX_DATA1_DATA7_MASK) >> SI_RX_DATA1_DATA7_LSB)
155
#define SI_RX_DATA1_DATA7_SET(x) (((x) << SI_RX_DATA1_DATA7_LSB) & SI_RX_DATA1_DATA7_MASK)
156
#define SI_RX_DATA1_DATA6_MSB 23
157
#define SI_RX_DATA1_DATA6_LSB 16
158
#define SI_RX_DATA1_DATA6_MASK 0x00ff0000
159
#define SI_RX_DATA1_DATA6_GET(x) (((x) & SI_RX_DATA1_DATA6_MASK) >> SI_RX_DATA1_DATA6_LSB)
160
#define SI_RX_DATA1_DATA6_SET(x) (((x) << SI_RX_DATA1_DATA6_LSB) & SI_RX_DATA1_DATA6_MASK)
161
#define SI_RX_DATA1_DATA5_MSB 15
162
#define SI_RX_DATA1_DATA5_LSB 8
163
#define SI_RX_DATA1_DATA5_MASK 0x0000ff00
164
#define SI_RX_DATA1_DATA5_GET(x) (((x) & SI_RX_DATA1_DATA5_MASK) >> SI_RX_DATA1_DATA5_LSB)
165
#define SI_RX_DATA1_DATA5_SET(x) (((x) << SI_RX_DATA1_DATA5_LSB) & SI_RX_DATA1_DATA5_MASK)
166
#define SI_RX_DATA1_DATA4_MSB 7
167
#define SI_RX_DATA1_DATA4_LSB 0
168
#define SI_RX_DATA1_DATA4_MASK 0x000000ff
169
#define SI_RX_DATA1_DATA4_GET(x) (((x) & SI_RX_DATA1_DATA4_MASK) >> SI_RX_DATA1_DATA4_LSB)
170
#define SI_RX_DATA1_DATA4_SET(x) (((x) << SI_RX_DATA1_DATA4_LSB) & SI_RX_DATA1_DATA4_MASK)
173
#ifndef __ASSEMBLER__
175
typedef struct si_reg_reg_s {
176
volatile unsigned int si_config;
177
volatile unsigned int si_cs;
178
volatile unsigned int si_tx_data0;
179
volatile unsigned int si_tx_data1;
180
volatile unsigned int si_rx_data0;
181
volatile unsigned int si_rx_data1;
184
#endif /* __ASSEMBLER__ */
186
#endif /* _SI_REG_H_ */