Add support for SD/MMC devices on HATs
This is enabled on a HAT by HAT basis, whitelisted in the source code. The only HAT initially supported is the "MMC HAT" from 8086.net (which, despite the name, is actually a micro-SD slot).
Only generation 4 Pis are supported. Many earlier models don't have a spare SD controller (since one is required for WiFi) and those with the smaller expansion header are missing one of the SD bus pins and also the HAT identification pins. Pi 2 would also require dedicated cache maintenance routines.