From f7f568f5e062bd4aa8a15e953b301d96314a434a Mon Sep 17 00:00:00 2001 From: Guo Ren Date: Fri, 3 Mar 2017 09:20:20 +0800 Subject: [PATCH] arch: add support for the csky architecture This commit provides basic support for the C-SKY architecture. Signed-off-by: Guo Ren [Thomas: minor tweaks.] Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 3 +++ arch/Config.in | 12 ++++++++++++ arch/Config.in.csky | 46 +++++++++++++++++++++++++++++++++++++++++++++ toolchain/Config.in | 1 + 4 files changed, 62 insertions(+) create mode 100644 arch/Config.in.csky diff --git a/DEVELOPERS b/DEVELOPERS index 678a9a9c77..361f902fe5 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -593,6 +593,9 @@ F: package/sdl2/ N: Guillaume William Brs F: package/liquid-dsp/ +N: Guo Ren +F: arch/Config.in.csky + N: Gustavo Zacarias F: arch/Config.in.powerpc F: board/qemu/ diff --git a/arch/Config.in b/arch/Config.in index 7149b2cb31..65a33fbb64 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -85,6 +85,14 @@ config BR2_bfin http://www.analog.com/ http://en.wikipedia.org/wiki/Blackfin +config BR2_csky + bool "csky" + select BR2_ARCH_HAS_MMU_MANDATORY + help + csky is processor IP from china. + http://www.c-sky.com/ + http://www.github.com/c-sky + config BR2_i386 bool "i386" select BR2_ARCH_HAS_MMU_MANDATORY @@ -369,6 +377,10 @@ if BR2_bfin source "arch/Config.in.bfin" endif +if BR2_csky +source "arch/Config.in.csky" +endif + if BR2_m68k source "arch/Config.in.m68k" endif diff --git a/arch/Config.in.csky b/arch/Config.in.csky new file mode 100644 index 0000000000..7029c6047f --- /dev/null +++ b/arch/Config.in.csky @@ -0,0 +1,46 @@ +choice + prompt "Target Architecture Variant" + default BR2_ck610 + help + Specific CPU variant to use + +config BR2_ck610 + bool "ck610" + +config BR2_ck807 + bool "ck807" + +config BR2_ck810 + bool "ck810" + +endchoice + +config BR2_CSKY_FPU + bool "Enable FPU coprocessor" + depends on BR2_ck810 || BR2_ck807 + help + You can say N here if your C-SKY CPU doesn't have a + Floating-Point Coprocessor or if you don't need FPU support + for your user-space programs. + +config BR2_CSKY_DSP + bool "Enable DSP enhanced instructions" + depends on BR2_ck810 || BR2_ck807 + +config BR2_ARCH + default "csky" + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_CPU + default "ck610" if (BR2_ck610 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck807" if (BR2_ck807 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck807e" if (BR2_ck807 && !BR2_CSKY_FPU && BR2_CSKY_DSP) + default "ck807f" if (BR2_ck807 && BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck807ef" if (BR2_ck807 && BR2_CSKY_FPU && BR2_CSKY_DSP) + default "ck810" if (BR2_ck810 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck810e" if (BR2_ck810 && !BR2_CSKY_FPU && BR2_CSKY_DSP) + default "ck810f" if (BR2_ck810 && BR2_CSKY_FPU && !BR2_CSKY_DSP) + default "ck810ef" if (BR2_ck810 && BR2_CSKY_FPU && BR2_CSKY_DSP) + diff --git a/toolchain/Config.in b/toolchain/Config.in index de01585670..652c9d8c1d 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -46,6 +46,7 @@ config BR2_TOOLCHAIN_BUILDROOT depends on !BR2_bf607 depends on !BR2_bf608 depends on !BR2_bf609 + depends on !BR2_csky config BR2_TOOLCHAIN_EXTERNAL bool "External toolchain"