Not sure yet why transfers fail but this gets things going --- sys/dev/fdt/dwmmc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sys/dev/fdt/dwmmc.c b/sys/dev/fdt/dwmmc.c index c7a236b367b..b6891ae8a49 100644 --- a/sys/dev/fdt/dwmmc.c +++ b/sys/dev/fdt/dwmmc.c @@ -424,7 +424,10 @@ dwmmc_attach(struct device *parent, struct device *self, void *aux) saa.sch = sc; saa.dmat = sc->sc_dmat; saa.dmap = sc->sc_dmap; - saa.caps |= SMC_CAPS_DMA; + + /* XXX: mmc dma is broken on rk3128, don't use it for now */ + if (!OF_is_compatible(faa->fa_node, "rockchip,rk3128-dw-mshc")) + saa.caps |= SMC_CAPS_DMA; if (OF_getproplen(sc->sc_node, "cap-mmc-highspeed") == 0) saa.caps |= SMC_CAPS_MMC_HIGHSPEED; -- 2.47.1