@User: Yes, the two flash SPI interfaces are independent, so that the user area can instantiate a microcontroller that runs off its own flash. The housekeeping SPI is designed to allow a "pass through" mode to either one of the two flash SPI interfaces, so that it effectively takes control of those pins, and can be used to program, erase, etc., the SPI flash. That's all done through the pins while the housekeeping SPI is active but the management SoC is in reset (which also then holds the user project area in reset). The management SoC will automatically be put into reset as soon as the pass-through mode is accessed. I have a testbench in the caravel repo for the pass-through mode for the management SoC's flash; all that the pass-through mode is is that you give a one-byte SPI command to put it in pass-through mode (a different command byte for the management SoC pass-through vs. the user area pass-through), and all SPI data after that command byte is then talking directly to the SPI flash chip. You can look at the testbench for the general setup, and look at the datasheet document for the command word for pass-through mode on the user project area.