Module Name: src
Committed By: jmcneill
Date: Sun Apr 16 13:27:19 UTC 2017
Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c
Log Message:
Disable SDR104 until the Tegra K1 custom tuning method is implemented.
This is required to work around errata that describes periodic data CRC
errors after autotuning has completed.
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_sdhc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/nvidia/tegra_sdhc.c
diff -u src/sys/arch/arm/nvidia/tegra_sdhc.c:1.16 src/sys/arch/arm/nvidia/tegra_sdhc.c:1.17
--- src/sys/arch/arm/nvidia/tegra_sdhc.c:1.16 Tue Apr 11 11:06:02 2017
+++ src/sys/arch/arm/nvidia/tegra_sdhc.c Sun Apr 16 13:27:19 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.16 2017/04/11 11:06:02 jmcneill Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.17 2017/04/16 13:27:19 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -29,7 +29,7 @@
#include "locators.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.16 2017/04/11 11:06:02 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.17 2017/04/16 13:27:19 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -124,6 +124,14 @@ tegra_sdhc_attach(device_t parent, devic
}
sc->sc_bsz = size;
+ /* XXX SDR104 requires a custom tuning method on Tegra K1 */
+ sc->sc.sc_flags |= SDHC_FLAG_HOSTCAPS;
+ sc->sc.sc_caps = bus_space_read_4(sc->sc_bst, sc->sc_bsh,
+ SDHC_CAPABILITIES);
+ sc->sc.sc_caps2 = bus_space_read_4(sc->sc_bst, sc->sc_bsh,
+ SDHC_CAPABILITIES2);
+ sc->sc.sc_caps2 &= ~SDHC_SDR104_SUPP;
+
sc->sc_pin_power = fdtbus_gpio_acquire(faa->faa_phandle,
"power-gpios", GPIO_PIN_OUTPUT);
if (sc->sc_pin_power)