Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f5f0a44 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle
Browse files

MIPS: generic: Convert SEAD-3 to a generic board



Convert the MIPS SEAD-3 board support to be a generic board, supported
by generic kernels.

Because the SEAD-3 boot protocol was defined long ago and we don't want
to force a switch to the UHI protocol, SEAD-3 is added as a legacy board
which is detected by reading the REVISION register. This may technically
not be a valid memory read & future work will include attempting to
handle that gracefully. In practice since SEAD-3 is the only legacy
board supported by the generic kernel so far the read will only happen
on SEAD-3 boards, and even once Malta is converted the same REVISION
register exists there too. Other boards such as Boston, Ci20 & Ci40 will
use the UHI boot protocol & thus not run any of the legacy board detect
functions.

Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14354/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent eed0eabd
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ platforms += lasat
platforms += loongson32
platforms += loongson64
platforms += mti-malta
platforms += mti-sead3
platforms += netlogic
platforms += paravirt
platforms += pic32
+1 −36
Original line number Diff line number Diff line
@@ -546,41 +546,6 @@ config MACH_PIC32
	  Microchip PIC32 is a family of general-purpose 32 bit MIPS core
	  microcontrollers.

config MIPS_SEAD3
	bool "MIPS SEAD3 board"
	select BOOT_ELF32
	select BOOT_RAW
	select BUILTIN_DTB
	select CEVT_R4K
	select CSRC_R4K
	select CLKSRC_MIPS_GIC
	select COMMON_CLK
	select CPU_MIPSR2_IRQ_VI
	select CPU_MIPSR2_IRQ_EI
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select MIPS_GIC
	select LIBFDT
	select MIPS_MSC
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_CPU_MIPS32_R2
	select SYS_HAS_CPU_MIPS32_R6
	select SYS_HAS_CPU_MIPS64_R1
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_SMARTMIPS
	select SYS_SUPPORTS_MICROMIPS
	select SYS_SUPPORTS_MIPS16
	select SYS_SUPPORTS_RELOCATABLE
	select USB_EHCI_BIG_ENDIAN_DESC
	select USB_EHCI_BIG_ENDIAN_MMIO
	select USE_OF
	help
	  This enables support for the MIPS Technologies SEAD3 evaluation
	  board.

config NEC_MARKEINS
	bool "NEC EMMA2RH Mark-eins board"
	select SOC_EMMA2RH
@@ -2976,7 +2941,7 @@ endchoice
choice
	prompt "Kernel command line type" if !CMDLINE_OVERRIDE
	default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \
					 !MIPS_MALTA && !MIPS_SEAD3 && \
					 !MIPS_MALTA && \
					 !CAVIUM_OCTEON_SOC
	default MIPS_CMDLINE_FROM_BOOTLOADER

+13 −0
Original line number Diff line number Diff line
@@ -488,3 +488,16 @@ $(generic_defconfigs):
# Prevent generic merge_config rules attempting to merge single fragments
#
$(generic_config_dir)/%.config: ;

#
# Legacy defconfig compatibility - these targets used to be real defconfigs but
# now that the boards have been converted to use the generic kernel they are
# wrappers around the generic rules above.
#
.PHONY: sead3_defconfig
sead3_defconfig:
	$(Q)$(MAKE) 32r2el_defconfig BOARDS=sead-3

.PHONY: sead3micro_defconfig
sead3micro_defconfig:
	$(Q)$(MAKE) micro32r2el_defconfig BOARDS=sead-3
+1 −1
Original line number Diff line number Diff line
dtb-$(CONFIG_MIPS_MALTA)	+= malta.dtb
dtb-$(CONFIG_MIPS_SEAD3)	+= sead3.dtb
dtb-$(CONFIG_LEGACY_BOARD_SEAD3)	+= sead3.dtb

obj-y				+= $(patsubst %.dtb, %.dtb.o, $(dtb-y))

+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "mti,sead-3";
	model = "MIPS SEAD-3";
	interrupt-parent = <&gic>;

	chosen {
Loading