Hi, This patch series is an attempt to add support for the ZynqMP QSPI (consisting of the Generic QSPI and the legacy QSPI) to the xlnx-zcu102 board and connect Numonyx n25q512a11 flashes to the QSPI. Also some functionality is added to m25p80.
The series starts by adding support in m25p80 for continous read out of status registers, SST flash READ ID commands, bank address register accesses, bulk erase (0x60) and two Numonyx flashes (n25q512a11 and n25q512a13). Thereafter it updates the striping behaviour to be bit big endiann in the Xilinx QSPI model and adds support for RX discard, zero pumping according transfer register and 4 byte LQSPI addresses. Finally it adds support for the ZynqMP Generic QSPI and adds the ZynqMP QSPI to the xlnx-zcu102 board. Best regards, Francisco Iglesias Changelog: v8 -> v9 * Improved guest error logging in patch 'm25p80: Add support for SST READ ID 0x90/0xAB commands' and removed acked-by lines in the commit message because of this update. v7 -> v8 * Corrected commit messages in the patches 'xilinx_spips: Don't set TX FIFO UNDERFLOW at cmd done' and 'xilinx_spips: Move FlashCMD, XilinxQSPIPS and XilinxSPIPSClass'. * Changed a for loop and a variable decrease for improving readability in patch 'xilinx_spips: Update striping to be big-endian bit order'. v6 -> v7 * Moved data_read_loop into a vmstate subsection in patch 'm25p80: Add support for continuous read out of RDSR and READ_FSR' for not breaking compatibility against older vmstate versions unless necessary. * Minor tweaks in patch 'xilinx_spips: Add support for the ZynqMP Generic QSPI'. v5 -> v6 * Added data_read_loop to vmstate_m25p80 in patch 'm25p80: Add support for continuous read out of RDSR and READ_FSR'. Also removed acked-by lines in the commit message because of this update. * Reworked patch 'xilinx_spips: Add support for the ZynqMP Generic QSPI'. * Tweaked commit messages v4 -> v5 * Added newlines in patch 'xlnx-zcu102: Add support for the ZynqMP QSPI' v3 -> v4 * Corrected patch 'Add support for SST READ ID 0x90/0xAB commands' * Corrected patch 'Add support Add support for BRRD/BRWR and BULK_ERASE' * Minor tweaks in the ZynqMP GQSPI patch for reducing the patch Francisco Iglesias (13): m25p80: Add support for continuous read out of RDSR and READ_FSR m25p80: Add support for SST READ ID 0x90/0xAB commands m25p80: Add support for BRRD/BRWR and BULK_ERASE (0x60) m25p80: Add support for n25q512a11 and n25q512a13 xilinx_spips: Move FlashCMD, XilinxQSPIPS and XilinxSPIPSClass xilinx_spips: Update striping to be big-endian bit order xilinx_spips: Add support for RX discard and RX drain xilinx_spips: Make tx/rx_data_bytes more generic and reusable xilinx_spips: Add support for zero pumping xilinx_spips: Add support for 4 byte addresses in the LQSPI xilinx_spips: Don't set TX FIFO UNDERFLOW at cmd done xilinx_spips: Add support for the ZynqMP Generic QSPI xlnx-zcu102: Add support for the ZynqMP QSPI default-configs/arm-softmmu.mak | 2 +- hw/arm/xlnx-zcu102.c | 23 + hw/arm/xlnx-zynqmp.c | 26 ++ hw/block/m25p80.c | 80 +++- hw/ssi/xilinx_spips.c | 899 ++++++++++++++++++++++++++++++++++------ include/hw/arm/xlnx-zynqmp.h | 5 + include/hw/ssi/xilinx_spips.h | 74 +++- 7 files changed, 970 insertions(+), 139 deletions(-) -- 2.9.3