* [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree
@ 2026-09-27 9:15 Thomas Bogendoerfer
2026-09-27 9:15 ` [PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices Thomas Bogendoerfer
2026-10-01 12:12 ` [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree Thomas Bogendoerfer
0 siblings, 2 replies; 4+ messages in thread
From: Thomas Bogendoerfer @ 2026-09-27 9:15 UTC (permalink / raw)
To: linux-mips, linux-kernel
There are older Octeon boards with ld U-Boots, which don't use and pass
a device tree to the kernel. Use MIPS_MACHINE mechanism to get a device
tree.
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
---
arch/mips/cavium-octeon/setup.c | 29 +++++++++++++++++++++++------
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
index d2bba2fe636d..7497be7b9431 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
@@ -30,6 +30,7 @@
#include <linux/libfdt.h>
#include <linux/kexec.h>
+#include <asm/machine.h>
#include <asm/processor.h>
#include <asm/reboot.h>
#include <asm/smp-ops.h>
@@ -1159,7 +1160,7 @@ void __init octeon_fill_mac_addresses(void);
void __init device_tree_init(void)
{
- const void *fdt;
+ const void *fdt = NULL;
bool do_prune;
bool fill_mac;
@@ -1178,12 +1179,28 @@ void __init device_tree_init(void)
do_prune = false;
fill_mac = false;
pr_info("Using passed Device Tree.\n");
- } else if (OCTEON_IS_MODEL(OCTEON_CN68XX)) {
- fdt = &__dtb_octeon_68xx_begin;
- do_prune = true;
- fill_mac = true;
} else {
- fdt = &__dtb_octeon_3xxx_begin;
+ const struct mips_machine *check_mach;
+
+ for_each_mips_machine(check_mach) {
+ if (!check_mach->detect)
+ continue;
+ if (!check_mach->detect())
+ continue;
+
+ fdt = check_mach->fdt;
+ do_prune = false;
+ fill_mac = true;
+ pr_info("Using compiled-in Device Tree.\n");
+ break;
+ }
+ }
+
+ if (!fdt) {
+ if (OCTEON_IS_MODEL(OCTEON_CN68XX))
+ fdt = &__dtb_octeon_68xx_begin;
+ else
+ fdt = &__dtb_octeon_3xxx_begin;
do_prune = true;
fill_mac = true;
}
--
2.51.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices
2026-09-27 9:15 [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree Thomas Bogendoerfer
@ 2026-09-27 9:15 ` Thomas Bogendoerfer
2026-10-01 12:12 ` Thomas Bogendoerfer
2026-10-01 12:12 ` [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree Thomas Bogendoerfer
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Bogendoerfer @ 2026-09-27 9:15 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-mips, linux-kernel
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@alpha.franken.de>
---
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree
2026-09-27 9:15 [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree Thomas Bogendoerfer
2026-09-27 9:15 ` [PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices Thomas Bogendoerfer
@ 2026-10-01 12:12 ` Thomas Bogendoerfer
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Bogendoerfer @ 2026-10-01 12:12 UTC (permalink / raw)
To: linux-mips, linux-kernel
On Sun, Sep 27, 2026 at 11:15:10AM +0200, Thomas Bogendoerfer wrote:
> There are older Octeon boards with ld U-Boots, which don't use and pass
> a device tree to the kernel. Use MIPS_MACHINE mechanism to get a device
> tree.
>
> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> ---
> arch/mips/cavium-octeon/setup.c | 29 +++++++++++++++++++++++------
> 1 file changed, 23 insertions(+), 6 deletions(-)
applied to mips-next
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices
2026-09-27 9:15 ` [PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices Thomas Bogendoerfer
@ 2026-10-01 12:12 ` Thomas Bogendoerfer
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Bogendoerfer @ 2026-10-01 12:12 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-mips, linux-kernel
On Sun, Sep 27, 2026 at 11:15:11AM +0200, Thomas Bogendoerfer wrote:
> 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@alpha.franken.de>
> ---
> 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
applied to mips-next
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-01 12:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-27 9:15 [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree Thomas Bogendoerfer
2026-09-27 9:15 ` [PATCH 2/2] MIPS: octeon: Add detection of UBNT Edgeroute Lite devices Thomas Bogendoerfer
2026-10-01 12:12 ` Thomas Bogendoerfer
2026-10-01 12:12 ` [PATCH 1/2] MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree Thomas Bogendoerfer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.