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, +};