qemu-irix/include/hw
Cédric Le Goater 924ed16386 ast2400: add SPI flash slaves
Each controller on the ast2400 has a memory range on which it maps its
flash module slaves. Each slave is assigned a memory segment for its
mapping that can be changed at bootime with the Segment Address
Register. This is not supported in the current implementation so we
are using the defaults provided by the specs.

Each SPI flash slave can then be accessed in two modes: Command and
User. When in User mode, accesses to the memory segment of the slaves
are translated in SPI transfers. When in Command mode, the HW
generates the SPI commands automatically and the memory segment is
accessed as if doing a MMIO. Other SPI controllers call that mode
linear addressing mode.

For this purpose, we are adding below each crontoller an array of
structs gathering for each SPI flash module, a segment rank, a
MemoryRegion to handle the memory accesses and the associated SPI
slave device, which should be a m25p80.

Only the User mode is supported for now but we are preparing ground
for the Command mode. The framework is sufficient to support Linux.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-id: 1467138270-32481-8-git-send-email-clg@kaod.org
[PMM: Use g_new0() rather than g_malloc0()]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-07-04 13:15:22 +01:00
..
acpi pc: use new CPU hotplug interface since 2.7 machine type 2016-06-24 05:21:38 +03:00
arm ast2400: add SMC controllers (FMC and SPI) 2016-07-04 13:15:22 +01:00
audio pcspk: convert "pit" property type from ptr to link 2016-06-29 14:03:45 +02:00
block pflash: make TYPE_CFI_PFLASH0{1,2} macros public 2016-06-29 14:03:46 +02:00
char serial: remove watch on reset 2016-06-29 14:03:47 +02:00
cpu qapi: keep names in 'CpuInstanceProperties' in sync with struct CPUCore 2016-06-27 13:15:06 +10:00
cris
display introduce xlnx-dp 2016-06-14 16:01:03 +01:00
dma dma: Add Xilinx Zynq devcfg device model 2016-07-04 13:15:22 +01:00
gpio
i2c hw/i2c-ddc.c: Implement DDC I2C slave 2016-06-14 15:59:15 +01:00
i386 ich9: implement SCI_IRQ_SEL register 2016-06-29 14:03:48 +02:00
ide ide: move headers to include folder 2016-06-29 14:03:45 +02:00
input
intc hw/intc/arm_gicv3: Implement functions to identify next pending irq 2016-06-17 15:23:51 +01:00
ipack
ipmi
isa isa: introduce wrapper isa_connect_gpio_out 2016-06-29 14:03:46 +02:00
kvm
lm32
m68k
mem nvdimm: support nvdimm label 2016-06-24 05:13:57 +03:00
mips
misc hw/misc: Add a model for the ASPEED System Control Unit 2016-06-27 15:37:33 +01:00
net
nvram
pci pci: fix pci_requester_id() 2016-06-17 03:28:02 +03:00
pci-host ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
ppc ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
s390x
scsi scsi: esp: make cmdbuf big enough for maximum CDB size 2016-06-16 18:39:05 +02:00
sd
sh4
smbios ipmi: Add SMBIOS table entry 2016-06-24 05:13:57 +03:00
sparc
ssi ast2400: add SPI flash slaves 2016-07-04 13:15:22 +01:00
timer pcspk: fix KVM 2016-06-30 19:00:02 +01:00
tricore
unicore32
usb
vfio
virtio virtio-blk: add num-queues device property 2016-06-28 13:08:32 +01:00
watchdog
xen
boards.h QMP: Add query-hotpluggable-cpus 2016-06-17 16:33:49 +10:00
bt.h
compat.h
devices.h
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h qdev: hotplug: Introduce HotplugHandler.pre_plug() callback 2016-06-17 16:33:48 +10:00
hw.h
ide.h
irq.h
loader.h
nmi.h
pcmcia.h
platform-bus.h
ptimer.h
qdev-core.h qdev: Use GList for global properties 2016-06-17 10:42:21 -03:00
qdev-dma.h
qdev-properties.h
qdev.h
register.h register: Add block initialise helper 2016-07-04 13:15:22 +01:00
stream.h
sysbus.h
usb.h usb: Add QOM property "attached". 2016-06-22 12:53:26 +02:00