hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
/*
 * (C) Copyright 2022 Rockchip Electronics Co., Ltd.
 *
 * SPDX-License-Identifier:     GPL-2.0+
 */
#ifndef _ASM_ARCH_IOC_RV1106_H
#define _ASM_ARCH_IOC_RV1106_H
 
#include <common.h>
 
struct rv1106_gpio0_ioc {
   unsigned int gpio0a_iomux_sel_l;
   unsigned int gpio0a_iomux_sel_h;
   unsigned int reserved0[(0x0010 - 0x0004) / 4 - 1];
   unsigned int gpio0a_ds0;
   unsigned int gpio0a_ds1;
   unsigned int gpio0a_ds2;
   unsigned int gpio0a_ds3;
   unsigned int reserved1[(0x0030 - 0x001c) / 4 - 1];
   unsigned int gpio0a_ie;
   unsigned int reserved2[(0x0038 - 0x0030) / 4 - 1];
   unsigned int gpio0a_p;
   unsigned int reserved3[(0x0040 - 0x0038) / 4 - 1];
   unsigned int gpio0a_sus;
   unsigned int reserved4[(0x0048 - 0x0040) / 4 - 1];
   unsigned int gpio0a_sl;
   unsigned int reserved5[(0x0058 - 0x0048) / 4 - 1];
   unsigned int gpio0a_ie_smt;
   unsigned int reserved6[(0x0068 - 0x0058) / 4 - 1];
   unsigned int gpio0a_od;
};
check_member(rv1106_gpio0_ioc, gpio0a_od, 0x0068);
 
struct rv1106_gpio1_ioc {
   unsigned int gpio1a_iomux_sel_l;
   unsigned int gpio1a_iomux_sel_h;
   unsigned int gpio1b_iomux_sel_l;
   unsigned int reserved0[(0x0010 - 0x0008) / 4 - 1];
   unsigned int gpio1c_iomux_sel_l;
   unsigned int gpio1c_iomux_sel_h;
   unsigned int gpio1d_iomux_sel_l;
   unsigned int reserved1[(0x0080 - 0x0018) / 4 - 1];
   unsigned int gpio1a_ds0;
   unsigned int gpio1a_ds1;
   unsigned int gpio1a_ds2;
   unsigned int reserved2[(0x0090 - 0x0088) / 4 - 1];
   unsigned int gpio1b_ds0;
   unsigned int gpio1b_ds1;
   unsigned int reserved3[(0x00a0 - 0x0094) / 4 - 1];
   unsigned int gpio1c_ds0;
   unsigned int gpio1c_ds1;
   unsigned int gpio1c_ds2;
   unsigned int gpio1c_ds3;
   unsigned int gpio1d_ds0;
   unsigned int gpio1d_ds1;
   unsigned int reserved4[(0x0180 - 0x00b4) / 4 - 1];
   unsigned int gpio1a_ie;
   unsigned int gpio1b_ie;
   unsigned int gpio1c_ie;
   unsigned int gpio1d_ie;
   unsigned int reserved5[(0x01c0 - 0x018c) / 4 - 1];
   unsigned int gpio1a_p;
   unsigned int gpio1b_p;
   unsigned int gpio1c_p;
   unsigned int gpio1d_p;
   unsigned int reserved6[(0x0200 - 0x01cc) / 4 - 1];
   unsigned int gpio1a_sus;
   unsigned int gpio1b_sus;
   unsigned int gpio1c_sus;
   unsigned int gpio1d_sus;
   unsigned int reserved7[(0x0240 - 0x020c) / 4 - 1];
   unsigned int gpio1a_sl;
   unsigned int gpio1b_sl;
   unsigned int gpio1c_sl;
   unsigned int gpio1d_sl;
   unsigned int reserved8[(0x0280 - 0x024c) / 4 - 1];
   unsigned int gpio1a_ie_smt;
   unsigned int gpio1b_ie_smt;
   unsigned int gpio1c_ie_smt;
   unsigned int gpio1d_ie_smt;
   unsigned int reserved9[(0x02c0 - 0x028c) / 4 - 1];
   unsigned int gpio1a_od;
   unsigned int gpio1b_od;
   unsigned int gpio1c_od;
   unsigned int gpio1d_od;
   unsigned int reserved10[(0x02f4 - 0x02cc) / 4 - 1];
   unsigned int force_jtag_uart;
};
check_member(rv1106_gpio1_ioc, force_jtag_uart, 0x02f4);
 
struct rv1106_gpio2_ioc {
   unsigned int reserved0[(0x0020 - 0x0000) / 4];
   unsigned int gpio2a_iomux_sel_l;
   unsigned int gpio2a_iomux_sel_h;
   unsigned int gpio2b_iomux_sel_l;
   unsigned int reserved1[(0x00c0 - 0x0028) / 4 - 1];
   unsigned int gpio2a_ds0;
   unsigned int gpio2a_ds1;
   unsigned int gpio2a_ds2;
   unsigned int gpio2a_ds3;
   unsigned int gpio2b_ds0;
   unsigned int reserved2[(0x0190 - 0x00d0) / 4 - 1];
   unsigned int gpio2a_ie;
   unsigned int gpio2b_ie;
   unsigned int reserved3[(0x01d0 - 0x0194) / 4 - 1];
   unsigned int gpio2a_p;
   unsigned int gpio2b_p;
   unsigned int reserved4[(0x0210 - 0x01d4) / 4 - 1];
   unsigned int gpio2a_sus;
   unsigned int gpio2b_sus;
   unsigned int reserved5[(0x0250 - 0x0214) / 4 - 1];
   unsigned int gpio2a_sl;
   unsigned int gpio2b_sl;
   unsigned int reserved6[(0x0290 - 0x0254) / 4 - 1];
   unsigned int gpio2a_ie_smt;
   unsigned int gpio2b_ie_smt;
   unsigned int reserved7[(0x02d0 - 0x0294) / 4 - 1];
   unsigned int gpio2a_od;
   unsigned int gpio2b_od;
};
check_member(rv1106_gpio2_ioc, gpio2b_od, 0x02d4);
 
struct rv1106_gpio3_ioc {
   unsigned int reserved0[(0x0040 - 0x0000) / 4];
        unsigned int gpio3a_iomux_sel_l;
   unsigned int gpio3a_iomux_sel_h;
   unsigned int gpio3b_iomux_sel_l;
   unsigned int gpio3b_iomux_sel_h;
   unsigned int gpio3c_iomux_sel_l;
   unsigned int gpio3c_iomux_sel_h;
   unsigned int gpio3d_iomux_sel_l;
   unsigned int reserved1[(0x0100 - 0x0058) / 4 - 1];
   unsigned int gpio3a_ds0;
   unsigned int gpio3a_ds1;
   unsigned int gpio3a_ds2;
   unsigned int gpio3a_ds3;
   unsigned int reserved2[(0x0128 - 0x010c) / 4 - 1];
   unsigned int gpio3c_ds2;
   unsigned int gpio3c_ds3;
   unsigned int gpio3d_ds0;
   unsigned int gpio3d_ds1;
   unsigned int reserved3[(0x01a0 - 0x0134) / 4 - 1];
   unsigned int gpio3a_ie;
   unsigned int reserved4[(0x01a8 - 0x01a0) / 4 - 1];
   unsigned int gpio3c_ie;
   unsigned int gpio3d_ie;
   unsigned int reserved5[(0x01e0 - 0x01ac) / 4 - 1];
   unsigned int gpio3a_p;
   unsigned int reserved6[(0x01e8 - 0x01e0) / 4 - 1];
   unsigned int gpio3c_p;
   unsigned int gpio3d_p;
   unsigned int reserved7[(0x0220 - 0x01ec) / 4 - 1];
   unsigned int gpio3a_sus;
   unsigned int reserved8[(0x0228 - 0x0220) / 4 - 1];
   unsigned int gpio3c_sus;
   unsigned int gpio3d_sus;
   unsigned int reserved9[(0x0260 - 0x022c) / 4 - 1];
   unsigned int gpio3a_sl;
   unsigned int reserved10[(0x0268 - 0x0260) / 4 - 1];
   unsigned int gpio3c_sl;
   unsigned int gpio3d_sl;
   unsigned int reserved11[(0x02a0 - 0x026c) / 4 - 1];
   unsigned int gpio3a_ie_smt;
   unsigned int reserved12[(0x02a8 - 0x02a0) / 4 - 1];
   unsigned int gpio3c_ie_smt;
   unsigned int gpio3d_ie_smt;
   unsigned int reserved13[(0x02e0 - 0x02ac) / 4 - 1];
   unsigned int gpio3a_od;
   unsigned int reserved14[(0x02e8 - 0x02e0) / 4 - 1];
   unsigned int gpio3c_od;
   unsigned int gpio3d_od;
   unsigned int reserved15[(0x02f4 - 0x02ec) / 4 - 1];
   unsigned int force_jtag_sdmmc;
};
check_member(rv1106_gpio3_ioc, force_jtag_sdmmc, 0x02f4);
 
struct rv1106_gpio4_ioc {
   unsigned int gpio4a_iomux_sel_l;
   unsigned int gpio4a_iomux_sel_h;
   unsigned int gpio4b_iomux_sel_l;
   unsigned int reserved0[(0x0010 - 0x0008) / 4 - 1];
   unsigned int gpio4c_iomux_sel_l;
   unsigned int reserved1[(0x0020 - 0x0010) / 4 - 1];
   unsigned int gpio4a_ds0;
   unsigned int gpio4a_ds1;
   unsigned int gpio4a_ds2;
   unsigned int gpio4a_ds3;
   unsigned int gpio4b_ds0;
   unsigned int reserved2[(0x0060 - 0x0030) / 4 - 1];
   unsigned int gpio4a_ie;
   unsigned int gpio4b_ie;
   unsigned int reserved3[(0x0070 - 0x0064) / 4 - 1];
   unsigned int gpio4a_p;
   unsigned int gpio4b_p;
   unsigned int reserved4[(0x0080 - 0x0074) / 4 - 1];
   unsigned int gpio4a_sus;
   unsigned int gpio4b_sus;
   unsigned int reserved5[(0x0090 - 0x0084) / 4 - 1];
   unsigned int gpio4a_sl;
   unsigned int gpio4b_sl;
   unsigned int reserved6[(0x00a0 - 0x0094) / 4 - 1];
   unsigned int gpio4a_ie_smt;
   unsigned int gpio4b_ie_smt;
   unsigned int reserved7[(0x00b0 - 0x00a4) / 4 - 1];
   unsigned int gpio4a_od;
   unsigned int gpio4b_od;
   unsigned int reserved8[(0x00c0 - 0x00b4) / 4 - 1];
   unsigned int saradc_io_con;
   unsigned int reserved9[(0x0200 - 0x00c0) / 4 - 1];
   unsigned int vccio3_vol_con;
};
check_member(rv1106_gpio4_ioc, vccio3_vol_con, 0x0200);
 
#endif