summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-12-26 12:33:02 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2015-12-26 12:33:15 +0100
commitf4570955a7c20dbc43afc698a2f9fed5393a0881 (patch)
treeee9378fcf060fb61d262f3d0523c96b53dfae3a8
parent0cc22b4e75d96c042dd30067297a93323d2183f2 (diff)
add experimental support for xtensa de212 core
-rw-r--r--mk/kernel-ver.mk4
-rw-r--r--mk/linux.mk4
-rw-r--r--target/config/Config.in.binutils1
-rw-r--r--target/config/Config.in.gcc1
-rw-r--r--target/config/Config.in.kernelversion1
-rw-r--r--target/config/Config.in.target1
-rw-r--r--target/config/Config.in.xtensa18
-rw-r--r--target/linux/config/Config.in.serial3
-rw-r--r--target/linux/config/Config.in.xtensa11
-rw-r--r--target/xtensa/Makefile9
-rw-r--r--target/xtensa/kernel/qemu-xtensa3
-rw-r--r--target/xtensa/overlay/xtensa_de212.tarbin0 -> 79592 bytes
-rw-r--r--toolchain/uclibc-ng/Makefile3
13 files changed, 45 insertions, 14 deletions
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index eb04c4f30..e688c3de2 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -11,7 +11,11 @@
# KERNEL_VERSION: final kernel version how we want to identify a specific kernel
ifeq ($(ADK_TARGET_KERNEL_VERSION_GIT),y)
+ifneq ($(ADK_TARGET_KERNEL_HASH),)
KERNEL_FILE_VER:= $(ADK_TARGET_KERNEL_HASH)
+else
+KERNEL_FILE_VER:= git
+endif
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
endif
diff --git a/mk/linux.mk b/mk/linux.mk
index 543f194ba..dabdc37ef 100644
--- a/mk/linux.mk
+++ b/mk/linux.mk
@@ -4,7 +4,11 @@
PKG_NAME:= linux
PKG_RELEASE:= $(KERNEL_RELEASE)
ifeq ($(ADK_TARGET_KERNEL_VERSION_GIT),y)
+ifneq ($(ADK_TARGET_KERNEL_HASH),)
PKG_VERSION:= $(ADK_TARGET_KERNEL_HASH)
+else
+PKG_VERSION:= git
+endif
PKG_SITES:= $(ADK_TARGET_KERNEL_REPO)
else
PKG_VERSION:= $(KERNEL_FILE_VER)
diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils
index 94f4a710b..88be429ec 100644
--- a/target/config/Config.in.binutils
+++ b/target/config/Config.in.binutils
@@ -5,6 +5,7 @@ choice
prompt "Binutils version"
default ADK_TOOLCHAIN_BINUTILS_2_20_1 if ADK_TARGET_ARCH_AVR32
default ADK_TOOLCHAIN_BINUTILS_2_23_ARC if ADK_TARGET_ARCH_ARC
+default ADK_TOOLCHAIN_BINUTILS_GIT if ADK_TARGET_WITHOUT_MMU && ADK_TARGET_ARCH_XTENSA
default ADK_TOOLCHAIN_BINUTILS_2_25_1
config ADK_TOOLCHAIN_BINUTILS_GIT
diff --git a/target/config/Config.in.gcc b/target/config/Config.in.gcc
index 318f9971b..efeb3b1de 100644
--- a/target/config/Config.in.gcc
+++ b/target/config/Config.in.gcc
@@ -11,6 +11,7 @@ default ADK_TOOLCHAIN_GCC_4_8_ARC if ADK_TARGET_ARCH_ARC
default ADK_TOOLCHAIN_GCC_4_9_OR1K_UCLIBC_NG if ADK_TARGET_ARCH_OR1K && ADK_TARGET_LIB_UCLIBC_NG
default ADK_TOOLCHAIN_GCC_5_2_OR1K_MUSL if ADK_TARGET_ARCH_OR1K && ADK_TARGET_LIB_MUSL
default ADK_TOOLCHAIN_GCC_5_2_OR1K_MUSL if ADK_TARGET_ARCH_OR1K && ADK_TARGET_LIB_NEWLIB
+default ADK_TOOLCHAIN_GCC_GIT if ADK_TARGET_WITHOUT_MMU && ADK_TARGET_ARCH_XTENSA
default ADK_TOOLCHAIN_GCC_5_3_0
config ADK_TOOLCHAIN_GCC_GIT
diff --git a/target/config/Config.in.kernelversion b/target/config/Config.in.kernelversion
index cc8ee6ad8..5f3a569e3 100644
--- a/target/config/Config.in.kernelversion
+++ b/target/config/Config.in.kernelversion
@@ -8,6 +8,7 @@ default ADK_TARGET_KERNEL_VERSION_4_3_3 if ADK_TARGET_ARCH_ARC
default ADK_TARGET_KERNEL_VERSION_4_3_3 if ADK_TARGET_ARCH_SPARC
default ADK_TARGET_KERNEL_VERSION_4_3_3 if ADK_TARGET_ARCH_BFIN
default ADK_TARGET_KERNEL_VERSION_4_3_3 if ADK_TARGET_ARCH_H8300
+default ADK_TARGET_KERNEL_VERSION_GIT if ADK_TARGET_WITHOUT_MMU && ADK_TARGET_ARCH_XTENSA
default ADK_TARGET_KERNEL_VERSION_4_1_15
config ADK_TARGET_KERNEL_VERSION_GIT
diff --git a/target/config/Config.in.target b/target/config/Config.in.target
index 96c96b947..8500a4933 100644
--- a/target/config/Config.in.target
+++ b/target/config/Config.in.target
@@ -7,6 +7,7 @@ config ADK_TARGET_CMDLINE
default "geodewdt.nowayout=1" if ADK_TARGET_MODEL_PCENGINES_ALIX1C
default "kinetis_platform=k70-som" if ADK_TARGET_SYSTEM_KINETIS_K70
default "metag_da.console_poll=1" if ADK_TARGET_SYSTEM_QEMU_METAG
+ default "earlycon=uart8250,mmio32,0x9d050020,115200n8 console=ttyS0,115200n8" if ADK_TARGET_XTENSA_DE212
default ""
config ADK_PACKAGE_SUFFIX
diff --git a/target/config/Config.in.xtensa b/target/config/Config.in.xtensa
index 39d1369eb..95ace4987 100644
--- a/target/config/Config.in.xtensa
+++ b/target/config/Config.in.xtensa
@@ -13,13 +13,6 @@ config ADK_TARGET_XTENSA_DC233C
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
-config ADK_TARGET_XTENSA_DC233C_NOMMU
- bool "dc233c-nommu"
- select ADK_KERNEL_XTENSA_VARIANT_DC233C
- select ADK_TARGET_LITTLE_ENDIAN
- select ADK_TARGET_WITH_LT
- select ADK_TARGET_WITHOUT_MMU
-
config ADK_TARGET_XTENSA_DC232B
bool "dc232b"
select ADK_KERNEL_XTENSA_VARIANT_DC232B
@@ -27,10 +20,19 @@ config ADK_TARGET_XTENSA_DC232B
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
+config ADK_TARGET_XTENSA_DE212
+ bool "de212"
+ select ADK_KERNEL_XTENSA_VARIANT_CUSTOM
+ select ADK_KERNEL_XTENSA_VARIANT_CUSTOM_NAME
+ select ADK_KERNEL_BUILTIN_DTB
+ select ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_WITH_LT
+ select ADK_TARGET_WITHOUT_MMU
+
endchoice
config ADK_TARGET_XTENSA
string
default "dc233c" if ADK_TARGET_XTENSA_DC233C
- default "dc233c" if ADK_TARGET_XTENSA_DC233C_NOMMU
default "dc232b" if ADK_TARGET_XTENSA_DC232B
+ default "de212" if ADK_TARGET_XTENSA_DE212
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 9e0ecb280..71816245b 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -66,6 +66,7 @@ config ADK_KERNEL_SERIAL_BFIN
config ADK_KERNEL_SERIAL_8250
bool "8250 serial driver"
select ADK_KERNEL_SERIAL_OF_PLATFORM if ADK_TARGET_SYSTEM_XILINX_KINTEX7 \
+ || ADK_TARGET_SYSTEM_QEMU_XTENSA \
|| ADK_TARGET_SYSTEM_QEMU_OR1K \
|| ADK_TARGET_SYSTEM_OR1K_SIM
select ADK_KERNEL_SERIAL_8250_PNP if ADK_TARGET_SYSTEM_PCENGINES_APU
@@ -78,6 +79,7 @@ config ADK_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO \
|| ADK_TARGET_SYSTEM_QEMU_X86 \
|| ADK_TARGET_SYSTEM_QEMU_X86_64 \
+ || ADK_TARGET_SYSTEM_QEMU_XTENSA \
|| ADK_TARGET_SYSTEM_OR1K_SIM \
|| ADK_TARGET_SYSTEM_IBM_X40 \
|| ADK_TARGET_SYSTEM_GENERIC_X86 \
@@ -92,6 +94,7 @@ config ADK_KERNEL_SERIAL_8250
default y if ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO
default y if ADK_TARGET_SYSTEM_QEMU_X86
default y if ADK_TARGET_SYSTEM_QEMU_X86_64
+ default y if ADK_TARGET_SYSTEM_QEMU_XTENSA
default y if ADK_TARGET_SYSTEM_OR1K_SIM
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_TARGET_SYSTEM_GENERIC_X86
diff --git a/target/linux/config/Config.in.xtensa b/target/linux/config/Config.in.xtensa
index 246c6a66c..3839251ee 100644
--- a/target/linux/config/Config.in.xtensa
+++ b/target/linux/config/Config.in.xtensa
@@ -9,3 +9,14 @@ config ADK_KERNEL_XTENSA_VARIANT_DC232B
config ADK_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
bool
+
+config ADK_KERNEL_XTENSA_VARIANT_CUSTOM
+ bool
+
+config ADK_KERNEL_XTENSA_VARIANT_CUSTOM_NAME
+ string
+ default "de212" if ADK_TARGET_XTENSA_DE212
+
+config ADK_KERNEL_BUILTIN_DTB
+ string
+ default "kc705_nommu" if ADK_TARGET_XTENSA_DE212
diff --git a/target/xtensa/Makefile b/target/xtensa/Makefile
index f2bbb1c81..a485239b8 100644
--- a/target/xtensa/Makefile
+++ b/target/xtensa/Makefile
@@ -7,14 +7,17 @@ include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/uImage
-QEMU_ARGS:=-M lx60 -monitor null
+QEMU_ARGS:=-M ml605 -monitor null
QEMU_ARGS+=${ADK_QEMU_ARGS}
-ifeq ($(ADK_KERNEL_XTENSA_VARIANT_DC233C),y)
+ifeq ($(ADK_TARGET_XTENSA_DC233C),y)
QEMU_ARGS+=-cpu dc233c
endif
-ifeq ($(ADK_KERNEL_XTENSA_VARIANT_DC232B),y)
+ifeq ($(ADK_TARGET_XTENSA_DC232B),y)
QEMU_ARGS+=-cpu dc232b
endif
+ifeq ($(ADK_TARGET_XTENSA_DE212),y)
+QEMU_ARGS+=-cpu de212
+endif
# target helper text
ifeq ($(ADK_TARGET_FS),archive)
diff --git a/target/xtensa/kernel/qemu-xtensa b/target/xtensa/kernel/qemu-xtensa
index c7a401380..a6202d5a0 100644
--- a/target/xtensa/kernel/qemu-xtensa
+++ b/target/xtensa/kernel/qemu-xtensa
@@ -1,5 +1,2 @@
CONFIG_XTENSA=y
CONFIG_XTENSA_PLATFORM_XTFPGA=y
-CONFIG_SERIAL_CONSOLE=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
diff --git a/target/xtensa/overlay/xtensa_de212.tar b/target/xtensa/overlay/xtensa_de212.tar
new file mode 100644
index 000000000..21d7d372d
--- /dev/null
+++ b/target/xtensa/overlay/xtensa_de212.tar
Binary files differ
diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile
index 630071cca..f3f5d139d 100644
--- a/toolchain/uclibc-ng/Makefile
+++ b/toolchain/uclibc-ng/Makefile
@@ -96,6 +96,9 @@ endif
ifeq ($(ADK_TARGET_UCLINUX),y)
$(SED) 's/.*\(ARCH_USE_MMU\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
+ifeq ($(ADK_TARGET_WITHOUT_MMU),y)
+ $(SED) 's/.*\(ARCH_USE_MMU\).*/# \1 is not set/' ${WRKBUILD}/.config
+endif
ifeq ($(ADK_TARGET_LIB_UCLIBC_NG_GIT),y)
ifeq ($(ADK_TARGET_WITH_NPTL),y)
$(SED) 's/.*\(UCLIBC_HAS_THREADS_NATIVE\).*/\1=y/' ${WRKBUILD}/.config