git: e758ed2dd535 - main - sdhci: Add support for disable-wp
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 10 Aug 2023 07:22:14 UTC
The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=e758ed2dd5350b432cf10b6c2c3cbf4c3d570b03 commit e758ed2dd5350b432cf10b6c2c3cbf4c3d570b03 Author: Emmanuel Vadot <manu@FreeBSD.org> AuthorDate: 2022-09-29 11:58:08 +0000 Commit: Emmanuel Vadot <manu@FreeBSD.org> CommitDate: 2023-08-10 07:21:55 +0000 sdhci: Add support for disable-wp Some platform needs it when the WP pin is broken. Sponsored by: Beckhoff Automation GmbH & Co. KG MFC after: 2 weeks --- sys/dev/sdhci/sdhci_fdt.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/dev/sdhci/sdhci_fdt.c b/sys/dev/sdhci/sdhci_fdt.c index c6319d49ca65..1890ab3ae6a6 100644 --- a/sys/dev/sdhci/sdhci_fdt.c +++ b/sys/dev/sdhci/sdhci_fdt.c @@ -143,6 +143,7 @@ struct sdhci_fdt_softc { struct resource *mem_res[MAX_SLOTS]; /* Memory resource */ bool wp_inverted; /* WP pin is inverted */ + bool wp_disabled; /* WP pin is not supported */ bool no_18v; /* No 1.8V support */ clk_t clk_xin; /* xin24m fixed clock */ @@ -433,6 +434,8 @@ sdhci_fdt_get_ro(device_t bus, device_t dev) { struct sdhci_fdt_softc *sc = device_get_softc(bus); + if (sc->wp_disabled) + return (false); return (sdhci_generic_get_ro(bus, dev) ^ sc->wp_inverted); } @@ -554,6 +557,8 @@ sdhci_fdt_probe(device_t dev) sc->no_18v = true; if (OF_hasprop(node, "wp-inverted")) sc->wp_inverted = true; + if (OF_hasprop(node, "disable-wp")) + sc->wp_disabled = true; return (0); }