I am using an external programmer (pico-serprog) to program the iCE40HX8K via SPI. Programming only works if C_RESET is pulled LOW before powering on the board. If C_RESET is pulled LOW after power is already applied, SPI communication fails.
Can you confirm: When C_RESET is pulled LOW while the board is already powered on, do the SDI, SDO, and SCK pins on the FPGA chip enter high-impedance (Hi-Z) state? Is there a specific reset/power-on sequence required for the iCE40 to enter SPI programming mode?