diff options
Diffstat (limited to 'sys/dev/acpi/sdhc_acpi.c')
-rw-r--r-- | sys/dev/acpi/sdhc_acpi.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/acpi/sdhc_acpi.c b/sys/dev/acpi/sdhc_acpi.c index 3b7df7cafb8..113ff84ca01 100644 --- a/sys/dev/acpi/sdhc_acpi.c +++ b/sys/dev/acpi/sdhc_acpi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sdhc_acpi.c,v 1.17 2020/12/24 14:09:38 patrick Exp $ */ +/* $OpenBSD: sdhc_acpi.c,v 1.18 2021/03/08 13:48:56 kettenis Exp $ */ /* * Copyright (c) 2016 Mark Kettenis * @@ -56,8 +56,10 @@ struct cfattach sdhc_acpi_ca = { const char *sdhc_hids[] = { "PNP0D40", - "INT33BB", "80860F14", + "BCM2847", /* Raspberry Pi3/4 "arasan" controller */ + "BRCME88C", /* Raspberry Pi4 "emmc2" controller */ + "INT33BB", "PNP0FFF", NULL }; @@ -149,6 +151,10 @@ sdhc_acpi_attach(struct device *parent, struct device *self, void *aux) cap &= ~capmask; } + /* Raspberry Pi4 "emmc2" controller. */ + if (strcmp(aaa->aaa_dev, "BRCME88C") == 0) + sc->sc.sc_flags |= SDHC_F_NOPWR0; + sc->sc.sc_host = &sc->sc_host; sc->sc.sc_dmat = aaa->aaa_dmat; sc->sc.sc_clkbase = acpi_getpropint(sc->sc_node, |