summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2021-03-08 13:48:57 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2021-03-08 13:48:57 +0000
commit6146cd5d9580443e3bc02939ea4924be4f00ded7 (patch)
tree5f68f50424e6e82ddbe351fe26d1a5dc5111ee75
parent6e803ec400ff9557def31e312f06252ae08d9d71 (diff)
Add support for sdhc(4) on Raspberry Pi in ACPI mode.
ok patrick@
-rw-r--r--sys/dev/acpi/sdhc_acpi.c10
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,