qemu/include/hw
Bin Meng 898dc008e8 hw/riscv: microchip_pfsoc: Connect a Cadence SDHCI controller and an SD card
Microchip PolarFire SoC integrates one Cadence SDHCI controller.
On the Icicle Kit board, one eMMC chip and an external SD card
connect to this controller depending on different configuration.

As QEMU does not support eMMC yet, we just emulate the SD card
configuration. To test this, the Hart Software Services (HSS)
should choose the SD card configuration:

$ cp boards/icicle-kit-es/def_config.sdcard .config
$ make BOARD=icicle-kit-es

The SD card image can be built from the Yocto BSP at:
https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp

Note the generated SD card image should be resized before use:
$ qemu-img resize /path/to/sdcard.img 4G

Launch QEMU with the following command:
$ qemu-system-riscv64 -nographic -M microchip-icicle-kit -sd sdcard.img

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <1598924352-89526-9-git-send-email-bmeng.cn@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2020-09-09 15:54:18 -07:00
..
acpi Introduce a new flag for i440fx to disable PCI hotplug on the root bus 2020-08-27 08:29:08 -04:00
adc include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
arm target-arm queue: 2020-08-28 15:14:40 +01:00
audio qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
block swim: Rename struct SWIM to Swim 2020-08-27 14:04:55 -04:00
char hw/char: Add Microchip PolarFire SoC MMUART emulation 2020-09-09 15:54:18 -07:00
core target/arm: Move start-powered-off property to generic CPUState 2020-09-08 10:08:42 +10:00
cpu Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
cris sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
display nubus: Rename class type checking macros 2020-08-27 14:04:55 -04:00
dma i8257: Move QOM macro to header 2020-08-27 14:04:54 -04:00
firmware machine: Refactor smp-related call chains to pass MachineState 2019-07-05 17:07:36 -03:00
gpio nrf51: Fix last GPIO CNF address 2020-04-30 11:52:27 +01:00
hyperv vmbus: Move QOM macros to vmbus.h 2020-08-27 14:04:54 -04:00
i2c hw/i2c: Fix typo in description 2020-09-01 11:08:57 +02:00
i386 Revert "hw/i386: Update structures to save the number of nodes per package" 2020-09-02 07:29:26 -04:00
ide ahci: Move QOM macro to header 2020-08-27 14:04:54 -04:00
input pckbd: Move QOM macro to header 2020-08-27 14:04:54 -04:00
intc hw/intc: ibex_plic: Don't allow repeat interrupts on claimed lines 2020-08-21 22:37:55 -07:00
ipack Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ipmi ppc/pnv: Add a HIOMAP erase command 2020-09-08 10:08:42 +10:00
isa isa: isa_create(), isa_try_create() are now unused, drop 2020-06-15 22:05:28 +02:00
kvm Supply missing header guards 2019-06-12 13:20:21 +02:00
lm32 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
m68k hw/m68k: QOMify the mcf5206 system integration module 2020-09-03 12:47:33 +02:00
mem hw/acpi/nvdimm: add a helper to augment SRAT generation 2020-06-09 11:17:59 -04:00
mips Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
misc Various fixes of Aspeed machines : 2020-09-03 14:12:48 +01:00
net hw/net/allwinner-sun8i-emac: Use AddressSpace for DMA transfers 2020-08-28 10:02:45 +01:00
nubus nubus: Delete unused NUBUS_BRIDGE macro 2020-08-27 14:04:54 -04:00
nvram nvram: Exit QEMU if NVRAM cannot contain all -prom-env data 2020-08-14 13:34:31 +10:00
pci pci: Move PCIBusClass typedef to pci.h 2020-08-27 14:04:54 -04:00
pci-bridge Supply missing header guards 2019-06-12 13:20:21 +02:00
pci-host spapr: Add a new level of NUMA for GPUs 2020-07-20 09:21:39 +10:00
ppc spapr_numa: create a vcpu associativity helper 2020-09-08 11:34:18 +10:00
rdma rdma: Rename INTERFACE_RDMA_PROVIDER_CLASS macro 2020-09-02 07:29:25 -04:00
riscv hw/riscv: microchip_pfsoc: Connect a Cadence SDHCI controller and an SD card 2020-09-09 15:54:18 -07:00
rtc goldfish_rtc: Fix non-atomic read behaviour of TIME_LOW/TIME_HIGH 2020-07-22 09:39:46 -07:00
rx hw/rx: Add RX GDB simulator 2020-06-22 18:37:12 +02:00
s390x s390-virtio-ccw: Rename S390_MACHINE_CLASS macro 2020-08-27 14:04:55 -04:00
scsi qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
sd hw/sd: Add Cadence SDHCI emulation 2020-09-09 15:54:18 -07:00
semihosting semihosting: add qemu_semihosting_console_inc for SYS_READC 2020-01-09 11:41:29 +00:00
sh4 hw/sh4: Extract timer definitions to 'hw/timer/tmu012.h' 2020-06-22 18:37:12 +02:00
southbridge piix: Move QOM macros to header 2020-08-27 14:04:55 -04:00
sparc Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ssi Replace uses of FROM_SSI_SLAVE() macro with QOM casts 2020-07-03 16:59:46 +01:00
timer i8254: Move PITCommonState/PITCommonClass typedefs to i8254.h 2020-08-27 14:04:54 -04:00
tricore Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb hw/usb: Regroup USB HID protocol values 2020-08-31 08:10:47 +02:00
vfio vfio: Convert to ram_block_discard_disable() 2020-07-02 05:54:59 -04:00
virtio Machine queue + QOM fixes and cleanups 2020-08-28 11:05:08 +01:00
watchdog hw/watchdog: Implement full i.MX watchdog support 2020-05-21 20:00:18 +01:00
xen xen-legacy-backend: Add missing typedef XenLegacyDevice 2020-08-27 14:04:54 -04:00
xtensa Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
boards.h hw: add compat machines for 5.2 2020-08-19 10:45:48 -04:00
clock.h hw/clock: Only propagate clock changes if the clock is changed 2020-08-28 10:02:44 +01:00
elf_ops.h hw/elf_ops: Do not ignore write failures when loading ELF 2020-06-10 12:10:23 -04:00
fw-path-provider.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
hotplug.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
hw.h Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
ide.h hw/ide: Move MAX_IDE_DEVS define to hw/ide/internal.h 2020-03-17 12:22:36 -04:00
irq.h include/hw/irq.h: New function qemu_irq_is_connected() 2020-08-03 17:55:03 +01:00
loader-fit.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
loader.h hw/core/loader: Let load_elf() populate a field with CPU-specific flags 2020-01-29 19:28:52 +01:00
nmi.h hw/nmi: Fix the NMI() macro, based on INTERFACE_CHECK() 2020-02-28 14:57:19 -05:00
or-irq.h hw/core/or-irq: Increase limit of or-lines to 48 2020-01-23 16:34:15 +00:00
pcmcia.h Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
platform-bus.h platform-bus: Delete macros for non-existing typedef 2020-08-27 14:04:54 -04:00
ptimer.h ptimer: Remove old ptimer_init_with_bh() API 2019-11-11 13:44:16 +00:00
qdev-clock.h hw/qdev-clock: Avoid calling qdev_connect_clock_in after DeviceRealize 2020-08-28 10:02:46 +01:00
qdev-core.h qdev: Document GPIO related functions 2020-07-20 11:35:17 +01:00
qdev-dma.h Supply missing header guards 2019-06-12 13:20:21 +02:00
qdev-properties.h qdev: Document qdev_prop_set_drive_err() return value 2020-08-19 10:44:29 -04:00
register.h hw/register: Document register_init_block @memory_size 2020-08-31 19:41:58 +02:00
registerfields.h hw/registerfields: Prefix local variables with underscore in macros 2020-05-27 11:23:07 -07:00
resettable.h hw/core: deprecate old reset functions and introduce new ones 2020-01-30 16:02:04 +00:00
stream.h hw/core: stream: Add an end-of-packet flag 2020-05-14 13:44:35 +02:00
sysbus.h sysbus: sysbus_init_child_obj() is now unused, drop 2020-06-15 22:06:04 +02:00
usb.h usb: usb_create() is now unused, drop 2020-06-15 22:05:28 +02:00
vmstate-if.h vmstate: add qom interface to get id 2020-01-06 18:41:32 +04:00