[PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices

From: Thomas Bogendoerfer

Date: Sun Sep 27 2026 - 05:15:45 EST


The U-Boot of Ubiquiti Edgerouter Lite don't provide a DT to the kernel.
Use MIPS_MACHINE mechanism to provide one.

Signed-off-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
---
arch/mips/boot/dts/cavium-octeon/Makefile | 1 +
arch/mips/cavium-octeon/Kconfig | 5 +++++
arch/mips/cavium-octeon/Makefile | 2 ++
arch/mips/cavium-octeon/board-ubnt.c | 16 ++++++++++++++++
4 files changed, 24 insertions(+)
create mode 100644 arch/mips/cavium-octeon/board-ubnt.c

diff --git a/arch/mips/boot/dts/cavium-octeon/Makefile b/arch/mips/boot/dts/cavium-octeon/Makefile
index 48085bca666c..aa3a5ff1468d 100644
--- a/arch/mips/boot/dts/cavium-octeon/Makefile
+++ b/arch/mips/boot/dts/cavium-octeon/Makefile
@@ -1,2 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_CAVIUM_OCTEON_SOC) += octeon_3xxx.dtb octeon_68xx.dtb
+dtb-$(CONFIG_OCTEON_BOARD_UBNT) += ubnt_e100.dtb
diff --git a/arch/mips/cavium-octeon/Kconfig b/arch/mips/cavium-octeon/Kconfig
index 450e979ef5d9..f3618117cc39 100644
--- a/arch/mips/cavium-octeon/Kconfig
+++ b/arch/mips/cavium-octeon/Kconfig
@@ -89,4 +89,9 @@ config OCTEON_ILM
To compile this driver as a module, choose M here. The module
will be called octeon-ilm

+config OCTEON_BOARD_UBNT
+ bool "Support Ubiquiti Devices"
+ help
+ Enable this for missing Ubiquit device trees and quirks
+
endif # CAVIUM_OCTEON_SOC
diff --git a/arch/mips/cavium-octeon/Makefile b/arch/mips/cavium-octeon/Makefile
index ab84ede0cbe0..c9b52c94a8ca 100644
--- a/arch/mips/cavium-octeon/Makefile
+++ b/arch/mips/cavium-octeon/Makefile
@@ -18,3 +18,5 @@ obj-y += executive/
obj-$(CONFIG_MTD) += flash_setup.o
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_OCTEON_ILM) += oct_ilm.o
+
+obj-$(CONFIG_OCTEON_BOARD_UBNT) += board-ubnt.o
diff --git a/arch/mips/cavium-octeon/board-ubnt.c b/arch/mips/cavium-octeon/board-ubnt.c
new file mode 100644
index 000000000000..e89ab3a02f49
--- /dev/null
+++ b/arch/mips/cavium-octeon/board-ubnt.c
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+#include <asm/machine.h>
+#include <asm/octeon/octeon.h>
+
+static __init bool ubnt_e100_detect(void)
+{
+ return cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_UBNT_E100;
+}
+
+extern const char __dtb_ubnt_e100_begin[];
+
+MIPS_MACHINE(ubnt_e100) = {
+ .fdt = __dtb_ubnt_e100_begin,
+ .detect = ubnt_e100_detect,
+};
--
2.51.0