You interface with SoC's peripherals rather than bit-bang lines. You can think of them as a kind of memory mapped APIs.