Răsfoiți Sursa

xtensa: add support for de233+fpu

Waldemar Brodkorb 2 săptămâni în urmă
părinte
comite
ca21e0e8b8

+ 10 - 0
target/config/Config.in.cpu

@@ -1881,6 +1881,15 @@ config ADK_TARGET_CPU_XTENSA_DC232B
 	select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC232B if ADK_TARGET_OS_LINUX
 	depends on ADK_TARGET_ARCH_XTENSA
 
+config ADK_TARGET_CPU_XTENSA_DE233_FPU
+	bool "de233_fpu"
+	select ADK_TARGET_SUPPORTS_THREADS
+	select ADK_TARGET_SUPPORTS_NPTL
+	select ADK_TARGET_SUPPORTS_LT
+	select ADK_TARGET_KERNEL_IMAGE
+	select ADK_LINUX_KERNEL_XTENSA_VARIANT_CUSTOM if ADK_TARGET_OS_LINUX
+	depends on ADK_TARGET_ARCH_XTENSA
+
 config ADK_TARGET_CPU_XTENSA_DE212
 	bool "de212"
 	select ADK_TARGET_SUPPORTS_THREADS
@@ -2292,6 +2301,7 @@ config ADK_TARGET_CPU_TYPE
 	default "leon3" if ADK_TARGET_CPU_SPARC_LEON3
 	default "dc233c" if ADK_TARGET_CPU_XTENSA_DC233C
 	default "dc232b" if ADK_TARGET_CPU_XTENSA_DC232B
+	default "de233_fpu" if ADK_TARGET_CPU_XTENSA_DE233_FPU
 	default "de212" if ADK_TARGET_CPU_XTENSA_DE212
 	default "kc705_be" if ADK_TARGET_CPU_XTENSA_KC705_BE
 	default "fsf" if ADK_TARGET_CPU_XTENSA_FSF

+ 8 - 1
target/linux/config/Config.in.xtensa

@@ -7,6 +7,11 @@ config ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C
 config ADK_LINUX_KERNEL_XTENSA_VARIANT_DC232B
 	bool
 
+config ADK_LINUX_KERNEL_XTENSA_VARIANT_MMU
+	bool
+	depends on ADK_TARGET_WITH_MMU
+	default y if ADK_TARGET_WITH_MMU
+
 config ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
 	bool
 
@@ -19,6 +24,7 @@ config ADK_LINUX_KERNEL_XTENSA_VARIANT_CUSTOM_NAME
 	string
 	default "dc233c" if ADK_TARGET_CPU_XTENSA_DC233C
 	default "dc232b" if ADK_TARGET_CPU_XTENSA_DC232B
+	default "de233_fpu" if ADK_TARGET_CPU_XTENSA_DE233_FPU
 	default "de212" if ADK_TARGET_CPU_XTENSA_DE212
 
 config ADK_LINUX_KERNEL_BUILTIN_DTB
@@ -38,8 +44,8 @@ config ADK_LINUX_KERNEL_MEMMAP_CACHEATTR
 config ADK_LINUX_KERNEL_KERNEL_LOAD_ADDRESS
 	hex
 	default "0x00003000" if ADK_TARGET_CPU_XTENSA_DC233C
+	default "0x00003000" if ADK_TARGET_CPU_XTENSA_DE233_FPU
 	default "0x60003000" if ADK_TARGET_CPU_XTENSA_DE212
-	depends on !ADK_TARGET_WITH_MMU
 
 config ADK_LINUX_KERNEL_DEFAULT_MEM_START
 	hex
@@ -50,5 +56,6 @@ config ADK_LINUX_KERNEL_DEFAULT_MEM_START
 config ADK_LINUX_KERNEL_CMDLINE
 	string
 	default "earlycon=uart8250,mmio32,0xfd050020,115200n8 console=ttyS0,115200n8 memmap=0x08000000@0" if ADK_TARGET_CPU_XTENSA_DC233C
+	default "earlycon=uart8250,mmio32,0xfd050020,115200n8 console=ttyS0,115200n8 memmap=0x08000000@0" if ADK_TARGET_CPU_XTENSA_DE233_FPU
 	default "earlycon=uart8250,mmio32,0x9d050020,115200n8 memmap=256M@0x60000000" if ADK_TARGET_CPU_XTENSA_DE212
 	depends on ADK_TARGET_LINUX_ARCH_XTENSA

+ 5 - 0
target/xtensa/Makefile

@@ -16,6 +16,11 @@ QEMU_ARGS+=-M kc705
 QEMU_ARGS+=-cpu dc232b
 KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/uImage
 endif
+ifeq ($(ADK_TARGET_CPU_XTENSA_DE233_FPU),y)
+QEMU_ARGS+=-M kc705
+QEMU_ARGS+=-cpu de233_fpu -m 128
+KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/Image.elf
+endif
 ifeq ($(ADK_TARGET_CPU_XTENSA_DE212),y)
 QEMU_ARGS+=-M kc705-nommu
 QEMU_ARGS+=-cpu de212 -m 256

BIN
target/xtensa/overlay/xtensa_de233_fpu.tar