Implement a generic structure to support multiple instances of the fmc516 core, for example.
A simple way would be to create a generic identification structure in which the drive functions would poll in order to determine the correct core (which SPI, I2C, etcc) core to act