По-моему, из SPI это можно слепить очевидным образом: генерить сигналы CLK, CS и т.п. при помощи таймеров, и одним из таймеров генерить запросы DMA на считывание 8 бит параллельно (через GPIO или внешнюю параллельную шину МК). Как это сделать на STM32, мне понятно: благо, опыт есть.