Merge tag 'seabios-20211203-pull-request' of git://git.kraxel.org/qemu into staging
[qemu.git] / include / hw / sd / bcm2835_sdhost.h
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"
19 #include "qom/object.h"
20
21 #define TYPE_BCM2835_SDHOST "bcm2835-sdhost"
22 OBJECT_DECLARE_SIMPLE_TYPE(BCM2835SDHostState, BCM2835_SDHOST)
23
24 #define BCM2835_SDHOST_FIFO_LEN 16
25
26 struct BCM2835SDHostState {
27 SysBusDevice busdev;
28 SDBus sdbus;
29 MemoryRegion iomem;
30
31 uint32_t cmd;
32 uint32_t cmdarg;
33 uint32_t status;
34 uint32_t rsp[4];
35 uint32_t config;
36 uint32_t edm;
37 uint32_t vdd;
38 uint32_t hbct;
39 uint32_t hblc;
40 int32_t fifo_pos;
41 int32_t fifo_len;
42 uint32_t fifo[BCM2835_SDHOST_FIFO_LEN];
43 uint32_t datacnt;
44
45 qemu_irq irq;
46 };
47
48 #endif