Page MenuHomeFreeBSD

D30563.diff
No OneTemporary

D30563.diff

diff --git a/sys/dev/sdhci/sdhci_xenon.c b/sys/dev/sdhci/sdhci_xenon.c
--- a/sys/dev/sdhci/sdhci_xenon.c
+++ b/sys/dev/sdhci/sdhci_xenon.c
@@ -141,13 +141,8 @@
bus_size_t off)
{
struct sdhci_xenon_softc *sc = device_get_softc(dev);
- uint32_t val32;
- val32 = bus_read_4(sc->mem_res, off);
- if (off == SDHCI_CAPABILITIES && sc->no_18v)
- val32 &= ~SDHCI_CAN_VDD_180;
-
- return (val32);
+ return bus_read_4(sc->mem_res, off);
}
static void
@@ -519,6 +514,13 @@
if (sdhci_init_slot(dev, sc->slot, 0))
goto fail;
+ /* 1.2V signaling is not supported. */
+ sc->slot->host.caps &= ~MMC_CAP_SIGNALING_120;
+
+ /* Disable UHS in case of lack of 1.8V VCCQ or the PHY slow mode. */
+ if (sc->no_18v || sc->slow_mode)
+ sc->slot->host.caps &= ~MMC_CAP_SIGNALING_180;
+
/* Activate the interrupt */
err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE,
NULL, sdhci_xenon_intr, sc, &sc->intrhand);

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 23, 6:24 PM (8 h, 19 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32015918
Default Alt Text
D30563.diff (937 B)

Event Timeline