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