• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 #ifndef _SOC_HOST_STRUCT_H_
15 #define _SOC_HOST_STRUCT_H_
16 
17 #include <stdint.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 typedef volatile struct host_dev_s {
24     uint32_t reserved_0;
25     uint32_t reserved_4;
26     uint32_t reserved_8;
27     uint32_t reserved_c;
28     union {
29         struct {
30             uint32_t reserved0:    24;
31             uint32_t func2_int:     1;
32             uint32_t reserved25:    7;
33         };
34         uint32_t val;
35     } func2_0;
36     union {
37         struct {
38             uint32_t func2_int_en:     1;
39             uint32_t reserved1:       31;
40         };
41         uint32_t val;
42     } func2_1;
43     uint32_t reserved_18;
44     uint32_t reserved_1c;
45     union {
46         struct {
47             uint32_t func1_mdstat:     1;
48             uint32_t reserved1:       31;
49         };
50         uint32_t val;
51     } func2_2;
52     uint32_t reserved_24;
53     uint32_t reserved_28;
54     uint32_t reserved_2c;
55     uint32_t reserved_30;
56     uint32_t gpio_status0;                                  /**/
57     union {
58         struct {
59             uint32_t sdio_int1:      8;
60             uint32_t reserved8:     24;
61         };
62         uint32_t val;
63     } gpio_status1;
64     uint32_t gpio_in0;                                      /**/
65     union {
66         struct {
67             uint32_t sdio_in1:      8;
68             uint32_t reserved8:    24;
69         };
70         uint32_t val;
71     } gpio_in1;
72     union {
73         struct {
74             uint32_t token0:          12;
75             uint32_t rx_pf_valid:      1;
76             uint32_t reserved13:       3;
77             uint32_t reg_token1:      12;
78             uint32_t rx_pf_eof:        4;
79         };
80         uint32_t val;
81     } slc0_token_rdata;
82     uint32_t slc0_pf;                                          /**/
83     uint32_t slc1_pf;                                          /**/
84     union {
85         struct {
86             uint32_t tohost_bit0:                1;
87             uint32_t tohost_bit1:                1;
88             uint32_t tohost_bit2:                1;
89             uint32_t tohost_bit3:                1;
90             uint32_t tohost_bit4:                1;
91             uint32_t tohost_bit5:                1;
92             uint32_t tohost_bit6:                1;
93             uint32_t tohost_bit7:                1;
94             uint32_t token0_1to0:                1;
95             uint32_t token1_1to0:                1;
96             uint32_t token0_0to1:                1;
97             uint32_t token1_0to1:                1;
98             uint32_t rx_sof:                     1;
99             uint32_t rx_eof:                     1;
100             uint32_t rx_start:                   1;
101             uint32_t tx_start:                   1;
102             uint32_t rx_udf:                     1;
103             uint32_t tx_ovf:                     1;
104             uint32_t rx_pf_valid:                1;
105             uint32_t ext_bit0:                   1;
106             uint32_t ext_bit1:                   1;
107             uint32_t ext_bit2:                   1;
108             uint32_t ext_bit3:                   1;
109             uint32_t rx_new_packet:              1;
110             uint32_t rd_retry:                   1;
111             uint32_t gpio_sdio:                  1;
112             uint32_t reserved26:                 6;
113         };
114         uint32_t val;
115     } slc0_int_raw;
116     union {
117         struct {
118             uint32_t tohost_bit0:                     1;
119             uint32_t tohost_bit1:                     1;
120             uint32_t tohost_bit2:                     1;
121             uint32_t tohost_bit3:                     1;
122             uint32_t tohost_bit4:                     1;
123             uint32_t tohost_bit5:                     1;
124             uint32_t tohost_bit6:                     1;
125             uint32_t tohost_bit7:                     1;
126             uint32_t token0_1to0:                     1;
127             uint32_t token1_1to0:                     1;
128             uint32_t token0_0to1:                     1;
129             uint32_t token1_0to1:                     1;
130             uint32_t rx_sof:                          1;
131             uint32_t rx_eof:                          1;
132             uint32_t rx_start:                        1;
133             uint32_t tx_start:                        1;
134             uint32_t rx_udf:                          1;
135             uint32_t tx_ovf:                          1;
136             uint32_t rx_pf_valid:                     1;
137             uint32_t ext_bit0:                        1;
138             uint32_t ext_bit1:                        1;
139             uint32_t ext_bit2:                        1;
140             uint32_t ext_bit3:                        1;
141             uint32_t wifi_rx_new_packet:              1;
142             uint32_t rd_retry:                        1;
143             uint32_t bt_rx_new_packet:                1;
144             uint32_t reserved26:                      6;
145         };
146         uint32_t val;
147     } slc1_int_raw;
148     union {
149         struct {
150             uint32_t tohost_bit0:               1;
151             uint32_t tohost_bit1:               1;
152             uint32_t tohost_bit2:               1;
153             uint32_t tohost_bit3:               1;
154             uint32_t tohost_bit4:               1;
155             uint32_t tohost_bit5:               1;
156             uint32_t tohost_bit6:               1;
157             uint32_t tohost_bit7:               1;
158             uint32_t token0_1to0:               1;
159             uint32_t token1_1to0:               1;
160             uint32_t token0_0to1:               1;
161             uint32_t token1_0to1:               1;
162             uint32_t rx_sof:                    1;
163             uint32_t rx_eof:                    1;
164             uint32_t rx_start:                  1;
165             uint32_t tx_start:                  1;
166             uint32_t rx_udf:                    1;
167             uint32_t tx_ovf:                    1;
168             uint32_t rx_pf_valid:               1;
169             uint32_t ext_bit0:                  1;
170             uint32_t ext_bit1:                  1;
171             uint32_t ext_bit2:                  1;
172             uint32_t ext_bit3:                  1;
173             uint32_t rx_new_packet:             1;
174             uint32_t rd_retry:                  1;
175             uint32_t gpio_sdio:                 1;
176             uint32_t reserved26:                6;
177         };
178         uint32_t val;
179     } slc0_int_st;
180     union {
181         struct {
182             uint32_t tohost_bit0:                    1;
183             uint32_t tohost_bit1:                    1;
184             uint32_t tohost_bit2:                    1;
185             uint32_t tohost_bit3:                    1;
186             uint32_t tohost_bit4:                    1;
187             uint32_t tohost_bit5:                    1;
188             uint32_t tohost_bit6:                    1;
189             uint32_t tohost_bit7:                    1;
190             uint32_t token0_1to0:                    1;
191             uint32_t token1_1to0:                    1;
192             uint32_t token0_0to1:                    1;
193             uint32_t token1_0to1:                    1;
194             uint32_t rx_sof:                         1;
195             uint32_t rx_eof:                         1;
196             uint32_t rx_start:                       1;
197             uint32_t tx_start:                       1;
198             uint32_t rx_udf:                         1;
199             uint32_t tx_ovf:                         1;
200             uint32_t rx_pf_valid:                    1;
201             uint32_t ext_bit0:                       1;
202             uint32_t ext_bit1:                       1;
203             uint32_t ext_bit2:                       1;
204             uint32_t ext_bit3:                       1;
205             uint32_t wifi_rx_new_packet:             1;
206             uint32_t rd_retry:                       1;
207             uint32_t bt_rx_new_packet:               1;
208             uint32_t reserved26:                     6;
209         };
210         uint32_t val;
211     } slc1_int_st;
212     union {
213         struct {
214             uint32_t reg_slc0_len:      20;
215             uint32_t reg_slc0_len_check:12;
216         };
217         uint32_t val;
218     } pkt_len;
219     union {
220         struct {
221             uint32_t state0:         8;
222             uint32_t state1:         8;
223             uint32_t state2:         8;
224             uint32_t state3:         8;
225         };
226         uint32_t val;
227     } state_w0;
228     union {
229         struct {
230             uint32_t state4:         8;
231             uint32_t state5:         8;
232             uint32_t state6:         8;
233             uint32_t state7:         8;
234         };
235         uint32_t val;
236     } state_w1;
237     union {
238         struct {
239             uint32_t conf0:         8;
240             uint32_t conf1:         8;
241             uint32_t conf2:         8;
242             uint32_t conf3:         8;
243         };
244         uint32_t val;
245     } conf_w0;
246     union {
247         struct {
248             uint32_t conf4:         8;
249             uint32_t conf5:         8;
250             uint32_t conf6:         8;
251             uint32_t conf7:         8;
252         };
253         uint32_t val;
254     } conf_w1;
255     union {
256         struct {
257             uint32_t conf8:          8;
258             uint32_t conf9:          8;
259             uint32_t conf10:         8;
260             uint32_t conf11:         8;
261         };
262         uint32_t val;
263     } conf_w2;
264     union {
265         struct {
266             uint32_t conf12:         8;
267             uint32_t conf13:         8;
268             uint32_t conf14:         8;
269             uint32_t conf15:         8;
270         };
271         uint32_t val;
272     } conf_w3;
273     union {
274         struct {
275             uint32_t conf16:         8;                        /*SLC timeout value*/
276             uint32_t conf17:         8;                        /*SLC timeout enable*/
277             uint32_t conf18:         8;
278             uint32_t conf19:         8;                        /*Interrupt to target CPU*/
279         };
280         uint32_t val;
281     } conf_w4;
282     union {
283         struct {
284             uint32_t conf20:         8;
285             uint32_t conf21:         8;
286             uint32_t conf22:         8;
287             uint32_t conf23:         8;
288         };
289         uint32_t val;
290     } conf_w5;
291     uint32_t win_cmd;                                       /**/
292     union {
293         struct {
294             uint32_t conf24:         8;
295             uint32_t conf25:         8;
296             uint32_t conf26:         8;
297             uint32_t conf27:         8;
298         };
299         uint32_t val;
300     } conf_w6;
301     union {
302         struct {
303             uint32_t conf28:         8;
304             uint32_t conf29:         8;
305             uint32_t conf30:         8;
306             uint32_t conf31:         8;
307         };
308         uint32_t val;
309     } conf_w7;
310     union {
311         struct {
312             uint32_t reg_slc0_len0:20;
313             uint32_t reserved20:   12;
314         };
315         uint32_t val;
316     } pkt_len0;
317     union {
318         struct {
319             uint32_t reg_slc0_len1:20;
320             uint32_t reserved20:   12;
321         };
322         uint32_t val;
323     } pkt_len1;
324     union {
325         struct {
326             uint32_t reg_slc0_len2:20;
327             uint32_t reserved20:   12;
328         };
329         uint32_t val;
330     } pkt_len2;
331     union {
332         struct {
333             uint32_t conf32:         8;
334             uint32_t conf33:         8;
335             uint32_t conf34:         8;
336             uint32_t conf35:         8;
337         };
338         uint32_t val;
339     } conf_w8;
340     union {
341         struct {
342             uint32_t conf36:         8;
343             uint32_t conf37:         8;
344             uint32_t conf38:         8;
345             uint32_t conf39:         8;
346         };
347         uint32_t val;
348     } conf_w9;
349     union {
350         struct {
351             uint32_t conf40:         8;
352             uint32_t conf41:         8;
353             uint32_t conf42:         8;
354             uint32_t conf43:         8;
355         };
356         uint32_t val;
357     } conf_w10;
358     union {
359         struct {
360             uint32_t conf44:         8;
361             uint32_t conf45:         8;
362             uint32_t conf46:         8;
363             uint32_t conf47:         8;
364         };
365         uint32_t val;
366     } conf_w11;
367     union {
368         struct {
369             uint32_t conf48:         8;
370             uint32_t conf49:         8;
371             uint32_t conf50:         8;
372             uint32_t conf51:         8;
373         };
374         uint32_t val;
375     } conf_w12;
376     union {
377         struct {
378             uint32_t conf52:         8;
379             uint32_t conf53:         8;
380             uint32_t conf54:         8;
381             uint32_t conf55:         8;
382         };
383         uint32_t val;
384     } conf_w13;
385     union {
386         struct {
387             uint32_t conf56:         8;
388             uint32_t conf57:         8;
389             uint32_t conf58:         8;
390             uint32_t conf59:         8;
391         };
392         uint32_t val;
393     } conf_w14;
394     union {
395         struct {
396             uint32_t conf60:         8;
397             uint32_t conf61:         8;
398             uint32_t conf62:         8;
399             uint32_t conf63:         8;
400         };
401         uint32_t val;
402     } conf_w15;
403     uint32_t check_sum0;                                    /**/
404     uint32_t check_sum1;                                    /**/
405     union {
406         struct {
407             uint32_t token0:          12;
408             uint32_t rx_pf_valid:      1;
409             uint32_t reserved13:       3;
410             uint32_t reg_token1:      12;
411             uint32_t rx_pf_eof:        4;
412         };
413         uint32_t val;
414     } slc1_token_rdata;
415     union {
416         struct {
417             uint32_t token0_wd:         12;
418             uint32_t reserved12:         4;
419             uint32_t token1_wd:         12;
420             uint32_t reserved28:         4;
421         };
422         uint32_t val;
423     } slc0_token_wdata;
424     union {
425         struct {
426             uint32_t token0_wd:         12;
427             uint32_t reserved12:         4;
428             uint32_t token1_wd:         12;
429             uint32_t reserved28:         4;
430         };
431         uint32_t val;
432     } slc1_token_wdata;
433     union {
434         struct {
435             uint32_t slc0_token0_dec:     1;
436             uint32_t slc0_token1_dec:     1;
437             uint32_t slc0_token0_wr:      1;
438             uint32_t slc0_token1_wr:      1;
439             uint32_t slc1_token0_dec:     1;
440             uint32_t slc1_token1_dec:     1;
441             uint32_t slc1_token0_wr:      1;
442             uint32_t slc1_token1_wr:      1;
443             uint32_t slc0_len_wr:         1;
444             uint32_t reserved9:          23;
445         };
446         uint32_t val;
447     } token_con;
448     union {
449         struct {
450             uint32_t tohost_bit0:                1;
451             uint32_t tohost_bit1:                1;
452             uint32_t tohost_bit2:                1;
453             uint32_t tohost_bit3:                1;
454             uint32_t tohost_bit4:                1;
455             uint32_t tohost_bit5:                1;
456             uint32_t tohost_bit6:                1;
457             uint32_t tohost_bit7:                1;
458             uint32_t token0_1to0:                1;
459             uint32_t token1_1to0:                1;
460             uint32_t token0_0to1:                1;
461             uint32_t token1_0to1:                1;
462             uint32_t rx_sof:                     1;
463             uint32_t rx_eof:                     1;
464             uint32_t rx_start:                   1;
465             uint32_t tx_start:                   1;
466             uint32_t rx_udf:                     1;
467             uint32_t tx_ovf:                     1;
468             uint32_t rx_pf_valid:                1;
469             uint32_t ext_bit0:                   1;
470             uint32_t ext_bit1:                   1;
471             uint32_t ext_bit2:                   1;
472             uint32_t ext_bit3:                   1;
473             uint32_t rx_new_packet:              1;
474             uint32_t rd_retry:                   1;
475             uint32_t gpio_sdio:                  1;
476             uint32_t reserved26:                 6;
477         };
478         uint32_t val;
479     } slc0_int_clr;
480     union {
481         struct {
482             uint32_t tohost_bit0:                     1;
483             uint32_t tohost_bit1:                     1;
484             uint32_t tohost_bit2:                     1;
485             uint32_t tohost_bit3:                     1;
486             uint32_t tohost_bit4:                     1;
487             uint32_t tohost_bit5:                     1;
488             uint32_t tohost_bit6:                     1;
489             uint32_t tohost_bit7:                     1;
490             uint32_t token0_1to0:                     1;
491             uint32_t token1_1to0:                     1;
492             uint32_t token0_0to1:                     1;
493             uint32_t token1_0to1:                     1;
494             uint32_t rx_sof:                          1;
495             uint32_t rx_eof:                          1;
496             uint32_t rx_start:                        1;
497             uint32_t tx_start:                        1;
498             uint32_t rx_udf:                          1;
499             uint32_t tx_ovf:                          1;
500             uint32_t rx_pf_valid:                     1;
501             uint32_t ext_bit0:                        1;
502             uint32_t ext_bit1:                        1;
503             uint32_t ext_bit2:                        1;
504             uint32_t ext_bit3:                        1;
505             uint32_t wifi_rx_new_packet:              1;
506             uint32_t rd_retry:                        1;
507             uint32_t bt_rx_new_packet:                1;
508             uint32_t reserved26:                      6;
509         };
510         uint32_t val;
511     } slc1_int_clr;
512     union {
513         struct {
514             uint32_t tohost_bit0:                    1;
515             uint32_t tohost_bit1:                    1;
516             uint32_t tohost_bit2:                    1;
517             uint32_t tohost_bit3:                    1;
518             uint32_t tohost_bit4:                    1;
519             uint32_t tohost_bit5:                    1;
520             uint32_t tohost_bit6:                    1;
521             uint32_t tohost_bit7:                    1;
522             uint32_t token0_1to0:                    1;
523             uint32_t token1_1to0:                    1;
524             uint32_t token0_0to1:                    1;
525             uint32_t token1_0to1:                    1;
526             uint32_t rx_sof:                         1;
527             uint32_t rx_eof:                         1;
528             uint32_t rx_start:                       1;
529             uint32_t tx_start:                       1;
530             uint32_t rx_udf:                         1;
531             uint32_t tx_ovf:                         1;
532             uint32_t rx_pf_valid:                    1;
533             uint32_t ext_bit0:                       1;
534             uint32_t ext_bit1:                       1;
535             uint32_t ext_bit2:                       1;
536             uint32_t ext_bit3:                       1;
537             uint32_t rx_new_packet:                  1;
538             uint32_t rd_retry:                       1;
539             uint32_t gpio_sdio:                      1;
540             uint32_t reserved26:                     6;
541         };
542         uint32_t val;
543     } slc0_func1_int_ena;
544     union {
545         struct {
546             uint32_t tohost_bit0:                         1;
547             uint32_t tohost_bit1:                         1;
548             uint32_t tohost_bit2:                         1;
549             uint32_t tohost_bit3:                         1;
550             uint32_t tohost_bit4:                         1;
551             uint32_t tohost_bit5:                         1;
552             uint32_t tohost_bit6:                         1;
553             uint32_t tohost_bit7:                         1;
554             uint32_t token0_1to0:                         1;
555             uint32_t token1_1to0:                         1;
556             uint32_t token0_0to1:                         1;
557             uint32_t token1_0to1:                         1;
558             uint32_t rx_sof:                              1;
559             uint32_t rx_eof:                              1;
560             uint32_t rx_start:                            1;
561             uint32_t tx_start:                            1;
562             uint32_t rx_udf:                              1;
563             uint32_t tx_ovf:                              1;
564             uint32_t rx_pf_valid:                         1;
565             uint32_t ext_bit0:                            1;
566             uint32_t ext_bit1:                            1;
567             uint32_t ext_bit2:                            1;
568             uint32_t ext_bit3:                            1;
569             uint32_t wifi_rx_new_packet:                  1;
570             uint32_t rd_retry:                            1;
571             uint32_t bt_rx_new_packet:                    1;
572             uint32_t reserved26:                          6;
573         };
574         uint32_t val;
575     } slc1_func1_int_ena;
576     union {
577         struct {
578             uint32_t tohost_bit0:                    1;
579             uint32_t tohost_bit1:                    1;
580             uint32_t tohost_bit2:                    1;
581             uint32_t tohost_bit3:                    1;
582             uint32_t tohost_bit4:                    1;
583             uint32_t tohost_bit5:                    1;
584             uint32_t tohost_bit6:                    1;
585             uint32_t tohost_bit7:                    1;
586             uint32_t token0_1to0:                    1;
587             uint32_t token1_1to0:                    1;
588             uint32_t token0_0to1:                    1;
589             uint32_t token1_0to1:                    1;
590             uint32_t rx_sof:                         1;
591             uint32_t rx_eof:                         1;
592             uint32_t rx_start:                       1;
593             uint32_t tx_start:                       1;
594             uint32_t rx_udf:                         1;
595             uint32_t tx_ovf:                         1;
596             uint32_t rx_pf_valid:                    1;
597             uint32_t ext_bit0:                       1;
598             uint32_t ext_bit1:                       1;
599             uint32_t ext_bit2:                       1;
600             uint32_t ext_bit3:                       1;
601             uint32_t rx_new_packet:                  1;
602             uint32_t rd_retry:                       1;
603             uint32_t gpio_sdio:                      1;
604             uint32_t reserved26:                     6;
605         };
606         uint32_t val;
607     } slc0_func2_int_ena;
608     union {
609         struct {
610             uint32_t tohost_bit0:                         1;
611             uint32_t tohost_bit1:                         1;
612             uint32_t tohost_bit2:                         1;
613             uint32_t tohost_bit3:                         1;
614             uint32_t tohost_bit4:                         1;
615             uint32_t tohost_bit5:                         1;
616             uint32_t tohost_bit6:                         1;
617             uint32_t tohost_bit7:                         1;
618             uint32_t token0_1to0:                         1;
619             uint32_t token1_1to0:                         1;
620             uint32_t token0_0to1:                         1;
621             uint32_t token1_0to1:                         1;
622             uint32_t rx_sof:                              1;
623             uint32_t rx_eof:                              1;
624             uint32_t rx_start:                            1;
625             uint32_t tx_start:                            1;
626             uint32_t rx_udf:                              1;
627             uint32_t tx_ovf:                              1;
628             uint32_t rx_pf_valid:                         1;
629             uint32_t ext_bit0:                            1;
630             uint32_t ext_bit1:                            1;
631             uint32_t ext_bit2:                            1;
632             uint32_t ext_bit3:                            1;
633             uint32_t wifi_rx_new_packet:                  1;
634             uint32_t rd_retry:                            1;
635             uint32_t bt_rx_new_packet:                    1;
636             uint32_t reserved26:                          6;
637         };
638         uint32_t val;
639     } slc1_func2_int_ena;
640     union {
641         struct {
642             uint32_t tohost_bit0:                1;
643             uint32_t tohost_bit1:                1;
644             uint32_t tohost_bit2:                1;
645             uint32_t tohost_bit3:                1;
646             uint32_t tohost_bit4:                1;
647             uint32_t tohost_bit5:                1;
648             uint32_t tohost_bit6:                1;
649             uint32_t tohost_bit7:                1;
650             uint32_t token0_1to0:                1;
651             uint32_t token1_1to0:                1;
652             uint32_t token0_0to1:                1;
653             uint32_t token1_0to1:                1;
654             uint32_t rx_sof:                     1;
655             uint32_t rx_eof:                     1;
656             uint32_t rx_start:                   1;
657             uint32_t tx_start:                   1;
658             uint32_t rx_udf:                     1;
659             uint32_t tx_ovf:                     1;
660             uint32_t rx_pf_valid:                1;
661             uint32_t ext_bit0:                   1;
662             uint32_t ext_bit1:                   1;
663             uint32_t ext_bit2:                   1;
664             uint32_t ext_bit3:                   1;
665             uint32_t rx_new_packet:              1;
666             uint32_t rd_retry:                   1;
667             uint32_t gpio_sdio:                  1;
668             uint32_t reserved26:                 6;
669         };
670         uint32_t val;
671     } slc0_int_ena;
672     union {
673         struct {
674             uint32_t tohost_bit0:                     1;
675             uint32_t tohost_bit1:                     1;
676             uint32_t tohost_bit2:                     1;
677             uint32_t tohost_bit3:                     1;
678             uint32_t tohost_bit4:                     1;
679             uint32_t tohost_bit5:                     1;
680             uint32_t tohost_bit6:                     1;
681             uint32_t tohost_bit7:                     1;
682             uint32_t token0_1to0:                     1;
683             uint32_t token1_1to0:                     1;
684             uint32_t token0_0to1:                     1;
685             uint32_t token1_0to1:                     1;
686             uint32_t rx_sof:                          1;
687             uint32_t rx_eof:                          1;
688             uint32_t rx_start:                        1;
689             uint32_t tx_start:                        1;
690             uint32_t rx_udf:                          1;
691             uint32_t tx_ovf:                          1;
692             uint32_t rx_pf_valid:                     1;
693             uint32_t ext_bit0:                        1;
694             uint32_t ext_bit1:                        1;
695             uint32_t ext_bit2:                        1;
696             uint32_t ext_bit3:                        1;
697             uint32_t wifi_rx_new_packet:              1;
698             uint32_t rd_retry:                        1;
699             uint32_t bt_rx_new_packet:                1;
700             uint32_t reserved26:                      6;
701         };
702         uint32_t val;
703     } slc1_int_ena;
704     union {
705         struct {
706             uint32_t infor:            20;
707             uint32_t reserved20:       12;
708         };
709         uint32_t val;
710     } slc0_rx_infor;
711     union {
712         struct {
713             uint32_t infor:            20;
714             uint32_t reserved20:       12;
715         };
716         uint32_t val;
717     } slc1_rx_infor;
718     uint32_t slc0_len_wd;                                       /**/
719     uint32_t apbwin_wdata;                                 /**/
720     union {
721         struct {
722             uint32_t addr:            28;
723             uint32_t wr:               1;
724             uint32_t start:            1;
725             uint32_t reserved30:       2;
726         };
727         uint32_t val;
728     } apbwin_conf;
729     uint32_t apbwin_rdata;                                 /**/
730     union {
731         struct {
732             uint32_t bit7_clraddr:              9;
733             uint32_t bit6_clraddr:              9;
734             uint32_t reserved18:               14;
735         };
736         uint32_t val;
737     } slc0_rdclr;
738     union {
739         struct {
740             uint32_t bit7_clraddr:              9;
741             uint32_t bit6_clraddr:              9;
742             uint32_t reserved18:               14;
743         };
744         uint32_t val;
745     } slc1_rdclr;
746     union {
747         struct {
748             uint32_t tohost_bit01:                1;
749             uint32_t tohost_bit11:                1;
750             uint32_t tohost_bit21:                1;
751             uint32_t tohost_bit31:                1;
752             uint32_t tohost_bit41:                1;
753             uint32_t tohost_bit51:                1;
754             uint32_t tohost_bit61:                1;
755             uint32_t tohost_bit71:                1;
756             uint32_t token0_1to01:                1;
757             uint32_t token1_1to01:                1;
758             uint32_t token0_0to11:                1;
759             uint32_t token1_0to11:                1;
760             uint32_t rx_sof1:                     1;
761             uint32_t rx_eof1:                     1;
762             uint32_t rx_start1:                   1;
763             uint32_t tx_start1:                   1;
764             uint32_t rx_udf1:                     1;
765             uint32_t tx_ovf1:                     1;
766             uint32_t rx_pf_valid1:                1;
767             uint32_t ext_bit01:                   1;
768             uint32_t ext_bit11:                   1;
769             uint32_t ext_bit21:                   1;
770             uint32_t ext_bit31:                   1;
771             uint32_t rx_new_packet1:              1;
772             uint32_t rd_retry1:                   1;
773             uint32_t gpio_sdio1:                  1;
774             uint32_t reserved26:                  6;
775         };
776         uint32_t val;
777     } slc0_int_ena1;
778     union {
779         struct {
780             uint32_t tohost_bit01:                     1;
781             uint32_t tohost_bit11:                     1;
782             uint32_t tohost_bit21:                     1;
783             uint32_t tohost_bit31:                     1;
784             uint32_t tohost_bit41:                     1;
785             uint32_t tohost_bit51:                     1;
786             uint32_t tohost_bit61:                     1;
787             uint32_t tohost_bit71:                     1;
788             uint32_t token0_1to01:                     1;
789             uint32_t token1_1to01:                     1;
790             uint32_t token0_0to11:                     1;
791             uint32_t token1_0to11:                     1;
792             uint32_t rx_sof1:                          1;
793             uint32_t rx_eof1:                          1;
794             uint32_t rx_start1:                        1;
795             uint32_t tx_start1:                        1;
796             uint32_t rx_udf1:                          1;
797             uint32_t tx_ovf1:                          1;
798             uint32_t rx_pf_valid1:                     1;
799             uint32_t ext_bit01:                        1;
800             uint32_t ext_bit11:                        1;
801             uint32_t ext_bit21:                        1;
802             uint32_t ext_bit31:                        1;
803             uint32_t wifi_rx_new_packet1:              1;
804             uint32_t rd_retry1:                        1;
805             uint32_t bt_rx_new_packet1:                1;
806             uint32_t reserved26:                       6;
807         };
808         uint32_t val;
809     } slc1_int_ena1;
810     uint32_t reserved_11c;
811     uint32_t reserved_120;
812     uint32_t reserved_124;
813     uint32_t reserved_128;
814     uint32_t reserved_12c;
815     uint32_t reserved_130;
816     uint32_t reserved_134;
817     uint32_t reserved_138;
818     uint32_t reserved_13c;
819     uint32_t reserved_140;
820     uint32_t reserved_144;
821     uint32_t reserved_148;
822     uint32_t reserved_14c;
823     uint32_t reserved_150;
824     uint32_t reserved_154;
825     uint32_t reserved_158;
826     uint32_t reserved_15c;
827     uint32_t reserved_160;
828     uint32_t reserved_164;
829     uint32_t reserved_168;
830     uint32_t reserved_16c;
831     uint32_t reserved_170;
832     uint32_t reserved_174;
833     uint32_t date;                                          /**/
834     uint32_t id;                                            /**/
835     uint32_t reserved_180;
836     uint32_t reserved_184;
837     uint32_t reserved_188;
838     uint32_t reserved_18c;
839     uint32_t reserved_190;
840     uint32_t reserved_194;
841     uint32_t reserved_198;
842     uint32_t reserved_19c;
843     uint32_t reserved_1a0;
844     uint32_t reserved_1a4;
845     uint32_t reserved_1a8;
846     uint32_t reserved_1ac;
847     uint32_t reserved_1b0;
848     uint32_t reserved_1b4;
849     uint32_t reserved_1b8;
850     uint32_t reserved_1bc;
851     uint32_t reserved_1c0;
852     uint32_t reserved_1c4;
853     uint32_t reserved_1c8;
854     uint32_t reserved_1cc;
855     uint32_t reserved_1d0;
856     uint32_t reserved_1d4;
857     uint32_t reserved_1d8;
858     uint32_t reserved_1dc;
859     uint32_t reserved_1e0;
860     uint32_t reserved_1e4;
861     uint32_t reserved_1e8;
862     uint32_t reserved_1ec;
863     union {
864         struct {
865             uint32_t frc_sdio11:       5;
866             uint32_t frc_sdio20:       5;
867             uint32_t frc_neg_samp:     5;
868             uint32_t frc_pos_samp:     5;
869             uint32_t frc_quick_in:     5;
870             uint32_t sdio20_int_delay: 1;
871             uint32_t sdio_pad_pullup:  1;
872             uint32_t hspeed_con_en:    1;
873             uint32_t reserved28:       4;
874         };
875         uint32_t val;
876     } conf;
877     union {
878         struct {
879             uint32_t sdio20_mode:   5;
880             uint32_t sdio_neg_samp: 5;
881             uint32_t sdio_quick_in: 5;
882             uint32_t reserved15:   17;
883         };
884         uint32_t val;
885     } inf_st;
886 } host_dev_t;
887 extern host_dev_t HOST;
888 
889 #ifdef __cplusplus
890 }
891 #endif
892 
893 #endif  /* _SOC_HOST_STRUCT_H_ */
894