mirror of
https://github.com/qemu/qemu.git
synced 2025-07-31 09:27:44 +00:00

The Allwinner System on Chip families sun4i and above contain an integrated storage controller for Secure Digital (SD) and Multi Media Card (MMC) interfaces. This commit adds support for the Allwinner SD/MMC storage controller with the following emulated features: * DMA transfers * Direct FIFO I/O * Short/Long format command responses * Auto-Stop command (CMD12) * Insert & remove card detection The following boards are extended with the SD host controller: * Cubieboard (hw/arm/cubieboard.c) * Orange Pi PC (hw/arm/orangepi.c) Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20200311221854.30370-9-nieklinnenbank@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
42 lines
959 B
C
42 lines
959 B
C
#ifndef HW_ARM_ALLWINNER_A10_H
|
|
#define HW_ARM_ALLWINNER_A10_H
|
|
|
|
#include "qemu/error-report.h"
|
|
#include "hw/char/serial.h"
|
|
#include "hw/arm/boot.h"
|
|
#include "hw/timer/allwinner-a10-pit.h"
|
|
#include "hw/intc/allwinner-a10-pic.h"
|
|
#include "hw/net/allwinner_emac.h"
|
|
#include "hw/sd/allwinner-sdhost.h"
|
|
#include "hw/ide/ahci.h"
|
|
#include "hw/usb/hcd-ohci.h"
|
|
#include "hw/usb/hcd-ehci.h"
|
|
|
|
#include "target/arm/cpu.h"
|
|
|
|
|
|
#define AW_A10_SDRAM_BASE 0x40000000
|
|
|
|
#define AW_A10_NUM_USB 2
|
|
|
|
#define TYPE_AW_A10 "allwinner-a10"
|
|
#define AW_A10(obj) OBJECT_CHECK(AwA10State, (obj), TYPE_AW_A10)
|
|
|
|
typedef struct AwA10State {
|
|
/*< private >*/
|
|
DeviceState parent_obj;
|
|
/*< public >*/
|
|
|
|
ARMCPU cpu;
|
|
AwA10PITState timer;
|
|
AwA10PICState intc;
|
|
AwEmacState emac;
|
|
AllwinnerAHCIState sata;
|
|
AwSdHostState mmc0;
|
|
MemoryRegion sram_a;
|
|
EHCISysBusState ehci[AW_A10_NUM_USB];
|
|
OHCISysBusState ohci[AW_A10_NUM_USB];
|
|
} AwA10State;
|
|
|
|
#endif
|