git: 9b3415e9ec55 - main - sys/dts: Add SD card overlays for the BananaPi-F3 SoC
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 16 Aug 2026 17:17:13 UTC
The branch main has been updated by bnovkov:
URL: https://cgit.FreeBSD.org/src/commit/?id=9b3415e9ec55ef8248b05750932eb0a247739413
commit 9b3415e9ec55ef8248b05750932eb0a247739413
Author: Bojan Novković <bnovkov@FreeBSD.org>
AuthorDate: 2026-05-19 21:05:28 +0000
Commit: Bojan Novković <bnovkov@FreeBSD.org>
CommitDate: 2026-08-16 17:15:08 +0000
sys/dts: Add SD card overlays for the BananaPi-F3 SoC
The K1 user manual lists three separate SDHCI devices but the
upstream DTS file only defines the eMMC device.
Create a temporary overlay to allow the BananaPi-F3 to boot from the
SD card until this is addressed upstream.
Differential Revision: https://reviews.freebsd.org/D57177
Reviewed by: mhorne
---
sys/dts/Makefile | 2 +-
sys/dts/riscv/Makefile | 5 +++++
sys/dts/riscv/Makefile.inc | 1 +
sys/dts/riscv/overlays/Makefile | 5 +++++
sys/dts/riscv/overlays/spacemit-k1-mmc0.dtso | 32 ++++++++++++++++++++++++++++
sys/modules/dtb/spacemit/Makefile | 1 +
6 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/sys/dts/Makefile b/sys/dts/Makefile
index 99eb23c033cf..f62de06aa0ba 100644
--- a/sys/dts/Makefile
+++ b/sys/dts/Makefile
@@ -1,3 +1,3 @@
-SUBDIR=arm powerpc
+SUBDIR=arm powerpc riscv
.include <bsd.subdir.mk>
diff --git a/sys/dts/riscv/Makefile b/sys/dts/riscv/Makefile
new file mode 100644
index 000000000000..a0cb93ec26d8
--- /dev/null
+++ b/sys/dts/riscv/Makefile
@@ -0,0 +1,5 @@
+DTS!=ls ${.CURDIR}/*.dts
+
+all: test-dts
+
+.include <bsd.init.mk>
diff --git a/sys/dts/riscv/Makefile.inc b/sys/dts/riscv/Makefile.inc
new file mode 100644
index 000000000000..01b5f23410c8
--- /dev/null
+++ b/sys/dts/riscv/Makefile.inc
@@ -0,0 +1 @@
+.include "../Makefile.inc"
diff --git a/sys/dts/riscv/overlays/Makefile b/sys/dts/riscv/overlays/Makefile
new file mode 100644
index 000000000000..c234bead7d1b
--- /dev/null
+++ b/sys/dts/riscv/overlays/Makefile
@@ -0,0 +1,5 @@
+DTSO!=ls ${.CURDIR}/*.dtso
+
+all: test-dtso
+
+.include <bsd.init.mk>
diff --git a/sys/dts/riscv/overlays/spacemit-k1-mmc0.dtso b/sys/dts/riscv/overlays/spacemit-k1-mmc0.dtso
new file mode 100644
index 000000000000..55abae64ca78
--- /dev/null
+++ b/sys/dts/riscv/overlays/spacemit-k1-mmc0.dtso
@@ -0,0 +1,32 @@
+#include <dt-bindings/clock/spacemit,k1-syscon.h>
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "bananapi,bpi-f3", "spacemit,k1";
+};
+
+&{/soc/storage-bus} {
+ sd: mmc@d4280000 {
+ compatible = "spacemit,k1-sdhci";
+ reg = <0x0 0xd4280000 0x0 0x200>;
+ clocks = <&syscon_apmu CLK_SDH_AXI>,
+ <&syscon_apmu CLK_SDH0>;
+ clock-names = "core", "io";
+ resets = <&syscon_apmu RESET_SDH_AXI>,
+ <&syscon_apmu RESET_SDH0>;
+ reset-names = "axi", "sdh";
+ interrupts = <99>;
+ status = "disabled";
+ };
+};
+
+&sd {
+ bus-width = <4>;
+ wp-inverted;
+ no-mmc;
+ no-sdio;
+ /* SD supports clock rates up to SDR104. */
+ max-frequency = <208000000>;
+ status = "okay";
+};
diff --git a/sys/modules/dtb/spacemit/Makefile b/sys/modules/dtb/spacemit/Makefile
index 78187cba25e1..d9b25db9f1f8 100644
--- a/sys/modules/dtb/spacemit/Makefile
+++ b/sys/modules/dtb/spacemit/Makefile
@@ -1,3 +1,4 @@
DTS= spacemit/k1-bananapi-f3.dts
+DTSO= spacemit-k1-mmc0.dtso
.include <bsd.dtb.mk>