When trying to bootup a pristine zync image from the zc702 tarball, it would always fail with the MTD detection of the serial flash device type command over the SPI. I believe this section of code may have the logic flipped. Once I changed it to the following, I was able to detect the flash type when booting the pristine image from Xilinx. -Jim
>From baaaacca370c13526fd2b8c7b33c7d9e8a6d7b8d Mon Sep 17 00:00:00 2001 From: Jim Hanley <jim.han...@landisgyr.com> Date: Thu, 23 Mar 2017 10:29:34 -0400 Subject: [PATCH] MTD writes from the SPI were never being dequeue... Signed-off-by: --- hw/ssi/xilinx_spips.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c index da8adfa..a3af1f7 100644 --- a/hw/ssi/xilinx_spips.c +++ b/hw/ssi/xilinx_spips.c @@ -482,8 +482,8 @@ static void xilinx_spips_write(void *opaque, hwaddr addr, s->regs[addr] = (s->regs[addr] & ~mask) | (value & mask); no_reg_update: xilinx_spips_update_cs_lines(s); - if ((man_start_com && s->regs[R_CONFIG] & MAN_START_EN) || - (fifo8_is_empty(&s->tx_fifo) && s->regs[R_CONFIG] & MAN_START_EN)) { + if (!((man_start_com && s->regs[R_CONFIG] & MAN_START_EN) || + (fifo8_is_empty(&s->tx_fifo) && s->regs[R_CONFIG] & MAN_START_EN))) { xilinx_spips_flush_txfifo(s); } xilinx_spips_update_cs_lines(s); -- 2.7.4