My target platform is an ARM-7 with an SPI connection to an FPGA. I need either device to be able to initiate data transfer, the approach I'm considering is to use a single additional data line from the FPGA to the ARM, "FPGA data waiting". When the ARM is notified of data waiting to be pulled back, it will initiate a rotation. If there happens to be data ready to go both ways, then the single rotation will handle both of them. Potentially fairly neat, aside from possibly the handshaking.
I'd appreciate any thoughts on my proposed approach. Is there a better / more standard way to do this? Does it have a name so I can hunt up an existing implementation?