From bfe97f12a0a64c3682be21a02404238e3b91e945 Mon Sep 17 00:00:00 2001 From: Thomas Bogendoerfer Date: Sun, 27 Sep 2026 11:15:11 +0200 Subject: [PATCH] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices 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 --- 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 +#include + +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, +};