Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/nvidia Disable UHS modes if signaling voltage r...



details:   https://anonhg.NetBSD.org/src/rev/7d6ac7efb04d
branches:  trunk
changeset: 825545:7d6ac7efb04d
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Fri Jul 21 01:00:58 2017 +0000

description:
Disable UHS modes if signaling voltage regulator is unavailable.

diffstat:

 sys/arch/arm/nvidia/tegra_sdhc.c |  12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diffs (33 lines):

diff -r 956004918ca2 -r 7d6ac7efb04d sys/arch/arm/nvidia/tegra_sdhc.c
--- a/sys/arch/arm/nvidia/tegra_sdhc.c  Fri Jul 21 01:00:08 2017 +0000
+++ b/sys/arch/arm/nvidia/tegra_sdhc.c  Fri Jul 21 01:00:58 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.20 2017/05/25 23:53:50 jmcneill Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.21 2017/07/21 01:00:58 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -31,7 +31,7 @@
 #include "locators.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.20 2017/05/25 23:53:50 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.21 2017/07/21 01:00:58 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -165,6 +165,14 @@
            "vqmmc-supply");
        if (sc->sc_reg_vqmmc) {
                sc->sc.sc_vendor_signal_voltage = tegra_sdhc_signal_voltage;
+       } else {
+               /* Regulator required for UHS signaling */
+               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_SDR50_SUPP|SDHC_SDR104_SUPP|SDHC_DDR50_SUPP);
        }
 
        sc->sc_clk = fdtbus_clock_get_index(faa->faa_phandle, 0);



Home | Main Index | Thread Index | Old Index