Partial rewrite of SDHOST driver to use DMA for data transfer

This reverts the microSD performance to that seen with the SDHCI controller.

Benchmarks on Pi Zero W (ARM1176JZF-S):
  SDHCI:      23.8 MB/s
  SDHOST PIO:  1.9 MB/s
  SDHOST DMA: 24.4 MB/s

Benchmarks on Pi Zero 2W (Cortex-A53):
  SDHCI:      23.8 MB/s
  SDHOST PIO:  8.6 MB/s
  SDHOST DMA: 24.4 MB/s
11 jobs for !20 with SDIO in 33 seconds (queued for 6 seconds)
detached
Status Job ID Name Coverage
  Static Analysis
passed #40025
cross
gitattributes

00:00:00

passed #40026
cross
gitignore

00:00:00

passed #40029
cross
head_log

00:00:00

passed #40032
cross
head_whitesp

00:00:00

passed #40027
cross
license

00:00:00

passed #40031
cross
makefile

00:00:00

passed #40030
cross
merge_log

00:00:01

failed #40033
cross allowed to fail
merge_whitesp

00:00:01

passed #40028
cross
versionnum

00:00:01

 
  Rom
failed #40034
cross allowed to fail
rom_BCM2835

00:00:24

 
  Cleanup
passed #40035
cross
cleanup

00:00:01

 
Name Stage Failure
failed
rom_BCM2835 Rom
Error running make export (hdrs) on module 'HAL_BCM2835'.
Error running make export (hdrs) on module 'FileCore'.
Error running make export (hdrs) on module 'ADFS'.
Error running make export (hdrs) on module 'RamFS'.
Error running make export (hdrs) on module 'SCSIFS'.
Error running make export (hdrs) on module 'SDFS'.
------------------------------------------------------------------------------
Cleaning up project directory and file based variables
ERROR: Job failed: exit status 1

failed
merge_whitesp Static Analysis
s/SDIO line 547 only removes whitespace error
s/SDIO line 548 only removes whitespace error
s/SDIO line 640 only removes whitespace error
s/SDIO line 829 only removes whitespace error
s/SDIO line 838 only removes whitespace error
s/SDIO line 839 only removes whitespace error
s/Top line 318 only removes whitespace error
Cleaning up project directory and file based variables
ERROR: Job failed: exit status 1