qemu-e2k/hw/ssi
Cédric Le Goater e7e741ca9d aspeed/smc: Fix User mode select/unselect scheme
The Aspeed SMC Controller can operate in different modes : Read, Fast
Read, Write and User modes. When the User mode is configured, it
selects automatically the SPI slave device until the CE_STOP_ACTIVE
bit is set to 1. When any other modes are configured the device is
unselected. The HW logic handles the chip select automatically when
the flash is accessed through its AHB window.

When configuring the CEx Control Register, the User mode logic to
select and unselect the slave is incorrect and data corruption can be
seen on machines using two chips, witherspoon and romulus.

Rework the handler setting the CEx Control Register to fix this issue.

Fixes: 7c1c69bca4 ("ast2400: add SMC controllers (FMC and SPI)")
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Message-id: 20200206112645.21275-3-clg@kaod.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-03-12 16:01:37 +00:00
..
Kconfig ssi: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
Makefile.objs hw/*/Makefile.objs: Move many .o files to common-objs 2020-02-04 09:00:57 +01:00
aspeed_smc.c aspeed/smc: Fix User mode select/unselect scheme 2020-03-12 16:01:37 +00:00
imx_spi.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
mss-spi.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
omap_spi.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
pl022.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ssi.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
stm32f2xx_spi.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
trace-events aspeed/smc: Fix User mode select/unselect scheme 2020-03-12 16:01:37 +00:00
xilinx_spi.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
xilinx_spips.c xilinx_spips: Correct the number of dummy cycles for the FAST_READ_4 cmd 2020-02-21 16:07:02 +00:00