]>
Commit | Line | Data |
---|---|---|
43ddc182 CD |
1 | /* |
2 | * Raspberry Pi (BCM2835) SD Host Controller | |
3 | * | |
4 | * Copyright (c) 2017 Antfield SAS | |
5 | * | |
6 | * Authors: | |
7 | * Clement Deschamps <clement.deschamps@antfield.fr> | |
8 | * Luc Michel <luc.michel@antfield.fr> | |
9 | * | |
10 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
11 | * See the COPYING file in the top-level directory. | |
12 | */ | |
13 | ||
14 | #ifndef BCM2835_SDHOST_H | |
15 | #define BCM2835_SDHOST_H | |
16 | ||
17 | #include "hw/sysbus.h" | |
18 | #include "hw/sd/sd.h" | |
db1015e9 | 19 | #include "qom/object.h" |
43ddc182 CD |
20 | |
21 | #define TYPE_BCM2835_SDHOST "bcm2835-sdhost" | |
db1015e9 | 22 | typedef struct BCM2835SDHostState BCM2835SDHostState; |
8110fa1d EH |
23 | DECLARE_INSTANCE_CHECKER(BCM2835SDHostState, BCM2835_SDHOST, |
24 | TYPE_BCM2835_SDHOST) | |
43ddc182 CD |
25 | |
26 | #define BCM2835_SDHOST_FIFO_LEN 16 | |
27 | ||
db1015e9 | 28 | struct BCM2835SDHostState { |
43ddc182 CD |
29 | SysBusDevice busdev; |
30 | SDBus sdbus; | |
31 | MemoryRegion iomem; | |
32 | ||
33 | uint32_t cmd; | |
34 | uint32_t cmdarg; | |
35 | uint32_t status; | |
36 | uint32_t rsp[4]; | |
37 | uint32_t config; | |
38 | uint32_t edm; | |
39 | uint32_t vdd; | |
40 | uint32_t hbct; | |
41 | uint32_t hblc; | |
42 | int32_t fifo_pos; | |
43 | int32_t fifo_len; | |
44 | uint32_t fifo[BCM2835_SDHOST_FIFO_LEN]; | |
45 | uint32_t datacnt; | |
46 | ||
47 | qemu_irq irq; | |
db1015e9 | 48 | }; |
43ddc182 CD |
49 | |
50 | #endif |