Please look at https://github.com/BPI-SINOVOIP/BPI-Kernel4.0/issues/1 and through the M2 subforum to get the idea what to expect (here). Hans de Goede wrote a new device tree file for the M2 from scratch so ensure you're using the correct one.
Regarding SPI it should just work [TM] since adding the respective nodes to the device tree should be enough. But to be honest: I've not done this myself before (no need for that) and just realized that SPI driver for sunxi devices is WiP.
So maybe asking in the 'Other boards' section of Armbian forum is an idea. At least Martin, a SPI savy user is there who brought SPI support with mainline kernel to H3 boards (and currently tries to do the same for A64/Pine64)